diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index c57251f..b6e10df 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -35,7 +35,10 @@ jobs: uses: actions/setup-node@v6 with: node-version-file: .node-version - cache: npm + + - name: Setup mise + id: setup-mise + uses: jdx/mise-action@v2 - name: Remove dist/ Directory id: remove-dist @@ -43,7 +46,7 @@ jobs: - name: Install Dependencies id: install - run: npm ci + run: bun ci - name: Build dist/ Directory id: build diff --git a/.github/workflows/generate-svg.yml b/.github/workflows/generate-svg.yml index 332b37e..db50bb1 100644 --- a/.github/workflows/generate-svg.yml +++ b/.github/workflows/generate-svg.yml @@ -25,7 +25,7 @@ jobs: uses: jdx/mise-action@v2 - name: Install Dependencies - run: bun install --frozen-lockfile + run: bun ci - name: Bundle run: npm run bundle @@ -34,9 +34,8 @@ jobs: uses: ./ with: username: Orta - text: Orta Therox + text: Github gravity output-path: deploy/gravity.svg - sample-rate: '8' - name: Deploy to output branch uses: peaceiris/actions-gh-pages@v4 diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..bcc8644 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,62 @@ +name: Deploy Web Player + +on: + workflow_dispatch: + push: + branches: + - main + paths: + - 'src/**' + - 'public/**' + - 'package.json' + - 'bun.lock' + - '.github/workflows/pages.yml' + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: false + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup mise + uses: jdx/mise-action@v2 + + - name: Install Dependencies + run: bun ci + + - name: Build Web Player + run: bun run build:web + + - name: Setup Pages + uses: actions/configure-pages@v6 + + - name: Upload Artifact + uses: actions/upload-pages-artifact@v5 + with: + path: dist-web + + deploy: + name: Deploy + runs-on: ubuntu-latest + needs: build + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/.gitignore b/.gitignore index 80a8991..a8427ee 100644 --- a/.gitignore +++ b/.gitignore @@ -97,6 +97,9 @@ Thumbs.db # Ignore built ts files __tests__/runner/* +# Static build of the web player +dist-web + # IDE files .idea *.code-workspace diff --git a/README.md b/README.md index f30ffae..bd9048a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # GitHub Gravity -![CI](https://github.com/actions/typescript-action/actions/workflows/ci.yml/badge.svg) +![CI](https://github.com/flycran/github-gravity/actions/workflows/ci.yml/badge.svg) ![Coverage](./badges/coverage.svg) Make your GitHub contribution graph fall under gravity, colliding with custom text to produce a beautiful animated SVG. @@ -11,6 +11,13 @@ Make your GitHub contribution graph fall under gravity, colliding with custom te ![Gravity Animation](https://raw.githubusercontent.com/flycran/github-gravity/output/gravity.svg) +## Live Preview + +Try it in the browser: tweak the options, upload a font file or paste a font URL, then play +the animation back. + + + ## Inspiration Inspired by [Orta Therox](https://github.com/Orta). Thanks Orta for your outstanding contributions to the open-source community! @@ -21,8 +28,8 @@ Inspired by [Orta Therox](https://github.com/Orta). Thanks Orta for your outstan - name: Generate Gravity SVG uses: flycran/github-gravity@v1 with: - username: Orta - text: Orta Therox + username: flycran + text: GitHub Gravity output-path: gravity.svg ``` @@ -34,11 +41,61 @@ Inspired by [Orta Therox](https://github.com/Orta). Thanks Orta for your outstan | `text` | ❌ | `username` value | Text to display as collision obstacles | | `output-path` | ❌ | `gravity.svg` | Path to write the generated SVG file | | `font-size` | ❌ | `80` | Font size of the collision text | -| `sample-rate` | ❌ | `4` | Trajectory sample rate (higher = smaller SVG, less smooth animation) | +| `compression-tolerance` | ❌ | `0.5` | Trajectory compression tolerance in SVG pixels. At every original moment, the animated position stays within this distance of the real one. The default fits most cases; `0` is lossless in both position and timing (see below) | +| `compression-algorithm` | ❌ | `Greedy` | Trajectory compression algorithm: `Greedy` (fast), `DP` (smallest SVG), `RDP` (fastest). See below for the trade-offs | | `shape` | ❌ | `circle` | Shape of contribution blocks: `circle` or `square` | | `text-top` | ❌ | `50` | Distance from the top of the world to the text | | `background-color` | ❌ | `transparent` | Background color of the SVG (CSS color value) | | `text-color` | ❌ | `black` | Color of the collision text (CSS color value) | +| `width` | ❌ | `300` | Width of the physics world. ⚠️ Affects layout and SVG size | +| `height` | ❌ | `150` | Height of the physics world. ⚠️ Affects layout and SVG size | +| `size` | ❌ | `4` | Side length of each contribution block. ⚠️ Affects physics | +| `interval` | ❌ | `1.5` | Spacing between contribution blocks. ⚠️ Affects physics | +| `font-path` | ❌ | bundled font | Custom font file (`.ttf`/`.otf`), relative to the repository root, or an `http(s)` URL. ⚠️ Some fonts may fail to load | + +### Reducing file size + +The trajectory is compressed by default: `compression-tolerance` (default `0.5`) merges +trajectory points into keyframes so that, at every original moment, the interpolated +position stays within the given distance (in SVG pixels) of the real one. Each keyframe +keeps its original timing via `keyTimes`, so speed changes — bounces, landings, stops — +play back at their real pace. + +The default is invisible to the eye and already shrinks the output by orders of magnitude, +so most setups can keep it. Set `0` for a lossless trajectory — only uniform straight +segments and pauses get compressed — or a higher value (e.g. `1.5`) to compress further at +the cost of visibly cutting corners. + +### Choosing a compression algorithm + +All three algorithms make the same fidelity guarantee; they differ only in how many +keyframes they keep and how long they take. Measured on 360 real trajectories of ~1,000 +points each at the default tolerance `0.5`: + +| Algorithm | Avg. keyframes | Compression | Runtime | Notes | +|---|---|---|---|---| +| `Greedy` (default) | 32.1 | 30.7x | ~0.2s | Single pass, no backtracking. Within 1–3% of the optimum. | +| `DP` | 31.3 | 31.5x | ~2s | Globally fewest keyframes = smallest SVG. Runtime grows superlinearly with trajectory length. | +| `RDP` | 37.1 | 26.6x | ~40ms | Fastest, keeps the most keyframes. | + +In most cases, just keep the default. + +### Advanced customization + +`width`, `height`, `size` and `interval` change the physics world itself, not just the output +size. The contribution blocks are laid out from `size` and `interval`, the text is centered +with `width`, and the drop height follows `height` — change them together and re-check the +result rather than tweaking one in isolation. + +`font-path` swaps the collision font. It accepts a local `.ttf`/`.otf` path or an `http(s)` URL. +The bundled Liberation Serif Bold is used by default because its contours are clean and +reliably triangulated. Custom fonts are risky: + +- Contours that are not closed or that self-intersect are silently tolerated by most + renderers, but the triangulation used for the physics collider rejects them. +- Some fonts cannot be parsed by opentype.js at all (common ones such as DejaVu fail on their + GSUB tables). +- Different font metrics usually require re-tuning `font-size` and `text-top`. ### Outputs @@ -66,8 +123,8 @@ jobs: - uses: actions/checkout@v6 - uses: flycran/github-gravity@v1 with: - username: Orta - text: Orta Therox + username: flycran + text: GitHub Gravity output-path: deploy/gravity.svg - uses: peaceiris/actions-gh-pages@v4 with: @@ -100,6 +157,9 @@ After modifying code under `src/`, re-bundle: npm run bundle ``` +The Action bundle does not include the browser player; that one is built separately with +`bun run build:web`, which writes static assets to `dist-web/`. + ### Local Testing ```bash diff --git a/README_zh.md b/README_zh.md index d8bb008..5bb6fff 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1,6 +1,6 @@ # GitHub Gravity -![CI](https://github.com/actions/typescript-action/actions/workflows/ci.yml/badge.svg) +![CI](https://github.com/flycran/github-gravity/actions/workflows/ci.yml/badge.svg) ![Coverage](./badges/coverage.svg) 让你的 GitHub 贡献图在重力作用下掉落,与自定义文字碰撞,生成精美的 SVG 动画。 @@ -11,6 +11,12 @@ ![Gravity Animation](https://raw.githubusercontent.com/flycran/github-gravity/output/gravity.svg) +## 在线预览 + +在浏览器里直接试用:调整参数、上传字体文件或填写字体 URL,然后播放查看效果。 + + + ## 灵感来源 本项目灵感来自 [Orta Therox](https://github.com/Orta) 的创意。感谢 Orta 为开源社区做出的杰出贡献! @@ -21,8 +27,8 @@ - name: Generate Gravity SVG uses: flycran/github-gravity@v1 with: - username: Orta - text: Orta Therox + username: flycran + text: GitHub Gravity output-path: gravity.svg ``` @@ -34,11 +40,52 @@ | `text` | ❌ | `username` 的值 | 作为碰撞障碍物的文字 | | `output-path` | ❌ | `gravity.svg` | SVG 输出路径 | | `font-size` | ❌ | `80` | 碰撞文字大小 | -| `sample-rate` | ❌ | `4` | 轨迹采样率(越大文件越小,动画越不流畅) | +| `compression-tolerance` | ❌ | `0.5` | 轨迹压缩容差(SVG 像素)。播放时每个原始时刻的动画位置与真实位置的偏差不超过该值。默认值适合多数场景;`0` 为完全无损(位置与节奏都精确)(见下文) | +| `compression-algorithm` | ❌ | `Greedy` | 轨迹压缩算法:`Greedy`(快)、`DP`(体积最小)、`RDP`(最快),差异见下文 | | `shape` | ❌ | `circle` | 贡献方块的形状(`circle` 或 `square`) | | `text-top` | ❌ | `50` | 文字距离世界顶部的距离,控制文字垂直位置 | | `background-color` | ❌ | `transparent` | SVG 背景颜色(CSS 颜色值) | | `text-color` | ❌ | `black` | 碰撞文字颜色(CSS 颜色值) | +| `width` | ❌ | `300` | 物理世界宽度。⚠️ 会影响布局与 SVG 尺寸 | +| `height` | ❌ | `150` | 物理世界高度。⚠️ 会影响布局与 SVG 尺寸 | +| `size` | ❌ | `4` | 贡献方块边长。⚠️ 会影响物理表现 | +| `interval` | ❌ | `1.5` | 贡献方块间距。⚠️ 会影响物理表现 | +| `font-path` | ❌ | 内置字体 | 自定义字体文件(`.ttf`/`.otf`),相对仓库根目录,也可以直接给 `http(s)` 链接。⚠️ 部分字体可能无法正常加载 | + +### 减小文件体积 + +轨迹默认开启压缩:`compression-tolerance`(默认 `0.5`)会把轨迹点合并为关键帧,保证播放时 +每个原始时刻的插值位置与真实位置的偏差(SVG 像素)不超过阈值,并通过 `keyTimes` 保留每个 +关键帧的原始时间——碰撞、落地、停顿等速度变化都会保留为关键帧,按真实节奏播放。 + +默认值肉眼不可见,体积已经能小几个数量级,多数场景保留默认即可。设为 `0` 得到无损轨迹—— +只有匀速直线段和静止段会被压缩;调大(如 `1.5`)压缩更狠,但轨迹会明显走样。 + +### 选择压缩算法 + +三种算法保证相同的保真度,差异只在保留的关键帧数量和耗时。以下为 360 条真实轨迹 +(每条约 1000 点)在默认容差 `0.5` 下的实测数据: + +| 算法 | 平均关键帧 | 压缩率 | 耗时 | 特点 | +|---|---|---|---|---| +| `Greedy`(默认) | 32.1 | 30.7x | ~0.2s | 单遍贪心不回溯,结果距最优仅 1~3% | +| `DP` | 31.3 | 31.5x | ~2s | 全局最少关键帧 = 体积最小;耗时随轨迹长度超线性增长 | +| `RDP` | 37.1 | 26.6x | ~40ms | 最快,保留的关键帧最多 | + +通常保持默认值即可。 + +### 高级自定义 + +`width`、`height`、`size`、`interval` 改动的是物理世界本身,而不只是输出尺寸。贡献方块按 +`size` 和 `interval` 排布,文字以 `width` 居中,下落高度由 `height` 决定——请成套调整并核对 +效果,不要只改其中一个。 + +`font-path` 用于替换碰撞字体,可以给本地 `.ttf`/`.otf` 路径,也可以直接给 `http(s)` 链接。 +默认使用内置的 Liberation Serif Bold,因为它轮廓规整、能稳定三角化。自定义字体有风险: + +- 未闭合或自相交的轮廓,大多数渲染器会静默忽略,但物理碰撞体使用的三角化算法会直接报错。 +- 部分字体根本无法被 opentype.js 解析(例如很常见的 DejaVu 系列,会因 GSUB 表解析失败)。 +- 字体度量不同,通常需要重新调整 `font-size` 和 `text-top`。 ### 输出 @@ -66,8 +113,8 @@ jobs: - uses: actions/checkout@v6 - uses: flycran/github-gravity@v1 with: - username: Orta - text: Orta Therox + username: flycran + text: GitHub Gravity output-path: deploy/gravity.svg - uses: peaceiris/actions-gh-pages@v4 with: @@ -100,6 +147,8 @@ npm run test npm run bundle ``` +Action 的打包产物不包含网页版,网页版用 `bun run build:web` 单独构建,静态资源输出到 `dist-web/`。 + ### 本地测试 ```bash diff --git a/__tests__/integration.test.ts b/__tests__/integration.test.ts index 2e1b231..e7241bd 100644 --- a/__tests__/integration.test.ts +++ b/__tests__/integration.test.ts @@ -1,5 +1,5 @@ /** - * Integration test: full pipeline from gensvg → physics → font loading → SVG output. + * 集成测试:来自gensvg的完整管道→ 物理学→ 字体加载→ SVG输出。 */ import { afterEach, beforeEach, describe, expect, it, mock } from 'bun:test' @@ -21,7 +21,7 @@ function mockContributionsResponse() { } const mockFetchContributions = mock(async () => mockContributionsResponse()) -mock.module('../src/github-contributions.ts', () => ({ +mock.module('../src/utils/githubContributions.ts', () => ({ fetchContributions: mockFetchContributions, INTENSITY_COLORS: ['#ebedf0', '#9be9a8', '#40c463', '#30a14e', '#216e39'] })) @@ -44,7 +44,6 @@ describe('full pipeline integration', () => { username: 'testuser', text: 'Hi', fontSize: 40, - sampleRate: 4, shape: 'circle' }) @@ -139,4 +138,108 @@ describe('full pipeline integration', () => { expect(svg).toContain('fill="#ff0000"') }) + + it('enables compression by default (tolerance 0.5, Greedy)', async () => { + const svg = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40 + }) + + // 默认开启压缩,轨迹携带 span 并输出 keyTimes + expect(svg).toMatch(/keyTimes="0;[^"]*;1"/) + }) + + it('keeps lossless output when compression tolerance is 0', async () => { + const svg = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40, + compressionTolerance: 0 + }) + + // 容差 0 为无损压缩:匀速直线/静止段被并段,keyTimes 还原真实节奏 + expect(svg).toMatch(/keyTimes="0;[^"]*;1"/) + }) + + it('emits keyTimes and shrinks SVG with a larger tolerance', async () => { + const plain = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40 + }) + const compressed = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40, + compressionTolerance: 1.5 + }) + + // keyTimes 首帧 0、末帧 1 + expect(compressed).toMatch(/keyTimes="0;[^"]*;1"/) + expect(compressed.length).toBeLessThan(plain.length) + }) + + it('disableCompression overrides compressionTolerance', async () => { + const svg = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40, + compressionTolerance: 1.5, + disableCompression: true + }) + + expect(svg).not.toContain('keyTimes') + }) + + it('honors custom width, height, size and interval', async () => { + const dflt = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40 + }) + expect(dflt).toContain('width="900"') + expect(dflt).toContain(`r="${(4 / 2) * 3}"`) + + const custom = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40, + width: 400, + height: 200, + size: 6, + interval: 2 + }) + + expect(custom).toContain('width="1200"') + expect(custom).toContain('height="600"') + expect(custom).toContain(`r="${(6 / 2) * 3}"`) + expect(custom).toContain('viewBox="0 0 1200 600"') + }) + + it('renders with an explicitly provided font path', async () => { + const font = new URL('../public/LiberationSerif-Bold.ttf', import.meta.url) + .pathname + + const svg = await gensvg({ + username: 'testuser', + text: 'Hi', + fontSize: 40, + font + }) + + expect(svg).toContain(' 大写读取) */ +const INPUT_NAMES = [ + 'USERNAME', + 'TEXT', + 'OUTPUT_PATH', + 'FONT_SIZE', + 'COMPRESSION-TOLERANCE', + 'COMPRESSION-ALGORITHM', + 'SHAPE', + 'TEXT_TOP', + 'BACKGROUND_COLOR', + 'TEXT_COLOR', + 'WIDTH', + 'HEIGHT', + 'SIZE', + 'INTERVAL', + 'FONT_PATH' +] + +function setInputs(values: Record) { + for (const [name, value] of Object.entries(values)) { + process.env[`INPUT_${name.toUpperCase()}`] = value + } +} + +let workDir = '' + +beforeEach(() => { + for (const name of INPUT_NAMES) delete process.env[`INPUT_${name}`] + captured = null + spyOn(gensvgModule, 'gensvg').mockImplementation(async (options) => { + captured = options + return '' + }) + process.exitCode = 0 + workDir = mkdtempSync(join(tmpdir(), 'github-gravity-')) + process.env.GITHUB_OUTPUT = join(workDir, 'output.txt') + writeFileSync(process.env.GITHUB_OUTPUT, '') + setInputs({ + USERNAME: 'testuser', + 'OUTPUT-PATH': join(workDir, 'out.svg') + }) +}) + +afterEach(() => { + for (const name of INPUT_NAMES) delete process.env[`INPUT_${name}`] + mock.restore() + process.exitCode = 0 +}) + +describe('action input plumbing', () => { + it('passes only the core inputs when advanced ones are omitted', async () => { + await run() + + expect(captured).toMatchObject({ + username: 'testuser', + text: 'testuser', + fontSize: 80, + shape: 'circle', + textTop: 50, + backgroundColor: 'transparent', + textColor: 'black' + }) + // 未填写的可选参数不下传,交给库使用默认值 + expect(captured).not.toHaveProperty('compressionTolerance') + expect(captured).not.toHaveProperty('compressionAlgorithm') + expect(captured).not.toHaveProperty('width') + expect(captured).not.toHaveProperty('height') + expect(captured).not.toHaveProperty('size') + expect(captured).not.toHaveProperty('interval') + expect(captured).not.toHaveProperty('font') + }) + + it('forwards compression options and world geometry as numbers', async () => { + setInputs({ + 'COMPRESSION-TOLERANCE': '1.5', + 'COMPRESSION-ALGORITHM': 'DP', + WIDTH: '400', + HEIGHT: '200', + SIZE: '6', + INTERVAL: '2', + SHAPE: 'square' + }) + + await run() + + expect(captured).toMatchObject({ + compressionTolerance: 1.5, + compressionAlgorithm: 'DP', + width: 400, + height: 200, + size: 6, + interval: 2, + shape: 'square' + }) + }) + + it('fails without calling the generator when the algorithm is unknown', async () => { + setInputs({ 'COMPRESSION-ALGORITHM': 'quick' }) + + await run() + + expect(captured).toBeNull() + expect(process.exitCode).toBe(1) + }) + + it('forwards a custom font path', async () => { + setInputs({ 'FONT-PATH': 'assets/Inter-Bold.ttf' }) + + await run() + + expect(captured).toMatchObject({ font: 'assets/Inter-Bold.ttf' }) + }) + + it('keeps the bundled font when font-path is empty', async () => { + setInputs({ 'FONT-PATH': '' }) + + await run() + + expect(captured).not.toHaveProperty('font') + }) + + it('fails without calling the generator when a numeric input is invalid', async () => { + setInputs({ WIDTH: 'wide' }) + + await run() + + expect(captured).toBeNull() + expect(process.exitCode).toBe(1) + }) + + it('writes the generated svg to output-path', async () => { + await run() + + const outputPath = join(workDir, 'out.svg') + expect(readFileSync(outputPath, 'utf-8')).toBe('') + }) +}) diff --git a/__tests__/parseTextPath.test.ts b/__tests__/parseTextPath.test.ts new file mode 100644 index 0000000..5483f57 --- /dev/null +++ b/__tests__/parseTextPath.test.ts @@ -0,0 +1,155 @@ +/** + * Unit test: font loading and text path extraction, including custom font paths. + */ +import { describe, expect, it } from 'bun:test' +import { readFileSync } from 'node:fs' +import { resolve } from 'node:path' +import { + getTextPaths, + loadFontFromPath, + loadFontFromUrl +} from '../src/parseTextPath' + +const RELATIVE_FONT = 'public/LiberationSerif-Bold.ttf' +const ABSOLUTE_FONT = resolve(RELATIVE_FONT) +const BUNDLED_FONT_URL = new URL( + '../public/LiberationSerif-Bold.ttf', + import.meta.url +) + +describe('getTextPaths', () => { + it('uses the bundled font when no source is provided', async () => { + const implicit = await getTextPaths('Hi', 40) + const explicit = await getTextPaths('Hi', 40, ABSOLUTE_FONT) + + expect(implicit.length).toBe(2) + expect(implicit.map((p) => p.pathData)).toEqual( + explicit.map((p) => p.pathData) + ) + }) + + it('resolves a relative path against the working directory', async () => { + const fromCwd = await getTextPaths('Hi', 40, RELATIVE_FONT) + const fromAbsolute = await getTextPaths('Hi', 40, ABSOLUTE_FONT) + + expect(fromCwd.map((p) => p.pathData)).toEqual( + fromAbsolute.map((p) => p.pathData) + ) + }) + + it('accepts a Buffer as font data', async () => { + const fromBuffer = await getTextPaths('Hi', 40, readFileSync(ABSOLUTE_FONT)) + const fromPath = await getTextPaths('Hi', 40, ABSOLUTE_FONT) + + expect(fromBuffer.map((p) => p.pathData)).toEqual( + fromPath.map((p) => p.pathData) + ) + }) + + it('accepts an ArrayBuffer as font data', async () => { + // Buffer 是共享 ArrayBuffer 的视图,slice 模拟 files[0].arrayBuffer() 的完整副本 + const arrayBuffer = readFileSync(ABSOLUTE_FONT).buffer.slice( + 0 + ) as ArrayBuffer + const fromData = await getTextPaths('Hi', 40, arrayBuffer) + const fromPath = await getTextPaths('Hi', 40, ABSOLUTE_FONT) + + expect(fromData.map((p) => p.pathData)).toEqual( + fromPath.map((p) => p.pathData) + ) + }) + + it('accepts a file: URL object', async () => { + const fromUrl = await getTextPaths('Hi', 40, BUNDLED_FONT_URL) + const fromPath = await getTextPaths('Hi', 40, ABSOLUTE_FONT) + + expect(fromUrl.map((p) => p.pathData)).toEqual( + fromPath.map((p) => p.pathData) + ) + }) + + it('emits path data, a bounding box and a triangulated mesh per glyph', async () => { + const [glyph] = await getTextPaths('H', 40) + + expect(glyph.pathData.startsWith('M')).toBe(true) + expect(glyph.rect.width).toBeGreaterThan(0) + expect(glyph.rect.height).toBeGreaterThan(0) + + // 三角网格与同一份轮廓一一对应:索引按三元组组织,且不越界 + const vertexCount = glyph.paths.vertices.length / 2 + const indices = Array.from(glyph.paths.indices) + expect(vertexCount).toBeGreaterThan(0) + expect(indices.length % 3).toBe(0) + expect(Math.max(...indices)).toBeLessThan(vertexCount) + }) + + it('returns one entry per glyph and scales with font size', async () => { + expect((await getTextPaths('Hi', 40)).length).toBe(2) + + const [small] = await getTextPaths('H', 20) + const [large] = await getTextPaths('H', 40) + expect(large.rect.height / small.rect.height).toBeCloseTo(2, 5) + }) + + it('reports the resolved absolute path when the font file is missing', async () => { + const missing = 'missing-font.ttf' + expect(getTextPaths('Hi', 40, missing)).rejects.toThrow( + `Failed to load font "${resolve(missing)}"` + ) + }) + + it('rejects a file that is not a font', () => { + expect(getTextPaths('Hi', 40, 'package.json')).rejects.toThrow( + 'Failed to load font' + ) + }) + + it('tolerates text without glyphs', async () => { + expect(await getTextPaths('', 40)).toEqual([]) + }) +}) + +describe('loadFontFromPath', () => { + it('reads a font file into an ArrayBuffer', async () => { + const data = await loadFontFromPath(RELATIVE_FONT) + + expect(data).toBeInstanceOf(ArrayBuffer) + expect(data.byteLength).toBeGreaterThan(0) + }) + + it('reports the resolved path when the file is missing', async () => { + expect(loadFontFromPath('missing-font.ttf')).rejects.toThrow( + `Failed to load font "${resolve('missing-font.ttf')}"` + ) + }) +}) + +describe('loadFontFromUrl', () => { + it('reads a file: URL through the fs fallback', async () => { + const data = await loadFontFromUrl(BUNDLED_FONT_URL) + const fromPath = await loadFontFromPath(RELATIVE_FONT) + + expect(data.byteLength).toBe(fromPath.byteLength) + }) + + it('accepts a URL string', async () => { + const data = await loadFontFromUrl(BUNDLED_FONT_URL.href) + + expect(data.byteLength).toBe( + (await loadFontFromPath(RELATIVE_FONT)).byteLength + ) + }) + + it('rejects an invalid URL string', async () => { + expect(loadFontFromUrl('http://[invalid')).rejects.toThrow( + 'Invalid font URL' + ) + }) + + it('reports the URL when the remote font is unreachable', async () => { + const url = new URL('http://localhost:1/missing.ttf') + expect(loadFontFromUrl(url)).rejects.toThrow( + `Failed to load font from "${url.href}"` + ) + }) +}) diff --git a/__tests__/simplify.test.ts b/__tests__/simplify.test.ts new file mode 100644 index 0000000..e42f543 --- /dev/null +++ b/__tests__/simplify.test.ts @@ -0,0 +1,217 @@ +/** + * 单元测试:轨迹压缩算法 (DP / RDP / Greedy) + * 使用时间插值偏差度量。 + */ +import { describe, expect, it } from 'bun:test' +import { Point } from '../src/utils' +import { + buildKeyTimes, + CompressedTrajectoryPoint, + simplifyTrajectoryDP, + simplifyTrajectoryGreedy, + simplifyTrajectoryRDP +} from '../src/utils/simplifyTrajectory' +import { maxLerpDeviation, sumSpans } from './simplifyHelpers' + +type SimplifyFn = ( + trajectory: Point[], + tolerance: number +) => CompressedTrajectoryPoint[] + +const algorithms: [string, SimplifyFn][] = [ + ['DP', simplifyTrajectoryDP], + ['RDP', simplifyTrajectoryRDP], + ['Greedy', simplifyTrajectoryGreedy] +] + +describe('simplifyTrajectory algorithms', () => { + for (const [name, simplify] of algorithms) { + describe(name, () => { + it('handles trivial inputs: empty, single point, two points', () => { + expect(simplify([], 1)).toEqual([]) + expect(simplify([{ x: 1, y: 2 }], 1)).toEqual([{ x: 1, y: 2, span: 0 }]) + expect( + simplify( + [ + { x: 0, y: 0 }, + { x: 3, y: 4 } + ], + 1 + ) + ).toEqual([ + { x: 0, y: 0, span: 0 }, + { x: 3, y: 4, span: 1 } + ]) + }) + + it('keeps the speed-change midpoint of a collinear trajectory at tolerance 0', () => { + // 回归用例:三点共线但速度突变(一步 √2,一步 2√2), + // 丢掉中点会让播放端线性插值变成匀速运动 + expect( + simplify( + [ + { x: 0, y: 0 }, + { x: 1, y: 1 }, + { x: 3, y: 3 } + ], + 0 + ) + ).toEqual([ + { x: 0, y: 0, span: 0 }, + { x: 1, y: 1, span: 1 }, + { x: 3, y: 3, span: 1 } + ]) + }) + + it('collapses a uniform collinear trajectory to endpoints at tolerance 0', () => { + // 匀速直线段的插值精确命中每个时刻,压缩不影响保真度 + expect( + simplify( + [ + { x: 0, y: 0 }, + { x: 1, y: 1 }, + { x: 2, y: 2 } + ], + 0 + ) + ).toEqual([ + { x: 0, y: 0, span: 0 }, + { x: 2, y: 2, span: 2 } + ]) + }) + + it('keeps a constant-position keyframe where motion stops at tolerance 0', () => { + // 走到 (2,2) 后静止 2 步:停顿起点必须保留为关键帧, + // 否则插值会提前滑向终点 + expect( + simplify( + [ + { x: 0, y: 0 }, + { x: 1, y: 0 }, + { x: 2, y: 2 }, + { x: 2, y: 2 }, + { x: 2, y: 2 } + ], + 0 + ) + ).toEqual([ + { x: 0, y: 0, span: 0 }, + { x: 1, y: 0, span: 1 }, + { x: 2, y: 2, span: 1 }, + { x: 2, y: 2, span: 2 } + ]) + }) + + it('keeps every point at tolerance 0 on a curved trajectory', () => { + // 曲率恒非零的抛物线上不存在可无损并段的相邻点 + const parabola = makeParabola(50) + const result = simplify(parabola, 0) + expect(result).toHaveLength(parabola.length) + expect(result.every((p, i) => p.span === (i === 0 ? 0 : 1))).toBe(true) + }) + + it('drops points whose temporal deviation is within tolerance', () => { + expect( + simplify( + [ + { x: 0, y: 0 }, + { x: 1, y: 0.5 }, + { x: 2, y: 0 } + ], + 1 + ) + ).toEqual([ + { x: 0, y: 0, span: 0 }, + { x: 2, y: 0, span: 2 } + ]) + }) + + it('keeps the segment end where velocity jumps exactly at tolerance', () => { + // (2,2)→(3,0) 与 (3,0)→(4,0) 速度突变:几何垂距为 0 但时刻插值偏差为 1, + // 恰好压在容差边界上,允许并段;换成 tolerance < 1 则必须保留 (3,0) + expect( + simplify( + [ + { x: 0, y: 0 }, + { x: 1, y: 0 }, + { x: 2, y: 2 }, + { x: 3, y: 0 }, + { x: 4, y: 0 } + ], + 1 + ) + ).toEqual([ + { x: 0, y: 0, span: 0 }, + { x: 2, y: 2, span: 2 }, + { x: 4, y: 0, span: 2 } + ]) + }) + + it('bounds deviation, compresses and preserves total time on a parabola', () => { + const parabola = makeParabola(50) + const tolerance = 1 + const result = simplify(parabola, tolerance) + expect(result.length).toBeLessThan(parabola.length) + expect(sumSpans(result)).toBe(parabola.length - 1) + expect(maxLerpDeviation(parabola, result)).toBeLessThanOrEqual( + tolerance + 1e-9 + ) + }) + + it('bounds deviation and preserves total time on a zigzag trajectory', () => { + const zigzag: Point[] = Array.from({ length: 40 }, (_, i) => ({ + x: i, + y: i % 2 === 0 ? 0 : 1.5 + })) + const tolerance = 0.5 + const result = simplify(zigzag, tolerance) + expect(sumSpans(result)).toBe(zigzag.length - 1) + expect(maxLerpDeviation(zigzag, result)).toBeLessThanOrEqual( + tolerance + 1e-9 + ) + }) + + it('does not mutate the input trajectory', () => { + const track: Point[] = [ + { x: 0, y: 0 }, + { x: 1, y: 1 }, + { x: 2, y: 0 } + ] + const snapshot = track.map((p) => ({ ...p })) + simplify(track, 0.1) + expect(track).toEqual(snapshot) + }) + + it('throws on negative tolerance', () => { + expect(() => simplify([{ x: 0, y: 0 }], -0.1)).toThrow( + 'tolerance must be >= 0, got -0.1' + ) + }) + }) + } +}) + +describe('buildKeyTimes', () => { + it('stays strictly increasing for very long trajectories', () => { + // 2000 段等长 span:小数舍入可能把相邻值舍成相同(SMIL 要求严格递增) + const trajectory = Array.from({ length: 2001 }, (_, i) => ({ + x: i, + y: 0, + span: i === 0 ? 0 : 1 + })) + const keyTimes = buildKeyTimes(trajectory)!.split(';').map(Number) + expect(keyTimes).toHaveLength(2001) + for (let i = 1; i < keyTimes.length; i++) { + expect(keyTimes[i]).toBeGreaterThan(keyTimes[i - 1]) + } + expect(keyTimes[0]).toBe(0) + expect(keyTimes[keyTimes.length - 1]).toBe(1) + }) +}) + +function makeParabola(length: number): Point[] { + return Array.from({ length }, (_, i) => { + const t = i / (length - 1) + return { x: t * 100, y: 100 * (1 - (2 * t - 1) ** 2) } + }) +} diff --git a/__tests__/simplifyHelpers.ts b/__tests__/simplifyHelpers.ts new file mode 100644 index 0000000..ca022a7 --- /dev/null +++ b/__tests__/simplifyHelpers.ts @@ -0,0 +1,43 @@ +import type { CompressedTrajectoryPoint } from '../src/utils/simplifyTrajectory' + +/** 用 span 还原每个保留点的原始索引 */ +function restoreIndices(simplified: CompressedTrajectoryPoint[]): number[] { + const indices = [0] + for (let k = 1; k < simplified.length; k++) { + indices.push(indices[k - 1] + simplified[k].span) + } + return indices +} + +/** + * 原始轨迹相对简化结果的最大时刻插值偏差: + * 对每个原始点,按其所属关键帧段的线性插值求该时刻的位置误差。 + * 这正是播放时观众可见的最大位移误差,也是压缩算法承诺的误差上界。 + */ +export function maxLerpDeviation( + track: { x: number; y: number }[], + simplified: CompressedTrajectoryPoint[] +): number { + const indices = restoreIndices(simplified) + + let max = 0 + // k 定位 i 所属的关键帧段 [indices[k], indices[k + 1]] + let k = 0 + for (let i = 0; i < track.length; i++) { + while (k + 2 < indices.length && indices[k + 1] <= i) k++ + const a = track[indices[k]] + const b = track[indices[k + 1]] + const t = (i - indices[k]) / (indices[k + 1] - indices[k]) + const deviation = Math.hypot( + track[i].x - (a.x + (b.x - a.x) * t), + track[i].y - (a.y + (b.y - a.y) * t) + ) + max = Math.max(max, deviation) + } + return max +} + +/** 时间守恒:span 总和必须等于原始间隔数,播放总时长不变 */ +export function sumSpans(simplified: CompressedTrajectoryPoint[]): number { + return simplified.reduce((sum, p) => sum + p.span, 0) +} diff --git a/action.yml b/action.yml index 0def6d3..b224eba 100644 --- a/action.yml +++ b/action.yml @@ -21,10 +21,23 @@ inputs: description: Font size of the collision text required: false default: '80' - sample-rate: - description: Trajectory sample rate (higher = smaller SVG, less smooth animation) + compression-tolerance: + description: >- + Trajectory compression tolerance in SVG pixels. At every original moment of the + animation, the interpolated position stays within this distance of the real one, + which shrinks the SVG at the cost of a small visual approximation. 0 keeps the + trajectory lossless in both position and timing (only uniform straight segments + and pauses are compressed); the default fits most cases. required: false - default: '4' + default: '0.5' + compression-algorithm: + description: >- + Trajectory compression algorithm: Greedy (default) is fast with near-optimal + results; DP finds the globally fewest keyframes (smallest SVG) but can take + seconds on long trajectories; RDP is the fastest with somewhat more keyframes. + All algorithms preserve speed and timing — bounces and stops stay keyframes. + required: false + default: Greedy shape: description: Shape of the contribution blocks (circle or square). Circle has smoother physics and less likely to clip through obstacles. required: false @@ -41,6 +54,38 @@ inputs: description: Color of the collision text (CSS color value) required: false default: black + width: + description: >- + Width of the physics world. Change with caution: the horizontal block layout, the text + centering and the final SVG width are all derived from it. + required: false + default: '300' + height: + description: >- + Height of the physics world. Change with caution: the block drop height, the text + position and the final SVG height are all derived from it. + required: false + default: '150' + size: + description: >- + Side length of each contribution block. Change with caution: larger blocks are more + likely to squeeze against each other or clip through the text. + required: false + default: '4' + interval: + description: >- + Spacing between contribution blocks. Change with caution: too small makes blocks overlap, + too large pushes them out of the world bounds. + required: false + default: '1.5' + font-path: + description: >- + Path to a custom font (.ttf/.otf), relative to the repository root, or an http(s) URL. + Defaults to the bundled Liberation Serif Bold. Use with caution: some fonts contain open + or self-intersecting contours that the triangulation algorithm rejects, and some cannot + be parsed by opentype.js at all; different font metrics may also require re-tuning + font-size and text-top. + required: false outputs: svg-path: diff --git a/dist/index.js b/dist/index.js index ef901d2..5bb6c16 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,4 +1,4 @@ -import { readFileSync, mkdirSync, writeFileSync } from 'node:fs'; +import { mkdirSync, writeFileSync } from 'node:fs'; import { dirname } from 'node:path'; import * as os from 'os'; import os__default from 'os'; @@ -27,7 +27,7 @@ import require$$1$2 from 'node:zlib'; import require$$5$1 from 'node:perf_hooks'; import require$$8$1 from 'node:util/types'; import require$$1$1 from 'node:worker_threads'; -import require$$1$3, { fileURLToPath } from 'node:url'; +import require$$1$3 from 'node:url'; import require$$5$2 from 'node:async_hooks'; import require$$1$4 from 'node:console'; import require$$1$5 from 'node:dns'; @@ -28017,39 +28017,6 @@ function info(message) { let A;const I=new Array(128).fill(void 0);function g(A){return I[A]}I.push(void 0,null,true,false);let C=I.length;function Q(A){C===I.length&&I.push(I.length+1);const g=C;return C=I[g],I[g]=A,g}function B(I,g){try{return I.apply(this,g)}catch(I){A.__wbindgen_export_0(Q(I));}}const E="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&E.decode();let i=null;function D(I,g){return I>>>=0,E.decode((null!==i&&0!==i.byteLength||(i=new Uint8Array(A.memory.buffer)),i).subarray(I,I+g))}function o(A){return null==A}let w=null;function G(){return (null===w||true===w.buffer.detached||void 0===w.buffer.detached&&w.buffer!==A.memory.buffer)&&(w=new DataView(A.memory.buffer)),w}function K(A){const Q=g(A);return function(A){A<132||(I[A]=C,C=A);}(A),Q}function h(A,I){if(!(A instanceof I))throw new Error(`expected instance of ${I.name}`)}let N=128;function S(A){if(1==N)throw new Error("out of js stack");return I[--N]=A,N}let k=null;function y(I,g){return I>>>=0,(null!==k&&0!==k.byteLength||(k=new Int32Array(A.memory.buffer)),k).subarray(I/4,I/4+g)}let s=null;function F(){return null!==s&&0!==s.byteLength||(s=new Float32Array(A.memory.buffer)),s}function a(A,I){return A>>>=0,F().subarray(A/4,A/4+I)}let M=null;function J(){return null!==M&&0!==M.byteLength||(M=new Uint32Array(A.memory.buffer)),M}let U=0;function R(A,I){const g=I(4*A.length,4)>>>0;return J().set(A,g/4),U=A.length,g}function c(A,I){const g=I(4*A.length,4)>>>0;return F().set(A,g/4),U=A.length,g}const Y=Object.freeze({LinX:0,0:"LinX",LinY:1,1:"LinY",AngX:2,2:"AngX"}),L=Object.freeze({Revolute:0,0:"Revolute",Fixed:1,1:"Fixed",Prismatic:2,2:"Prismatic",Rope:3,3:"Rope",Spring:4,4:"Spring",Generic:5,5:"Generic"});const q=Object.freeze({Ball:0,0:"Ball",Cuboid:1,1:"Cuboid",Capsule:2,2:"Capsule",Segment:3,3:"Segment",Polyline:4,4:"Polyline",Triangle:5,5:"Triangle",TriMesh:6,6:"TriMesh",HeightField:7,7:"HeightField",Compound:8,8:"Compound",ConvexPolygon:9,9:"ConvexPolygon",RoundCuboid:10,10:"RoundCuboid",RoundTriangle:11,11:"RoundTriangle",RoundConvexPolygon:12,12:"RoundConvexPolygon",HalfSpace:13,13:"HalfSpace",Voxels:14,14:"Voxels"}),t="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawbroadphase_free(I>>>0,1)));class H{static __wrap(A){A>>>=0;const I=Object.create(H.prototype);return I.__wbg_ptr=A,t.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,t.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawbroadphase_free(I,0);}constructor(){const I=A.rawbroadphase_new();return this.__wbg_ptr=I>>>0,t.register(this,this.__wbg_ptr,this),this}castRay(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA);const s=A.rawbroadphase_castRay(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));return 0===s?void 0:aA.__wrap(s)}finally{I[N++]=void 0;}}castRayAndGetNormal(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA);const s=A.rawbroadphase_castRayAndGetNormal(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));return 0===s?void 0:JA.__wrap(s)}finally{I[N++]=void 0;}}intersectionsWithRay(g,C,Q,B,E,i,D,w,G,K,k,y,s){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA),A.rawbroadphase_intersectionsWithRay(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,S(w),G,o(K)?4294967297:K>>>0,!o(k),o(k)?0:k,!o(y),o(y)?0:y,S(s));}finally{I[N++]=void 0,I[N++]=void 0;}}intersectionWithShape(g,C,Q,B,E,i,D,w,K,k,y){try{const a=A.__wbindgen_add_to_stack_pointer(-16);h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,lA),A.rawbroadphase_intersectionWithShape(a,this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D,o(w)?4294967297:w>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));var s=G().getInt32(a+0,!0),F=G().getFloat64(a+8,!0);return 0===s?void 0:F}finally{A.__wbindgen_add_to_stack_pointer(16),I[N++]=void 0;}}projectPoint(g,C,Q,B,E,i,D,w,G,K){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA);const k=A.rawbroadphase_projectPoint(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E,i,o(D)?4294967297:D>>>0,!o(w),o(w)?0:w,!o(G),o(G)?0:G,S(K));return 0===k?void 0:kA.__wrap(k)}finally{I[N++]=void 0;}}projectPointAndGetFeature(g,C,Q,B,E,i,D,w,G){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA);const K=A.rawbroadphase_projectPointAndGetFeature(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E,o(i)?4294967297:i>>>0,!o(D),o(D)?0:D,!o(w),o(w)?0:w,S(G));return 0===K?void 0:kA.__wrap(K)}finally{I[N++]=void 0;}}intersectionsWithPoint(g,C,Q,B,E,i,D,w,G,K){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),A.rawbroadphase_intersectionsWithPoint(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,S(E),i,o(D)?4294967297:D>>>0,!o(w),o(w)?0:w,!o(G),o(G)?0:G,S(K));}finally{I[N++]=void 0,I[N++]=void 0;}}castShape(g,C,Q,B,E,i,D,w,G,K,k,y,s,F,a){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,fA),h(D,lA);const M=A.rawbroadphase_castShape(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,w,G,K,k,o(y)?4294967297:y>>>0,!o(s),o(s)?0:s,!o(F),o(F)?0:F,S(a));return 0===M?void 0:f.__wrap(M)}finally{I[N++]=void 0;}}intersectionsWithShape(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,lA),A.rawbroadphase_intersectionsWithShape(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,S(D),w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));}finally{I[N++]=void 0,I[N++]=void 0;}}collidersWithAabbIntersectingAabb(g,C,Q,B,E,i){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA),A.rawbroadphase_collidersWithAabbIntersectingAabb(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,S(i));}finally{I[N++]=void 0;}}}const r="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawccdsolver_free(I>>>0,1)));class l{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,r.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawccdsolver_free(I,0);}constructor(){const I=A.rawccdsolver_new();return this.__wbg_ptr=I>>>0,r.register(this,this.__wbg_ptr,this),this}}const e="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcharactercollision_free(I>>>0,1)));class p{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,e.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcharactercollision_free(I,0);}constructor(){const I=A.rawcharactercollision_new();return this.__wbg_ptr=I>>>0,e.register(this,this.__wbg_ptr,this),this}handle(){return A.rawcharactercollision_handle(this.__wbg_ptr)}translationDeltaApplied(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}translationDeltaRemaining(){const I=A.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return fA.__wrap(I)}toi(){return A.rawcharactercollision_toi(this.__wbg_ptr)}worldWitness1(){const I=A.rawcharactercollision_worldWitness1(this.__wbg_ptr);return fA.__wrap(I)}worldWitness2(){const I=A.rawcharactercollision_worldWitness2(this.__wbg_ptr);return fA.__wrap(I)}worldNormal1(){const I=A.rawcharactercollision_worldNormal1(this.__wbg_ptr);return fA.__wrap(I)}worldNormal2(){const I=A.rawcharactercollision_worldNormal2(this.__wbg_ptr);return fA.__wrap(I)}}const n="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcolliderset_free(I>>>0,1)));class d{static __wrap(A){A>>>=0;const I=Object.create(d.prototype);return I.__wbg_ptr=A,n.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcolliderset_free(I,0);}coTranslation(I){const g=A.rawcolliderset_coTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}coRotation(I){const g=A.rawcolliderset_coRotation(this.__wbg_ptr,I);return qA.__wrap(g)}coTranslationWrtParent(I){const g=A.rawcolliderset_coTranslationWrtParent(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coRotationWrtParent(I){const g=A.rawcolliderset_coRotationWrtParent(this.__wbg_ptr,I);return 0===g?void 0:qA.__wrap(g)}coSetTranslation(I,g,C){A.rawcolliderset_coSetTranslation(this.__wbg_ptr,I,g,C);}coSetTranslationWrtParent(I,g,C){A.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr,I,g,C);}coSetRotation(I,g){A.rawcolliderset_coSetRotation(this.__wbg_ptr,I,g);}coSetRotationWrtParent(I,g){A.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr,I,g);}coIsSensor(I){return 0!==A.rawcolliderset_coIsSensor(this.__wbg_ptr,I)}coShapeType(I){return A.rawcolliderset_coShapeType(this.__wbg_ptr,I)}coHalfspaceNormal(I){const g=A.rawcolliderset_coHalfspaceNormal(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coHalfExtents(I){const g=A.rawcolliderset_coHalfExtents(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coSetHalfExtents(I,g){h(g,fA),A.rawcolliderset_coSetHalfExtents(this.__wbg_ptr,I,g.__wbg_ptr);}coRadius(I){const g=A.rawcolliderset_coRadius(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetRadius(I,g){A.rawcolliderset_coSetRadius(this.__wbg_ptr,I,g);}coHalfHeight(I){const g=A.rawcolliderset_coHalfHeight(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetHalfHeight(I,g){A.rawcolliderset_coSetHalfHeight(this.__wbg_ptr,I,g);}coRoundRadius(I){const g=A.rawcolliderset_coRoundRadius(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetRoundRadius(I,g){A.rawcolliderset_coSetRoundRadius(this.__wbg_ptr,I,g);}coVoxelData(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coVoxelData(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=y(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16);}}coVoxelSize(I){const g=A.rawcolliderset_coVoxelSize(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coSetVoxel(I,g,C,Q){A.rawcolliderset_coSetVoxel(this.__wbg_ptr,I,g,C,Q);}coPropagateVoxelChange(I,g,C,Q,B,E){A.rawcolliderset_coPropagateVoxelChange(this.__wbg_ptr,I,g,C,Q,B,E);}coCombineVoxelStates(I,g,C,Q){A.rawcolliderset_coCombineVoxelStates(this.__wbg_ptr,I,g,C,Q);}coVertices(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coVertices(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=a(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16);}}coIndices(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coIndices(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=function(A,I){return A>>>=0,J().subarray(A/4,A/4+I)}(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16);}}coTriMeshFlags(I){const g=A.rawcolliderset_coTriMeshFlags(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coHeightfieldHeights(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coHeightfieldHeights(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=a(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16);}}coHeightfieldScale(I){const g=A.rawcolliderset_coHeightfieldScale(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coParent(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coParent(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getFloat64(Q+8,!0);return 0===g?void 0:C}finally{A.__wbindgen_add_to_stack_pointer(16);}}coSetEnabled(I,g){A.rawcolliderset_coSetEnabled(this.__wbg_ptr,I,g);}coIsEnabled(I){return 0!==A.rawcolliderset_coIsEnabled(this.__wbg_ptr,I)}coSetContactSkin(I,g){A.rawcolliderset_coSetContactSkin(this.__wbg_ptr,I,g);}coContactSkin(I){return A.rawcolliderset_coContactSkin(this.__wbg_ptr,I)}coFriction(I){return A.rawcolliderset_coFriction(this.__wbg_ptr,I)}coRestitution(I){return A.rawcolliderset_coRestitution(this.__wbg_ptr,I)}coDensity(I){return A.rawcolliderset_coDensity(this.__wbg_ptr,I)}coMass(I){return A.rawcolliderset_coMass(this.__wbg_ptr,I)}coVolume(I){return A.rawcolliderset_coVolume(this.__wbg_ptr,I)}coCollisionGroups(I){return A.rawcolliderset_coCollisionGroups(this.__wbg_ptr,I)>>>0}coSolverGroups(I){return A.rawcolliderset_coSolverGroups(this.__wbg_ptr,I)>>>0}coActiveHooks(I){return A.rawcolliderset_coActiveHooks(this.__wbg_ptr,I)>>>0}coActiveCollisionTypes(I){return A.rawcolliderset_coActiveCollisionTypes(this.__wbg_ptr,I)}coActiveEvents(I){return A.rawcolliderset_coActiveEvents(this.__wbg_ptr,I)>>>0}coContactForceEventThreshold(I){return A.rawcolliderset_coContactForceEventThreshold(this.__wbg_ptr,I)}coContainsPoint(I,g){h(g,fA);return 0!==A.rawcolliderset_coContainsPoint(this.__wbg_ptr,I,g.__wbg_ptr)}coCastShape(I,g,C,Q,B,E,i,D,o){h(g,fA),h(C,lA),h(Q,fA),h(B,qA),h(E,fA);const w=A.rawcolliderset_coCastShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,o);return 0===w?void 0:pA.__wrap(w)}coCastCollider(I,g,C,Q,B,E,i){h(g,fA),h(Q,fA);const D=A.rawcolliderset_coCastCollider(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B,E,i);return 0===D?void 0:f.__wrap(D)}coIntersectsShape(I,g,C,Q){h(g,lA),h(C,fA),h(Q,qA);return 0!==A.rawcolliderset_coIntersectsShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr)}coContactShape(I,g,C,Q,B){h(g,lA),h(C,fA),h(Q,qA);const E=A.rawcolliderset_coContactShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B);return 0===E?void 0:dA.__wrap(E)}coContactCollider(I,g,C){const Q=A.rawcolliderset_coContactCollider(this.__wbg_ptr,I,g,C);return 0===Q?void 0:dA.__wrap(Q)}coProjectPoint(I,g,C){h(g,fA);const Q=A.rawcolliderset_coProjectPoint(this.__wbg_ptr,I,g.__wbg_ptr,C);return sA.__wrap(Q)}coIntersectsRay(I,g,C,Q){h(g,fA),h(C,fA);return 0!==A.rawcolliderset_coIntersectsRay(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}coCastRay(I,g,C,Q,B){h(g,fA),h(C,fA);return A.rawcolliderset_coCastRay(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B)}coCastRayAndGetNormal(I,g,C,Q,B){h(g,fA),h(C,fA);const E=A.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B);return 0===E?void 0:RA.__wrap(E)}coSetSensor(I,g){A.rawcolliderset_coSetSensor(this.__wbg_ptr,I,g);}coSetRestitution(I,g){A.rawcolliderset_coSetRestitution(this.__wbg_ptr,I,g);}coSetFriction(I,g){A.rawcolliderset_coSetFriction(this.__wbg_ptr,I,g);}coFrictionCombineRule(I){return A.rawcolliderset_coFrictionCombineRule(this.__wbg_ptr,I)>>>0}coSetFrictionCombineRule(I,g){A.rawcolliderset_coSetFrictionCombineRule(this.__wbg_ptr,I,g);}coRestitutionCombineRule(I){return A.rawcolliderset_coRestitutionCombineRule(this.__wbg_ptr,I)>>>0}coSetRestitutionCombineRule(I,g){A.rawcolliderset_coSetRestitutionCombineRule(this.__wbg_ptr,I,g);}coSetCollisionGroups(I,g){A.rawcolliderset_coSetCollisionGroups(this.__wbg_ptr,I,g);}coSetSolverGroups(I,g){A.rawcolliderset_coSetSolverGroups(this.__wbg_ptr,I,g);}coSetActiveHooks(I,g){A.rawcolliderset_coSetActiveHooks(this.__wbg_ptr,I,g);}coSetActiveEvents(I,g){A.rawcolliderset_coSetActiveEvents(this.__wbg_ptr,I,g);}coSetActiveCollisionTypes(I,g){A.rawcolliderset_coSetActiveCollisionTypes(this.__wbg_ptr,I,g);}coSetShape(I,g){h(g,lA),A.rawcolliderset_coSetShape(this.__wbg_ptr,I,g.__wbg_ptr);}coSetContactForceEventThreshold(I,g){A.rawcolliderset_coSetContactForceEventThreshold(this.__wbg_ptr,I,g);}coSetDensity(I,g){A.rawcolliderset_coSetDensity(this.__wbg_ptr,I,g);}coSetMass(I,g){A.rawcolliderset_coSetMass(this.__wbg_ptr,I,g);}coSetMassProperties(I,g,C,Q){h(C,fA),A.rawcolliderset_coSetMassProperties(this.__wbg_ptr,I,g,C.__wbg_ptr,Q);}constructor(){const I=A.rawcolliderset_new();return this.__wbg_ptr=I>>>0,n.register(this,this.__wbg_ptr,this),this}len(){return A.rawcolliderset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawcolliderset_contains(this.__wbg_ptr,I)}createCollider(I,g,C,Q,B,E,i,D,o,w,K,N,S,k,y,s,F,a,M,J,U,R,c,Y){try{const t=A.__wbindgen_add_to_stack_pointer(-16);h(g,lA),h(C,fA),h(Q,qA),h(i,fA),h(Y,YA),A.rawcolliderset_createCollider(t,this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E,i.__wbg_ptr,D,o,w,K,N,S,k,y,s,F,a,M,J,U,R,c,Y.__wbg_ptr);var L=G().getInt32(t+0,!0),q=G().getFloat64(t+8,!0);return 0===L?void 0:q}finally{A.__wbindgen_add_to_stack_pointer(16);}}remove(I,g,C,Q){h(g,QA),h(C,YA),A.rawcolliderset_remove(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q);}isHandleValid(I){return 0!==A.rawcolliderset_contains(this.__wbg_ptr,I)}forEachColliderHandle(g){try{A.rawcolliderset_forEachColliderHandle(this.__wbg_ptr,S(g));}finally{I[N++]=void 0;}}}const b="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcollidershapecasthit_free(I>>>0,1)));class f{static __wrap(A){A>>>=0;const I=Object.create(f.prototype);return I.__wbg_ptr=A,b.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,b.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcollidershapecasthit_free(I,0);}colliderHandle(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}witness1(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}witness2(){const I=A.rawcollidershapecasthit_witness2(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcollidershapecasthit_normal1(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcollidershapecasthit_normal2(this.__wbg_ptr);return fA.__wrap(I)}}const T="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactforceevent_free(I>>>0,1)));class Z{static __wrap(A){A>>>=0;const I=Object.create(Z.prototype);return I.__wbg_ptr=A,T.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactforceevent_free(I,0);}collider1(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}collider2(){return A.rawcontactforceevent_collider2(this.__wbg_ptr)}total_force(){const I=A.rawcontactforceevent_total_force(this.__wbg_ptr);return fA.__wrap(I)}total_force_magnitude(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}max_force_direction(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}max_force_magnitude(){return A.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}}const O="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactmanifold_free(I>>>0,1)));class W{static __wrap(A){A>>>=0;const I=Object.create(W.prototype);return I.__wbg_ptr=A,O.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,O.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactmanifold_free(I,0);}normal(){const I=A.rawcontactmanifold_normal(this.__wbg_ptr);return fA.__wrap(I)}local_n1(){const I=A.rawcontactmanifold_local_n1(this.__wbg_ptr);return fA.__wrap(I)}local_n2(){const I=A.rawcontactmanifold_local_n2(this.__wbg_ptr);return fA.__wrap(I)}subshape1(){return A.rawcontactmanifold_subshape1(this.__wbg_ptr)>>>0}subshape2(){return A.rawcontactmanifold_subshape2(this.__wbg_ptr)>>>0}num_contacts(){return A.rawcontactmanifold_num_contacts(this.__wbg_ptr)>>>0}contact_local_p1(I){const g=A.rawcontactmanifold_contact_local_p1(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}contact_local_p2(I){const g=A.rawcontactmanifold_contact_local_p2(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}contact_dist(I){return A.rawcontactmanifold_contact_dist(this.__wbg_ptr,I)}contact_fid1(I){return A.rawcontactmanifold_contact_fid1(this.__wbg_ptr,I)>>>0}contact_fid2(I){return A.rawcontactmanifold_contact_fid2(this.__wbg_ptr,I)>>>0}contact_impulse(I){return A.rawcontactmanifold_contact_impulse(this.__wbg_ptr,I)}contact_tangent_impulse(I){return A.rawcontactmanifold_contact_tangent_impulse(this.__wbg_ptr,I)}num_solver_contacts(){return A.rawcontactmanifold_num_solver_contacts(this.__wbg_ptr)>>>0}solver_contact_point(I){const g=A.rawcontactmanifold_solver_contact_point(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}solver_contact_dist(I){return A.rawcontactmanifold_solver_contact_dist(this.__wbg_ptr,I)}solver_contact_friction(I){return A.rawcontactmanifold_solver_contact_friction(this.__wbg_ptr,I)}solver_contact_restitution(I){return A.rawcontactmanifold_solver_contact_restitution(this.__wbg_ptr,I)}solver_contact_tangent_velocity(I){const g=A.rawcontactmanifold_solver_contact_tangent_velocity(this.__wbg_ptr,I);return fA.__wrap(g)}}const j="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactpair_free(I>>>0,1)));class x{static __wrap(A){A>>>=0;const I=Object.create(x.prototype);return I.__wbg_ptr=A,j.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,j.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactpair_free(I,0);}collider1(){return A.rawcontactpair_collider1(this.__wbg_ptr)}collider2(){return A.rawcontactpair_collider2(this.__wbg_ptr)}numContactManifolds(){return A.rawcontactpair_numContactManifolds(this.__wbg_ptr)>>>0}contactManifold(I){const g=A.rawcontactpair_contactManifold(this.__wbg_ptr,I);return 0===g?void 0:W.__wrap(g)}}const X="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawdebugrenderpipeline_free(I>>>0,1)));class m{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,X.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawdebugrenderpipeline_free(I,0);}constructor(){const I=A.rawdebugrenderpipeline_new();return this.__wbg_ptr=I>>>0,X.register(this,this.__wbg_ptr,this),this}vertices(){return K(A.rawdebugrenderpipeline_vertices(this.__wbg_ptr))}colors(){return K(A.rawdebugrenderpipeline_colors(this.__wbg_ptr))}render(g,C,Q,B,E,i,D){try{h(g,YA),h(C,d),h(Q,AA),h(B,DA),h(E,wA),A.rawdebugrenderpipeline_render(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,S(D));}finally{I[N++]=void 0;}}}const v="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawdeserializedworld_free(I>>>0,1)));class V{static __wrap(A){A>>>=0;const I=Object.create(V.prototype);return I.__wbg_ptr=A,v.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,v.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawdeserializedworld_free(I,0);}takeGravity(){const I=A.rawdeserializedworld_takeGravity(this.__wbg_ptr);return 0===I?void 0:fA.__wrap(I)}takeIntegrationParameters(){const I=A.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr);return 0===I?void 0:gA.__wrap(I)}takeIslandManager(){const I=A.rawdeserializedworld_takeIslandManager(this.__wbg_ptr);return 0===I?void 0:QA.__wrap(I)}takeBroadPhase(){const I=A.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr);return 0===I?void 0:H.__wrap(I)}takeNarrowPhase(){const I=A.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr);return 0===I?void 0:wA.__wrap(I)}takeBodies(){const I=A.rawdeserializedworld_takeBodies(this.__wbg_ptr);return 0===I?void 0:YA.__wrap(I)}takeColliders(){const I=A.rawdeserializedworld_takeColliders(this.__wbg_ptr);return 0===I?void 0:d.__wrap(I)}takeImpulseJoints(){const I=A.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr);return 0===I?void 0:AA.__wrap(I)}takeMultibodyJoints(){const I=A.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr);return 0===I?void 0:DA.__wrap(I)}}const P="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_raweventqueue_free(I>>>0,1)));class u{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,P.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_raweventqueue_free(I,0);}constructor(I){const g=A.raweventqueue_new(I);return this.__wbg_ptr=g>>>0,P.register(this,this.__wbg_ptr,this),this}drainCollisionEvents(g){try{A.raweventqueue_drainCollisionEvents(this.__wbg_ptr,S(g));}finally{I[N++]=void 0;}}drainContactForceEvents(g){try{A.raweventqueue_drainContactForceEvents(this.__wbg_ptr,S(g));}finally{I[N++]=void 0;}}clear(){A.raweventqueue_clear(this.__wbg_ptr);}}const z="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawgenericjoint_free(I>>>0,1)));class _{static __wrap(A){A>>>=0;const I=Object.create(_.prototype);return I.__wbg_ptr=A,z.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,z.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawgenericjoint_free(I,0);}static spring(I,g,C,Q,B){h(Q,fA),h(B,fA);const E=A.rawgenericjoint_spring(I,g,C,Q.__wbg_ptr,B.__wbg_ptr);return _.__wrap(E)}static rope(I,g,C){h(g,fA),h(C,fA);const Q=A.rawgenericjoint_rope(I,g.__wbg_ptr,C.__wbg_ptr);return _.__wrap(Q)}static prismatic(I,g,C,Q,B,E){h(I,fA),h(g,fA),h(C,fA);const i=A.rawgenericjoint_prismatic(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q,B,E);return 0===i?void 0:_.__wrap(i)}static fixed(I,g,C,Q){h(I,fA),h(g,qA),h(C,fA),h(Q,qA);const B=A.rawgenericjoint_fixed(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr);return _.__wrap(B)}static revolute(I,g){h(I,fA),h(g,fA);const C=A.rawgenericjoint_revolute(I.__wbg_ptr,g.__wbg_ptr);return 0===C?void 0:_.__wrap(C)}}const $="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawimpulsejointset_free(I>>>0,1)));class AA{static __wrap(A){A>>>=0;const I=Object.create(AA.prototype);return I.__wbg_ptr=A,$.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,$.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawimpulsejointset_free(I,0);}jointType(I){return A.rawimpulsejointset_jointType(this.__wbg_ptr,I)}jointBodyHandle1(I){return A.rawimpulsejointset_jointBodyHandle1(this.__wbg_ptr,I)}jointBodyHandle2(I){return A.rawimpulsejointset_jointBodyHandle2(this.__wbg_ptr,I)}jointFrameX1(I){const g=A.rawimpulsejointset_jointFrameX1(this.__wbg_ptr,I);return qA.__wrap(g)}jointFrameX2(I){const g=A.rawimpulsejointset_jointFrameX2(this.__wbg_ptr,I);return qA.__wrap(g)}jointAnchor1(I){const g=A.rawimpulsejointset_jointAnchor1(this.__wbg_ptr,I);return fA.__wrap(g)}jointAnchor2(I){const g=A.rawimpulsejointset_jointAnchor2(this.__wbg_ptr,I);return fA.__wrap(g)}jointSetAnchor1(I,g){h(g,fA),A.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr,I,g.__wbg_ptr);}jointSetAnchor2(I,g){h(g,fA),A.rawimpulsejointset_jointSetAnchor2(this.__wbg_ptr,I,g.__wbg_ptr);}jointContactsEnabled(I){return 0!==A.rawimpulsejointset_jointContactsEnabled(this.__wbg_ptr,I)}jointSetContactsEnabled(I,g){A.rawimpulsejointset_jointSetContactsEnabled(this.__wbg_ptr,I,g);}jointLimitsEnabled(I,g){return 0!==A.rawimpulsejointset_jointLimitsEnabled(this.__wbg_ptr,I,g)}jointLimitsMin(I,g){return A.rawimpulsejointset_jointLimitsMin(this.__wbg_ptr,I,g)}jointLimitsMax(I,g){return A.rawimpulsejointset_jointLimitsMax(this.__wbg_ptr,I,g)}jointSetLimits(I,g,C,Q){A.rawimpulsejointset_jointSetLimits(this.__wbg_ptr,I,g,C,Q);}jointConfigureMotorModel(I,g,C){A.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr,I,g,C);}jointConfigureMotorVelocity(I,g,C,Q){A.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr,I,g,C,Q);}jointConfigureMotorPosition(I,g,C,Q,B){A.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr,I,g,C,Q,B);}jointConfigureMotor(I,g,C,Q,B,E){A.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr,I,g,C,Q,B,E);}constructor(){const I=A.rawimpulsejointset_new();return this.__wbg_ptr=I>>>0,$.register(this,this.__wbg_ptr,this),this}createJoint(I,g,C,Q){h(I,_);return A.rawimpulsejointset_createJoint(this.__wbg_ptr,I.__wbg_ptr,g,C,Q)}remove(I,g){A.rawimpulsejointset_remove(this.__wbg_ptr,I,g);}len(){return A.rawimpulsejointset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawimpulsejointset_contains(this.__wbg_ptr,I)}forEachJointHandle(g){try{A.rawimpulsejointset_forEachJointHandle(this.__wbg_ptr,S(g));}finally{I[N++]=void 0;}}forEachJointAttachedToRigidBody(g,C){try{A.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,g,S(C));}finally{I[N++]=void 0;}}}const IA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawintegrationparameters_free(I>>>0,1)));class gA{static __wrap(A){A>>>=0;const I=Object.create(gA.prototype);return I.__wbg_ptr=A,IA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,IA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawintegrationparameters_free(I,0);}constructor(){const I=A.rawintegrationparameters_new();return this.__wbg_ptr=I>>>0,IA.register(this,this.__wbg_ptr,this),this}get dt(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}get contact_erp(){return A.rawintegrationparameters_contact_erp(this.__wbg_ptr)}get normalizedAllowedLinearError(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}get normalizedPredictionDistance(){return A.rawcharactercollision_toi(this.__wbg_ptr)}get numSolverIterations(){return A.rawintegrationparameters_numSolverIterations(this.__wbg_ptr)>>>0}get numInternalPgsIterations(){return A.rawintegrationparameters_numInternalPgsIterations(this.__wbg_ptr)>>>0}get minIslandSize(){return A.rawintegrationparameters_minIslandSize(this.__wbg_ptr)>>>0}get maxCcdSubsteps(){return A.rawintegrationparameters_maxCcdSubsteps(this.__wbg_ptr)>>>0}get lengthUnit(){return A.rawintegrationparameters_lengthUnit(this.__wbg_ptr)}set dt(I){A.rawintegrationparameters_set_dt(this.__wbg_ptr,I);}set contact_natural_frequency(I){A.rawintegrationparameters_set_contact_natural_frequency(this.__wbg_ptr,I);}set normalizedAllowedLinearError(I){A.rawintegrationparameters_set_normalizedAllowedLinearError(this.__wbg_ptr,I);}set normalizedPredictionDistance(I){A.rawintegrationparameters_set_normalizedPredictionDistance(this.__wbg_ptr,I);}set numSolverIterations(I){A.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr,I);}set numInternalPgsIterations(I){A.rawintegrationparameters_set_numInternalPgsIterations(this.__wbg_ptr,I);}set minIslandSize(I){A.rawintegrationparameters_set_minIslandSize(this.__wbg_ptr,I);}set maxCcdSubsteps(I){A.rawintegrationparameters_set_maxCcdSubsteps(this.__wbg_ptr,I);}set lengthUnit(I){A.rawintegrationparameters_set_lengthUnit(this.__wbg_ptr,I);}}const CA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawislandmanager_free(I>>>0,1)));class QA{static __wrap(A){A>>>=0;const I=Object.create(QA.prototype);return I.__wbg_ptr=A,CA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,CA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawislandmanager_free(I,0);}constructor(){const I=A.rawislandmanager_new();return this.__wbg_ptr=I>>>0,CA.register(this,this.__wbg_ptr,this),this}forEachActiveRigidBodyHandle(g){try{A.rawislandmanager_forEachActiveRigidBodyHandle(this.__wbg_ptr,S(g));}finally{I[N++]=void 0;}}}const BA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawkinematiccharactercontroller_free(I>>>0,1)));class EA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,BA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawkinematiccharactercontroller_free(I,0);}constructor(I){const g=A.rawkinematiccharactercontroller_new(I);return this.__wbg_ptr=g>>>0,BA.register(this,this.__wbg_ptr,this),this}up(){const I=A.rawcollidershapecasthit_normal2(this.__wbg_ptr);return fA.__wrap(I)}setUp(I){h(I,fA),A.rawkinematiccharactercontroller_setUp(this.__wbg_ptr,I.__wbg_ptr);}normalNudgeFactor(){return A.rawkinematiccharactercontroller_normalNudgeFactor(this.__wbg_ptr)}setNormalNudgeFactor(I){A.rawkinematiccharactercontroller_setNormalNudgeFactor(this.__wbg_ptr,I);}offset(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}setOffset(I){A.rawkinematiccharactercontroller_setOffset(this.__wbg_ptr,I);}slideEnabled(){return 0!==A.rawkinematiccharactercontroller_slideEnabled(this.__wbg_ptr)}setSlideEnabled(I){A.rawkinematiccharactercontroller_setSlideEnabled(this.__wbg_ptr,I);}autostepMaxHeight(){const I=A.rawkinematiccharactercontroller_autostepMaxHeight(this.__wbg_ptr);return 4294967297===I?void 0:I}autostepMinWidth(){const I=A.rawkinematiccharactercontroller_autostepMinWidth(this.__wbg_ptr);return 4294967297===I?void 0:I}autostepIncludesDynamicBodies(){const I=A.rawkinematiccharactercontroller_autostepIncludesDynamicBodies(this.__wbg_ptr);return 16777215===I?void 0:0!==I}autostepEnabled(){return 0!==A.rawkinematiccharactercontroller_autostepEnabled(this.__wbg_ptr)}enableAutostep(I,g,C){A.rawkinematiccharactercontroller_enableAutostep(this.__wbg_ptr,I,g,C);}disableAutostep(){A.rawkinematiccharactercontroller_disableAutostep(this.__wbg_ptr);}maxSlopeClimbAngle(){return A.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr)}setMaxSlopeClimbAngle(I){A.rawkinematiccharactercontroller_setMaxSlopeClimbAngle(this.__wbg_ptr,I);}minSlopeSlideAngle(){return A.rawkinematiccharactercontroller_minSlopeSlideAngle(this.__wbg_ptr)}setMinSlopeSlideAngle(I){A.rawkinematiccharactercontroller_setMinSlopeSlideAngle(this.__wbg_ptr,I);}snapToGroundDistance(){const I=A.rawkinematiccharactercontroller_snapToGroundDistance(this.__wbg_ptr);return 4294967297===I?void 0:I}enableSnapToGround(I){A.rawkinematiccharactercontroller_enableSnapToGround(this.__wbg_ptr,I);}disableSnapToGround(){A.rawkinematiccharactercontroller_disableSnapToGround(this.__wbg_ptr);}snapToGroundEnabled(){return 0!==A.rawkinematiccharactercontroller_snapToGroundEnabled(this.__wbg_ptr)}computeColliderMovement(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(C,H),h(Q,wA),h(B,YA),h(E,d),h(D,fA),A.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr,g,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D.__wbg_ptr,w,o(G)?4294967297:Math.fround(G),K,o(k)?4294967297:k>>>0,S(y));}finally{I[N++]=void 0;}}computedMovement(){const I=A.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr);return fA.__wrap(I)}computedGrounded(){return 0!==A.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr)}numComputedCollisions(){return A.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr)>>>0}computedCollision(I,g){h(g,p);return 0!==A.rawkinematiccharactercontroller_computedCollision(this.__wbg_ptr,I,g.__wbg_ptr)}}const iA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawmultibodyjointset_free(I>>>0,1)));class DA{static __wrap(A){A>>>=0;const I=Object.create(DA.prototype);return I.__wbg_ptr=A,iA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,iA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawmultibodyjointset_free(I,0);}jointType(I){return A.rawmultibodyjointset_jointType(this.__wbg_ptr,I)}jointFrameX1(I){const g=A.rawmultibodyjointset_jointFrameX1(this.__wbg_ptr,I);return qA.__wrap(g)}jointFrameX2(I){const g=A.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr,I);return qA.__wrap(g)}jointAnchor1(I){const g=A.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr,I);return fA.__wrap(g)}jointAnchor2(I){const g=A.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr,I);return fA.__wrap(g)}jointContactsEnabled(I){return 0!==A.rawmultibodyjointset_jointContactsEnabled(this.__wbg_ptr,I)}jointSetContactsEnabled(I,g){A.rawmultibodyjointset_jointSetContactsEnabled(this.__wbg_ptr,I,g);}jointLimitsEnabled(I,g){return 0!==A.rawmultibodyjointset_jointLimitsEnabled(this.__wbg_ptr,I,g)}jointLimitsMin(I,g){return A.rawmultibodyjointset_jointLimitsMin(this.__wbg_ptr,I,g)}jointLimitsMax(I,g){return A.rawmultibodyjointset_jointLimitsMax(this.__wbg_ptr,I,g)}constructor(){const I=A.rawmultibodyjointset_new();return this.__wbg_ptr=I>>>0,iA.register(this,this.__wbg_ptr,this),this}createJoint(I,g,C,Q){h(I,_);return A.rawmultibodyjointset_createJoint(this.__wbg_ptr,I.__wbg_ptr,g,C,Q)}remove(I,g){A.rawmultibodyjointset_remove(this.__wbg_ptr,I,g);}contains(I){return 0!==A.rawmultibodyjointset_contains(this.__wbg_ptr,I)}forEachJointHandle(g){try{A.rawmultibodyjointset_forEachJointHandle(this.__wbg_ptr,S(g));}finally{I[N++]=void 0;}}forEachJointAttachedToRigidBody(g,C){try{A.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,g,S(C));}finally{I[N++]=void 0;}}}const oA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawnarrowphase_free(I>>>0,1)));class wA{static __wrap(A){A>>>=0;const I=Object.create(wA.prototype);return I.__wbg_ptr=A,oA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,oA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawnarrowphase_free(I,0);}constructor(){const I=A.rawnarrowphase_new();return this.__wbg_ptr=I>>>0,oA.register(this,this.__wbg_ptr,this),this}contact_pairs_with(I,g){A.rawnarrowphase_contact_pairs_with(this.__wbg_ptr,I,Q(g));}contact_pair(I,g){const C=A.rawnarrowphase_contact_pair(this.__wbg_ptr,I,g);return 0===C?void 0:x.__wrap(C)}intersection_pairs_with(I,g){A.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr,I,Q(g));}intersection_pair(I,g){return 0!==A.rawnarrowphase_intersection_pair(this.__wbg_ptr,I,g)}}const GA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawphysicspipeline_free(I>>>0,1)));class KA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,GA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawphysicspipeline_free(I,0);}constructor(){const I=A.rawphysicspipeline_new();return this.__wbg_ptr=I>>>0,GA.register(this,this.__wbg_ptr,this),this}set_profiler_enabled(I){A.rawphysicspipeline_set_profiler_enabled(this.__wbg_ptr,I);}is_profiler_enabled(){return 0!==A.rawphysicspipeline_is_profiler_enabled(this.__wbg_ptr)}timing_step(){return A.rawphysicspipeline_timing_step(this.__wbg_ptr)}timing_collision_detection(){return A.rawphysicspipeline_timing_collision_detection(this.__wbg_ptr)}timing_broad_phase(){return A.rawphysicspipeline_timing_broad_phase(this.__wbg_ptr)}timing_narrow_phase(){return A.rawphysicspipeline_timing_narrow_phase(this.__wbg_ptr)}timing_solver(){return A.rawphysicspipeline_timing_solver(this.__wbg_ptr)}timing_velocity_assembly(){return A.rawphysicspipeline_timing_velocity_assembly(this.__wbg_ptr)}timing_velocity_resolution(){return A.rawphysicspipeline_timing_velocity_resolution(this.__wbg_ptr)}timing_velocity_update(){return A.rawphysicspipeline_timing_velocity_update(this.__wbg_ptr)}timing_velocity_writeback(){return A.rawphysicspipeline_timing_velocity_writeback(this.__wbg_ptr)}timing_ccd(){return A.rawphysicspipeline_timing_ccd(this.__wbg_ptr)}timing_ccd_toi_computation(){return A.rawphysicspipeline_timing_ccd_toi_computation(this.__wbg_ptr)}timing_ccd_broad_phase(){return A.rawphysicspipeline_timing_ccd_broad_phase(this.__wbg_ptr)}timing_ccd_narrow_phase(){return A.rawphysicspipeline_timing_ccd_narrow_phase(this.__wbg_ptr)}timing_ccd_solver(){return A.rawphysicspipeline_timing_ccd_solver(this.__wbg_ptr)}timing_island_construction(){return A.rawphysicspipeline_timing_island_construction(this.__wbg_ptr)}timing_user_changes(){return A.rawphysicspipeline_timing_user_changes(this.__wbg_ptr)}step(I,g,C,Q,B,E,i,D,o,w){h(I,fA),h(g,gA),h(C,QA),h(Q,H),h(B,wA),h(E,YA),h(i,d),h(D,AA),h(o,DA),h(w,l),A.rawphysicspipeline_step(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr,w.__wbg_ptr);}stepWithEvents(I,g,C,B,E,i,D,o,w,G,K,N,S,k){h(I,fA),h(g,gA),h(C,QA),h(B,H),h(E,wA),h(i,YA),h(D,d),h(o,AA),h(w,DA),h(G,l),h(K,u),A.rawphysicspipeline_stepWithEvents(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr,w.__wbg_ptr,G.__wbg_ptr,K.__wbg_ptr,Q(N),Q(S),Q(k));}}const hA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpidcontroller_free(I>>>0,1)));class NA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,hA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpidcontroller_free(I,0);}constructor(I,g,C,Q){const B=A.rawpidcontroller_new(I,g,C,Q);return this.__wbg_ptr=B>>>0,hA.register(this,this.__wbg_ptr,this),this}set_kp(I,g){A.rawpidcontroller_set_kp(this.__wbg_ptr,I,g);}set_ki(I,g){A.rawpidcontroller_set_ki(this.__wbg_ptr,I,g);}set_kd(I,g){A.rawpidcontroller_set_kd(this.__wbg_ptr,I,g);}set_axes_mask(I){A.rawpidcontroller_set_axes_mask(this.__wbg_ptr,I);}reset_integrals(){A.rawpidcontroller_reset_integrals(this.__wbg_ptr);}apply_linear_correction(I,g,C,Q,B){h(g,YA),h(Q,fA),h(B,fA),A.rawpidcontroller_apply_linear_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B.__wbg_ptr);}apply_angular_correction(I,g,C,Q,B){h(g,YA),A.rawpidcontroller_apply_angular_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q,B);}linear_correction(I,g,C,Q,B){h(g,YA),h(Q,fA),h(B,fA);const E=A.rawpidcontroller_linear_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B.__wbg_ptr);return fA.__wrap(E)}angular_correction(I,g,C,Q,B){h(g,YA);return A.rawpidcontroller_angular_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q,B)}}const SA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpointcolliderprojection_free(I>>>0,1)));class kA{static __wrap(A){A>>>=0;const I=Object.create(kA.prototype);return I.__wbg_ptr=A,SA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,SA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpointcolliderprojection_free(I,0);}colliderHandle(){return A.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}point(){const I=A.rawpointcolliderprojection_point(this.__wbg_ptr);return fA.__wrap(I)}isInside(){return 0!==A.rawpointcolliderprojection_isInside(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const yA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpointprojection_free(I>>>0,1)));class sA{static __wrap(A){A>>>=0;const I=Object.create(sA.prototype);return I.__wbg_ptr=A,yA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,yA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpointprojection_free(I,0);}point(){const I=A.rawpointprojection_point(this.__wbg_ptr);return fA.__wrap(I)}isInside(){return 0!==A.rawpointprojection_isInside(this.__wbg_ptr)}}const FA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawraycolliderhit_free(I>>>0,1)));class aA{static __wrap(A){A>>>=0;const I=Object.create(aA.prototype);return I.__wbg_ptr=A,FA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,FA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawraycolliderhit_free(I,0);}colliderHandle(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}timeOfImpact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}}const MA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawraycolliderintersection_free(I>>>0,1)));class JA{static __wrap(A){A>>>=0;const I=Object.create(JA.prototype);return I.__wbg_ptr=A,MA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,MA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawraycolliderintersection_free(I,0);}colliderHandle(){return A.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}normal(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const UA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrayintersection_free(I>>>0,1)));class RA{static __wrap(A){A>>>=0;const I=Object.create(RA.prototype);return I.__wbg_ptr=A,UA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,UA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrayintersection_free(I,0);}normal(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const cA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrigidbodyset_free(I>>>0,1)));class YA{static __wrap(A){A>>>=0;const I=Object.create(YA.prototype);return I.__wbg_ptr=A,cA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,cA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrigidbodyset_free(I,0);}rbTranslation(I){const g=A.rawrigidbodyset_rbTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}rbRotation(I){const g=A.rawrigidbodyset_rbRotation(this.__wbg_ptr,I);return qA.__wrap(g)}rbSleep(I){A.rawrigidbodyset_rbSleep(this.__wbg_ptr,I);}rbIsSleeping(I){return 0!==A.rawrigidbodyset_rbIsSleeping(this.__wbg_ptr,I)}rbIsMoving(I){return 0!==A.rawrigidbodyset_rbIsMoving(this.__wbg_ptr,I)}rbNextTranslation(I){const g=A.rawrigidbodyset_rbNextTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}rbNextRotation(I){const g=A.rawrigidbodyset_rbNextRotation(this.__wbg_ptr,I);return qA.__wrap(g)}rbSetTranslation(I,g,C,Q){A.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr,I,g,C,Q);}rbSetRotation(I,g,C){A.rawrigidbodyset_rbSetRotation(this.__wbg_ptr,I,g,C);}rbSetLinvel(I,g,C){h(g,fA),A.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr,I,g.__wbg_ptr,C);}rbSetAngvel(I,g,C){A.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr,I,g,C);}rbSetNextKinematicTranslation(I,g,C){A.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr,I,g,C);}rbSetNextKinematicRotation(I,g){A.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr,I,g);}rbRecomputeMassPropertiesFromColliders(I,g){h(g,d),A.rawrigidbodyset_rbRecomputeMassPropertiesFromColliders(this.__wbg_ptr,I,g.__wbg_ptr);}rbSetAdditionalMass(I,g,C){A.rawrigidbodyset_rbSetAdditionalMass(this.__wbg_ptr,I,g,C);}rbSetAdditionalMassProperties(I,g,C,Q,B){h(C,fA),A.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr,I,g,C.__wbg_ptr,Q,B);}rbLinvel(I){const g=A.rawrigidbodyset_rbLinvel(this.__wbg_ptr,I);return fA.__wrap(g)}rbAngvel(I){return A.rawrigidbodyset_rbAngvel(this.__wbg_ptr,I)}rbVelocityAtPoint(I,g){h(g,fA);const C=A.rawrigidbodyset_rbVelocityAtPoint(this.__wbg_ptr,I,g.__wbg_ptr);return fA.__wrap(C)}rbLockTranslations(I,g,C){A.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr,I,g,C);}rbSetEnabledTranslations(I,g,C,Q){A.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr,I,g,C,Q);}rbLockRotations(I,g,C){A.rawrigidbodyset_rbLockRotations(this.__wbg_ptr,I,g,C);}rbDominanceGroup(I){return A.rawrigidbodyset_rbDominanceGroup(this.__wbg_ptr,I)}rbSetDominanceGroup(I,g){A.rawrigidbodyset_rbSetDominanceGroup(this.__wbg_ptr,I,g);}rbEnableCcd(I,g){A.rawrigidbodyset_rbEnableCcd(this.__wbg_ptr,I,g);}rbSetSoftCcdPrediction(I,g){A.rawrigidbodyset_rbSetSoftCcdPrediction(this.__wbg_ptr,I,g);}rbMass(I){return A.rawrigidbodyset_rbMass(this.__wbg_ptr,I)}rbInvMass(I){return A.rawrigidbodyset_rbInvMass(this.__wbg_ptr,I)}rbEffectiveInvMass(I){const g=A.rawrigidbodyset_rbEffectiveInvMass(this.__wbg_ptr,I);return fA.__wrap(g)}rbLocalCom(I){const g=A.rawrigidbodyset_rbLocalCom(this.__wbg_ptr,I);return fA.__wrap(g)}rbWorldCom(I){const g=A.rawrigidbodyset_rbWorldCom(this.__wbg_ptr,I);return fA.__wrap(g)}rbInvPrincipalInertia(I){return A.rawrigidbodyset_rbInvPrincipalInertia(this.__wbg_ptr,I)}rbPrincipalInertia(I){return A.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr,I)}rbEffectiveWorldInvInertia(I){return A.rawrigidbodyset_rbEffectiveWorldInvInertia(this.__wbg_ptr,I)}rbEffectiveAngularInertia(I){return A.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr,I)}rbWakeUp(I){A.rawrigidbodyset_rbWakeUp(this.__wbg_ptr,I);}rbIsCcdEnabled(I){return 0!==A.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr,I)}rbSoftCcdPrediction(I){return A.rawrigidbodyset_rbSoftCcdPrediction(this.__wbg_ptr,I)}rbNumColliders(I){return A.rawrigidbodyset_rbNumColliders(this.__wbg_ptr,I)>>>0}rbCollider(I,g){return A.rawrigidbodyset_rbCollider(this.__wbg_ptr,I,g)}rbBodyType(I){return A.rawrigidbodyset_rbBodyType(this.__wbg_ptr,I)}rbSetBodyType(I,g,C){A.rawrigidbodyset_rbSetBodyType(this.__wbg_ptr,I,g,C);}rbIsFixed(I){return 0!==A.rawrigidbodyset_rbIsFixed(this.__wbg_ptr,I)}rbIsKinematic(I){return 0!==A.rawrigidbodyset_rbIsKinematic(this.__wbg_ptr,I)}rbIsDynamic(I){return 0!==A.rawrigidbodyset_rbIsDynamic(this.__wbg_ptr,I)}rbLinearDamping(I){return A.rawrigidbodyset_rbLinearDamping(this.__wbg_ptr,I)}rbAngularDamping(I){return A.rawrigidbodyset_rbAngularDamping(this.__wbg_ptr,I)}rbSetLinearDamping(I,g){A.rawrigidbodyset_rbSetLinearDamping(this.__wbg_ptr,I,g);}rbSetAngularDamping(I,g){A.rawrigidbodyset_rbSetAngularDamping(this.__wbg_ptr,I,g);}rbSetEnabled(I,g){A.rawrigidbodyset_rbSetEnabled(this.__wbg_ptr,I,g);}rbIsEnabled(I){return 0!==A.rawrigidbodyset_rbIsEnabled(this.__wbg_ptr,I)}rbGravityScale(I){return A.rawrigidbodyset_rbGravityScale(this.__wbg_ptr,I)}rbSetGravityScale(I,g,C){A.rawrigidbodyset_rbSetGravityScale(this.__wbg_ptr,I,g,C);}rbResetForces(I,g){A.rawrigidbodyset_rbResetForces(this.__wbg_ptr,I,g);}rbResetTorques(I,g){A.rawrigidbodyset_rbResetTorques(this.__wbg_ptr,I,g);}rbAddForce(I,g,C){h(g,fA),A.rawrigidbodyset_rbAddForce(this.__wbg_ptr,I,g.__wbg_ptr,C);}rbApplyImpulse(I,g,C){h(g,fA),A.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr,I,g.__wbg_ptr,C);}rbAddTorque(I,g,C){A.rawrigidbodyset_rbAddTorque(this.__wbg_ptr,I,g,C);}rbApplyTorqueImpulse(I,g,C){A.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr,I,g,C);}rbAddForceAtPoint(I,g,C,Q){h(g,fA),h(C,fA),A.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q);}rbApplyImpulseAtPoint(I,g,C,Q){h(g,fA),h(C,fA),A.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q);}rbAdditionalSolverIterations(I){return A.rawrigidbodyset_rbAdditionalSolverIterations(this.__wbg_ptr,I)>>>0}rbSetAdditionalSolverIterations(I,g){A.rawrigidbodyset_rbSetAdditionalSolverIterations(this.__wbg_ptr,I,g);}rbUserData(I){return A.rawrigidbodyset_rbUserData(this.__wbg_ptr,I)>>>0}rbSetUserData(I,g){A.rawrigidbodyset_rbSetUserData(this.__wbg_ptr,I,g);}rbUserForce(I){const g=A.rawrigidbodyset_rbUserForce(this.__wbg_ptr,I);return fA.__wrap(g)}rbUserTorque(I){return A.rawrigidbodyset_rbUserTorque(this.__wbg_ptr,I)}constructor(){const I=A.rawrigidbodyset_new();return this.__wbg_ptr=I>>>0,cA.register(this,this.__wbg_ptr,this),this}createRigidBody(I,g,C,Q,B,E,i,D,o,w,G,K,N,S,k,y,s,F,a,M,J,U){h(g,fA),h(C,qA),h(i,fA),h(D,fA);return A.rawrigidbodyset_createRigidBody(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B,E,i.__wbg_ptr,D.__wbg_ptr,o,w,G,K,N,S,k,y,s,F,a,M,J,U)}remove(I,g,C,Q,B){h(g,QA),h(C,d),h(Q,AA),h(B,DA),A.rawrigidbodyset_remove(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr);}len(){return A.rawrigidbodyset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawrigidbodyset_contains(this.__wbg_ptr,I)}forEachRigidBodyHandle(g){try{A.rawrigidbodyset_forEachRigidBodyHandle(this.__wbg_ptr,S(g));}finally{I[N++]=void 0;}}propagateModifiedBodyPositionsToColliders(I){h(I,d),A.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr,I.__wbg_ptr);}}const LA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrotation_free(I>>>0,1)));class qA{static __wrap(A){A>>>=0;const I=Object.create(qA.prototype);return I.__wbg_ptr=A,LA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,LA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrotation_free(I,0);}static identity(){const I=A.rawrotation_identity();return qA.__wrap(I)}static fromAngle(I){const g=A.rawrotation_fromAngle(I);return qA.__wrap(g)}get im(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}get re(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}get angle(){return A.rawrotation_angle(this.__wbg_ptr)}}const tA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawserializationpipeline_free(I>>>0,1)));class HA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,tA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawserializationpipeline_free(I,0);}constructor(){const I=A.rawccdsolver_new();return this.__wbg_ptr=I>>>0,tA.register(this,this.__wbg_ptr,this),this}serializeAll(I,g,C,Q,B,E,i,D,o){h(I,fA),h(g,gA),h(C,QA),h(Q,H),h(B,wA),h(E,YA),h(i,d),h(D,AA),h(o,DA);return K(A.rawserializationpipeline_serializeAll(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr))}deserializeAll(I){const g=A.rawserializationpipeline_deserializeAll(this.__wbg_ptr,Q(I));return 0===g?void 0:V.__wrap(g)}}const rA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshape_free(I>>>0,1)));class lA{static __wrap(A){A>>>=0;const I=Object.create(lA.prototype);return I.__wbg_ptr=A,rA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,rA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshape_free(I,0);}static cuboid(I,g){const C=A.rawshape_cuboid(I,g);return lA.__wrap(C)}static roundCuboid(I,g,C){const Q=A.rawshape_roundCuboid(I,g,C);return lA.__wrap(Q)}static ball(I){const g=A.rawshape_ball(I);return lA.__wrap(g)}static halfspace(I){h(I,fA);const g=A.rawshape_halfspace(I.__wbg_ptr);return lA.__wrap(g)}static capsule(I,g){const C=A.rawshape_capsule(I,g);return lA.__wrap(C)}static voxels(I,g){h(I,fA);const C=R(g,A.__wbindgen_export_2),Q=U,B=A.rawshape_voxels(I.__wbg_ptr,C,Q);return lA.__wrap(B)}static voxelsFromPoints(I,g){h(I,fA);const C=c(g,A.__wbindgen_export_2),Q=U,B=A.rawshape_voxelsFromPoints(I.__wbg_ptr,C,Q);return lA.__wrap(B)}static polyline(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=R(g,A.__wbindgen_export_2),E=U,i=A.rawshape_polyline(C,Q,B,E);return lA.__wrap(i)}static trimesh(I,g,C){const Q=c(I,A.__wbindgen_export_2),B=U,E=R(g,A.__wbindgen_export_2),i=U,D=A.rawshape_trimesh(Q,B,E,i,C);return 0===D?void 0:lA.__wrap(D)}static heightfield(I,g){const C=c(I,A.__wbindgen_export_2),Q=U;h(g,fA);const B=A.rawshape_heightfield(C,Q,g.__wbg_ptr);return lA.__wrap(B)}static segment(I,g){h(I,fA),h(g,fA);const C=A.rawshape_segment(I.__wbg_ptr,g.__wbg_ptr);return lA.__wrap(C)}static triangle(I,g,C){h(I,fA),h(g,fA),h(C,fA);const Q=A.rawshape_triangle(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr);return lA.__wrap(Q)}static roundTriangle(I,g,C,Q){h(I,fA),h(g,fA),h(C,fA);const B=A.rawshape_roundTriangle(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q);return lA.__wrap(B)}static convexHull(I){const g=c(I,A.__wbindgen_export_2),C=U,Q=A.rawshape_convexHull(g,C);return 0===Q?void 0:lA.__wrap(Q)}static roundConvexHull(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=A.rawshape_roundConvexHull(C,Q,g);return 0===B?void 0:lA.__wrap(B)}static convexPolyline(I){const g=c(I,A.__wbindgen_export_2),C=U,Q=A.rawshape_convexPolyline(g,C);return 0===Q?void 0:lA.__wrap(Q)}static roundConvexPolyline(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=A.rawshape_roundConvexPolyline(C,Q,g);return 0===B?void 0:lA.__wrap(B)}castShape(I,g,C,Q,B,E,i,D,o,w){h(I,fA),h(g,qA),h(C,fA),h(Q,lA),h(B,fA),h(E,qA),h(i,fA);const G=A.rawshape_castShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D,o,w);return 0===G?void 0:pA.__wrap(G)}intersectsShape(I,g,C,Q,B){h(I,fA),h(g,qA),h(C,lA),h(Q,fA),h(B,qA);return 0!==A.rawshape_intersectsShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr)}contactShape(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,lA),h(Q,fA),h(B,qA);const i=A.rawshape_contactShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E);return 0===i?void 0:dA.__wrap(i)}containsPoint(I,g,C){h(I,fA),h(g,qA),h(C,fA);return 0!==A.rawshape_containsPoint(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr)}projectPoint(I,g,C,Q){h(I,fA),h(g,qA),h(C,fA);const B=A.rawshape_projectPoint(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q);return sA.__wrap(B)}intersectsRay(I,g,C,Q,B){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);return 0!==A.rawshape_intersectsRay(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B)}castRay(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);return A.rawshape_castRay(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E)}castRayAndGetNormal(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);const i=A.rawshape_castRayAndGetNormal(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E);return 0===i?void 0:RA.__wrap(i)}}const eA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshapecasthit_free(I>>>0,1)));class pA{static __wrap(A){A>>>=0;const I=Object.create(pA.prototype);return I.__wbg_ptr=A,eA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,eA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshapecasthit_free(I,0);}time_of_impact(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}witness1(){const I=A.rawshapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}witness2(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcollidershapecasthit_witness2(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcollidershapecasthit_normal1(this.__wbg_ptr);return fA.__wrap(I)}}const nA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshapecontact_free(I>>>0,1)));class dA{static __wrap(A){A>>>=0;const I=Object.create(dA.prototype);return I.__wbg_ptr=A,nA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,nA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshapecontact_free(I,0);}distance(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}point1(){const I=A.rawpointprojection_point(this.__wbg_ptr);return fA.__wrap(I)}point2(){const I=A.rawpointcolliderprojection_point(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcontactforceevent_total_force(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}}const bA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawvector_free(I>>>0,1)));class fA{static __wrap(A){A>>>=0;const I=Object.create(fA.prototype);return I.__wbg_ptr=A,bA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,bA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawvector_free(I,0);}static zero(){const I=A.rawvector_zero();return fA.__wrap(I)}constructor(I,g){const C=A.rawvector_new(I,g);return this.__wbg_ptr=C>>>0,bA.register(this,this.__wbg_ptr,this),this}get x(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}set x(I){A.rawintegrationparameters_set_dt(this.__wbg_ptr,I);}get y(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}set y(I){A.rawvector_set_y(this.__wbg_ptr,I);}xy(){const I=A.rawvector_xy(this.__wbg_ptr);return fA.__wrap(I)}yx(){const I=A.rawvector_yx(this.__wbg_ptr);return fA.__wrap(I)}}async function TA(I){if(void 0!==A)return A;void 0!==I&&(Object.getPrototypeOf(I)===Object.prototype?({module_or_path:I}=I):console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===I&&(I=new URL("rapier_wasm2d_bg.wasm",""));const C=function(){const I={wbg:{}};return I.wbg.__wbg_bind_c8359b1cba058168=function(A,I,C,B){return Q(g(A).bind(g(I),g(C),g(B)))},I.wbg.__wbg_buffer_609cc3eee51ed158=function(A){return Q(g(A).buffer)},I.wbg.__wbg_call_672a4d21634d4a24=function(){return B((function(A,I){return Q(g(A).call(g(I)))}),arguments)},I.wbg.__wbg_call_7cccdd69e0791ae2=function(){return B((function(A,I,C){return Q(g(A).call(g(I),g(C)))}),arguments)},I.wbg.__wbg_call_833bed5770ea2041=function(){return B((function(A,I,C,B){return Q(g(A).call(g(I),g(C),g(B)))}),arguments)},I.wbg.__wbg_call_b8adc8b1d0a0d8eb=function(){return B((function(A,I,C,B,E){return Q(g(A).call(g(I),g(C),g(B),g(E)))}),arguments)},I.wbg.__wbg_length_3b4f022188ae8db6=function(A){return g(A).length},I.wbg.__wbg_length_a446193dc22c12f8=function(A){return g(A).length},I.wbg.__wbg_new_a12002a7f91c75be=function(A){return Q(new Uint8Array(g(A)))},I.wbg.__wbg_newnoargs_105ed471475aaf50=function(A,I){return Q(new Function(D(A,I)))},I.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a=function(A,I,C){return Q(new Uint8Array(g(A),I>>>0,C>>>0))},I.wbg.__wbg_newwithbyteoffsetandlength_e6b7e69acd4c7354=function(A,I,C){return Q(new Float32Array(g(A),I>>>0,C>>>0))},I.wbg.__wbg_newwithlength_5a5efe313cfd59f1=function(A){return Q(new Float32Array(A>>>0))},I.wbg.__wbg_now_2c95c9de01293173=function(A){return g(A).now()},I.wbg.__wbg_performance_7a3ffd0b17f663ad=function(A){return Q(g(A).performance)},I.wbg.__wbg_rawcontactforceevent_new=function(A){return Q(Z.__wrap(A))},I.wbg.__wbg_rawraycolliderintersection_new=function(A){return Q(JA.__wrap(A))},I.wbg.__wbg_set_10bad9bee0e9c58b=function(A,I,C){g(A).set(g(I),C>>>0);},I.wbg.__wbg_set_65595bdd868b3009=function(A,I,C){g(A).set(g(I),C>>>0);},I.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07=function(){const A="undefined"==typeof global?null:global;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0=function(){const A="undefined"==typeof globalThis?null:globalThis;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819=function(){const A="undefined"==typeof self?null:self;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40=function(){const A="undefined"==typeof window?null:window;return o(A)?0:Q(A)},I.wbg.__wbindgen_boolean_get=function(A){const I=g(A);return "boolean"==typeof I?I?1:0:2},I.wbg.__wbindgen_is_function=function(A){return "function"==typeof g(A)},I.wbg.__wbindgen_is_undefined=function(A){return void 0===g(A)},I.wbg.__wbindgen_memory=function(){return Q(A.memory)},I.wbg.__wbindgen_number_get=function(A,I){const C=g(I),Q="number"==typeof C?C:void 0;G().setFloat64(A+8,o(Q)?0:Q,true),G().setInt32(A+0,!o(Q),true);},I.wbg.__wbindgen_number_new=function(A){return Q(A)},I.wbg.__wbindgen_object_clone_ref=function(A){return Q(g(A))},I.wbg.__wbindgen_object_drop_ref=function(A){K(A);},I.wbg.__wbindgen_throw=function(A,I){throw new Error(D(A,I))},I}();("string"==typeof I||"function"==typeof Request&&I instanceof Request||"function"==typeof URL&&I instanceof URL)&&(I=fetch(I));const{instance:E,module:h}=await async function(A,I){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,I)}catch(I){if("application/wasm"==A.headers.get("Content-Type"))throw I;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",I);}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,I)}{const g=await WebAssembly.instantiate(A,I);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}(await I,C);return function(I,g){return A=I.exports,TA.__wbindgen_wasm_module=g,w=null,s=null,k=null,M=null,i=null,A}(E,h)}class ZA{constructor(A,I){this.x=A,this.y=I;}}class OA{static new(A,I){return new ZA(A,I)}static zeros(){return OA.new(0,0)}static fromRaw(A){if(!A)return null;let I=OA.new(A.x,A.y);return A.free(),I}static intoRaw(A){return new fA(A.x,A.y)}static copy(A,I){A.x=I.x,A.y=I.y;}}class WA{static identity(){return 0}static fromRaw(A){if(!A)return null;let I=A.angle;return A.free(),I}static intoRaw(A){return qA.fromAngle(A)}}var jA,xA,XA,mA,vA,VA,PA,uA,zA,_A,$A,AI,II,gI,CI;!function(A){A[A.Dynamic=0]="Dynamic",A[A.Fixed=1]="Fixed",A[A.KinematicPositionBased=2]="KinematicPositionBased",A[A.KinematicVelocityBased=3]="KinematicVelocityBased";}(jA||(jA={}));class QI{constructor(A,I,g){this.rawSet=A,this.colliderSet=I,this.handle=g;}finalizeDeserialization(A){this.colliderSet=A;}isValid(){return this.rawSet.contains(this.handle)}lockTranslations(A,I){return this.rawSet.rbLockTranslations(this.handle,A,I)}lockRotations(A,I){return this.rawSet.rbLockRotations(this.handle,A,I)}setEnabledTranslations(A,I,g){return this.rawSet.rbSetEnabledTranslations(this.handle,A,I,g)}restrictTranslations(A,I,g){this.setEnabledTranslations(A,A,g);}dominanceGroup(){return this.rawSet.rbDominanceGroup(this.handle)}setDominanceGroup(A){this.rawSet.rbSetDominanceGroup(this.handle,A);}additionalSolverIterations(){return this.rawSet.rbAdditionalSolverIterations(this.handle)}setAdditionalSolverIterations(A){this.rawSet.rbSetAdditionalSolverIterations(this.handle,A);}enableCcd(A){this.rawSet.rbEnableCcd(this.handle,A);}setSoftCcdPrediction(A){this.rawSet.rbSetSoftCcdPrediction(this.handle,A);}softCcdPrediction(){return this.rawSet.rbSoftCcdPrediction(this.handle)}translation(){let A=this.rawSet.rbTranslation(this.handle);return OA.fromRaw(A)}rotation(){let A=this.rawSet.rbRotation(this.handle);return WA.fromRaw(A)}nextTranslation(){let A=this.rawSet.rbNextTranslation(this.handle);return OA.fromRaw(A)}nextRotation(){let A=this.rawSet.rbNextRotation(this.handle);return WA.fromRaw(A)}setTranslation(A,I){this.rawSet.rbSetTranslation(this.handle,A.x,A.y,I);}setLinvel(A,I){let g=OA.intoRaw(A);this.rawSet.rbSetLinvel(this.handle,g,I),g.free();}gravityScale(){return this.rawSet.rbGravityScale(this.handle)}setGravityScale(A,I){this.rawSet.rbSetGravityScale(this.handle,A,I);}setRotation(A,I){this.rawSet.rbSetRotation(this.handle,A,I);}setAngvel(A,I){this.rawSet.rbSetAngvel(this.handle,A,I);}setNextKinematicTranslation(A){this.rawSet.rbSetNextKinematicTranslation(this.handle,A.x,A.y);}setNextKinematicRotation(A){this.rawSet.rbSetNextKinematicRotation(this.handle,A);}linvel(){return OA.fromRaw(this.rawSet.rbLinvel(this.handle))}velocityAtPoint(A){const I=OA.intoRaw(A);let g=OA.fromRaw(this.rawSet.rbVelocityAtPoint(this.handle,I));return I.free(),g}angvel(){return this.rawSet.rbAngvel(this.handle)}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return OA.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return OA.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return OA.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertia(){return this.rawSet.rbInvPrincipalInertia(this.handle)}principalInertia(){return this.rawSet.rbPrincipalInertia(this.handle)}effectiveWorldInvInertia(){return this.rawSet.rbEffectiveWorldInvInertia(this.handle)}effectiveAngularInertia(){return this.rawSet.rbEffectiveAngularInertia(this.handle)}sleep(){this.rawSet.rbSleep(this.handle);}wakeUp(){this.rawSet.rbWakeUp(this.handle);}isCcdEnabled(){return this.rawSet.rbIsCcdEnabled(this.handle)}numColliders(){return this.rawSet.rbNumColliders(this.handle)}collider(A){return this.colliderSet.get(this.rawSet.rbCollider(this.handle,A))}setEnabled(A){this.rawSet.rbSetEnabled(this.handle,A);}isEnabled(){return this.rawSet.rbIsEnabled(this.handle)}bodyType(){return this.rawSet.rbBodyType(this.handle)}setBodyType(A,I){return this.rawSet.rbSetBodyType(this.handle,A,I)}isSleeping(){return this.rawSet.rbIsSleeping(this.handle)}isMoving(){return this.rawSet.rbIsMoving(this.handle)}isFixed(){return this.rawSet.rbIsFixed(this.handle)}isKinematic(){return this.rawSet.rbIsKinematic(this.handle)}isDynamic(){return this.rawSet.rbIsDynamic(this.handle)}linearDamping(){return this.rawSet.rbLinearDamping(this.handle)}angularDamping(){return this.rawSet.rbAngularDamping(this.handle)}setLinearDamping(A){this.rawSet.rbSetLinearDamping(this.handle,A);}recomputeMassPropertiesFromColliders(){this.rawSet.rbRecomputeMassPropertiesFromColliders(this.handle,this.colliderSet.raw);}setAdditionalMass(A,I){this.rawSet.rbSetAdditionalMass(this.handle,A,I);}setAdditionalMassProperties(A,I,g,C){let Q=OA.intoRaw(I);this.rawSet.rbSetAdditionalMassProperties(this.handle,A,Q,g,C),Q.free();}setAngularDamping(A){this.rawSet.rbSetAngularDamping(this.handle,A);}resetForces(A){this.rawSet.rbResetForces(this.handle,A);}resetTorques(A){this.rawSet.rbResetTorques(this.handle,A);}addForce(A,I){const g=OA.intoRaw(A);this.rawSet.rbAddForce(this.handle,g,I),g.free();}applyImpulse(A,I){const g=OA.intoRaw(A);this.rawSet.rbApplyImpulse(this.handle,g,I),g.free();}addTorque(A,I){this.rawSet.rbAddTorque(this.handle,A,I);}applyTorqueImpulse(A,I){this.rawSet.rbApplyTorqueImpulse(this.handle,A,I);}addForceAtPoint(A,I,g){const C=OA.intoRaw(A),Q=OA.intoRaw(I);this.rawSet.rbAddForceAtPoint(this.handle,C,Q,g),C.free(),Q.free();}applyImpulseAtPoint(A,I,g){const C=OA.intoRaw(A),Q=OA.intoRaw(I);this.rawSet.rbApplyImpulseAtPoint(this.handle,C,Q,g),C.free(),Q.free();}userForce(){return OA.fromRaw(this.rawSet.rbUserForce(this.handle))}userTorque(){return this.rawSet.rbUserTorque(this.handle)}}class BI{constructor(A){this.enabled=true,this.status=A,this.translation=OA.zeros(),this.rotation=WA.identity(),this.gravityScale=1,this.linvel=OA.zeros(),this.mass=0,this.massOnly=false,this.centerOfMass=OA.zeros(),this.translationsEnabledX=true,this.translationsEnabledY=true,this.angvel=0,this.principalAngularInertia=0,this.rotationsEnabled=true,this.linearDamping=0,this.angularDamping=0,this.canSleep=true,this.sleeping=false,this.ccdEnabled=false,this.softCcdPrediction=0,this.dominanceGroup=0,this.additionalSolverIterations=0;}static dynamic(){return new BI(jA.Dynamic)}static kinematicPositionBased(){return new BI(jA.KinematicPositionBased)}static kinematicVelocityBased(){return new BI(jA.KinematicVelocityBased)}static fixed(){return new BI(jA.Fixed)}static newDynamic(){return new BI(jA.Dynamic)}static newKinematicPositionBased(){return new BI(jA.KinematicPositionBased)}static newKinematicVelocityBased(){return new BI(jA.KinematicVelocityBased)}static newStatic(){return new BI(jA.Fixed)}setDominanceGroup(A){return this.dominanceGroup=A,this}setAdditionalSolverIterations(A){return this.additionalSolverIterations=A,this}setEnabled(A){return this.enabled=A,this}setTranslation(A,I){if("number"!=typeof A||"number"!=typeof I)throw TypeError("The translation components must be numbers.");return this.translation={x:A,y:I},this}setRotation(A){return this.rotation=A,this}setGravityScale(A){return this.gravityScale=A,this}setAdditionalMass(A){return this.mass=A,this.massOnly=true,this}setLinvel(A,I){if("number"!=typeof A||"number"!=typeof I)throw TypeError("The linvel components must be numbers.");return this.linvel={x:A,y:I},this}setAngvel(A){return this.angvel=A,this}setAdditionalMassProperties(A,I,g){return this.mass=A,OA.copy(this.centerOfMass,I),this.principalAngularInertia=g,this.massOnly=false,this}enabledTranslations(A,I){return this.translationsEnabledX=A,this.translationsEnabledY=I,this}restrictTranslations(A,I){return this.enabledTranslations(A,I)}lockTranslations(){return this.restrictTranslations(false,false)}lockRotations(){return this.rotationsEnabled=false,this}setLinearDamping(A){return this.linearDamping=A,this}setAngularDamping(A){return this.angularDamping=A,this}setCanSleep(A){return this.canSleep=A,this}setSleeping(A){return this.sleeping=A,this}setCcdEnabled(A){return this.ccdEnabled=A,this}setSoftCcdPrediction(A){return this.softCcdPrediction=A,this}setUserData(A){return this.userData=A,this}}class EI{constructor(){this.fconv=new Float64Array(1),this.uconv=new Uint32Array(this.fconv.buffer),this.data=new Array,this.size=0;}set(A,I){let g=this.index(A);for(;this.data.length<=g;)this.data.push(null);null==this.data[g]&&(this.size+=1),this.data[g]=I;}len(){return this.size}delete(A){let I=this.index(A);Inull!=A))}index(A){return this.fconv[0]=A,this.uconv[0]}}class iI{constructor(A){this.raw=A||new YA,this.map=new EI,A&&A.forEachRigidBodyHandle((I=>{this.map.set(I,new QI(A,null,I));}));}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0;}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)));}createRigidBody(A,I){let g=OA.intoRaw(I.translation),C=WA.intoRaw(I.rotation),Q=OA.intoRaw(I.linvel),B=OA.intoRaw(I.centerOfMass),E=this.raw.createRigidBody(I.enabled,g,C,I.gravityScale,I.mass,I.massOnly,B,Q,I.angvel,I.principalAngularInertia,I.translationsEnabledX,I.translationsEnabledY,I.rotationsEnabled,I.linearDamping,I.angularDamping,I.status,I.canSleep,I.sleeping,I.softCcdPrediction,I.ccdEnabled,I.dominanceGroup,I.additionalSolverIterations);g.free(),C.free(),Q.free(),B.free();const i=new QI(this.raw,A,E);return i.userData=I.userData,this.map.set(E,i),i}remove(A,I,g,C,Q){for(let I=0;IC.unmap(A))),Q.forEachJointHandleAttachedToRigidBody(A,(A=>Q.unmap(A))),this.raw.remove(A,I.raw,g.raw,C.raw,Q.raw),this.map.delete(A);}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A);}forEachActiveRigidBody(A,I){A.forEachActiveRigidBodyHandle((A=>{I(this.get(A));}));}getAll(){return this.map.getAll()}}class DI{constructor(A){this.raw=A||new gA;}free(){this.raw&&this.raw.free(),this.raw=void 0;}get dt(){return this.raw.dt}get contact_erp(){return this.raw.contact_erp}get lengthUnit(){return this.raw.lengthUnit}get normalizedAllowedLinearError(){return this.raw.normalizedAllowedLinearError}get normalizedPredictionDistance(){return this.raw.normalizedPredictionDistance}get numSolverIterations(){return this.raw.numSolverIterations}get numInternalPgsIterations(){return this.raw.numInternalPgsIterations}get minIslandSize(){return this.raw.minIslandSize}get maxCcdSubsteps(){return this.raw.maxCcdSubsteps}set dt(A){this.raw.dt=A;}set contact_natural_frequency(A){this.raw.contact_natural_frequency=A;}set lengthUnit(A){this.raw.lengthUnit=A;}set normalizedAllowedLinearError(A){this.raw.normalizedAllowedLinearError=A;}set normalizedPredictionDistance(A){this.raw.normalizedPredictionDistance=A;}set numSolverIterations(A){this.raw.numSolverIterations=A;}set numInternalPgsIterations(A){this.raw.numInternalPgsIterations=A;}set minIslandSize(A){this.raw.minIslandSize=A;}set maxCcdSubsteps(A){this.raw.maxCcdSubsteps=A;}}!function(A){A[A.Revolute=0]="Revolute",A[A.Fixed=1]="Fixed",A[A.Prismatic=2]="Prismatic",A[A.Rope=3]="Rope",A[A.Spring=4]="Spring";}(xA||(xA={})),function(A){A[A.AccelerationBased=0]="AccelerationBased",A[A.ForceBased=1]="ForceBased";}(XA||(XA={})),function(A){A[A.LinX=1]="LinX",A[A.LinY=2]="LinY",A[A.LinZ=4]="LinZ",A[A.AngX=8]="AngX",A[A.AngY=16]="AngY",A[A.AngZ=32]="AngZ";}(mA||(mA={}));class oI{constructor(A,I,g){this.rawSet=A,this.bodySet=I,this.handle=g;}static newTyped(A,I,g){switch(A.jointType(g)){case L.Revolute:return new SI(A,I,g);case L.Prismatic:return new NI(A,I,g);case L.Fixed:return new GI(A,I,g);case L.Spring:return new hI(A,I,g);case L.Rope:return new KI(A,I,g);default:return new oI(A,I,g)}}finalizeDeserialization(A){this.bodySet=A;}isValid(){return this.rawSet.contains(this.handle)}body1(){return this.bodySet.get(this.rawSet.jointBodyHandle1(this.handle))}body2(){return this.bodySet.get(this.rawSet.jointBodyHandle2(this.handle))}type(){return this.rawSet.jointType(this.handle)}anchor1(){return OA.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return OA.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(A){const I=OA.intoRaw(A);this.rawSet.jointSetAnchor1(this.handle,I),I.free();}setAnchor2(A){const I=OA.intoRaw(A);this.rawSet.jointSetAnchor2(this.handle,I),I.free();}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A);}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class wI extends oI{limitsEnabled(){return this.rawSet.jointLimitsEnabled(this.handle,this.rawAxis())}limitsMin(){return this.rawSet.jointLimitsMin(this.handle,this.rawAxis())}limitsMax(){return this.rawSet.jointLimitsMax(this.handle,this.rawAxis())}setLimits(A,I){this.rawSet.jointSetLimits(this.handle,this.rawAxis(),A,I);}configureMotorModel(A){this.rawSet.jointConfigureMotorModel(this.handle,this.rawAxis(),A);}configureMotorVelocity(A,I){this.rawSet.jointConfigureMotorVelocity(this.handle,this.rawAxis(),A,I);}configureMotorPosition(A,I,g){this.rawSet.jointConfigureMotorPosition(this.handle,this.rawAxis(),A,I,g);}configureMotor(A,I,g,C){this.rawSet.jointConfigureMotor(this.handle,this.rawAxis(),A,I,g,C);}}class GI extends oI{}class KI extends oI{}class hI extends oI{}class NI extends wI{rawAxis(){return Y.LinX}}class SI extends wI{rawAxis(){return Y.AngX}}class yI{constructor(A){this.raw=A||new AA,this.map=new EI,A&&A.forEachJointHandle((I=>{this.map.set(I,oI.newTyped(A,null,I));}));}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0;}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)));}createJoint(A,I,g,C,Q){const B=I.intoRaw(),E=this.raw.createJoint(B,g,C,Q);B.free();let i=oI.newTyped(this.raw,A,E);return this.map.set(E,i),i}remove(A,I){this.raw.remove(A,I),this.unmap(A);}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I);}unmap(A){this.map.delete(A);}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A);}getAll(){return this.map.getAll()}}class sI{constructor(A,I){this.rawSet=A,this.handle=I;}static newTyped(A,I){switch(A.jointType(I)){case L.Revolute:return new JI(A,I);case L.Prismatic:return new MI(A,I);case L.Fixed:return new aI(A,I);default:return new sI(A,I)}}isValid(){return this.rawSet.contains(this.handle)}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A);}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class FI extends sI{}class aI extends sI{}class MI extends FI{rawAxis(){return Y.LinX}}class JI extends FI{rawAxis(){return Y.AngX}}class UI{constructor(A){this.raw=A||new DA,this.map=new EI,A&&A.forEachJointHandle((A=>{this.map.set(A,sI.newTyped(this.raw,A));}));}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0;}createJoint(A,I,g,C){const Q=A.intoRaw(),B=this.raw.createJoint(Q,I,g,C);Q.free();let E=sI.newTyped(this.raw,B);return this.map.set(B,E),E}remove(A,I){this.raw.remove(A,I),this.map.delete(A);}unmap(A){this.map.delete(A);}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A);}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I);}getAll(){return this.map.getAll()}}!function(A){A[A.Average=0]="Average",A[A.Min=1]="Min",A[A.Multiply=2]="Multiply",A[A.Max=3]="Max";}(vA||(vA={}));class RI{constructor(A){this.raw=A||new l;}free(){this.raw&&this.raw.free(),this.raw=void 0;}}class cI{constructor(A){this.raw=A||new QA;}free(){this.raw&&this.raw.free(),this.raw=void 0;}forEachActiveRigidBodyHandle(A){this.raw.forEachActiveRigidBodyHandle(A);}}!function(A){A[A.Vertex=0]="Vertex",A[A.Face=1]="Face",A[A.Unknown=2]="Unknown";}(VA||(VA={}));class LI{constructor(A,I,g,C){this.featureType=VA.Unknown,this.featureId=void 0,this.timeOfImpact=A,this.normal=I,void 0!==C&&(this.featureId=C),void 0!==g&&(this.featureType=g);}static fromRaw(A){if(!A)return null;const I=new LI(A.time_of_impact(),OA.fromRaw(A.normal()),A.featureType(),A.featureId());return A.free(),I}}class qI{constructor(A,I,g,C,Q){this.featureType=VA.Unknown,this.featureId=void 0,this.collider=A,this.timeOfImpact=I,this.normal=g,void 0!==Q&&(this.featureId=Q),void 0!==C&&(this.featureType=C);}static fromRaw(A,I){if(!I)return null;const g=new qI(A.get(I.colliderHandle()),I.time_of_impact(),OA.fromRaw(I.normal()),I.featureType(),I.featureId());return I.free(),g}}class tI{constructor(A,I){this.collider=A,this.timeOfImpact=I;}static fromRaw(A,I){if(!I)return null;const g=new tI(A.get(I.colliderHandle()),I.timeOfImpact());return I.free(),g}}class HI{constructor(A,I){this.point=A,this.isInside=I;}static fromRaw(A){if(!A)return null;const I=new HI(OA.fromRaw(A.point()),A.isInside());return A.free(),I}}class rI{constructor(A,I,g,C,Q){this.featureType=VA.Unknown,this.featureId=void 0,this.collider=A,this.point=I,this.isInside=g,void 0!==Q&&(this.featureId=Q),void 0!==C&&(this.featureType=C);}static fromRaw(A,I){if(!I)return null;const g=new rI(A.get(I.colliderHandle()),OA.fromRaw(I.point()),I.isInside(),I.featureType(),I.featureId());return I.free(),g}}class lI{constructor(A,I,g,C,Q){this.time_of_impact=A,this.witness1=I,this.witness2=g,this.normal1=C,this.normal2=Q;}static fromRaw(A,I){if(!I)return null;const g=new lI(I.time_of_impact(),OA.fromRaw(I.witness1()),OA.fromRaw(I.witness2()),OA.fromRaw(I.normal1()),OA.fromRaw(I.normal2()));return I.free(),g}}class eI extends lI{constructor(A,I,g,C,Q,B){super(I,g,C,Q,B),this.collider=A;}static fromRaw(A,I){if(!I)return null;const g=new eI(A.get(I.colliderHandle()),I.time_of_impact(),OA.fromRaw(I.witness1()),OA.fromRaw(I.witness2()),OA.fromRaw(I.normal1()),OA.fromRaw(I.normal2()));return I.free(),g}}class pI{constructor(A){this.raw=A||new H;}free(){this.raw&&this.raw.free(),this.raw=void 0;}castRay(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C.origin),K=OA.intoRaw(C.dir),h=tI.fromRaw(g,this.raw.castRay(A.raw,I.raw,g.raw,G,K,Q,B,E,i,D,o,w));return G.free(),K.free(),h}castRayAndGetNormal(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C.origin),K=OA.intoRaw(C.dir),h=qI.fromRaw(g,this.raw.castRayAndGetNormal(A.raw,I.raw,g.raw,G,K,Q,B,E,i,D,o,w));return G.free(),K.free(),h}intersectionsWithRay(A,I,g,C,Q,B,E,i,D,o,w,G){let K=OA.intoRaw(C.origin),h=OA.intoRaw(C.dir);this.raw.intersectionsWithRay(A.raw,I.raw,g.raw,K,h,Q,B,(A=>E(qI.fromRaw(g,A))),i,D,o,w,G),K.free(),h.free();}intersectionWithShape(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C),K=WA.intoRaw(Q),h=B.intoRaw(),N=this.raw.intersectionWithShape(A.raw,I.raw,g.raw,G,K,h,E,i,D,o,w);return G.free(),K.free(),h.free(),N}projectPoint(A,I,g,C,Q,B,E,i,D,o){let w=OA.intoRaw(C),G=rI.fromRaw(g,this.raw.projectPoint(A.raw,I.raw,g.raw,w,Q,B,E,i,D,o));return w.free(),G}projectPointAndGetFeature(A,I,g,C,Q,B,E,i,D){let o=OA.intoRaw(C),w=rI.fromRaw(g,this.raw.projectPointAndGetFeature(A.raw,I.raw,g.raw,o,Q,B,E,i,D));return o.free(),w}intersectionsWithPoint(A,I,g,C,Q,B,E,i,D,o){let w=OA.intoRaw(C);this.raw.intersectionsWithPoint(A.raw,I.raw,g.raw,w,Q,B,E,i,D,o),w.free();}castShape(A,I,g,C,Q,B,E,i,D,o,w,G,K,h,N){let S=OA.intoRaw(C),k=WA.intoRaw(Q),y=OA.intoRaw(B),s=E.intoRaw(),F=eI.fromRaw(g,this.raw.castShape(A.raw,I.raw,g.raw,S,k,y,s,i,D,o,w,G,K,h,N));return S.free(),k.free(),y.free(),s.free(),F}intersectionsWithShape(A,I,g,C,Q,B,E,i,D,o,w,G){let K=OA.intoRaw(C),h=WA.intoRaw(Q),N=B.intoRaw();this.raw.intersectionsWithShape(A.raw,I.raw,g.raw,K,h,N,E,i,D,o,w,G),K.free(),h.free(),N.free();}collidersWithAabbIntersectingAabb(A,I,g,C,Q,B){let E=OA.intoRaw(C),i=OA.intoRaw(Q);this.raw.collidersWithAabbIntersectingAabb(A.raw,I.raw,g.raw,E,i,B),E.free(),i.free();}}class nI{constructor(A){this.raw=A||new wA,this.tempManifold=new dI(null);}free(){this.raw&&this.raw.free(),this.raw=void 0;}contactPairsWith(A,I){this.raw.contact_pairs_with(A,I);}intersectionPairsWith(A,I){this.raw.intersection_pairs_with(A,I);}contactPair(A,I,g){const C=this.raw.contact_pair(A,I);if(C){const I=C.collider1()!=A;let Q;for(Q=0;QA.free())),this.pidControllers.forEach((A=>A.free())),this.integrationParameters=void 0,this.islands=void 0,this.broadPhase=void 0,this.narrowPhase=void 0,this.bodies=void 0,this.colliders=void 0,this.ccdSolver=void 0,this.impulseJoints=void 0,this.multibodyJoints=void 0,this.physicsPipeline=void 0,this.serializationPipeline=void 0,this.debugRenderPipeline=void 0,this.characterControllers=void 0,this.pidControllers=void 0;}static fromRaw(A){return A?new Eg(OA.fromRaw(A.takeGravity()),A.takeIntegrationParameters(),A.takeIslandManager(),A.takeBroadPhase(),A.takeNarrowPhase(),A.takeBodies(),A.takeColliders(),A.takeImpulseJoints(),A.takeMultibodyJoints()):null}takeSnapshot(){return this.serializationPipeline.serializeAll(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints)}static restoreSnapshot(A){return (new Ag).deserializeAll(A)}debugRender(A,I){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase,A,I),new Ig(this.debugRenderPipeline.vertices,this.debugRenderPipeline.colors)}step(A,I){this.physicsPipeline.step(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.ccdSolver,A,I);}propagateModifiedBodyPositionsToColliders(){this.bodies.raw.propagateModifiedBodyPositionsToColliders(this.colliders.raw);}get timestep(){return this.integrationParameters.dt}set timestep(A){this.integrationParameters.dt=A;}get lengthUnit(){return this.integrationParameters.lengthUnit}set lengthUnit(A){this.integrationParameters.lengthUnit=A;}get numSolverIterations(){return this.integrationParameters.numSolverIterations}set numSolverIterations(A){this.integrationParameters.numSolverIterations=A;}get numInternalPgsIterations(){return this.integrationParameters.numInternalPgsIterations}set numInternalPgsIterations(A){this.integrationParameters.numInternalPgsIterations=A;}get maxCcdSubsteps(){return this.integrationParameters.maxCcdSubsteps}set maxCcdSubsteps(A){this.integrationParameters.maxCcdSubsteps=A;}createRigidBody(A){return this.bodies.createRigidBody(this.colliders,A)}createCharacterController(A){let I=new Qg(A,this.integrationParameters,this.broadPhase,this.narrowPhase,this.bodies,this.colliders);return this.characterControllers.add(I),I}removeCharacterController(A){this.characterControllers.delete(A),A.free();}createPidController(A,I,g,C){let Q=new Bg(this.integrationParameters,this.bodies,A,I,g,C);return this.pidControllers.add(Q),Q}removePidController(A){this.pidControllers.delete(A),A.free();}createCollider(A,I){let g=I?I.handle:void 0;return this.colliders.createCollider(this.bodies,A,g)}createImpulseJoint(A,I,g,C){return this.impulseJoints.createJoint(this.bodies,A,I.handle,g.handle,C)}createMultibodyJoint(A,I,g,C){return this.multibodyJoints.createJoint(A,I.handle,g.handle,C)}getRigidBody(A){return this.bodies.get(A)}getCollider(A){return this.colliders.get(A)}getImpulseJoint(A){return this.impulseJoints.get(A)}getMultibodyJoint(A){return this.multibodyJoints.get(A)}removeRigidBody(A){this.bodies&&this.bodies.remove(A.handle,this.islands,this.colliders,this.impulseJoints,this.multibodyJoints);}removeCollider(A,I){this.colliders&&this.colliders.remove(A.handle,this.islands,this.bodies,I);}removeImpulseJoint(A,I){this.impulseJoints&&this.impulseJoints.remove(A.handle,I);}removeMultibodyJoint(A,I){this.impulseJoints&&this.multibodyJoints.remove(A.handle,I);}forEachCollider(A){this.colliders.forEach(A);}forEachRigidBody(A){this.bodies.forEach(A);}forEachActiveRigidBody(A){this.bodies.forEachActiveRigidBody(this.islands,A);}castRay(A,I,g,C,Q,B,E,i){return this.broadPhase.castRay(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i))}castRayAndGetNormal(A,I,g,C,Q,B,E,i){return this.broadPhase.castRayAndGetNormal(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i))}intersectionsWithRay(A,I,g,C,Q,B,E,i,D){this.broadPhase.intersectionsWithRay(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B,E?E.handle:null,i?i.handle:null,this.colliders.castClosure(D));}intersectionWithShape(A,I,g,C,Q,B,E,i){let D=this.broadPhase.intersectionWithShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i));return null!=D?this.colliders.get(D):null}projectPoint(A,I,g,C,Q,B,E){return this.broadPhase.projectPoint(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q?Q.handle:null,B?B.handle:null,this.colliders.castClosure(E))}projectPointAndGetFeature(A,I,g,C,Q,B){return this.broadPhase.projectPointAndGetFeature(this.narrowPhase,this.bodies,this.colliders,A,I,g,C?C.handle:null,Q?Q.handle:null,this.colliders.castClosure(B))}intersectionsWithPoint(A,I,g,C,Q,B,E){this.broadPhase.intersectionsWithPoint(this.narrowPhase,this.bodies,this.colliders,A,this.colliders.castClosure(I),g,C,Q?Q.handle:null,B?B.handle:null,this.colliders.castClosure(E));}castShape(A,I,g,C,Q,B,E,i,D,o,w,G){return this.broadPhase.castShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B,E,i,D,o?o.handle:null,w?w.handle:null,this.colliders.castClosure(G))}intersectionsWithShape(A,I,g,C,Q,B,E,i,D){this.broadPhase.intersectionsWithShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,this.colliders.castClosure(C),Q,B,E?E.handle:null,i?i.handle:null,this.colliders.castClosure(D));}collidersWithAabbIntersectingAabb(A,I,g){this.broadPhase.collidersWithAabbIntersectingAabb(this.narrowPhase,this.bodies,this.colliders,A,I,this.colliders.castClosure(g));}contactPairsWith(A,I){this.narrowPhase.contactPairsWith(A.handle,this.colliders.castClosure(I));}intersectionPairsWith(A,I){this.narrowPhase.intersectionPairsWith(A.handle,this.colliders.castClosure(I));}contactPair(A,I,g){this.narrowPhase.contactPair(A.handle,I.handle,g);}intersectionPair(A,I){return this.narrowPhase.intersectionPair(A.handle,I.handle)}set profilerEnabled(A){this.physicsPipeline.raw.set_profiler_enabled(A);}get profilerEnabled(){return this.physicsPipeline.raw.is_profiler_enabled()}timingStep(){return this.physicsPipeline.raw.timing_step()}timingCollisionDetection(){return this.physicsPipeline.raw.timing_collision_detection()}timingBroadPhase(){return this.physicsPipeline.raw.timing_broad_phase()}timingNarrowPhase(){return this.physicsPipeline.raw.timing_narrow_phase()}timingSolver(){return this.physicsPipeline.raw.timing_solver()}timingVelocityAssembly(){return this.physicsPipeline.raw.timing_velocity_assembly()}timingVelocityResolution(){return this.physicsPipeline.raw.timing_velocity_resolution()}timingVelocityUpdate(){return this.physicsPipeline.raw.timing_velocity_update()}timingVelocityWriteback(){return this.physicsPipeline.raw.timing_velocity_writeback()}timingCcd(){return this.physicsPipeline.raw.timing_ccd()}timingCcdToiComputation(){return this.physicsPipeline.raw.timing_ccd_toi_computation()}timingCcdBroadPhase(){return this.physicsPipeline.raw.timing_ccd_broad_phase()}timingCcdNarrowPhase(){return this.physicsPipeline.raw.timing_ccd_narrow_phase()}timingCcdSolver(){return this.physicsPipeline.raw.timing_ccd_solver()}timingIslandConstruction(){return this.physicsPipeline.raw.timing_island_construction()}timingUserChanges(){return this.physicsPipeline.raw.timing_user_changes()}}!function(A){A[A.NONE=0]="NONE",A[A.COLLISION_EVENTS=1]="COLLISION_EVENTS",A[A.CONTACT_FORCE_EVENTS=2]="CONTACT_FORCE_EVENTS";}(_A||(_A={}));!function(A){A[A.NONE=0]="NONE",A[A.FILTER_CONTACT_PAIRS=1]="FILTER_CONTACT_PAIRS",A[A.FILTER_INTERSECTION_PAIRS=2]="FILTER_INTERSECTION_PAIRS";}($A||($A={})),function(A){A[A.EMPTY=0]="EMPTY",A[A.COMPUTE_IMPULSE=1]="COMPUTE_IMPULSE";}(AI||(AI={})),function(A){A[A.EXCLUDE_FIXED=1]="EXCLUDE_FIXED",A[A.EXCLUDE_KINEMATIC=2]="EXCLUDE_KINEMATIC",A[A.EXCLUDE_DYNAMIC=4]="EXCLUDE_DYNAMIC",A[A.EXCLUDE_SENSORS=8]="EXCLUDE_SENSORS",A[A.EXCLUDE_SOLIDS=16]="EXCLUDE_SOLIDS",A[A.ONLY_DYNAMIC=3]="ONLY_DYNAMIC",A[A.ONLY_KINEMATIC=5]="ONLY_KINEMATIC",A[A.ONLY_FIXED=6]="ONLY_FIXED";}(II||(II={})),function(A){A[A.DYNAMIC_DYNAMIC=1]="DYNAMIC_DYNAMIC",A[A.DYNAMIC_KINEMATIC=12]="DYNAMIC_KINEMATIC",A[A.DYNAMIC_FIXED=2]="DYNAMIC_FIXED",A[A.KINEMATIC_KINEMATIC=52224]="KINEMATIC_KINEMATIC",A[A.KINEMATIC_FIXED=8704]="KINEMATIC_FIXED",A[A.FIXED_FIXED=32]="FIXED_FIXED",A[A.DEFAULT=15]="DEFAULT",A[A.ALL=60943]="ALL";}(gI||(gI={}));class og{constructor(A,I,g,C){this.colliderSet=A,this.handle=I,this._parent=g,this._shape=C;}finalizeDeserialization(A){null!=this.handle&&(this._parent=A.get(this.colliderSet.raw.coParent(this.handle)));}ensureShapeIsCached(){this._shape||(this._shape=fI.fromRaw(this.colliderSet.raw,this.handle));}get shape(){return this.ensureShapeIsCached(),this._shape}clearShapeCache(){this._shape=null;}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return OA.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}translationWrtParent(){return OA.fromRaw(this.colliderSet.raw.coTranslationWrtParent(this.handle))}rotation(){return WA.fromRaw(this.colliderSet.raw.coRotation(this.handle))}rotationWrtParent(){return WA.fromRaw(this.colliderSet.raw.coRotationWrtParent(this.handle))}isSensor(){return this.colliderSet.raw.coIsSensor(this.handle)}setSensor(A){this.colliderSet.raw.coSetSensor(this.handle,A);}setShape(A){let I=A.intoRaw();this.colliderSet.raw.coSetShape(this.handle,I),I.free(),this._shape=A;}setEnabled(A){this.colliderSet.raw.coSetEnabled(this.handle,A);}isEnabled(){return this.colliderSet.raw.coIsEnabled(this.handle)}setRestitution(A){this.colliderSet.raw.coSetRestitution(this.handle,A);}setFriction(A){this.colliderSet.raw.coSetFriction(this.handle,A);}frictionCombineRule(){return this.colliderSet.raw.coFrictionCombineRule(this.handle)}setFrictionCombineRule(A){this.colliderSet.raw.coSetFrictionCombineRule(this.handle,A);}restitutionCombineRule(){return this.colliderSet.raw.coRestitutionCombineRule(this.handle)}setRestitutionCombineRule(A){this.colliderSet.raw.coSetRestitutionCombineRule(this.handle,A);}setCollisionGroups(A){this.colliderSet.raw.coSetCollisionGroups(this.handle,A);}setSolverGroups(A){this.colliderSet.raw.coSetSolverGroups(this.handle,A);}contactSkin(){return this.colliderSet.raw.coContactSkin(this.handle)}setContactSkin(A){return this.colliderSet.raw.coSetContactSkin(this.handle,A)}activeHooks(){return this.colliderSet.raw.coActiveHooks(this.handle)}setActiveHooks(A){this.colliderSet.raw.coSetActiveHooks(this.handle,A);}activeEvents(){return this.colliderSet.raw.coActiveEvents(this.handle)}setActiveEvents(A){this.colliderSet.raw.coSetActiveEvents(this.handle,A);}activeCollisionTypes(){return this.colliderSet.raw.coActiveCollisionTypes(this.handle)}setContactForceEventThreshold(A){return this.colliderSet.raw.coSetContactForceEventThreshold(this.handle,A)}contactForceEventThreshold(){return this.colliderSet.raw.coContactForceEventThreshold(this.handle)}setActiveCollisionTypes(A){this.colliderSet.raw.coSetActiveCollisionTypes(this.handle,A);}setDensity(A){this.colliderSet.raw.coSetDensity(this.handle,A);}setMass(A){this.colliderSet.raw.coSetMass(this.handle,A);}setMassProperties(A,I,g){let C=OA.intoRaw(I);this.colliderSet.raw.coSetMassProperties(this.handle,A,C,g),C.free();}setTranslation(A){this.colliderSet.raw.coSetTranslation(this.handle,A.x,A.y);}setTranslationWrtParent(A){this.colliderSet.raw.coSetTranslationWrtParent(this.handle,A.x,A.y);}setRotation(A){this.colliderSet.raw.coSetRotation(this.handle,A);}setRotationWrtParent(A){this.colliderSet.raw.coSetRotationWrtParent(this.handle,A);}shapeType(){return this.colliderSet.raw.coShapeType(this.handle)}halfExtents(){return OA.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(A){const I=OA.intoRaw(A);this.colliderSet.raw.coSetHalfExtents(this.handle,I);}radius(){return this.colliderSet.raw.coRadius(this.handle)}setRadius(A){this.colliderSet.raw.coSetRadius(this.handle,A);}roundRadius(){return this.colliderSet.raw.coRoundRadius(this.handle)}setRoundRadius(A){this.colliderSet.raw.coSetRoundRadius(this.handle,A);}halfHeight(){return this.colliderSet.raw.coHalfHeight(this.handle)}setHalfHeight(A){this.colliderSet.raw.coSetHalfHeight(this.handle,A);}setVoxel(A,I,g){this.colliderSet.raw.coSetVoxel(this.handle,A,I,g),this._shape=null;}propagateVoxelChange(A,I,g,C,Q){this.colliderSet.raw.coPropagateVoxelChange(this.handle,A.handle,I,g,C,Q),this._shape=null;}combineVoxelStates(A,I,g){this.colliderSet.raw.coCombineVoxelStates(this.handle,A.handle,I,g),this._shape=null;}vertices(){return this.colliderSet.raw.coVertices(this.handle)}indices(){return this.colliderSet.raw.coIndices(this.handle)}heightfieldHeights(){return this.colliderSet.raw.coHeightfieldHeights(this.handle)}heightfieldScale(){let A=this.colliderSet.raw.coHeightfieldScale(this.handle);return OA.fromRaw(A)}parent(){return this._parent}friction(){return this.colliderSet.raw.coFriction(this.handle)}restitution(){return this.colliderSet.raw.coRestitution(this.handle)}density(){return this.colliderSet.raw.coDensity(this.handle)}mass(){return this.colliderSet.raw.coMass(this.handle)}volume(){return this.colliderSet.raw.coVolume(this.handle)}collisionGroups(){return this.colliderSet.raw.coCollisionGroups(this.handle)}solverGroups(){return this.colliderSet.raw.coSolverGroups(this.handle)}containsPoint(A){let I=OA.intoRaw(A),g=this.colliderSet.raw.coContainsPoint(this.handle,I);return I.free(),g}projectPoint(A,I){let g=OA.intoRaw(A),C=HI.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,g,I));return g.free(),C}intersectsRay(A,I){let g=OA.intoRaw(A.origin),C=OA.intoRaw(A.dir),Q=this.colliderSet.raw.coIntersectsRay(this.handle,g,C,I);return g.free(),C.free(),Q}castShape(A,I,g,C,Q,B,E,i){let D=OA.intoRaw(A),o=OA.intoRaw(g),w=WA.intoRaw(C),G=OA.intoRaw(Q),K=I.intoRaw(),h=lI.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,D,K,o,w,G,B,E,i));return D.free(),o.free(),w.free(),G.free(),K.free(),h}castCollider(A,I,g,C,Q,B){let E=OA.intoRaw(A),i=OA.intoRaw(g),D=eI.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,E,I.handle,i,C,Q,B));return E.free(),i.free(),D}intersectsShape(A,I,g){let C=OA.intoRaw(I),Q=WA.intoRaw(g),B=A.intoRaw(),E=this.colliderSet.raw.coIntersectsShape(this.handle,B,C,Q);return C.free(),Q.free(),B.free(),E}contactShape(A,I,g,C){let Q=OA.intoRaw(I),B=WA.intoRaw(g),E=A.intoRaw(),i=bI.fromRaw(this.colliderSet.raw.coContactShape(this.handle,E,Q,B,C));return Q.free(),B.free(),E.free(),i}contactCollider(A,I){return bI.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,A.handle,I))}castRay(A,I,g){let C=OA.intoRaw(A.origin),Q=OA.intoRaw(A.dir),B=this.colliderSet.raw.coCastRay(this.handle,C,Q,I,g);return C.free(),Q.free(),B}castRayAndGetNormal(A,I,g){let C=OA.intoRaw(A.origin),Q=OA.intoRaw(A.dir),B=LI.fromRaw(this.colliderSet.raw.coCastRayAndGetNormal(this.handle,C,Q,I,g));return C.free(),Q.free(),B}}!function(A){A[A.Density=0]="Density",A[A.Mass=1]="Mass",A[A.MassProps=2]="MassProps";}(CI||(CI={}));class wg{constructor(A){this.enabled=true,this.shape=A,this.massPropsMode=CI.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=WA.identity(),this.translation=OA.zeros(),this.isSensor=false,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=vA.Average,this.restitutionCombineRule=vA.Average,this.activeCollisionTypes=gI.DEFAULT,this.activeEvents=_A.NONE,this.activeHooks=$A.NONE,this.mass=0,this.centerOfMass=OA.zeros(),this.contactForceEventThreshold=0,this.contactSkin=0,this.principalAngularInertia=0,this.rotationsEnabled=true;}static ball(A){const I=new TI(A);return new wg(I)}static capsule(A,I){const g=new jI(A,I);return new wg(g)}static segment(A,I){const g=new xI(A,I);return new wg(g)}static triangle(A,I,g){const C=new XI(A,I,g);return new wg(C)}static roundTriangle(A,I,g,C){const Q=new mI(A,I,g,C);return new wg(Q)}static polyline(A,I){const g=new vI(A,I);return new wg(g)}static voxels(A,I){const g=new VI(A,I);return new wg(g)}static trimesh(A,I,g){const C=new PI(A,I,g);return new wg(C)}static cuboid(A,I){const g=new OI(A,I);return new wg(g)}static roundCuboid(A,I,g){const C=new WI(A,I,g);return new wg(C)}static halfspace(A){const I=new ZI(A);return new wg(I)}static heightfield(A,I){const g=new _I(A,I);return new wg(g)}static convexHull(A){const I=new uI(A,false);return new wg(I)}static convexPolyline(A){const I=new uI(A,true);return new wg(I)}static roundConvexHull(A,I){const g=new zI(A,I,false);return new wg(g)}static roundConvexPolyline(A,I){const g=new zI(A,I,true);return new wg(g)}setTranslation(A,I){if("number"!=typeof A||"number"!=typeof I)throw TypeError("The translation components must be numbers.");return this.translation={x:A,y:I},this}setRotation(A){return this.rotation=A,this}setSensor(A){return this.isSensor=A,this}setEnabled(A){return this.enabled=A,this}setContactSkin(A){return this.contactSkin=A,this}setDensity(A){return this.massPropsMode=CI.Density,this.density=A,this}setMass(A){return this.massPropsMode=CI.Mass,this.mass=A,this}setMassProperties(A,I,g){return this.massPropsMode=CI.MassProps,this.mass=A,OA.copy(this.centerOfMass,I),this.principalAngularInertia=g,this}setRestitution(A){return this.restitution=A,this}setFriction(A){return this.friction=A,this}setFrictionCombineRule(A){return this.frictionCombineRule=A,this}setRestitutionCombineRule(A){return this.restitutionCombineRule=A,this}setCollisionGroups(A){return this.collisionGroups=A,this}setSolverGroups(A){return this.solverGroups=A,this}setActiveHooks(A){return this.activeHooks=A,this}setActiveEvents(A){return this.activeEvents=A,this}setActiveCollisionTypes(A){return this.activeCollisionTypes=A,this}setContactForceEventThreshold(A){return this.contactForceEventThreshold=A,this}}class Gg{constructor(A){this.raw=A||new d,this.map=new EI,A&&A.forEachColliderHandle((A=>{this.map.set(A,new og(this,A,null));}));}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0;}castClosure(A){return I=>A?A(this.get(I)):void 0}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)));}createCollider(A,I,g){let C=null!=g&&null!=g;if(C&&isNaN(g))throw Error("Cannot create a collider with a parent rigid-body handle that is not a number.");let Q=I.shape.intoRaw(),B=OA.intoRaw(I.translation),E=WA.intoRaw(I.rotation),i=OA.intoRaw(I.centerOfMass),D=this.raw.createCollider(I.enabled,Q,B,E,I.massPropsMode,I.mass,i,I.principalAngularInertia,I.density,I.friction,I.restitution,I.frictionCombineRule,I.restitutionCombineRule,I.isSensor,I.collisionGroups,I.solverGroups,I.activeCollisionTypes,I.activeHooks,I.activeEvents,I.contactForceEventThreshold,I.contactSkin,C,C?g:0,A.raw);Q.free(),B.free(),E.free(),i.free();let o=C?A.get(g):null,w=new og(this,D,o,I.shape);return this.map.set(D,w),w}remove(A,I,g,C){this.raw.remove(A,I.raw,g.raw,C),this.unmap(A);}unmap(A){this.map.delete(A);}get(A){return this.map.get(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}forEach(A){this.map.forEach(A);}getAll(){return this.map.getAll()}}function Kg(A,I,g,C){return new(g||(g=Promise))((function(Q,B){function E(A){try{D(C.next(A));}catch(A){B(A);}}function i(A){try{D(C.throw(A));}catch(A){B(A);}}function D(A){var I;A.done?Q(A.value):(I=A.value,I instanceof g?I:new g((function(A){A(I);}))).then(E,i);}D((C=C.apply(A,[])).next());}))}for(var hg={byteLength:function(A){var I=ag(A),g=I[0],C=I[1];return 3*(g+C)/4-C},toByteArray:function(A){var I,g,C=ag(A),Q=C[0],B=C[1],E=new kg(function(A,I,g){return 3*(I+g)/4-g}(0,Q,B)),i=0,D=B>0?Q-4:Q;for(g=0;g>16&255,E[i++]=I>>8&255,E[i++]=255&I;2===B&&(I=Sg[A.charCodeAt(g)]<<2|Sg[A.charCodeAt(g+1)]>>4,E[i++]=255&I);1===B&&(I=Sg[A.charCodeAt(g)]<<10|Sg[A.charCodeAt(g+1)]<<4|Sg[A.charCodeAt(g+2)]>>2,E[i++]=I>>8&255,E[i++]=255&I);return E},fromByteArray:function(A){for(var I,g=A.length,C=g%3,Q=[],B=16383,E=0,i=g-C;Ei?i:E+B));1===C?(I=A[g-1],Q.push(Ng[I>>2]+Ng[I<<4&63]+"==")):2===C&&(I=(A[g-2]<<8)+A[g-1],Q.push(Ng[I>>10]+Ng[I>>4&63]+Ng[I<<2&63]+"="));return Q.join("")}},Ng=[],Sg=[],kg="undefined"!=typeof Uint8Array?Uint8Array:Array,yg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sg=0,Fg=yg.length;sg0)throw new Error("Invalid string. Length must be a multiple of 4");var g=A.indexOf("=");return -1===g&&(g=I),[g,g===I?0:4-g%4]}function Mg(A,I,g){for(var C,Q,B=[],E=I;E>18&63]+Ng[Q>>12&63]+Ng[Q>>6&63]+Ng[63&Q]);return B.join("")}function Jg(){return Kg(this,void 0,void 0,(function*(){yield TA(hg.toByteArray("AGFzbQEAAAABzQyiAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwBgBX9/f39/AGACf3wBf2AGf39/f31/AGABfwF9YAZ/f39/f38AYAV/f399fwBgA398fwBgAX8BfGAFf39/f30AYAR/f39/AX9gAAF/YAZ/f39/f30AYAR/f399AX9gDH9/f39/f39/f399fwF/YAR/f39/AX1gA39/fQF/YAN/f38BfWACf3wBfWADf399AGADf3x9AGADf39/AX5gBn9/f39/fwF/YAJ/fQBgBX9/f39/AX9gB39/f39/f38AYAR/fH9/AGAAAGABfQF9YAh/f39/fX9/fwBgCH9/f39/f39/AGAEf35/fwF/YAJ/fAF8YAR/fH1/AGACf38BfWAJf39/f39/f39/AGAIf39/f39/f30AYAR/f399AGAFf3x/f38AYAN/f3wAYAt/f39/f39/f319fwBgA398fwF/YAN/fH8BfWAGf31/f399AGAJf39/f39/fX9/AX9gA39+fgBgBH98fX0AYAF9AX9gAn19AX9gA399fwBgBH99f38AYAZ/f39/fn8AYAl/f39/f31/f38AYAp/f39/f399f39/AGALf39/f39/f399f38AYAZ/f319f38AYAt/f39/f39/fX9/fwBgCH9/f399fX9/AGAPf39/f39/f39/fH98f3x/AGAJf39/fX1/f39/AGAMf39/f31/f39/fX9/AGAPf39/f39/fX9/fH98f3x/AX9gAn9+AX9gBn9/fX9/fwBgCH9/fX1+f39/AGACfn8Bf2AFf398fH8BfGADf3x8AX9gBX98f319AGACf3wAYAN/fX0Bf2ABfAF/YA5/f39/f39/f39/f39/fwBgB39/f39/f30AYA9/f39/f39/f39/f399fX8AYAd/f35/f39/AX1gC39/f31/f31/fX1/AGAKf39/f39/f319fwBgCX99f39/f39/fwF/YAt/f39/f39/f319fwF/YA9/f39/f39/f39/f39/f38AYAp/f39/f39/f39/AX9gCX9/f39/f31/fwBgC39/f39/f39/f39/AGASf39/f39/f39/f39/fX99fX19AGASf39/f39/f399fX9/fH98f3x/AX9gB39/f39/f30Bf2AQf39/f39/fX9/f3x/fH98fwBgBn9/f399fQF/YAx/f39/fX9/f39/f38AYAZ/fH9/f30Bf2AKf3x/f39/f319fwF/YAt/fX9/f39/f319fwBgDX9/f39/f398f3x/fH8AYAt/f39/fX9/f39/fwBgB39/f39/fX8Bf2AJf31/fn9+fX1/AGANf39/f39/f3x/fH98fwF/YAx/f39/f398f3x/fH8Bf2Aaf39/f39/f31/fX19fX9/f39/f39/fX1/fH8AYAp/f39/f319fX9/AX1gDX99f39/f3x/f3x/fH8AYAN/fn4BfWADfn9/AX9gB39/f39/fX8BfWAJf31/fX99fX1/AGASf39/f39/f39/f39/f39/f39/AGAJf319fX19fX19AGAGf39/f399AX9gF39/f399fX9/f319f39/fX1/f399f39/AXxgDH9/f39/f39/f39/fwBgBn98f399fwF/YAZ/fH9/f38AYAV/fH9/fwF/YAN/fn8Bf2AGf31/fH9/AX9gBn99f3x/fwBgCH98f3x/fX1/AX9gBX19fX9/AX9gA31/fwF/YAZ/fH9/fX8BfWAGf39/f319AGAFf3x/f30Bf2AEf3x/fwF/YAl/f39/f39+fn4AYAZ/fX98fX0AYAZ/fH1/fX8AYAV/fH1/fQBgB39/f39/f38Bf2ANf39/f39/f39/f39/fwBgBn99f3x9fQF9YAR/fHx9AX9gBX98fX1/AGADf399AX1gA398fwF8YAp/f39/f39/f39/AGAGf3x/fX19AGAHf3x/fX19fQBgAn9+AGAEfX19fwF/YAh/f39/f39/fwF/YAd/fHx/f39/AGAFf3x8f38AYAR/f35/AGADf39+AX9gBX9+f35/AGACfX0AYAR/fX1/AGADfX19AX9gBn99f319fQF9YAZ/f319fX0AYAV/f3x/fwBgBX9/fn9/AGAEf35/fwBgBX9/fX9/AGACfX0BfQKrCSADd2JnFV9fd2JpbmRnZW5fbnVtYmVyX25ldwBNA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAQDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAYDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAA3diZxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAQDd2JnJF9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX25ldwAEA3diZx5fX3diZ19yYXdjb250YWN0Zm9yY2VldmVudF9uZXcABAN3YmciX193YmdfcGVyZm9ybWFuY2VfN2EzZmZkMGIxN2Y2NjNhZAAEA3diZxdfX3diaW5kZ2VuX2lzX3VuZGVmaW5lZAAEA3diZxpfX3diZ19ub3dfMmM5NWM5ZGUwMTI5MzE3MwAOA3diZxtfX3diaW5kZ2VuX29iamVjdF9jbG9uZV9yZWYABAN3YmcgX193YmdfbmV3bm9hcmdzXzEwNWVkNDcxNDc1YWFmNTAAAwN3YmcbX193YmdfY2FsbF82NzJhNGQyMTYzNGQ0YTI0AAMDd2JnG19fd2JnX2NhbGxfN2NjY2RkNjllMDc5MWFlMgAFA3diZxtfX3diZ19jYWxsXzgzM2JlZDU3NzBlYTIwNDEAEAN3YmcbX193YmdfY2FsbF9iOGFkYzhiMWQwYTBkOGViAB4Dd2JnG19fd2JnX2JpbmRfYzgzNTliMWNiYTA1ODE2OAAQA3diZx1fX3diZ19idWZmZXJfNjA5Y2MzZWVlNTFlZDE1OAAEA3diZzJfX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMX1RISVNfNTY1NzhiZTdlOWY4MzJiMAARA3diZytfX3diZ19zdGF0aWNfYWNjZXNzb3JfU0VMRl8zN2M1ZDQxOGU0YmY1ODE5ABEDd2JnLV9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9XSU5ET1dfNWRlMzcwNDNhOTFhOWM0MAARA3diZy1fX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMXzg4YTkwMmQxM2E1NTdkMDcAEQN3YmcxX193YmdfbmV3d2l0aGJ5dGVvZmZzZXRhbmRsZW5ndGhfZDk3ZTYzN2ViZTE0NWE5YQAFA3diZxpfX3diZ19uZXdfYTEyMDAyYTdmOTFjNzViZQAEA3diZxpfX3diZ19zZXRfNjU1OTViZGQ4NjhiMzAwOQABA3diZx1fX3diZ19sZW5ndGhfYTQ0NjE5M2RjMjJjMTJmOAAEA3diZzFfX3diZ19uZXd3aXRoYnl0ZW9mZnNldGFuZGxlbmd0aF9lNmI3ZTY5YWNkNGM3MzU0AAUDd2JnGl9fd2JnX3NldF8xMGJhZDliZWUwZTljNThiAAEDd2Jn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AAAAAAAAAAAAAQAAAAAAAAAAAwMAAwEHBgEBAQYDBAMDAwMDAwAhIQMBGQoDAwMAAwMDAwMDAAEHBKEBCgoiIgMECgQECgQEAwUECgQEBAQECgQEBAQECgcxAAYEBwFwAZsImwgFAwEAEQYJAX8BQYCAwAALB/6BAdIDBm1lbW9yeQIAB3ZlcnNpb24A+goqX193YmdfcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9mcmVlAMwGI3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbmV3AMcHJXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0VXAAmAQxcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9ub3JtYWxOdWRnZUZhY3RvcgCTCjRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE5vcm1hbE51ZGdlRmFjdG9yAMAKJnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfb2Zmc2V0AJQKKXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0T2Zmc2V0AJUKLHJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2xpZGVFbmFibGVkAJYKL3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0U2xpZGVFbmFibGVkALYKMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBNYXhIZWlnaHQA0AkwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcE1pbldpZHRoANEJPXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBJbmNsdWRlc0R5bmFtaWNCb2RpZXMAwgkvcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcEVuYWJsZWQAhgoucmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9lbmFibGVBdXRvc3RlcACzCS9yYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVBdXRvc3RlcADBCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21heFNsb3BlQ2xpbWJBbmdsZQCXCjVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1heFNsb3BlQ2xpbWJBbmdsZQDCCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21pblNsb3BlU2xpZGVBbmdsZQCYCjVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1pblNsb3BlU2xpZGVBbmdsZQDDCjRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZERpc3RhbmNlANIJMnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlU25hcFRvR3JvdW5kAJkKM3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZGlzYWJsZVNuYXBUb0dyb3VuZADECjNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZEVuYWJsZWQAhwo3cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlQ29sbGlkZXJNb3ZlbWVudAD8ATByYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkTW92ZW1lbnQAzggwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZEdyb3VuZGVkAJoKNXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbnVtQ29tcHV0ZWRDb2xsaXNpb25zAJsKMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRDb2xsaXNpb24A1gQgX193YmdfcmF3Y2hhcmFjdGVyY29sbGlzaW9uX2ZyZWUA2QcZcmF3Y2hhcmFjdGVyY29sbGlzaW9uX25ldwDJCBxyYXdjaGFyYWN0ZXJjb2xsaXNpb25faGFuZGxlAJwKLXJhd2NoYXJhY3RlcmNvbGxpc2lvbl90cmFuc2xhdGlvbkRlbHRhQXBwbGllZADPCC9yYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25EZWx0YVJlbWFpbmluZwDQCBlyYXdjaGFyYWN0ZXJjb2xsaXNpb25fdG9pAJ0KI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MxANEII3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MyALsGInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDEA0ggicmF3Y2hhcmFjdGVyY29sbGlzaW9uX3dvcmxkTm9ybWFsMgCbBxtfX3diZ19yYXdwaWRjb250cm9sbGVyX2ZyZWUA2gcUcmF3cGlkY29udHJvbGxlcl9uZXcAwgYXcmF3cGlkY29udHJvbGxlcl9zZXRfa3AAmAgXcmF3cGlkY29udHJvbGxlcl9zZXRfa2kAmQgXcmF3cGlkY29udHJvbGxlcl9zZXRfa2QAmggecmF3cGlkY29udHJvbGxlcl9zZXRfYXhlc19tYXNrAPEJIHJhd3BpZGNvbnRyb2xsZXJfcmVzZXRfaW50ZWdyYWxzAIoIKHJhd3BpZGNvbnRyb2xsZXJfYXBwbHlfbGluZWFyX2NvcnJlY3Rpb24AvwIpcmF3cGlkY29udHJvbGxlcl9hcHBseV9hbmd1bGFyX2NvcnJlY3Rpb24AzgMicmF3cGlkY29udHJvbGxlcl9saW5lYXJfY29ycmVjdGlvbgC4AiNyYXdwaWRjb250cm9sbGVyX2FuZ3VsYXJfY29ycmVjdGlvbgD/AxdfX3diZ19yYXdjY2Rzb2x2ZXJfZnJlZQDbBxxyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRUeXBlAKwFI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUxAPMFI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUyAPQFH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEZyYW1lWDEA2wQfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMgDXBB9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRBbmNob3IxAIkFH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjIAigUicmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0QW5jaG9yMQCZBCJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IyAJoEJ3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbnRhY3RzRW5hYmxlZAD1BSpyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAzQYlcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZACeBSFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNaW4AwAUhcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzTWF4AMEFIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldExpbWl0cwDHBStyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3Rvck1vZGVsALQFLnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yVmVsb2NpdHkA2wUucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JQb3NpdGlvbgDcBSZyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvcgDdBR1fX3diZ19yYXdpbXB1bHNlam9pbnRzZXRfZnJlZQDgBRZyYXdpbXB1bHNlam9pbnRzZXRfbmV3AOIIHnJhd2ltcHVsc2Vqb2ludHNldF9jcmVhdGVKb2ludADIBBlyYXdpbXB1bHNlam9pbnRzZXRfcmVtb3ZlAL4HFnJhd2ltcHVsc2Vqb2ludHNldF9sZW4AngobcmF3aW1wdWxzZWpvaW50c2V0X2NvbnRhaW5zAO0GJXJhd2ltcHVsc2Vqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUAowQycmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAwAcjX193YmdfcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2ZyZWUA3AcccmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX25ldwDbCRtyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZHQAnwokcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2NvbnRhY3RfZXJwAPQILHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1Tb2x2ZXJJdGVyYXRpb25zAKAKMXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1JbnRlcm5hbFBnc0l0ZXJhdGlvbnMAngomcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21pbklzbGFuZFNpemUAoQoncmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21heENjZFN1YnN0ZXBzAKIKI3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19sZW5ndGhVbml0AKMKH3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZHQAxQo2cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9jb250YWN0X25hdHVyYWxfZnJlcXVlbmN5AMYKOXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgDHCjlyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X25vcm1hbGl6ZWRQcmVkaWN0aW9uRGlzdGFuY2UAyAowcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1Tb2x2ZXJJdGVyYXRpb25zAMkKNXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbnVtSW50ZXJuYWxQZ3NJdGVyYXRpb25zAMoKKnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWluSXNsYW5kU2l6ZQDLCityYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X21heENjZFN1YnN0ZXBzAMwKJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbGVuZ3RoVW5pdADNChtfX3diZ19yYXdpc2xhbmRtYW5hZ2VyX2ZyZWUArwQUcmF3aXNsYW5kbWFuYWdlcl9uZXcA3AktcmF3aXNsYW5kbWFuYWdlcl9mb3JFYWNoQWN0aXZlUmlnaWRCb2R5SGFuZGxlAKcEGl9fd2JnX3Jhd2dlbmVyaWNqb2ludF9mcmVlAN0HFnJhd2dlbmVyaWNqb2ludF9zcHJpbmcAzgIUcmF3Z2VuZXJpY2pvaW50X3JvcGUA0gIZcmF3Z2VuZXJpY2pvaW50X3ByaXNtYXRpYwC/ARVyYXdnZW5lcmljam9pbnRfZml4ZWQA/wEYcmF3Z2VuZXJpY2pvaW50X3Jldm9sdXRlALwCHnJhd211bHRpYm9keWpvaW50c2V0X2pvaW50VHlwZQDCBCFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEZyYW1lWDEAkgQhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgyAIoEIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50QW5jaG9yMQCrBCFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjIArAQpcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRDb250YWN0c0VuYWJsZWQAkgUscmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAvQUncmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRMaW1pdHNFbmFibGVkALYEI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWluANEEI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWF4ANIEH19fd2JnX3Jhd211bHRpYm9keWpvaW50c2V0X2ZyZWUA4QUYcmF3bXVsdGlib2R5am9pbnRzZXRfbmV3AOMIIHJhd211bHRpYm9keWpvaW50c2V0X2NyZWF0ZUpvaW50AMkEG3Jhd211bHRpYm9keWpvaW50c2V0X3JlbW92ZQDIBx1yYXdtdWx0aWJvZHlqb2ludHNldF9jb250YWlucwC8BidyYXdtdWx0aWJvZHlqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUAwwc0cmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50QXR0YWNoZWRUb1JpZ2lkQm9keQDBBx1yYXdyaWdpZGJvZHlzZXRfcmJUcmFuc2xhdGlvbgCLBRpyYXdyaWdpZGJvZHlzZXRfcmJSb3RhdGlvbgDkBBdyYXdyaWdpZGJvZHlzZXRfcmJTbGVlcACcBxxyYXdyaWdpZGJvZHlzZXRfcmJJc1NsZWVwaW5nAIcGGnJhd3JpZ2lkYm9keXNldF9yYklzTW92aW5nALAGIXJhd3JpZ2lkYm9keXNldF9yYk5leHRUcmFuc2xhdGlvbgCTBR5yYXdyaWdpZGJvZHlzZXRfcmJOZXh0Um90YXRpb24A3AQgcmF3cmlnaWRib2R5c2V0X3JiU2V0VHJhbnNsYXRpb24AiwQdcmF3cmlnaWRib2R5c2V0X3JiU2V0Um90YXRpb24A9QcbcmF3cmlnaWRib2R5c2V0X3JiU2V0TGludmVsAIAEG3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3ZlbACRBS1yYXdyaWdpZGJvZHlzZXRfcmJTZXROZXh0S2luZW1hdGljVHJhbnNsYXRpb24A9gUqcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1JvdGF0aW9uAOEENnJhd3JpZ2lkYm9keXNldF9yYlJlY29tcHV0ZU1hc3NQcm9wZXJ0aWVzRnJvbUNvbGxpZGVycwClBCNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzcwCIBi1yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzc1Byb3BlcnRpZXMA0AMYcmF3cmlnaWRib2R5c2V0X3JiTGludmVsAJQFGHJhd3JpZ2lkYm9keXNldF9yYkFuZ3ZlbACJBiFyYXdyaWdpZGJvZHlzZXRfcmJWZWxvY2l0eUF0UG9pbnQAwAMicmF3cmlnaWRib2R5c2V0X3JiTG9ja1RyYW5zbGF0aW9ucwDFBChyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkVHJhbnNsYXRpb25zAJsEH3Jhd3JpZ2lkYm9keXNldF9yYkxvY2tSb3RhdGlvbnMAxgQgcmF3cmlnaWRib2R5c2V0X3JiRG9taW5hbmNlR3JvdXAAigYjcmF3cmlnaWRib2R5c2V0X3JiU2V0RG9taW5hbmNlR3JvdXAA7gUbcmF3cmlnaWRib2R5c2V0X3JiRW5hYmxlQ2NkAO4GJnJhd3JpZ2lkYm9keXNldF9yYlNldFNvZnRDY2RQcmVkaWN0aW9uAPYGFnJhd3JpZ2lkYm9keXNldF9yYk1hc3MA2AUZcmF3cmlnaWRib2R5c2V0X3JiSW52TWFzcwCLBiJyYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVJbnZNYXNzAJUFGnJhd3JpZ2lkYm9keXNldF9yYkxvY2FsQ29tAJYFGnJhd3JpZ2lkYm9keXNldF9yYldvcmxkQ29tAJcFJXJhd3JpZ2lkYm9keXNldF9yYkludlByaW5jaXBhbEluZXJ0aWEAjAYicmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYQDZBSpyYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVXb3JsZEludkluZXJ0aWEAjQYpcmF3cmlnaWRib2R5c2V0X3JiRWZmZWN0aXZlQW5ndWxhckluZXJ0aWEAjgYYcmF3cmlnaWRib2R5c2V0X3JiV2FrZVVwAOkFHnJhd3JpZ2lkYm9keXNldF9yYklzQ2NkRW5hYmxlZACPBiNyYXdyaWdpZGJvZHlzZXRfcmJTb2Z0Q2NkUHJlZGljdGlvbgCQBh5yYXdyaWdpZGJvZHlzZXRfcmJOdW1Db2xsaWRlcnMAkQYacmF3cmlnaWRib2R5c2V0X3JiQ29sbGlkZXIArQUacmF3cmlnaWRib2R5c2V0X3JiQm9keVR5cGUAkgYdcmF3cmlnaWRib2R5c2V0X3JiU2V0Qm9keVR5cGUA/wUZcmF3cmlnaWRib2R5c2V0X3JiSXNGaXhlZADqBR1yYXdyaWdpZGJvZHlzZXRfcmJJc0tpbmVtYXRpYwDrBRtyYXdyaWdpZGJvZHlzZXRfcmJJc0R5bmFtaWMA7wUfcmF3cmlnaWRib2R5c2V0X3JiTGluZWFyRGFtcGluZwCTBiByYXdyaWdpZGJvZHlzZXRfcmJBbmd1bGFyRGFtcGluZwCUBiJyYXdyaWdpZGJvZHlzZXRfcmJTZXRMaW5lYXJEYW1waW5nAPcGI3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3VsYXJEYW1waW5nAPgGHHJhd3JpZ2lkYm9keXNldF9yYlNldEVuYWJsZWQA7wYbcmF3cmlnaWRib2R5c2V0X3JiSXNFbmFibGVkAJUGHnJhd3JpZ2lkYm9keXNldF9yYkdyYXZpdHlTY2FsZQCWBiFyYXdyaWdpZGJvZHlzZXRfcmJTZXRHcmF2aXR5U2NhbGUAwgUdcmF3cmlnaWRib2R5c2V0X3JiUmVzZXRGb3JjZXMA8AYecmF3cmlnaWRib2R5c2V0X3JiUmVzZXRUb3JxdWVzALsFGnJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlAIEEHnJhd3JpZ2lkYm9keXNldF9yYkFwcGx5SW1wdWxzZQCCBBtyYXdyaWdpZGJvZHlzZXRfcmJBZGRUb3JxdWUAnAUkcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlUb3JxdWVJbXB1bHNlAIwFIXJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlQXRQb2ludACXAyVyYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2VBdFBvaW50AJgDLHJhd3JpZ2lkYm9keXNldF9yYkFkZGl0aW9uYWxTb2x2ZXJJdGVyYXRpb25zAJcGL3Jhd3JpZ2lkYm9keXNldF9yYlNldEFkZGl0aW9uYWxTb2x2ZXJJdGVyYXRpb25zAPkGGnJhd3JpZ2lkYm9keXNldF9yYlVzZXJEYXRhAIAGHXJhd3JpZ2lkYm9keXNldF9yYlNldFVzZXJEYXRhAOAGG3Jhd3JpZ2lkYm9keXNldF9yYlVzZXJGb3JjZQCFBRxyYXdyaWdpZGJvZHlzZXRfcmJVc2VyVG9ycXVlAMoFGl9fd2JnX3Jhd3JpZ2lkYm9keXNldF9mcmVlAIEGE3Jhd3JpZ2lkYm9keXNldF9uZXcA9QgfcmF3cmlnaWRib2R5c2V0X2NyZWF0ZVJpZ2lkQm9keQCQAhZyYXdyaWdpZGJvZHlzZXRfcmVtb3ZlAKMCE3Jhd3JpZ2lkYm9keXNldF9sZW4ApAoYcmF3cmlnaWRib2R5c2V0X2NvbnRhaW5zAPoGJnJhd3JpZ2lkYm9keXNldF9mb3JFYWNoUmlnaWRCb2R5SGFuZGxlAMQHOXJhd3JpZ2lkYm9keXNldF9wcm9wYWdhdGVNb2RpZmllZEJvZHlQb3NpdGlvbnNUb0NvbGxpZGVycwCfBRhfX3diZ19yYXdicm9hZHBoYXNlX2ZyZWUA4gURcmF3YnJvYWRwaGFzZV9uZXcArgcVcmF3YnJvYWRwaGFzZV9jYXN0UmF5ANgBIXJhd2Jyb2FkcGhhc2VfY2FzdFJheUFuZEdldE5vcm1hbADQASJyYXdicm9hZHBoYXNlX2ludGVyc2VjdGlvbnNXaXRoUmF5ALEBI3Jhd2Jyb2FkcGhhc2VfaW50ZXJzZWN0aW9uV2l0aFNoYXBlAKMBGnJhd2Jyb2FkcGhhc2VfcHJvamVjdFBvaW50AO0BJ3Jhd2Jyb2FkcGhhc2VfcHJvamVjdFBvaW50QW5kR2V0RmVhdHVyZQDuASRyYXdicm9hZHBoYXNlX2ludGVyc2VjdGlvbnNXaXRoUG9pbnQA2QEXcmF3YnJvYWRwaGFzZV9jYXN0U2hhcGUAnAEkcmF3YnJvYWRwaGFzZV9pbnRlcnNlY3Rpb25zV2l0aFNoYXBlAKUBL3Jhd2Jyb2FkcGhhc2VfY29sbGlkZXJzV2l0aEFhYmJJbnRlcnNlY3RpbmdBYWJiAPkBHHJhd2NvbGxpZGVyc2V0X2NvVHJhbnNsYXRpb24AjQUZcmF3Y29sbGlkZXJzZXRfY29Sb3RhdGlvbgDlBCVyYXdjb2xsaWRlcnNldF9jb1RyYW5zbGF0aW9uV3J0UGFyZW50AMMEInJhd2NvbGxpZGVyc2V0X2NvUm90YXRpb25XcnRQYXJlbnQAtwQfcmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbgDjBShyYXdjb2xsaWRlcnNldF9jb1NldFRyYW5zbGF0aW9uV3J0UGFyZW50AMwFHHJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb24A9wUlcmF3Y29sbGlkZXJzZXRfY29TZXRSb3RhdGlvbldydFBhcmVudAD7BhlyYXdjb2xsaWRlcnNldF9jb0lzU2Vuc29yAJgGGnJhd2NvbGxpZGVyc2V0X2NvU2hhcGVUeXBlAMIHIHJhd2NvbGxpZGVyc2V0X2NvSGFsZnNwYWNlTm9ybWFsAIMEHHJhd2NvbGxpZGVyc2V0X2NvSGFsZkV4dGVudHMA8QMfcmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmRXh0ZW50cwDiBBdyYXdjb2xsaWRlcnNldF9jb1JhZGl1cwDOBhpyYXdjb2xsaWRlcnNldF9jb1NldFJhZGl1cwCFCBtyYXdjb2xsaWRlcnNldF9jb0hhbGZIZWlnaHQAzgQecmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmSGVpZ2h0AMQEHHJhd2NvbGxpZGVyc2V0X2NvUm91bmRSYWRpdXMAzwYfcmF3Y29sbGlkZXJzZXRfY29TZXRSb3VuZFJhZGl1cwCGCBpyYXdjb2xsaWRlcnNldF9jb1ZveGVsRGF0YQC4BBpyYXdjb2xsaWRlcnNldF9jb1ZveGVsU2l6ZQCEBBlyYXdjb2xsaWRlcnNldF9jb1NldFZveGVsALgFJXJhd2NvbGxpZGVyc2V0X2NvUHJvcGFnYXRlVm94ZWxDaGFuZ2UA8QcjcmF3Y29sbGlkZXJzZXRfY29Db21iaW5lVm94ZWxTdGF0ZXMA9wcZcmF3Y29sbGlkZXJzZXRfY29WZXJ0aWNlcwC5BBhyYXdjb2xsaWRlcnNldF9jb0luZGljZXMAugQdcmF3Y29sbGlkZXJzZXRfY29UcmlNZXNoRmxhZ3MA8wQjcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZEhlaWdodHMAuwQhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZFNjYWxlAOcDF3Jhd2NvbGxpZGVyc2V0X2NvUGFyZW50ALwFG3Jhd2NvbGxpZGVyc2V0X2NvU2V0RW5hYmxlZADDBRpyYXdjb2xsaWRlcnNldF9jb0lzRW5hYmxlZADwBR9yYXdjb2xsaWRlcnNldF9jb1NldENvbnRhY3RTa2luAPwGHHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNraW4AmQYZcmF3Y29sbGlkZXJzZXRfY29GcmljdGlvbgCaBhxyYXdjb2xsaWRlcnNldF9jb1Jlc3RpdHV0aW9uAJsGGHJhd2NvbGxpZGVyc2V0X2NvRGVuc2l0eQCxBhVyYXdjb2xsaWRlcnNldF9jb01hc3MAsgYXcmF3Y29sbGlkZXJzZXRfY29Wb2x1bWUAswYgcmF3Y29sbGlkZXJzZXRfY29Db2xsaXNpb25Hcm91cHMAzQUdcmF3Y29sbGlkZXJzZXRfY29Tb2x2ZXJHcm91cHMAzgUccmF3Y29sbGlkZXJzZXRfY29BY3RpdmVIb29rcwCcBiVyYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUNvbGxpc2lvblR5cGVzAJ0GHXJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlRXZlbnRzAJ4GK3Jhd2NvbGxpZGVyc2V0X2NvQ29udGFjdEZvcmNlRXZlbnRUaHJlc2hvbGQAnwYecmF3Y29sbGlkZXJzZXRfY29Db250YWluc1BvaW50ANIDGnJhd2NvbGxpZGVyc2V0X2NvQ2FzdFNoYXBlANYBHXJhd2NvbGxpZGVyc2V0X2NvQ2FzdENvbGxpZGVyAMgCIHJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1NoYXBlAKQCHXJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNoYXBlAMcBIHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdENvbGxpZGVyAIUEHXJhd2NvbGxpZGVyc2V0X2NvUHJvamVjdFBvaW50AJ0DHnJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1JheQDzAhhyYXdjb2xsaWRlcnNldF9jb0Nhc3RSYXkA3wIkcmF3Y29sbGlkZXJzZXRfY29DYXN0UmF5QW5kR2V0Tm9ybWFsAKICGnJhd2NvbGxpZGVyc2V0X2NvU2V0U2Vuc29yAOwFH3Jhd2NvbGxpZGVyc2V0X2NvU2V0UmVzdGl0dXRpb24A/QYccmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbgD+BiRyYXdjb2xsaWRlcnNldF9jb0ZyaWN0aW9uQ29tYmluZVJ1bGUAoAYncmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbkNvbWJpbmVSdWxlANAGJ3Jhd2NvbGxpZGVyc2V0X2NvUmVzdGl0dXRpb25Db21iaW5lUnVsZQChBipyYXdjb2xsaWRlcnNldF9jb1NldFJlc3RpdHV0aW9uQ29tYmluZVJ1bGUA0QYjcmF3Y29sbGlkZXJzZXRfY29TZXRDb2xsaXNpb25Hcm91cHMAtQUgcmF3Y29sbGlkZXJzZXRfY29TZXRTb2x2ZXJHcm91cHMAtgUfcmF3Y29sbGlkZXJzZXRfY29TZXRBY3RpdmVIb29rcwC9BiByYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUV2ZW50cwDSBihyYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUNvbGxpc2lvblR5cGVzANMGGXJhd2NvbGxpZGVyc2V0X2NvU2V0U2hhcGUA9QMucmF3Y29sbGlkZXJzZXRfY29TZXRDb250YWN0Rm9yY2VFdmVudFRocmVzaG9sZAD/BhtyYXdjb2xsaWRlcnNldF9jb1NldERlbnNpdHkAgAcYcmF3Y29sbGlkZXJzZXRfY29TZXRNYXNzAIEHInJhd2NvbGxpZGVyc2V0X2NvU2V0TWFzc1Byb3BlcnRpZXMA5AMZX193YmdfcmF3Y29sbGlkZXJzZXRfZnJlZQDKBBJyYXdjb2xsaWRlcnNldF9uZXcAtQcScmF3Y29sbGlkZXJzZXRfbGVuAKUKF3Jhd2NvbGxpZGVyc2V0X2NvbnRhaW5zAIIHHXJhd2NvbGxpZGVyc2V0X2NyZWF0ZUNvbGxpZGVyAO8BFXJhd2NvbGxpZGVyc2V0X3JlbW92ZQCKAyRyYXdjb2xsaWRlcnNldF9mb3JFYWNoQ29sbGlkZXJIYW5kbGUAxQcaX193YmdfcmF3c2hhcGVjb250YWN0X2ZyZWUA3gcZX193YmdfcmF3bmFycm93cGhhc2VfZnJlZQDDBhJyYXduYXJyb3dwaGFzZV9uZXcAwwkhcmF3bmFycm93cGhhc2VfY29udGFjdF9wYWlyc193aXRoANQHG3Jhd25hcnJvd3BoYXNlX2NvbnRhY3RfcGFpcgD0BCZyYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcnNfd2l0aADVByByYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcgCCBh1fX3diZ19yYXdjb250YWN0bWFuaWZvbGRfZnJlZQDfBxhyYXdjb250YWN0cGFpcl9jb2xsaWRlcjEAxAkYcmF3Y29udGFjdHBhaXJfY29sbGlkZXIyAMUJInJhd2NvbnRhY3RwYWlyX251bUNvbnRhY3RNYW5pZm9sZHMAxgkecmF3Y29udGFjdHBhaXJfY29udGFjdE1hbmlmb2xkAJ0HGXJhd2NvbnRhY3RtYW5pZm9sZF9ub3JtYWwAiwgbcmF3Y29udGFjdG1hbmlmb2xkX2xvY2FsX24xAIwIG3Jhd2NvbnRhY3RtYW5pZm9sZF9sb2NhbF9uMgCNCBxyYXdjb250YWN0bWFuaWZvbGRfc3Vic2hhcGUxAMcJHHJhd2NvbnRhY3RtYW5pZm9sZF9zdWJzaGFwZTIAyAkfcmF3Y29udGFjdG1hbmlmb2xkX251bV9jb250YWN0cwDJCSNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMQDxBiNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMgDyBh9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9kaXN0AMIIH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ZpZDEAwwgfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZmlkMgDECCJyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9pbXB1bHNlANMIKnJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X3RhbmdlbnRfaW1wdWxzZQDFCCZyYXdjb250YWN0bWFuaWZvbGRfbnVtX3NvbHZlcl9jb250YWN0cwDKCSdyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfcG9pbnQAgwcmcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2Rpc3QAyggqcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2ZyaWN0aW9uALAILXJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9yZXN0aXR1dGlvbgCxCDJyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfdGFuZ2VudF92ZWxvY2l0eQCvBx1fX3diZ19yYXdwb2ludHByb2plY3Rpb25fZnJlZQDgBxhyYXdwb2ludHByb2plY3Rpb25fcG9pbnQA1AgbcmF3cG9pbnRwcm9qZWN0aW9uX2lzSW5zaWRlAKYKJV9fd2JnX3Jhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZyZWUA4QcpcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fY29sbGlkZXJIYW5kbGUApwogcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fcG9pbnQA1QgjcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25faXNJbnNpZGUAqAomcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZmVhdHVyZVR5cGUAqQokcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZmVhdHVyZUlkANMJHV9fd2JnX3Jhd3JheWludGVyc2VjdGlvbl9mcmVlAOIHE19fd2JnX3Jhd3NoYXBlX2ZyZWUA3gUPcmF3c2hhcGVfY3Vib2lkAMsJFHJhd3NoYXBlX3JvdW5kQ3Vib2lkALQJDXJhd3NoYXBlX2JhbGwA1AkScmF3c2hhcGVfaGFsZnNwYWNlAMcEEHJhd3NoYXBlX2NhcHN1bGUAkggPcmF3c2hhcGVfdm94ZWxzAJgFGXJhd3NoYXBlX3ZveGVsc0Zyb21Qb2ludHMAmQURcmF3c2hhcGVfcG9seWxpbmUAowgQcmF3c2hhcGVfdHJpbWVzaADpBxRyYXdzaGFwZV9oZWlnaHRmaWVsZADdBBByYXdzaGFwZV9zZWdtZW50AM8DEXJhd3NoYXBlX3RyaWFuZ2xlAPQCFnJhd3NoYXBlX3JvdW5kVHJpYW5nbGUA8QITcmF3c2hhcGVfY29udmV4SHVsbACkCBhyYXdzaGFwZV9yb3VuZENvbnZleEh1bGwAmwgXcmF3c2hhcGVfY29udmV4UG9seWxpbmUApQgccmF3c2hhcGVfcm91bmRDb252ZXhQb2x5bGluZQCcCBJyYXdzaGFwZV9jYXN0U2hhcGUAgQEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlAOMBFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQCdARZyYXdzaGFwZV9jb250YWluc1BvaW50AMQCFXJhd3NoYXBlX3Byb2plY3RQb2ludACeAhZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AI8CEHJhd3NoYXBlX2Nhc3RSYXkAhQIccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADkARhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczEA1ggiX193YmdfcmF3Y29sbGlkZXJzaGFwZWNhc3RoaXRfZnJlZQDjByZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF9jb2xsaWRlckhhbmRsZQCqCiZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF90aW1lX29mX2ltcGFjdACrCiByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMQDXCCByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMgDYCB9yYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF9ub3JtYWwxANkIH3Jhd2NvbGxpZGVyc2hhcGVjYXN0aGl0X25vcm1hbDIA2ggWX193YmdfcmF3cm90YXRpb25fZnJlZQDkBxRyYXdyb3RhdGlvbl9pZGVudGl0eQCsCxVyYXdyb3RhdGlvbl9mcm9tQW5nbGUA+woRcmF3cm90YXRpb25fYW5nbGUAzAcUX193YmdfcmF3dmVjdG9yX2ZyZWUA5AcOcmF3dmVjdG9yX3plcm8ArQsNcmF3dmVjdG9yX25ldwDiCg9yYXd2ZWN0b3Jfc2V0X3kAzgoMcmF3dmVjdG9yX3h5ANQIDHJhd3ZlY3Rvcl95eACmCCFfX3diZ19yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2ZyZWUA5AUacmF3ZGVidWdyZW5kZXJwaXBlbGluZV9uZXcAnQgfcmF3ZGVidWdyZW5kZXJwaXBlbGluZV92ZXJ0aWNlcwCEBx1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2NvbG9ycwCFBx1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX3JlbmRlcgDTARhfX3diZ19yYXdldmVudHF1ZXVlX2ZyZWUAoAUfX193YmdfcmF3Y29udGFjdGZvcmNlZXZlbnRfZnJlZQDlBx5yYXdjb250YWN0Zm9yY2VldmVudF9jb2xsaWRlcjIArAogcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2UA2wgqcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2VfbWFnbml0dWRlAK0KKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9tYWduaXR1ZGUArgoRcmF3ZXZlbnRxdWV1ZV9uZXcA+AcicmF3ZXZlbnRxdWV1ZV9kcmFpbkNvbGxpc2lvbkV2ZW50cwDyByVyYXdldmVudHF1ZXVlX2RyYWluQ29udGFjdEZvcmNlRXZlbnRzAPMHE3Jhd2V2ZW50cXVldWVfY2xlYXIA+AUdX193YmdfcmF3cGh5c2ljc3BpcGVsaW5lX2ZyZWUA5QUWcmF3cGh5c2ljc3BpcGVsaW5lX25ldwCcAydyYXdwaHlzaWNzcGlwZWxpbmVfc2V0X3Byb2ZpbGVyX2VuYWJsZWQAtwomcmF3cGh5c2ljc3BpcGVsaW5lX2lzX3Byb2ZpbGVyX2VuYWJsZWQArwoecmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ19zdGVwALUJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY29sbGlzaW9uX2RldGVjdGlvbgCBCSVyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2Jyb2FkX3BoYXNlAIIJJnJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfbmFycm93X3BoYXNlAIMJIHJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfc29sdmVyAIQJK3Jhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfYXNzZW1ibHkAtgktcmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ192ZWxvY2l0eV9yZXNvbHV0aW9uAIUJKXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfdXBkYXRlAIYJLHJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfd3JpdGViYWNrALcJHXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY2NkAIcJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY2NkX3RvaV9jb21wdXRhdGlvbgC4CSlyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2NjZF9icm9hZF9waGFzZQC5CSpyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2NjZF9uYXJyb3dfcGhhc2UAugkkcmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ19jY2Rfc29sdmVyALsJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfaXNsYW5kX2NvbnN0cnVjdGlvbgCICSZyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX3VzZXJfY2hhbmdlcwC8CRdyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcACXASFyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcFdpdGhFdmVudHMAigEfX193YmdfcmF3ZGVzZXJpYWxpemVkd29ybGRfZnJlZQCDBiByYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlR3Jhdml0eQD5By5yYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSW50ZWdyYXRpb25QYXJhbWV0ZXJzAMUDJnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJc2xhbmRNYW5hZ2VyAMEDI3Jhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VCcm9hZFBoYXNlAPkFJHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VOYXJyb3dQaGFzZQDCAx9yYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlQm9kaWVzAI4EInJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VDb2xsaWRlcnMA9wMmcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUltcHVsc2VKb2ludHMA6wIocmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZU11bHRpYm9keUpvaW50cwDsAiVyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfc2VyaWFsaXplQWxsAJMBJ3Jhd3NlcmlhbGl6YXRpb25waXBlbGluZV9kZXNlcmlhbGl6ZUFsbADeBBxyYXdjb2xsaWRlcnNldF9pc0hhbmRsZVZhbGlkAIIHD3Jhd3ZlY3Rvcl9zZXRfeADFCg5yZXNlcnZlX21lbW9yeQDgCRxyYXdyYXlpbnRlcnNlY3Rpb25fZmVhdHVyZUlkANMJJHJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVJZADTCTVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbm9ybWFsaXplZFByZWRpY3Rpb25EaXN0YW5jZQCdChhyYXdzaGFwZWNvbnRhY3RfZGlzdGFuY2UArQoecmF3cmF5aW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlAKkKKXJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2NvbGxpZGVySGFuZGxlAKcKIXJhd3JheWludGVyc2VjdGlvbl90aW1lX29mX2ltcGFjdACrCiZyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9mZWF0dXJlVHlwZQCpCilyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl90aW1lX29mX2ltcGFjdACrCh5yYXdzaGFwZWNhc3RoaXRfdGltZV9vZl9pbXBhY3QAnwogcmF3cmF5Y29sbGlkZXJoaXRfY29sbGlkZXJIYW5kbGUAqgoecmF3cmF5Y29sbGlkZXJoaXRfdGltZU9mSW1wYWN0AKsKDnJhd3JvdGF0aW9uX2ltAJQKDnJhd3JvdGF0aW9uX3JlAJ8KC3Jhd3ZlY3Rvcl94AJ8KC3Jhd3ZlY3Rvcl95AJQKHnJhd2NvbnRhY3Rmb3JjZWV2ZW50X2NvbGxpZGVyMQCqCjVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgCtChlfX3diZ19yYXdjb250YWN0cGFpcl9mcmVlAN8HJV9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZyZWUA4QccX193YmdfcmF3cmF5Y29sbGlkZXJoaXRfZnJlZQDgBxpfX3diZ19yYXdzaGFwZWNhc3RoaXRfZnJlZQDlByNfX3diZ19yYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfZnJlZQDbBxdyYXdzaGFwZWNvbnRhY3Rfbm9ybWFsMgDPCBZyYXdzaGFwZWNvbnRhY3RfcG9pbnQxANQIFnJhd3NoYXBlY29udGFjdF9wb2ludDIA1QgZcmF3cmF5aW50ZXJzZWN0aW9uX25vcm1hbADXCBhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczIA1wghcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbm9ybWFsANcIF3Jhd3NoYXBlY2FzdGhpdF9ub3JtYWwxANgIF3Jhd3NoYXBlY2FzdGhpdF9ub3JtYWwyANkIInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAA2ggXcmF3c2hhcGVjb250YWN0X25vcm1hbDEA2wgocmF3Y29udGFjdGZvcmNlZXZlbnRfbWF4X2ZvcmNlX2RpcmVjdGlvbgDPCBByYXdjY2Rzb2x2ZXJfbmV3ANELHHJhd3NlcmlhbGl6YXRpb25waXBlbGluZV9uZXcA0QsTX193YmluZGdlbl9leHBvcnRfMADjDB9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyAKcNE19fd2JpbmRnZW5fZXhwb3J0XzEAtQwTX193YmluZGdlbl9leHBvcnRfMgDJCwmYEAEAQQELmgjJDJYC5wq+DdkJnA2qDagN+wv6C/wLqQurDdgK2gnaC9oLnAmcCcEEyw3hCuEK2AfYB+sLngm/COgF6AX7CawNkAnaBYILuQiPCd0L7Af1BroF4QjNDM0MzQzNDOkKsQKrC8sG8gSZB/cJ5gWXC7MK9AfyBaQJnQzODdMMzQ3KDckN0gy/DaYMwQ2gCKgDmgfEA9wCsQPdA40DgAm3CI4JzAzMDMwMzAzqCucBqgvKBvEEmAfXB/YHmQv3Ct4IswWjCboMzA3RDNAMpQzABqEI8AerBc8JlgPVBL8KtAfrA7gI6wjLDMsMywzLDMEJhAjfCcYF6QPWBeoL4QuYC7sL9gndCKUJzgnJDc8MmwzODKQMpwWiCLUKqQ3GB8YHwA3IDeIN4A3hDf4KkgONBOINPlRF5ArcDIgKsAqICvwHnQm9CU5DYl1KqgFC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KAK4ASICIBVJBEAgFSACIhRrIhIgGCgCsAEgAmtLBEAgGEGwAWogAiASQQRByAAQmgUgGCgCuAEhFAsgGCgCtAEgFEHIAGxqIQEgEkECTwRAIBUgAkF/c2oiD0EBcSEOIAIgFUECa0cEQCAPQX5xIQIDQCABQgA3AgAgAUEIakJ/NwIAIAFBEGpCfzcCACABQRhqQn83AgAgAUEgakF/NgIAIAFByABqQgA3AgAgAUHEAGpBADsBACABQTxqQv////v3//+//wA3AgAgAUE0akL////79///v/8ANwIAIAFBLGpC////+/f//7//ADcCACABQSRqQoCAgIDw//+/fzcCACABQdAAakJ/NwIAIAFB2ABqQn83AgAgAUHgAGpCfzcCACABQegAakF/NgIAIAFBhAFqQv////v3//+//wA3AgAgAUH8AGpC////+/f//7//ADcCACABQfQAakL////79///v/8ANwIAIAFB7ABqQoCAgIDw//+/fzcCACABQYwBakEAOwEAIAFBkAFqIQEgAkECayICDQALCyASIBRqQQFrIRQgDgRAIAFCfzcCCCABQgA3AgAgAUEAOwFEIAFC////+/f//7//ADcCPCABQv////v3//+//wA3AjQgAUL////79///v/8ANwIsIAFCgICAgPD//79/NwIkIAFBEGpCfzcCACABQRhqQn83AgAgAUEgakF/NgIAIAFByABqIQELCyABQn83AgggAUIANwIAIAFBADsBRCABQv////v3//+//wA3AjwgAUL////79///v/8ANwI0IAFC////+/f//7//ADcCLCABQoCAgIDw//+/fzcCJCABQRBqQn83AgAgAUEYakJ/NwIAIAFBIGpBfzYCACAUQQFqIRULIBggFTYCuAEgACgCcCICQYCU69wDRwRAIAApA2ghrgEgG0HYAWoiARDcCCAbQcgAaiABIK4BIAIQlAggACkDeCKuASAbKQNIfCKwASCuAVQNByAAKAKAASAbKAJQaiIBQYCU69wDTwRAILABQn9RDQggsAFCAXwhsAEgAUGAlOvcA2shAQsgACABNgKAASAAILABNwN4CyAAQYCU69wDNgJwIBtByABqENwIIBspA0ghrgEgACAbKAJQIgE2AlAgACCuATcDSAJAAkACQCB6RQ0AIBgoAoACIgEgGCgC6AEiVyAB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lAlqIjIoAgAiEkEBdCIDIANBBE0bIgetQqACfiJdQiCIQgBSBEBBAEEAQYiCwgAQ+QsACwJAIF2nIgNB/P///wdNBH8gASASBH8gASASQaACbDYCHCABIDIoAgQ2AhRBBAVBAAs2AhggAUEIakEEIAMgAUEUahCRCCABKAIIQQFHDQEgASgCECEgIAEoAgwFQQALICBBiILCABD5CwALIAEoAgwhAyAyIAc2AgAgMiADNgIEIAFBIGokACAFKAKYCSEHCyAHIB9BoAJsaiIDQQA2AlggA0IANwJQIANCgICAgMAANwJIIANCBDcCQCADQgA3AjggA0IENwIwIANCADcCKCADQgQ3AiAgA0IANwIYIANCBDcCECADQgA3AgggA0KAgICAgAI3AgAgAyAFKQLQBDcCXCADQeQAaiAFQdAEaiIBQQhqKQIANwIAIANB7ABqIAFBEGopAgA3AgAgA0H0AGogAUEYaikCADcCACADQfwAaiABQSBqKQIANwIAIANBADYCpAEgA0KAgICAwAA3AoQBIANCgICAgHA3AowBIANCgICAgMAANwKUASADQgA3ApwBIAMgBSkCtAI3AqgBIANBsAFqIAVBtAJqIgFBCGopAgA3AgAgA0G4AWogAUEQaikCADcCACADQcABaiABQRhqKQIANwIAIANByAFqIAFBIGopAgA3AgAgA0EENgKIAiADQoCAgIDAADcC0AEgA0IANwLYASADQgQ3AuABIANCADcC6AEgA0IENwLwASADQoCAgIDAADcC+AEgA0IANwKAAiADQgA3AowCIANBlAJqQgA3AgAgA0GcAmpBADoAACADIBs6AJ0CIAUgH0EBaiIfNgKcCQwBCyATICRNDQkgCSATTw0KIA0gEGogECAkQQJ0aigCADYCAAsgCSATRg0BIA0gEGooAgAiASAfTw0CIA0gD2ogBSgCmAkiByABQaACbGoiEigCCCIDNgIAIAYNAyAvIC5BEHRyDAQLIAkgE0H4gcIAELAJAAsgEyATQZiCwgAQsAkACyABIB9BqILCABCwCQALIEVCADcAACBFQQhqQgA3AAAgREIANwAAIERBCGpCADcAACAYQQA2AgAgS0IANwMAIExCADcDACBNQQA2AgAgFkEANgIAICIgBUHQBGoiAUEIaikAADcDACAeIAFBD2ooAAA2AAAgBUIANwPwCSAFQgA3A/gJIAVCADcDkAogBUIANwOwCSAFIAUpANAENwPYCSAcIAVBtAJqIgFBD2ooAAA2AAAgIyABQQhqKQAANwMAIAUgBSkAtAI3A8AJQQchAkP//39/IWxD//9//yFtQwAAAAAhXkMAAIA/IV9BASEOQQAhSCByIXAgcSFvIFshXEMAAIA/IW5DAAAAACFrQ///f/8hakP//39/IWlDAAAAACFoQ///f/8hZ0P//39/IWZD//9/fyFlQwAAAAAhZEEAIRVD//9/fyFjQwAAAAAhYkEAIUpD//9/fyFhQwAAAAAhYEEAIUlBACFHQQALIQEgEiASKAKUAiACQf8BcWlrQQNqNgKUAiASKAIAIANGBEAgEkG4gsIAEKgGCyASKAIEIANBoAJsaiIGIFs3AwggBiBxOAIEIAYgcjgCACAGIAUpA7AKNwMQIAYgbjgCMCAGIFw3AyggBiBvOAIkIAYgcDgCICAGIAUpA5AKNwI0IAZBGGogBSkDuAo3AwAgBkE8aiBLKQMANwIAIAZBxABqIEwpAwA3AgAgBkHMAGogTSgCADYCACAGIGY4AmwgBiBnOAJoIAYgaDgCZCAGIGk4AmAgBiBqOAJcIAYgazgCWCAGIGw4AlQgBiBtOAJQIAYgZTgChAEgBiBkOAKIASAGIBU6AIwBIAYgBSkD8Ak3A3AgBkH4AGogBSkD+Ak3AwAgBkGAAWogGCgCADYCACAGQZwBaiAeKAAANgAAIAZBlQFqICIpAwA3AAAgBiAFKQPYCTcAjQEgBiBKOgCoASAGIGI4AqQBIAYgYzgCoAEgBiBJOgDEASAGIGA4AsABIAYgYTgCvAEgBkHLAWogAUEQdjoAACAGIAE7AMkBIAYgAjoAyAEgBiBIOgDMASAGIA46AM0BIAYgMDsBzgEgBiBeOALUASAGIF84AtABIAYgBSkDwAk3AKkBIAZBsQFqICMpAwA3AAAgBkG4AWogHCgAADYAACAGIAUvAbwJOwDFASAGQccBaiAxLQAAOgAAIAZB4AFqIBYoAgA2AgAgBiAFKQOwCTcD2AEgBiBHOgDkASAGQYwCaiBGKAAANgAAIAZBhQJqIAopAwA3AAAgBkH9AWogDCkDADcAACAGQfUBaiALKQMANwAAIAZB7QFqIBEpAwA3AAAgBiAFKQPwBjcA5QEgBiAkNgKQAiAGQZwCaiAXKAIANgIAIAYgBSkDoAk3ApQCIBIgA0EBajYCCCAJQQFqIQkgDUEEaiENIC0gBEGgAmoiBEcNAAsMBAtBBCAhQaiBwgAQ+QsAC0EEICFBuIHCABD5CwALICQgE0HYgcIAELAJAAsgCSATQeiBwgAQsAkACyAlBEAgFCAlQaACbEEQEJ8NCyAHIB9BoAJsaiEiIB8EQCAHQaACaiEDIAchAQNAIAEhBCADIQEgBCAEKAKUAiAEKAIIEP4DIARB0AFqIAQoAgggBCgClAIQ7gMgBCgCCCICBEAgAkGgAmwgBCgCBCICaiEtIAJBoAJqIQNBASEGQQAhFSAEQRhqIS4gBEEQaiEvIARBKGohMCAEQSBqITEgBEE4aiEKIARBMGohDEEAIQ4DQCADIRQgAgJ/AkBBAyACLQDIAWkiI2siGCAOaiIXIC4oAgBNBEAgAigCjAIiAyAYaiBaSw0IIA5BAnQhHgJAICNBA0YiIA0AIC8oAgAhEiADQQJ0IRsgGEEDcSEJQQAhDSAjQQNPBEAgEiAeaiELIBsgLGohESAYQXxxIQNBACEEA0AgBCALaiIcIAQgEWoiFioCADgCACAcQQRqIBZBBGoqAgA4AgAgHEEIaiAWQQhqKgIAOAIAIBxBDGogFkEMaioCADgCACAEQRBqIQQgAyANQQRqIg1HDQALCyAJRQ0AICwgDUECdCIDIBtqaiEEIBIgAyAeamohAwNAIAMgBCoCADgCACAEQQRqIQQgA0EEaiEDIAlBAWsiCQ0ACwsgFyAwKAIASw0IIAIoAowCIgMgGGogWUsNCAJAICANACAxKAIAIRIgA0ECdCEbIBhBA3EhCUEAIQ0gI0EDTwRAIBIgHmohCyAbICtqIREgGEF8cSEDQQAhBANAIAQgC2oiHCAEIBFqIhYqAgA4AgAgHEEEaiAWQQRqKgIAOAIAIBxBCGogFkEIaioCADgCACAcQQxqIBZBDGoqAgA4AgAgBEEQaiEEIAMgDUEEaiINRw0ACwsgCUUNACArIA1BAnQiAyAbamohBCASIAMgHmpqIQMDQCADIAQqAgA4AgAgBEEEaiEEIANBBGohAyAJQQFrIgkNAAsLIBcgCigCAEsNCCACKAKMAiIDIBhqIFhLDQgCQCAgDQAgDCgCACESIANBAnQhGyAYQQNxIQlBACENICNBA08EQCASIB5qIQsgGyAqaiERIBhBfHEhA0EAIQQDQCAEIAtqIhYgBCARaiIgKgIAOAIAIBZBBGogIEEEaioCADgCACAWQQhqICBBCGoqAgA4AgAgFkEMaiAgQQxqKgIAOAIAIARBEGohBCADIA1BBGoiDUcNAAsLIAlFDQAgKiANQQJ0IgMgG2pqIQQgEiADIB5qaiEDA0AgAyAEKgIAOAIAIARBBGohBCADQQRqIQMgCUEBayIJDQALCyACIA42AowCIAIgFTYCiAJBACAVRQ0CGiACKAKQAiIDIBNJDQEgAyATQciBwgAQsAkACwwHCyAPIANBAnRqKAIACzYCkAIgFEGgAkEAIBQgLUciBBtqIQMgBCAGIhVqIQYgFCECIBchDiAEDQALCyABQQBBoAIgASAiRiICG2ohAyACRQ0ACwsgBSgClAkhFyAPICFBBBCfDSAQICFBBBCfDSBCBEAgLCBCQQJ0QQQQnw0LIEEEQCArIEFBAnRBBBCfDQsgQARAICogQEECdEEEEJ8NCyApBEAgCCEEA0AgBCgCACIBBEAgBEEEaigCACABQQJ0QQQQnw0LIARBEGohBCApQQFrIikNAAsLID8EQCAIID9BBHRBBBCfDQsgPgRAIFcgPkECdEEEEJ8NCyA9BEAgViA9QQJ0QQQQnw0LIDwEQCBVIDxBA3RBBBCfDQsgOwRAIFQgO0ECdEEEEJ8NCyA6BEAgUyA6QQJ0QQQQnw0LIDkEQCBSIDlBAnRBBBCfDQsgOARAIFEgOEEDdEEEEJ8NCyA3BEAgUCA3QQxsQQQQnw0LIDYEQCBPIDZBAnRBBBCfDQsgKARAIBkhBANAIAQoAgAiAQRAIARBBGooAgAgAUECdEEEEJ8NCyAEQRBqIQQgKEEBayIoDQALCyA1BEAgGSA1QQR0QQQQnw0LICcEQCAdIQQDQCAEKAIAIgEEQCAEQQRqKAIAIAFBAnRBBBCfDQsgBEEQaiEEICdBAWsiJw0ACwsgNARAIB0gNEEEdEEEEJ8NCyAzBEAgTiAzQQJ0QQQQnw0LIAchAgJAIB9FDQAgBUG8AmohHSAFQfwGaiEGIAVB1ARqIRQCQAJAA0AgAigCACEIIAVBtAJqIgEgAkEEakGcAvwKAAAgAkGgAmohAiAIQYCAgIB4Rg0DIAUgCDYC0AQgFCABQZwC/AoAAAJAAkACQAJAAkACQAJAIAUoAtgEIgRBAUYEQCAFKALUBCIDKALwASIBIAAoAjhPDQEgAygC9AEgACgCNCABQRRsaiIDKAIARw0BIAVB8AZqIQECQCADKAIMIgQgGigCCCIQTw0AIBooAgQiDiAEQQR0aiIDQQhqIRUgGigCFCEMIBooAhAhESADKAIIIgtBf0cEQANAAkAgCyAMTw0AAkAgESALQQR0aiIPKQIIIlynIgMgEE8NACAPKQIAIlunIQggXEIgiKchGQJAIAsgDiADQQR0aiIDKAIIIgpHBEADQCAKIAxPDQIgCyARIApBBHRqIgMoAgAiCkcNAAsgAyAINgIADAELIANBCGogCDYCAAsgECAZTQ0AIFtCIIinIQggCyAOIBlBBHRqIgMoAgwiCkcEQANAIAogDE8NAiALIBEgCkEEdGoiAygCBCIKRw0ACyADQQRqIAg2AgAMAQsgA0EMaiAINgIACyAaIAxBAWsiDDYCFCARIAxBBHRqIgMpAgAhWyAPQQhqIANBCGopAgA3AgAgDyBbNwIAIAsgDE8NACAPKQIIIlunIgMgEE8NACBbQiCIpyEIAkAgDCAOIANBBHRqIgMoAggiCkcEQANAIAogDE8NAiAMIBEgCkEEdGoiAygCACIKRw0ACyADIAs2AgAMAQsgA0EIaiALNgIACyAIIBBPDQAgDCAOIAhBBHRqIgMoAgwiCkcEQANAIAogDE8NAiAMIBEgCkEEdGoiAygCBCIKRw0ACyADQQRqIAs2AgAMAQsgA0EMaiALNgIACyAVKAIAIgtBf0cNAAsLIBUoAgQiC0F/RwRAA0ACQCALIAxPDQACQCARIAtBBHRqIg8pAggiXKciAyAQTw0AIA8pAgAiW6chCCBcQiCIpyEZAkAgCyAOIANBBHRqIgMoAggiCkcEQANAIAogDE8NAiALIBEgCkEEdGoiAygCACIKRw0ACyADIAg2AgAMAQsgA0EIaiAINgIACyAQIBlNDQAgW0IgiKchCCALIA4gGUEEdGoiAygCDCIKRwRAA0AgCiAMTw0CIAsgESAKQQR0aiIDKAIEIgpHDQALIANBBGogCDYCAAwBCyADQQxqIAg2AgALIBogDEEBayIMNgIUIBEgDEEEdGoiAykCACFbIA9BCGogA0EIaikCADcCACAPIFs3AgAgCyAMTw0AIA8pAggiW6ciAyAQTw0AIFtCIIinIQgCQCAMIA4gA0EEdGoiAygCCCIKRwRAA0AgCiAMTw0CIAwgESAKQQR0aiIDKAIAIgpHDQALIAMgCzYCAAwBCyADQQhqIAs2AgALIAggEE8NACAMIA4gCEEEdGoiAygCDCIKRwRAA0AgCiAMTw0CIAwgESAKQQR0aiIDKAIEIgpHDQALIANBBGogCzYCAAwBCyADQQxqIAs2AgALIBUoAgQiC0F/Rw0ACwsgGiAQQQFrIhA2AgggDiAQQQR0aiIDKQIAIVsgDiAEQQR0aiIIQQhqIANBCGopAgA3AgAgCCBbNwIAIAQgEE8NACAIKQIIIltCIIinIQsgDCBbpyIKSwRAA0AgESAKQQR0aiIDIAQ2AgggDCADKAIAIgpLDQALCyALIAxPDQADQCARIAtBBHRqIgMgBDYCDCADKAIEIgsgDEkNAAsLIAEgBCAQSQR/IAEgGigCBCAEQQR0aikCADcCBEEBBUEACzYCACAFKALwBgRAIAUoAvQGIgEgACgCOE8NAyAFKAL4BiAAKAI0IAFBFGxqIgEoAgBHDQMgASAENgIMCyAFQdAEahCgAgwGCyAFKALUBCEDIEMoAgBBAUcNAiAAKAJAIgkgACgCTCIBTw0IIAAoAkggCUGkAmxqIgEoAgBBgICAgHhGDQMgBUEANgKgCiAFQQE2ApQKIAVBxPnBADYCkAogBUIENwKYCiAFQZAKakHM+cEAENwLAAtBzKnCABClDQALQdypwgAQpQ0ACyAGIB1BlAL8CgAAIAUgBDYC+AYgBSADNgL0BiAFIAg2AvAGIAVBCGogQyAFQfAGahC8BCAFKAIMIQ0gBSgCCCEJDAELIAEgCDYCACAAIAEpAgQ3AjwgASAENgIIIAEgAzYCBCAAIAAoAlRBAWo2AlQgACgCUCENIAFBDGogHUGUAvwKAAAgASANNgKgAgsgCSAAKAJMTw0EIAAoAkggCUGkAmxqIgMoAgBBgICAgHhGDQQgAygCoAIgDUcNBCADKAIIIgFFDQAgAUGgAmwhASADKAIEQYgCaiEEA0AgBEEYaygCACIDIAAoAjhPDQIgBEEUaygCACAAKAI0IANBFGxqIgMoAgBHDQIgAyANNgIIIAMgCTYCBCADIAQoAgA2AhAgBEGgAmohBCABQaACayIBDQALCyACICJHDQEMBAsLQfypwgAQpQ0ACyAJIAFBoPnBABCwCQALQZz7wQBBE0HsqcIAEPgJAAsgIiACa0GgAm4hBCACICJHBEADQCACEKACIAJBoAJqIQIgBEEBayIEDQALCyAXRQ0AIAcgF0GgAmxBBBCfDQsgBUHgCmokAA8LIAVBADYC4AQgBUEBNgLUBCAFQeDswQA2AtAEIAVCBDcC2AQgBUHQBGpB6OzBABDcCwALwDQDGX8MfQJ+IwBB8ABrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAggEQCABKAKIAiEKIAAoAgQiAygC8AEiBiABKAKMAiINTw0NIAogBkEIdGoiCSgCAEEBRw0NIAkoAgQgAygC9AFHDQ0gCUEQaiELIAktAPEBRSIBIAAtAJwCRg0MIAsgAyACGyoCACEcIAlBFGogA0EEaiACGyoCACEdIAlBGGogA0EIaiACGykDACEoAkAgAUUEQCAAKAIYQQJLDQFBpIfCAEE2QdyHwgAQ+QoACyAEQTBqIgFBC2pCADcAACAEQdgAaiIGQQtqQgA3AAAgBEIANwAzIARBGGoiBUEIaiIHIAFBCGopAAA3AwAgBUEPaiIFIAFBD2ooAAA2AAAgBEIANwBbIARBCGoiASAGQQhqKQAANwMAIARBD2oiCCAGQQ9qKAAANgAAIAQgBCkAMDcDGCAEIAQpAFg3AwAgA0IANwI0IANBgICA/AM2AjAgA0IANwMoIANCgICA/AM3AyAgA0E8akIANwIAIANBxABqQgA3AgBBACEGIANBzABqQQA2AgAgA0IANwNwIANC////+////7//ADcDaCADQv////sHNwNgIANCgICAgPD//79/NwNYIANC////+////7//ADcDUCADQfgAakIANwMAIANBgAFqQQA2AgAgA0EAOgCMASADQv////sHNwKEASADLQDIASEOIANC////+wc3A6ABIANBADoAqAEgA0GcAWogBSgAADYAACADQZUBaiAHKQMANwAAIAMgBCkDGDcAjQEgA0EANgLIASADIBw4AtABIAMgHTgC1AEgAyAoNwPYASADQQA2AuABIANBgAI7AcwBIANC////+wc3ArwBIANBADoA5AEgA0EAOgDEASADQbgBaiAIKAAANgAAIANBsQFqIAEpAwA3AAAgAyAEKQMANwCpASAAKAIIRQ0FIAAoAgRBADYCjAIgACAAKAKUAkEDajYClAIgACgCFCIDQQJ0IQUgA0H/////A0sNAiAFQfz///8HSw0CIAAoAhAhCAJAIAVFBEBBBCEHQQAhAQwBC0EEIQYgAyEBIAVBBBDUDCIHRQ0DCyAFBEAgByAIIAX8CgAACyAEIAAoAhgiBjYCPCAEIAM2AjggBCAHNgI0IAQgATYCMCAEQdgAaiAGQQNqIgcgBEEwahDlAyAEKAJYIQggBCgCXCEBIAQoAmAhAyAEKAJkIQUCQCAHRQ0AIAZBAnQiBkUNACABQQxqIAEgBvwKAAALIAVBAk0NEiABQQA2AgggAUIANwIAIAMgBUcNEyAAKAIMIgYEQCAAKAIQIAZBAnRBBBCfDQsgACADNgIYIAAgAzYCFCAAIAE2AhAgACAINgIMIAAoAiQiA0ECdCEFQQAhByADQf////8DSw0DIAVB/P///wdLDQMgACgCICEIAkAgBUUEQEEEIQFBACEGDAELQQQhByADIQYgBUEEENQMIgFFDQQLIAUEQCABIAggBfwKAAALIAQgACgCKCIFNgI8IAQgAzYCOCAEIAE2AjQgBCAGNgIwIARB2ABqIAVBA2oiByAEQTBqEOUDIAQoAlghCCAEKAJcIQEgBCgCYCEDIAQoAmQhBgJAIAdFDQAgBUECdCIFRQ0AIAFBDGogASAF/AoAAAsgBkECTQ0SIAFBADYCCCABQgA3AgAgAyAGRw0TIAAoAhwiBgRAIAAoAiAgBkECdEEEEJ8NCyAAIAM2AiggACADNgIkIAAgATYCICAAIAg2AhwgACgCNCIDQQJ0IQVBACEHIANB/////wNLDQQgBUH8////B0sNBCAAKAIwIQgCQCAFRQRAQQQhAUEAIQYMAQtBBCEHIAMhBiAFQQQQ1AwiAUUNBQsgBQRAIAEgCCAF/AoAAAsgBCAAKAI4IgU2AjwgBCADNgI4IAQgATYCNCAEIAY2AjAgBEHYAGogBUEDaiIHIARBMGoQ5QMgBCgCWCEIIAQoAlwhASAEKAJgIQMgBCgCZCEGAkAgB0UNACAFQQJ0IgVFDQAgAUEMaiABIAX8CgAACyAGQQJNDRIgAUEANgIIIAFCADcCACADIAZHDRMgACgCLCIGBEAgACgCMCAGQQJ0QQQQnw0LIAAgAzYCOCAAIAM2AjQgACABNgIwIAAgCDYCLCAAKAIIIgFFDQYgAUGgAmwiBUGgAkYNDCAOaSEBIAAoAgQhBiAFQcAEayIIQaACbiIDQQdxQQdGBH8gBkGgAmoFQQAgA0EBakEHcWshByAGQawEaiEDA0AgAyADKAIAIAFqNgIAIANBoAJqIQMgB0EBaiIHDQALIANBjAJrCyEDIAhB4A9JDQwgBSAGaiEGA0AgA0GMAmoiBSAFKAIAIAFqNgIAIANBrARqIgUgBSgCACABajYCACADQcwGaiIFIAUoAgAgAWo2AgAgA0HsCGoiBSAFKAIAIAFqNgIAIANBjAtqIgUgBSgCACABajYCACADQawNaiIFIAUoAgAgAWo2AgAgA0HMD2oiBSAFKAIAIAFqNgIAIANB7BFqIgUgBSgCACABajYCACAGIANBgBJqIgNHDQALDAwLIAAoAihBAk0NBiAAKAI4QQJNDQcgBEEwaiIBQQtqQgA3AAAgBEHYAGoiBkELakIANwAAIARCADcAMyAEQRhqIgVBCGoiByABQQhqKQAANwMAIAVBD2oiBSABQQ9qKAAANgAAIARCADcAWyAEQQhqIgEgBkEIaikAADcDACAEQQ9qIgggBkEPaigAADYAACAEIAQpADA3AxggBCAEKQBYNwMAIANCADcCNCADQYCAgPwDNgIwIAMgKDcDKCADIB04AiQgAyAcOAIgIANBPGpCADcCACADQcQAakIANwIAIANBzABqQQA2AgAgA0IANwNwIANC////+////7//ADcDaCADQv////sHNwNgIANCgICAgPD//79/NwNYIANC////+////7//ADcDUCADQfgAakIANwMAIANBgAFqQQA2AgAgA0EAOgCMASADQv////sHNwKEASADLQDIASEGIANC////+wc3A6ABIANBADoAqAEgA0GcAWogBSgAADYAACADQZUBaiAHKQMANwAAIAMgBCkDGDcAjQEgA0EHNgLIASADQv////sHNwK8ASADQYCAgPwDNgLQASADQYACOwHMASADQQA6AMQBIAMgBCkDADcAqQEgA0GxAWogASkDADcAACADQbgBaiAIKAAANgAAIANB5AFqQQA6AAAgA0HcAWpCADcCACADQgA3AtQBIAAoAghFDQggACgCBEEANgKMAiAAIAAoApQCIgNBAyAGaWsiAWs2ApQCIAEgA0YEQCAAKAIMIgME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BygCHBEAACAJQTBqIAkoAhAiCyAJKAIUKAIMEQAAAkAgC0UNACAJKQMwQpXm9bD5+M3NTYUgCSkDOEL9562Jv7rX2e0AhYRCAFINACALIAstABhBf3NBAXEiEjoAGCAGKAIIIRAgBigCBCEUIAZCBDcCBCAGKAIAIRogBkEANgIAIAMgBCgCECIIEQQAIRUgCSACKQNAIh6nviIvQwAAAD+UIjY4AiggCSAeQiCIp74iMEMAAAA/lCI3OAIsQ///f38hLkP//3//ISdD//9//yEqQ///f/8hBUP//39/IShD//9/fyEpAkAgAigCCCIMRQ0AAkACQCACKAIEIgcoAixB/////wNxIAcoAhRB/////wNxag4CAgABCyAHKgIQISogByoCDCEFIAcqAgQhKCAHKgIAISkMAQsgByoCECIFIAcqAigiJSAFICVgGyEqIAcqAgwiBSAHKgIkIiUgBSAlYBshBSAHKgIEIiUgByoCHCImICUgJl8bISggByoCACIlIAcqAhgiJiAlICZfGyEpCwJAIAMgCBEEACIHKAIIRQRAQ///f/8hJUP//39/ISYMAQtD//9//yElQ///f38hJgJAAkAgBygCBCIHKAIsQf////8DcSAHKAIUQf////8DcWoOAgIAAQsgByoCECEnIAcqAgwhJSAHKgIEIS4gByoCACEmDAELIAcqAhAiJSAHKgIoIiYgJSAmYBshJyAHKgIMIiUgByoCJCImICUgJmAbISUgByoCBCImIAcqAhwiLCAmICxfGyEuIAcqAgAiJiAHKgIYIiwgJiAsXxshJgsgKSABKgIIIjggASoCACIsICUgJpJDAAAAP5QiK5QgJyAukkMAAAA/lCIxIAEqAgQiMpSTkiIzICyLIjQgJSAmk0MAAAA/lCIllCAnIC6TQwAAAD+UIiYgMosiLpSSIieTIi0gKSAtYBsiNSAFIDMgJ5IiKSAFIClfGyIFXg0EICggASoCDCIzICwgMZQgKyAylJKSIicgJiA0lCAlIC6UkiIlkyIrICggK2AbIiYgKiAnICWSIiggKCAqYBsiJV4NBCAFIC+VjfwAIgetICUgMJWN/AAiCK1CIIaEIR8gNSAvlY78ACIKrSAmIDCVjvwAIgGtQiCGhCEgIAiyQwAAAD+SIDCUIQUgB7JDAAAAP5IgL5QhJSABskMAAAA/kiAw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IANBsAFqIQoCQCAAQcAAcUUNACADQeABaiEFIA4oAhBBoAFsIQQgDigCDCEAQQAhAQNAAkAgBARAIAAoAgBFDQEgAEEEaigCACELIABBEGoiBigCJCEHIAJB4ABqIg0gBigCICAHKAIIQQFrQXhxakEIaiAGIAcoApQBEQEAIAIgBjYCpAEgAiALNgKgASACIAE2ApwBIAJBAjYCmAEgAiACKQJoIjWnviACKgJgk0MAAAA/lDgCcCACIDVCIIinviACKgJkk0MAAAA/lDgCdCACIA02AqgBIAJBCGoiBiACQZgBaiIHEK4CRQ0BIAJCgICA/AM3AnggAiACKgJkIAIqAmySQwAAAD+UOAKEASACIAIqAmAgAioCaJJDAAAAP5Q4AoABIAJBiAFqIgtBCGogBUEIaikCADcDACACIAUpAgA3A4gBIAMgByAGIAJB8ABqQdy4wQAgAkH4AGogCxBvDAELIAMoAoACIQAMAgsgAEGgAWohACABQQFqIQEgBEGgAWshBAwACwALIAIgCjYCVCACIAg2AlAgAiAUNgJMIAIgAkEIajYCSAJAIABBCHFFDQAgGkUNACAaQfABbCEIIANB8ABqIQYgA0HgAGohByACQcwBaiEKIAJBvAFqIQEgAkGsAWohBUEAIQQDQCAEIBtqIgBBwAFqKQMAITUgBUEIaiAHQQhqKQIANwIAIAUgBykCADcCACABIAYpAgA3AgAgAUEIaiAGQQhqKQIANwIAIAIgADYC2AEgAiA1NwLQASACQQM2AswBIAIgADYCmAEgAiAAQbwBaigCACILNgKoASACIABBuAFqKAIAIg02AqQBIAIgAEG0AWooAgAiEDYCoAEgAiAAQbABaigCACIRNgKcASACQcgAaiARIBAgDSALIAAgBSABIAoQxwIgCCAEQfABaiIERw0ACyADKAKAAiEACwJAIABBBHFFDQAgFigCOCIBRQ0AIBYoAjQhACADQZABaiEKIANBgAFqIQsgAUEUbEEUayEEIBYoAkghDSAWKAJMIRAgAkHMAWohESACQbwBaiEHIAJBrAFqIQhBACEBA0ACQAJAIAAoAgAiEkF/RwRAIABBEGooAgAiBQ0BCyAERQ0DDAELAkACQAJAAkAgAEEEaigCACIGIBBPDQAgDSAGQaQCbGoiBigCAEGAgICAeEYNACAGKAKgAiAA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CSgCJCIBKgIAISsgASoCBCElIAEpAgghMSAJQQA2AnAgCUH0AGogCUHQAGogASAJQeAAahDLASAJKAJ0RQ0FIDFCIIinviEdIDGnviIqjCEeIC8gCSkDQCIxp76SQwAAIEGUISggMCAxQiCIp76SQwAAIEGUISlD//9//yEYQ///f38hFwJAIBVFBEBD//9/fyEGQ///f/8hGQwBC0P//39/IQZD//9//yEZAkACQCASKAIEIgIoAixB/////wNxIAIoAhRB/////wNxag4CAgABCyACKgIQIRkgAioCDCEYIAIqAgQhBiACKgIAIRcMAQsgAioCECIXIAIqAigiBiAGIBdfGyEZIAIqAgwiFyACKgIkIgYgBiAXXxshGCACKgIEIhcgAioCHCIGIAYgF2AbIQYgAioCACIaIAIqAhgiFyAXIBpgGyEXCyAlICqUIR8gKyAdlCEbICUgHZQhIiArIB6UISAgKSAliyIuIBggF5NDAAAAP5QiIZQgASoCACIjiyIkIBkgBpNDAAAAP5QiHpSSIhogJSAXIBiSQwAAAD+UIhiUICMgBiAZkkMAAAA/lCIXlJIgHZIiBpKSIRwgBiAakyApkyEdAkAgIyAYlCAlIBeUkyAqkiIYICEgJJQgLiAelJIiF5MgKJMiHiAJKQNQIjOnviAokyIGIAYgHl8bIgYgKCAXIBiSkiIaICggCSkDWCIxp76SIhcgFyAaYBsiGV5FBEAgHSAzQiCIp74gKZMiFyAXIB1fGyIXIBwgKSAxQiCIp76SIhggGCAcYBsiGF5FDQELIB4hBiAdIRcgGiEZIBwhGAsgHyAbkyEbICAgIpMhISAJKQKQASE4IAkpAogBITkgCSkCgAEhMiAJKQJ4ITUgCSAYOAKkASAJIBk4AqABIAkgFzgCnAEgCSAGOAKYAUP//3//IRdD//9/fyEYAkAgFkUEQEP//39/IQZD//9//yEZDAELQ///f38hBkP//3//IRkCQAJAIBMoAgQiASgCLEH/////A3EgASgCFEH/////A3FqDgICAAELIAEqAhAhGSABKgIMIRcgASoCBCEGIAEqAgAhGAwBCyABKgIQIhcgASoCKCIGIAYgF18bIRkgASoCDCIXIAEqAiQiBiAGIBdfGyEXIAEqAgQiGCABKgIcIgYgBiAYYBshBiABKgIAIhogASoCGCIY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AAsgBSAGagsiBSAJNgIIIAUgFjcDAAsgA0EQaiEDIAcgDUkiCSAHaiEFIAchBiAJDQALCyANQQR0IgUgC2ohAyAEIAxJBEAgACAFaiEKIARBBHQhDkEQIQggAyEJA0AgAiEFIARBBHQiAiADaiIGIAIgCmoiAikDACIWNwMAIAZBCGogAkEIaikDACIVNwMAIBWnIgQgBkEIaygCAEkgBkEQaykDACIVIBZWIBUgFlEbQQFGBEAgCCEHIAkhBgJ/A0AgBiAOaiIPQRBrIQIgDyACKQMANwMAIA9BCGogAkEIaikDADcDACADIAcgDkYNARogB0EQaiEHIAZBEGshBiAEIA9BGGsoAgBJIA9BIGspAwAiFSAWViAVIBZRGw0ACyAGIA5qCyICIAQ2AgggAiAWNwMACyAIQRBrIQggCUEQaiEJIAUgDEkiBiAFaiECIAUhBCAGDQALCyADQRBrIQYgAUEEdEEQayIEIABqIQIgBCALaiEHIAshBQNAIAAgAyAFIANBCGooAgAgBUEIaigCAEkgAykDACIWIAUpAwAiFVQgFSAWURsiCBsiBCkDADcDACAAQQhqIARBCGopAwA3AwAgAiAGIAcgB0EIaigCACAGQQhqKAIASSAHKQMAIhYgBikDACIVVCAVIBZRGyIJGyIEKQMANwMAIAJBCGogBEEIaikDADcDACADIAhBBHRqIQMgBSAIQQFzQQR0aiEFIAYgCUEEdCIEayEGIAQgB2pBEGshByACQRBrIQIgAEEQaiEAIA1BAWsiDQ0ACyAGQRBqIQQgAUEBcQRAIAAgBSADIAQgBUsiAhsiASkDADcDACAAQQhqIAFBCGopAwA3AwAgAyAEIAVNQQR0aiEDIAUgAkEEdGohBQsgBCAFRiADIAdBEGpGcQ0AEMILAAsgC0GABmokAAuEHgMPfzt9BH4jAEHgAWsiBCQAIARC////+w83ApgBIARC////+/f//79/NwKQASAEQoCAgIDw//+//wA3AogBIARC////+////79/NwKAASAEQv////v3//+//wA3AnggBEL////7DzcCcCAEQv////v3//+/fzcCaCAEQoCAgIDw//+//wA3AmAgBEL////7////v383AlggBEL////79///v/8ANwJQIARC////+w83AkggBEL////79///v383AkAgBEKAgICA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wgAQsAkACyACIANB6MXCABCwCQALIAIgA0GYxsIAELAJAAsgBEHgAWokAAv5FwIcfwJ8IwBBsARrIgMkACADQgA3A5gBIANCADcDkAEgA0IANwOIASADQgA3A4ABIANCADcDeCADQgA3A3AgA0IANwNoIANCADcDYCADQgA3A1ggA0IANwNQIANCADcDSCADQgA3A0AgA0IANwM4IANCADcDMCADQgA3AyggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACADQgA3A7gCIANCADcDsAIgA0IANwOoAiADQgA3A6ACIANCADcDmAIgA0IANwOQAiADQgA3A4gCIANCADcDgAIgA0IANwP4ASADQgA3A/ABIANCADcD6AEgA0IANwPgASADQgA3A9gBIANCADcD0AEgA0IANwPIASADQgA3A8ABIANCADcDuAEgA0IANwOwASADQgA3A6gBIANCADcDoAEgA0IANwPYAyADQgA3A9ADIANCADcDyAMgA0IANwPAAyADQgA3A7gDIANCADcDsAMgA0IANwOoAyADQgA3A6ADIANCADcDmAMgA0IANwOQAyADQgA3A4gDIANCADcDgAMgA0IANwP4AiADQgA3A/ACIANCADcD6AIgA0IANwPgAiADQgA3A9gCIANCADcD0AIgA0IANwPIAiADQgA3A8ACIANB4ANqQQBB0AD8CwBB3PbDACgCACIKIQUgAkEDa0EYbSIEQQAgBEEAShsiDiEHIA5BAnRB7PbDAGohCEEAIQQDQCADIARBA3RqIAdBAEgEfEQAAAAAAAAAAAUgCCgCALcLOQMAIAQgBUkiCwRAIAhBBGohCCAHQQFqIQcgBSAEIAtqIgRPDQELCyACQRhrIQVBACEHA0AgA0HAAmogB0EDdGogACsDACADIAdBA3RqKwMAokQAAAAAAAAAAKA5AwAgByAKSSIEBEAgCiAEIAdqIgdPDQELCyAFIA5BaGwiF2oiBkH+D0shD0HwaCAGIAZB8GhNG0GSD2ogBkHJB2ogBkG5cEkiEhshDUQAAAAAAADwf0QAAAAAAADgfyAPG0QAAAAAAAAAAEQAAAAAAABgAyASG0QAAAAAAADwPyAGQYJ4SCITGyAGQf8HSiIUG0H9FyAGIAZB/RdPG0H+D2sgBkH/B2sgDxsiECANIAYgExsgFBtB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RAAAAAAAAAAAIR8MAQsgCEEBakF+cSENRAAAAAAAAAAAIR9BACEEQQAhAgNAIB8gBEH4+MMAaisDACAEIAlqIhArAwCioCAEQYD5wwBqKwMAIBBBCGorAwCioCEfIARBEGohBCANIAJBAmoiAkcNAAsLIANBoAFqIAdBA3RqIQQgCEEBcUUEQCAfIAJBA3RB+PjDAGorAwAgA0HAAmogACACakEDdGorAwCioCEfCyAEIB85AwAgCUEIayEJIABBAWshBCAADQALAkAgBkEDcSIARQRARAAAAAAAAAAAIR8gBSECDAELIANBoAFqIAVBA3RqIQREAAAAAAAAAAAhHyAFIQIDQCACQQFrIQIgHyAEKwMAoCEfIARBCGshBCAAQQFrIgANAAsLIAVBA08EQCACQQN0IANqQYgBaiEEA0AgHyAEQRhqKwMAoCAEQRBqKwMAoCAEQQhqKwMAoCAEKwMAoCEfIARBIGshBCACQQNHIQAgAkEEayECIAANAAsLIAEgH5ogHyALGzkDACADQbAEaiQAIAxBB3EL/TcDIn8Hfgh9IwBBoAJrIgQkACAEQTBqQcC+wgApAwA3AwAgBEIANwMgIARCgICAgMAANwMYIARCBDcDECAEQgA3AwggBEKAgICAwAA3AwAgBEEANgJoIARCgICAgMAANwNgIARCwAA3A1ggBEIANwNQIARCgICAgMAANwNIIARCidm54o7TvpcINwM4IARBuL7CACkDADcDKCAEIAEpAgA3A0ACQAJAAkACQAJAAkACQAJ/IANFBEBBACEDQbC+wgAMAQsgAiADQQN0aiEPIARB1ABqIQwgBEHIAGohBiAEQThqIQkgBEEoaiEFA0AgAikCACIpQj+IpyEKICmnIgNBH3YhCCAEKAIsIgcgBCkDOEKCgICAEIUiJkIgiCIqIClCIIinIgEgCmpBEG0gCmsiDUG307CFfHOtIih+ICZC/////w+DIicgAyAIakEQbSAIayILQd2h8ct8c60iJn6FICcgKH4gJiAqfoVCIImFIiuncSEKICtCGYhC/wCDQoGChIiQoMCAAX4hKiALrSImIA2tQiCGhCEoICkgJkIEhn2nIAEgDUEEdGtBBHRqIQ4gAkEIaiECIAQoAighA0EAIQgCQANAIAMgCmopAAAiKSAqhSImQoGChIiQoMCAAX0gJkJ/hYNC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AGByRQ0BIANBLGohAyAGIAJBAWoiAkcNAAsMAgtBASEHIAJBAWohAgsgAiAGRg0AIAEqAgAiCEMAAAAAYEUEQCAIQwAAoECUIQggBiACayEFIAJBLGwgAGpBJGohAwNAAkACQCADKgIAIhNDAAAAAGANACAIIBNfDQAgB0EBaiEHDAELIAMgB0FUbGoiAiADQSBrIgFBIGopAgA3AgAgAkEIaiABQShqKAIANgIAIAJBIGsiAiABKQIANwIAIAJBGGogAUEYaikCADcCACACQRBqIAFBEGopAgA3AgAgAkEIaiABQQhqKQIANwIACyADQSxqIQMgBUEBayIFDQALDAELIAIhASAGIAJrQQNxIgUEQCACIAVqIQEgB0FUbCELIAJBLGwgAGpBBGohAwNAIAMgC2oiBCADKQIANwIAIARBKGogA0EoaigCADYCACAEQSBqIANBIGopAgA3AgAgBEEYaiADQRhqKQIANwIAIARBEGogA0EQaikCADcCACAEQQhqIANBCGopAgA3AgAgA0EsaiEDIAVBAWsiBQ0ACwsgAiAGa0F8Sw0AIAYgAWshAiABQSxsIQsgACAHQVRsaiEFIAAhAQNAIAUgC2oiA0EsaiABIAtqIgRBLGooAgA2AgAgA0EkaiAEQSRqKQIANwIAIANBHGogBEEcaikCADcCACADQRRqIARBFGopAgA3AgAgA0EMaiAEQQxqKQIANwIAIANBBGogBEEEaikCADcCACADQTBqIARBMGopAgA3AgAgA0E4aiAEQThqKQIANwIAIANBQGsgBEFAaykCADcCACADQcgAaiAEQcgAaikCADcCACADQdAAaiAEQdAAaikCADcCACADQdgAaiAEQdgAaigCADYCACADQYQBaiAEQYQBaigCADYCACADQfwAaiAEQfwAaikCADcCACADQfQAaiAEQfQAaikCADcCACADQewAaiAEQewAaikCADcCACADQeQAaiAEQeQAaikCADcCACADQdwAaiAEQdwAaikCADcCACADQYgBaiAEQYgBaikCADcCACADQZABaiAEQZABaikCADcCACADQZgBaiAEQZgBaikCADcCACADQaABaiAEQaABaikCADcCACADQagBaiAEQagBaikCADcCACADQbABaiAEQbABaigCADYCACABQbABaiEBIAVBsAFqIQUgAkEE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AgA3AwAgAUEIaiAOKQIANwMAIAIgCTYCkAEgAiAGNgKMASACIAw2AogBIAIgAzYChAEgAiAINgKAASACIAIpAgw3A1AgACgCMCEDIAAoAiwiECgCACEGIBAoAgQiBSgCCCEJIAIgACgCNCgCACkCACI5NwOYASACQQA7AagBIAJCADcDoAEjAEEQayIEJAAgBCAGIAlBAWtBeHFqQQhqIgYgBSgCgAERAAAgAkGwAWoiCSAEKQIIIjunviAEKgIAkyIbIAcpAiQiPKdB/////wdxviIdIBsgHZQgO0IgiKe+IAQqAgSTIh0gPEIgiKdB/////wdxviIclJIiG5STIh4gHpQgHSAcIBuUkyIdIB2UkpG8rSAbvK1CIIaENwIAIARBEGokACACIDk3A7gBIAcgLCABIAYgBSADIAlBAEEAEFchGCACQgA3AsABIAMqAgQhIiADKgIAISUgAyoCDCEnIAMqAgghIwJAAkAgOae+IhsgG5QgOUIgiKe+Ih0gHZSSIhxD/ubbLl4EQCAHKgIEIh4gHiACKgK0AZQgBygCABshNSAHQTxqIQogByoCNCEyIAJB2AFqIQlBayERIActADhBAXEhGUEAIQEDQAJAIAIgGyAckSIblbytIB0gG5W8rUIghoQ3A8gBIBFBAWoiEUUNACACICI4AoQCIAIgJTgCgAIgAiAjIAIpA6ABIjmnvpI4AogCIAIgJyA5QiCIp76SOAKMAiACQYACOwHwAiACIDU4AuwCIAIgGzgC6AIgAkHQAWogAkHQAGogAkGAAmogAkHIAWogBiAFIAJB6AJqEFggAi0A/AFBBEYNAyACQZACaiIBQQhqIAlBCGoiDSkCADcDACABQRBqIAlBEGoiDCkCADcDACABQRhqIAlBGGoiEikCADcDACABQSBqIAlBIGoiFCkCADcDACACIAkpAgA3A5ACIAIgAioCoAEgAioCkAIiGyACKQPIASI5p76UIh2SOAKgASACIAIqAqQBIBsgOUIgiKe+lCIbkjgCpAEgAigC1AEhDiACKALQASELIAIgAioCuAEgHZM4ArgBIAIgAioCvAEgG5M4ArwBICMgAikDoAEiOae+krwhFSAnIDlCIIinvpK8IRYgAikDuAEhOiAHKAJEIgMgBygCPEYEQEEAIQQjAEEgayIBJABBBCAKKAIAIghBAXQiEyATQQRNGyITrULQAH4iO0IgiEIAUgRAQQBBAEH4wsEAEPkLAAsCQCA7pyIaQfz///8HTQR/IAEgCAR/IAEgCEHQAGw2AhwgASAKKAIENgIUQQQFQQALNgIYIAFBCGpBBCAaIAFBFGoQkQggASgCCEEBRw0BIAEoAhAhBCABKAIMBUEACyAEQfjCwQAQ+QsACyABKAIMIQQgCiATNgIAIAogBDYCBCABQSBqJAALIAcoAkAgA0HQAGxqIgEgOjcCICABIDk3AhggASAONgIUIAEgCzYCECABICI4AgQgASAlOAIAIAEgCSkCADcCKCABIBWtIBatQiCGhDcCCCABQTBqIA0pAgA3AgAgAUE4aiAMKQIANwIAIAFBQGsgEikCADcCACABQcgAaiAUKQIANwIAIAcgA0EBajYCRCACQbwCaiEEQwAAAAAhHCACQZACaiIBKgIYIRsgASoCFCEdAkACQCAHKgIkIh4gHpQgByoCKCIfIB+UkiIhQwAAAABcBEAgHSAdlCAbIBuUkiImQwAAAABcDQELIB4gHZQgHyAblJIhGwwBC0MAAIC/QwAAgD8gHiAdlCAfIBuUkiIbICGRICaRlJUiHSAdQwAAgD9eGyAdQwAAgL9dGxD9AyEcCyAEIAEpAgA3AgAgBEEIaiABQQhqKQIANwIAIARBEGogAUEQaikCADcCACAEQRhqIAFBGGopAgA3AgAgBEEgaiABQSBqKQIANwIAIAQgHCAHKgIwXzoAKSAEIBtDAAAAAF1Bf3MgHCAHKgIsYHE6ACggAkHoAmoiASACQdAAakHEAPwKAAAgAiAiOAK0AyACICU4ArADIAIgIyACKQOgASI5p76SOAK4AyACICcgOUIgiKe+kjgCvAMgAkGwA2ohCCACQbABaiESIAJBuAFqIQ0gAkGgAWohDEEAIRQjAEGAAWsiAyQAAkAgBygCCCIVQQJGDQAgBC0AKEEBRw0AIBIqAgQhGyAHKgIMIR0gByoCBCEcIAcoAgAhFiASKgIAITAgByoCFCEfIAcoAhAhEiAHLQAYRQRAAkAgCyABKAJAIhMoAhBPDQAgEygCDCALQaABbGoiCygCAEEBRw0AIAsoAgQgDkcNACALKAJ0QQFxRQ0AIAsoAogBIhMgASgCPCIOKAKMAk8NACAOKAKIAiATQQh0aiIOKAIAQQFHDQAgDigCBCALKAKMAUcNACAOLQDxAUUNAgsgASABKAIkQQRyNgIkCyADIAgqAgQiLTgCBCADIAgqAgAiLjgCACADIAgqAgggHSAdIBuUIBVBAXEbIBwgHCAblCAWGyImkiIhIAcpAiQiOae+IhyUkiIqOAIIIAMgCCoCDCAhIDlCIIinviIelJIiKzgCDCANKQIAIjmnviIzIDMgHJQgOUIgiKe+IjQgHpSSIhsgHJQiKJMiICAglCA0IBsgHpQiKZMiJCAklJKRIhtDrMUnN18NACADICQgG5U4AhQgAyAgIBuVOAIQIANBgAI7AXggAyAmOAJ0IAMgITgCcCADQUBrIgsgASAIIAdBJGogBiAFIANB8ABqIggQWCADLQBsQQRHDQAgA0GAAjsBeCADICY4AnQgAyAmIB8gHyAwlCASG5IiHzgCcCALIAEgAyADQRBqIAYgBSAIEFggAy0AbEEERw0AIAMgLTgCHCADIC44AhggAyAqIB8gAykDECI5p76UkjgCICADICsgHyA5QiCIp76UkjgCJCADIB6MIjA4AiwgAyAcjCI2OAIoIANBgAI7AXggAyAmOAJ0IAMgITgCcCALIAEgA0EYaiADQShqIAYgBSAIEFgCQCADLQBsQQRGDQAgAyoCYCEdIAMqAlwhGyADICQ4AjwgAyAgOAI4IAMgKTgCNCADICg4AjAgA0HIAGoiCykCFCI5QiCIp74hJCAIQwAAAABDAAAAACALKgIYIiggA0EwaiIOKQIIIjpCIIinviIpjJQgCyoCFCIxIDqnviI3lJMiICAgQwAAAABdGyAgICBcG0NUAIA/lCIgIDmnviI4lCA3krytICAgJJQgKZK8rUIghoQ3AgggCEMAAAAAQwAAAAAgKCAOKQIAIjlCIIinviIojJQgMSA5p74iKZSTIiAgIEMAAAAAXRsgICAgXBtDVACAP5QiICA4lCApkrytICAgJJQgKJK8rUIghoQ3AgAgAykCeCE5IAMqAnAhJCADKgJ0IShDAAAAACEgAkAgHCAclCAeIB6UkiIpQwAAAABbDQAgGyAblCAdIB2UkiIxQwAAAABbDQBDAACAv0MAAIA/IBwgG5QgHiAdlJIgKZEgMZGUlSIbIBtDAACAP14bIBtDAACAv10bEP0DISALICQgOae+kiAclCAoIDlCIIinvpIgHpSSQwAAAABgRQ0AICAgByoCLF4NAQsgAyAtOAJ0IAMgLjgCcCADICogHyADKQMQIjmnvpSSOAJ4IAMgKyAfIDlCIIinvpSSOAJ8IAMgMDgCHCADIDY4AhggA0GAAjsBOCADICY4AjQgAyAhOAIwIANBQGsgASADQfAAaiADQRhqIAYgBSADQTBqEFggDSA0ICEgISADKgJIIAMtAGxBBEYbkyIbIB6UIh2TIh4gMyAbIByUIhyTIiEgAyoCEJQgHiADKgIUlJIiGyAbIB8gGyAfXRsgHyAfXBsiGyADKQMQIjlCIIinvpQiHpM4AgQgDSAhIBsgOae+lCIbkzgCACAMIAwqAgAgHCAbkpI4AgAgDCAdIB6SIAwqAgSSOAIEQQEhFAsgA0GAAWokACAURQRAIAQpAhQiOUIgiKe+IR5CACAEKgIYIiQgDSoCBCIdlCANKgIAIhwgBCoCFJSSIhsgOae+Ih+UvK0gGyAelLytQiCGhCI5IBtDAAAAAF0iAxsiOqe+ISEgHCAhkyA5QgAgAxsiOae+kyIbIBtDAAAAAJQgHSA6QiCIp74iJpMgOUIgiKe+kyIcQwAAAACUkkMAAAAAlCIbkyItIAcpAiQiOae+Ih2UIBwgG5MiLiA5QiCIp74iHJSSISACfQJAAkAgAkGYAWoiAyoCACAdlCADKgIEIByUkiIqIB2UIisgHZQgKiAclCIqIByUkkMAAAAAXg0AICBDAAAAAF5FDQAgBC0AKEEBcQ0BCwJAICBDAAAAAF1FDQAgBC0AKUEBcUUNAEIAIAMpAgAiOae+ICuTIisgH5QgJCA5QiCIp74gKpMiJJSSIiAgH5S8rSAgIB6UvK1CIIaEIjogIEMAAAAAXSIDGyE5ICsgOae+kyA6QgAgAxsiOqe+kyIgICBDAAAAAJQgJCA5QiCIp76TIDpCIIinvpMiIEMAAAAAlJJDAAAAAJQiJJMgHZQgICAkkyAclJJDAAAAAF1FDQELIAxBAToACSAuIBsgJpKSIR0gLSAbICGSkgwBCyAbICaSIR0gGyAhkgshGyABIDIgHpQgHZI4AgQgASAyIB+UIBuSOAIAIAIgAikD6AI3A7gBCyACICMgAikDoAEiOae+kjgC8AIgAiAiOALsAiACICU4AugCIAIgJyA5QiCIp76SOAL0AiACIAcgLCACQdAAaiAGIAUgAkHoAmogAkGwAWogAkHAAWogAkG4AWoQVzoAqAEgGUUNBEEBIQEgAioCuAEiGyAblCACKgK8ASIdIB2UkiIcQ/7m2y5eDQEMBAsLIAFBAXENAiACKQOgASE6CyACICI4AuwCIAIgJTgC6AIgAiAjIDqnvpI4AvACIAIgJyA6QiCIp76SOAL0AiACIAcgLCACQdAAaiAGIAUgAkHoAmogAkGwAWpBAEEAEFc6AKgBDAELIAIqArwBIRsgAioCuAEhHSACQgA3A7gBIAIgHSACKgKgAZI4AqABIAIgGyACKgKkAZI4AqQBIAIgIjgC7AIgAiAlOALoAiACICMgAikDoAEiOae+kjgC8AIgAiAnIDlCIIinvpI4AvQCIAIgByAsIAJB0ABqIAYgBSACQegCaiACQbABakEAQQAQVzoAqAELIBgEQCACICI4AtQBIAIgJTgC0AEgAiAjIAIpA6ABIjmnvpI4AtgBIAIgJyA5QiCIp76SOALcASACQegCaiEDIAJB0ABqIQggAkHQAWohDSACQbABaiEJIAJBoAFqIQQjAEHQAGsiASQAAkACQCAHKAIcIgxBAkYNACAEKgIAIh4gByoCJCIflCAEKgIEIiIgByoCKCIllJJDrMUnt11FDQAgByoCICEbIAcoAgAhCiAHKgIEIR0gCSoCBCEcIAEgJYw4AkAgASAfjDgCPCABQYACOwFMIAEgHSAcIB2UIAobOAJIIAEgGyAbIByUIAxBAXEbOAJEIAFBDGoiCSAIIA0gAUE8aiAGIAUgAUHEAGoQWCABLQA4QQRGDQAgBEEBOgAIIAMgASkCDDcCACADQQhqIAlBCGoiBSkCADcCACADQRBqIAlBEGopAgA3AgAgA0EYaiAJQRhqKQIANwIAIANBIGogCUEgaikCADcCACADQShqIAlBKGopAgA3AgAgBCAeIAUqAgAiGyAHKQIkIjmnvpSTOAIAIAQgIiAbIDlCIIinvpSTOAIEDAELIANBBDoALAsgAUHQAGokAAsgAkHwAmogAkGoAWooAgAiATYCACACIAIpA6ABIjk3A+gCIA8oAgAiByA5NwJIIAdB0ABqIAE2AgACQCAAKAI4LQAARQ0AIA8oAgAiDCgCRCIARQ0AIBAoAgAgECgCBCIHKAIIQQFrQXhxakEIaiEDIBcqAgAhGyAMKAJAIQEgAEHQAGwhDQNAIAJBDGohAEEAIQhBACEKIwBBoAJrIgQkACAEQeAAaiADIAcoAoABEQAAIAQqAmQhHCAEKgJgIR4gBCkCaCE5IAEqAiQhJSABKgIgIScgASkCPCE6IAwoAgAhBiAMKgIEIR0gDCkCJCE7IARBADYCFCAEQoCAgIDAADcCDCAEQRhqIgUgAyABIAcoApQBEQEAAkAgHSAdIDmnviAekyA7p0H/////B3G+lCA5QiCIp74gHJMgO0IgiKdB/////wdxvpSSlCAGG0PNzEw9kiIdQwAAAABgBEAgBCkDGCE5IAQpAyAhOyAFQShqIABBKGopAgA3AwAgBUEgaiAAQSBqKQIANwMAIAVBGGogAEEYaikCADcDACAFQRBqIABBEGopAgA3AwAgBUEIaiAAQQhqKQIANwMAIAQgACkCADcDGCAEIAAoAkA2AlggBCAAKAI8Igk2AlQgBCAAKAI4IgY2AlAgBCAAKQIwNwNIIB0gO6e+kiEcIDmnviAdkyEeIB0gO0IgiKe+kiEfIDlCIIinviAdkyEiAkAgBigCCEUEQEEAIQAMAQsCf0EAIBwgBigCBCIFKQIAIjmnvmBFDQAaQQAgHyA5QiCIp75gRQ0AGiAFQQAgIiAFQQxqKQIAIjlCIIinvl8bQQAgHiA5p75fGwshACAFKAIsQf////8DcUUNACAcIAVBGGoiCCkCACI5p75gRQ0AIB8gOUIgiKe+YEUNACAeIAVBJGopAgAiOae+XyAiIDlCIIinvl9xIQoLIAQgHzgC/AEgBCAcOAL4ASAEICI4AvQBIAQgHjgC8AEgBCAANgLsASAEIAY2AugBIAQgCjYC5AEgBCAINgJkIARBADYCYCAEIARBGGo2AoACIARBhAJqIARB4ABqIARBgAJqIgsQtQIgBCgCjAIiAARAIAEqAgwhHyABKgIIISIgASoCBCEcIAEqAgAhHgNAAkAgACgCZEUNACAAKAJ4IgogCSgCjAJPDQAgCSgCiAIgCkEIdGoiBSgCAEEBRw0AIAAoAnwiDyAFKAIERw0AIAUtAPEBDQAgBCgCFCEFQQAhCCAEQQA2AhQgBQRAIAQoAhBB4ABqIQYDQCAGKAIABEAgBkEANgIACyAGQSBrKAIAIggEQCAGQRxrKAIAIAhBMGxBEBCfDQsgBkHUAWohBiAFQQFrIgUNAAsgBCgCFCEICyAEIB4gACoCBCIjlCAcIAAqAgAiIZSTOAKIAiAEIB4gIZQgHCAjlJI4AoQCIAQgHiAAKgIIICKTIiOUIBwgACoCDCAfkyIhlJK8rSAeICGUIBwgI5STvK1CIIaENwKMAiAAKAIgIQUgACgCJCIAKAIIIQYgBEEANgKUAiAEQZ8CaiAEQYQCaiADIAcgBSAGQQFrQXhxakEIaiAAIB0gBEEMaiAEQZQCahBCGgJAIAQoApQCIgBFDQAgBCgCmAIiBSgCACIGBEAgACAGEQYACyAFKAIEIgZFDQAgACAGIAUoAggQnw0LIAQoAhQiACAITwRAIAAgCEYNASAEKAIQIQYgAEHUAWwhBSAIQdQBbCEIA0AgBiAIaiIAQTxqIA82AgAgAEE4aiAKNgIAIABBNGpBATYCACAAQdAAaiAeIABBvAFqKgIAIiOUIBwgAEHAAWoqAgAiIZSTvK0gHCAjlCAeICGUkrytQiCGhDcCACAGQdQBaiEGIAggBUHUAWsiBUcNAAsMAQsgCCAAQeiiwgAQog0ACyAEQYQCaiAEQeAAaiALELUCIAQoAowCIgANAAsLIAQoAuQBIgBBIU8EQCAEKAJoIABBAnRBBBCfDQsgBCgCECEFAkAgBCgCFCIARQ0AQwAAAABDAACAPyAblSAbi0MI5TweXxsiHCAnIDqnviIelCAlIDpCIIinviIflJIiIiAflJQhJSAcICIgHpSUIScgBSAAQdQBbGohCyAJQfABaiEPIAVB1AFqIQgDQAJAIAUoAjRBAXEEQAJAAkAgBSgCOCIGIAkoAowCTw0AIAkoAogCIAZBCHRqIgAoAgBBAUcNACAFKAI8IhAgACgCBEYNAQtBnPvBAEETQdiiwgAQ+AkACyAAKALIASIKQQFxRQRAIAAgCkEBcjYCyAEgCSgC+AEiCiAJKALwAUYEQCAPQdT9wQAQyQYLIAkgCkEBajYC+AEgCSgC9AEgCkEDdGoiCiAQNgIEIAogBjYCAAsgBSgCYCIGRQ0BIAZBLGwhEEEAIQYgAEEUaiERIAVB1ABqIQ4gAEEcaiESA0ACQCAFIAZqIgpBhAFqKgIAIB1fRQ0AIAAqAhggCkH8AGoqAgAiHCAAKgIQIh6UIApBgAFqKgIAIh8gESoCACIilJOSIAAqAqABkyIjIC9DAAAAAEMAAIA/IAAqApgBIiGVICFDAAAAAFsbIiGUIC8gIZKVIiFDAAAAAEMAAAAAIAUqAlAgJyAAKQJoIjmnviImIBIqAgAgHyAelCAcICKUkpIgACoCpAGTIh8gACoCcCIelJOTlCAOKgIAICUgIyAelCA5QiCIp74iI5KTlJIiHCAcQwAAAABdGyAcIBxcGyIiIAUpAlAiOUIgiKe+lJQiHJQgHyAhICIgOae+lJQiH5STISIgAC0A8QEhCgJAIB9DAAAAAFwgHEMAAAAAXHJFDQAgCg0AIAAgHCAAKgKsAZQgI5I4AmwgACAfIAAqAqgBlCAmkjgCaCAALQDgAQRAIAAgACgCyAFBBHI2AsgBCyAAQQA2AtwBIABBADoA4AELICJDAAAAAFsNACAKDQAgACAeICIgACoCsAGUkjgCcCAALQDgAQRAIAAgACgCyAFBBHI2AsgBCyAAQQA2AtwBIABBADoA4AELIBAgBkEsaiIGRw0ACwwBC0HIosIAEKUNAAsgBUHUAWohBSAIQQBB1AEgCCALRiIAG2ohCCAARQ0ACyAEKAIQIQUgBCgCFCIGRQ0AIAVB4ABqIQADQCAAKAIABEAgAEEANgIACyAAQSBrKAIAIgkEQCAAQRxrKAIAIAlBMGxBEBCfDQsgAEHUAWohACAGQQFrIgYNAAsLIAQoAgwiAARAIAUgAEHUAWxBBBCfDQsgBEGgAmokAAwBCyAEQQA2AnAgBEEBNgJkIARBkMfBADYCYCAEQgQ3AmggBEHgAGpBmMfBABDcCwALIAFB0ABqIQEgDUHQAGsiDQ0ACwsgAkHAA2okAAu+EwIFfwJ+IwBBoAFrIgQkACAAKAIEIQUCQAJAAkACQAJAAkACfwJAAkAgACgCAEEBaw4CBgEACyAEQYCU69wDNgJgIARBiAFqQQA2AgAgBEGAAWpCADcDACAEQgA3A3gCQCAFKAJAIgAgBSgCyAEiBnENAANAAkACQCAFKALMASAGQQFrIABxIgZBHGxqIgEoAhgiAiAARwRAIAUoAsQBIgEgAmogAEEBakcNAiABIAUoAgBqIABGDQEMAgsgBSgCQCIHIABGIQIgBQJ/IAUoAsABIAZBAWpNBEAgBSgCxAEiBiAAQQAgBmtxagwBCyAAQQFqCyAHIAIbNgJAIAJFDQEgAUEQaiADQRBqKQIANwIAIAQgATYCeCAEIABBAWoiADYCfCABQQhqIANBCGopAgA3AgAgASADKQIANwIAIAEgADYCGCAFQaABahDPAkECDAULAkAgBCgCYCIAQYCU69wDRg0AIAQpA1ghChC/CwJAIAogBCkDKCILUgRAIAogC1YNAgwBCyAEKAIwIABJDQELQQAMBQtB5P7DACgCAEUEQBCTCAtB6P7DACgCACEAQej+wwBBADYCAAJAIABFBEAgBBC3BSIANgIQIAQgBTYCLCAEIARB2ABqNgIwIAQgBEH4AGo2AiggBEEoaiAEQRBqIgEQ9AEgACAAKAIAIgBBAWs2AgAgAEEBRw0BIAEQhQoMAQsgAEIANwIMIAQgADYCECAEIAU2AiwgBCAEQdgAajYCMCAEIARB+ABqNgIoIARBKGoiAiAEQRBqEPQBQej+wwAoAgAhAUHo/sMAIAA2AgAgBCABNgIoIAFFDQAgASABKAIAIgBBAWs2AgAgAEEBRw0AIAIQhQoLIAUoAkAiACAFKALIASIGcUUNAQwCCyAFKAJAIgAgBSgCyAEiBnFFDQALC0ECQQEgAygCAEECRhsMAQsgBEGAlOvcAzYCCCAEQSBqQQA2AgAgBEEYakIANwMAIARCADcDECAEIAUtAAAiADoAKCAFQQE6AAAgAEEBRg0BAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAUoAiQiAEUNACAAQQxsIQggBSgCICEJQQAhAEEBIQYDQAJAIAAgCWoiAigCACIBKAIUQeS/wwBGDQAgASABKAIMIgcgAkEEaigCACAHGzYCDCAHDQAgBkEBayEHIAJBCGooAgAiAgRAIAEgAjYCEAsgBSgCJCIBIAdNDRAgBSgCICAAaiICKAIAIQAgAkEEaikCACEKIAEgBmtBDGwiBgRAIAIgAkEMaiAG/AoAAAsgBSABQQFrNgIkIABFDQIgBCAANgIoIAQgCjcCLCAEIApCIIinIgE2AiAgBUEAOgAAIApCgICAgBBUDQMgAUEBOgAYIAEgAykCADcCACABQRBqIANBEGopAgA3AgAgAUEIaiADQQhqKQIANwIADAQLIAZBAWohBiAIIABBDGoiAEcNAAsLIAUtADQNCSAEQShqIgBBEGogA0EQaikCADcDACAAQQhqIANBCGopAgA3AwAgBCAFNgJMIAQgBTYCRCAEIAMpAgA3AyggBCAENgJIIAQgBEEQajYCQEHk/sMAKAIARQRAEJMIC0Ho/sMAKAIAIQFB6P7DAEEANgIAIAFFDQMgAUIANwIMIAQgATYCVCAEKAIoIQMgBEECNgIoIANBAkYNBiAEQfgAaiIAQQxqIARBKGoiAkEMaikCADcCACAAQRRqIAJBFGopAgA3AgAgAEEcaiACQRxqKQIANwIAIABBJGogAkEkaigCADYCACAEIAM2AnggBCAEKQIsNwJ8IARB2ABqIAAgBEHUAGoQlQFB6P7DACgCACECQej+wwAgATYCACAEIAI2AnggAkUNBCACIAIoAgAiAUEBazYCACABQQFHDQQgABCFCgwECyADKAIAQQJHDQELIAAgACgCACIAQQFrNgIAIARBAjYCeCAAQQFHDQggBEEoahCFCgwIC0Gwy8EAEKUNAAsgBBC3BSIANgJUIAQoAighASAEQQI2AiggAUECRg0BIARB+ABqIgJBDGogA0EMaikCADcCACACQRRqIANBFGooAgA2AgAgBCABNgJ4IAQgBTYCnAEgBCAFNgKUASAEIAMpAgQ3AnwgBCAENgKYASAEIARBEGo2ApABIARB2ABqIAIgBEHUAGoiARCVASAAIAAoAgAiAEEBazYCACAAQQFHDQAgARCFCgsgBCgCWCIAQQNHDQIgBEH4AGohBiMAQTBrIgAkACAAELcFIgM2AgQgBEEoaiIBKAIAIQUgAUECNgIAAkAgBUECRwRAIABBCGoiAkEMaiABQQxqKQIANwIAIAJBFGogAUEUaikCADcCACACQRxqIAFBHGopAgA3AgAgAkEkaiABQSRqKAIANgIAIAAgBTYCCCAAIAEpAgQ3AgwgBiACIABBBGoiARCVASADIAMoAgAiAkEBazYCACACQQFGBEAgARCFCgsgAEEwaiQADAELQeDMwQAQpQ0ACwwDC0HgzMEAEKUNAAtB4MzBABClDQALIAQgADYCeAsgBCgCKEECRg0BIAQoAkRBADoAAAwBCyAFQQA6AAAgBEEBNgJ4CyAEKAJ4CyIAQQJGDQQgAEEBcUUNAgwECyAEQgA3AoQBIARCgYCAgMAANwJ8IARBkM3BADYCeCAEQShqIARB+ABqQZjNwQAQpwsACyAHIAFBsMzBABCvCQALQejKwQBBKEGQy8EAEPkKAAsgBSgCQCIAQQFxDQAgBSgCRCEBQQAhAgJAAkACQANAAkAgAEEBdkEfcSIGQR9GBEADQCAFKAJAIgBBAXENAiAAQQF2QR9xIgZBH0YNAAsgBSgCRCEBCwJAIAZBHkcNACACDQBB6AYQ1goiAg0ADAcLAkACQCABDQBB6AYQ1goiAQRAIAUgBSgCRCIHIAEgBxs2AkQgB0UEQCAFIAE2AgQMAgsgAgRAIAJB6AZBBBCfDQsgASECDAILDAgLIAUoAkAiCCAARiEHIAUgAEECaiAIIAcbNgJAIAdFDQAgBkEeRw0DIAJFDQUgBSACNgJEIAUgBSgCQEECajYCQCABIAI2AgBBHiEGDAQLIAUoAkQhASAFKAJAIgBBAXFFDQELC0EAIQFBACEGCyACBEAgAkHoBkEEEJ8NCyABRQ0CCyABIAZBHGxqIgAgAykCADcCBCAAQRRqIANBEGopAgA3AgAgAEEMaiADQQhqKQIANwIAIAAgACgCHEEBcjYCHCAFQYABahDPAgwBC0Ggy8EAEKUNAAsgBEGgAWokAA8LQQRB6AZB8PrDACgCACIAQe8HIAAbEQAAAAuxEAMJfxR9An4jAEHQAmsiCiQAIAogCDgCECAKIAk6ABcgCiAHOAIMIApBGGoiCUEgaiIPIARBIGooAgA2AgAgCUEYaiINIARBGGopAgA3AwAgCUEQaiIQIARBEGopAgA3AwAgCUEIaiIRIARBCGopAgA3AwAgCiAEKQIANwMYIApBQGsiBEEYaiILIAJBGGopAgAiJzcDACAEQSBqIgwgAkEgaigCADYCACAEQRBqIhIgAkEQaikCADcDACAEQQhqIg4gAkEIaikCACIoNwMAIAogAikCADcDQCANIA0qAgAgCyoCAJM4AgAgCiAKKgI0IAoqAlyTOAI0IAoqAlQhFyAKKgJAIRQgEioCACEZIAoqAkQhEyAHIAwqAgCUIhYQuwEhFSAoQiCIp74iGiATIBmUIBQgF5SSkiEYIA4gFCAZlCATIBeUkyAop74iG5IiHCAHICenvpSSIBYQvgEiFiAbIByTIhuUIBUgGiAYkyIalJOSOAIAIAogGCAHICdCIIinvpSSIBUgG5QgFiAalJKSOAJMIAogFCAVlCATIBaUkiIYOAJEIAogFCAWlCATIBWUkyIaOAJAIAxBADYCACALQgA3AwAgDikDACEnIApBBDoAiAEgCiAIOAKMASAHQwAAAACUIiAQuwEhGyAgEL4BIRwgCioCHCEUIAogHCAalCAbIBiUkyITIAcgDyoCACIklCIWELsBIiEgCioCGCIVlCAUIBYQvgEiIpSSIh2UIBsgGpQgHCAYlJIiFiAVICKUIBQgIZSTIh6UkzgClAEgCiATIB6UIBYgHZSSOAKQASAUIBAqAgAiHpQgFSAKKgIsIh+UkiARKQMAIihCIIinviIlkiEdICinviIjIBUgHpQgFCAflJOSIR4gJ6e+IiYgGSAalCAXIBiUk5IhHyAdIAcgDSkDACIoQiCIp76UkiAhICMgHpMiI5QgIiAlIB2TIh2UkpIgGSAYlCAXIBqUkiAnQiCIp74iF5IiGSAgkiAbICYgH5MiGJQgHCAXIBmTIhmUkpKTIRcgCiATIB4gByAop76UkiAiICOUICEgHZSTkiAfICCSIBwgGJQgGyAZlJOSkyIHlCAWIBeUkrytIBMgF5QgFiAHlJO8rUIghoQiJzcCmAEgCiAnNwKoASAKIBMgFSAIICSUIgcQuwEiCJQgFCAHEL4BIgeUkiIXlCAWIBUgB5QgFCAIlJMiB5STOAKkASAKIBMgB5QgFiAXlJI4AqABIApBsAJqIgIgBSAKQZABaiAGKAKUASILEQEAIApBxAFqIgwgBSAKQaABaiALEQEAIAogCioCtAIiByAKKgLIASIIIAcgCF8bOAK0ASAKIAoqArACIgcgCioCxAEiCCAHIAhfGzgCsAEgCiAKKgK8AiIHIAoqAtABIgggByAIYBs4ArwBIAogCioCuAIiByAKKgLMASIIIAcgCGAbOAK4ASAKIAY2AtgBIAogBTYC1AEgCiABNgLMASAKIAM2AsQBIAopA7gBIScgCiAKQeQAajYC7AEgCiAKQYwBajYC6AEgCiAKQRdqNgLkASAKIApBEGo2AuABIAogCkEMajYC3AEgCiAJNgLQASAKIAQ2AsgBIAogJ6e+IAMqAkAiCJWN/ACtICdCIIinviADKgJEIhSVjfwArUIghoQiJzcD+AEgCiAKKQOwASIop74gCJWO/ACtIChCIIinviAUlY78AK1CIIaEIig3A/ABIAwgKCAnEKIBIAIgAxCfBCAKIAopA7ACNwOAAiAKIAopA7gCNwOIAiACQQhqIQIgCkGYAmohCSAKQfgBaiELIApBuAFqIQwDQCAKIAggJ6eylDgCmAIgCiAIICinspQ4ApACIAogFCAnQiCIp7KUOAKcAiAKIBQgKEIgiKeylDgClAIgCiAMNgLIAiAKIAk2AsACIAogDTYCuAIgCioCMCETIAogCkGwAWo2AsQCIAogCkGQAmo2ArwCQQghBEEQIQMCfSATQwAAAABeIgVFBEBD//9/fyATQwAAAABdRQ0BGkEEIQRBDCEDC0P//39/IAIgBGooAgAqAgAgAiADaigCACoCAJMgE5UiByAHQwAAAABdGwshBwJ9An8gCioCNCIVQwAAAABeIgMEQEEIIQZBEAwBC0P//39/IBVDAAAAAF1FDQEaQQQhBkEMCyEBQ///f38gAiAGaigCAEEEaioCACABIAJqKAIAQQRqKgIAkyAVlSITIBNDAAAAAF0bCyETIAogAzoArAIgCiAFOgCkAgJAAkAgEyAKKgIQIhVeIAcgFV5xDQAgByATXiIGQQJ0IgEgC2ohAyAKQfABaiABciIFKAIAIQQgCkGgAmogBkEDdGotAARFBEAgBSAEQQFrIgU2AgAgAyADKAIAQQFrIgM2AgAgBSAKQYACaiABcigCACIFSARAIAMgBUoNAwwCCyAKIAopA/gBNwOwAiAKQbACaiABciAENgIAIApBxAFqIAopA/ABIAopA7ACEKIBDAILIAUgBEEBaiIENgIAIAMgAygCACIDQQFqIgU2AgAgBSAKQYgCaiABcigCACIFTARAIAogCikD8AE3A7ACIApBsAJqIAFyIAM2AgAgCkHEAWogCikDsAIgCikD+AEQogEMAgsgBCAFSA0BCyAAIAopAmQ3AgAgAEEgaiAKQeQAaiIBQSBqKQIANwIAIABBGGogAUEYaikCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIAIApB0AJqJAAPCyAKKQP4ASEnIAopA/ABISgMAAsAC9sSAyJ/BX0DfiMAQfADayIIJAAgBhDXBQJ/AkACQAJAAkAgBigCACIOBEAgCEEYaiAOIAYoAgQoAhwRAAAgCEHQAmogCCgCGCIJIAgoAhwoAgwRAAAgCUUNAiAIKQPQAkKs/66rxLfMr9QAhSAIKQPYAkKM9KySw9iQyYN/hYRCAFINAiAIQeADaiACIAAgAygClAERAQAgBEMAAAAAYEUNASAEIAgpA+gDIi+nvpIhKyAEIC9CIIinvpIhKiAIKQPgAyIvQiCIp74gBJMhLAJAIC+nviAEkyIuIAkqAhhgRQ0AIAkqAhwgLF9FDQAgCSoCICArYEUNACAJKgIkICpgRQ0AQQQhFUEBDAYLIAggKiAqICyTQwAAIEGVIipDzczMPSAqQ83MzD1dGyItkjgCMCAIICsgKyAuk0MAACBBlSIqQ83MzD0gKkPNzMw9XRsiKpI4AiwgCCAsIC2TOAIoIAggLiAqkzgCJCAJKAAMIQYgCSAJKAAANgAMIAkpAAQhLyAJIAkpABA3AAQgCSAGNgAAIAkgLzcAECAFKAIEIRUgBSgCACEaIAVCgICAgMAANwIAIAUoAgghCiAFQQA2AgggCUEANgIIIAhBNGoiBiABIAhBJGoQ6QQgCEEQaiAGEOICIAgoAhBBAXENAwwEC0GU18EAEKUNAAsgCEEANgLgAiAIQQE2AtQCIAhBkMfBADYC0AIgCEIENwLYAiAIQdACakGYx8EAENwLAAtBpNfBABClDQALIAgoAhQhCyAJKAIIIgZBAnQhEQNAIAkoAgAgBkYEQCAJIAZBAUEEQQQQmgULIAkgBkEBaiIGNgIIIAkoAgQgEWogCzYCACARQQRqIREgCEEIaiAIQTRqEOICIAgoAgwhCyAIKAIIQQFxDQALCyAJQRhqIQ4gCCgCuAEiBkEhTwRAIAgoAjwgBkECdEEEEJ8NCyAOIAgpAiQ3AgAgDkEIaiAIQSxqKQIANwIAQQALISQgCSgCFCEOIAlBADYCFCAAKgIEIisgACkCCCIvp74iLZQgACoCACIsIC9CIIinviIqlJMhLiAsIC2MlCArICqUkyEtIBUgCkHUAWxqIRMgCSgCBCIGIAkoAghBAnRqISUgCSgCECINIA5BAnRqIRYgASgCPCEmICuMISogCEGgAmoiJ0EIaiEoQQIhDyAVIQoDQEHUASASQdQBbGshEQJAAkACQANAIAYgJUYNASARQdQBayERIBJBAWohEiAGKAIAIQsgBkEEaiIOIQYgCyAmTw0ACyAGQQRrIRcgJEUNASAFKAIIIQYMAgsgEyAKa0HUAW4hEiAKIBNHBEAgCkFAayEGA0AgBkEgaiIAKAIABEAgAEEANgIACyAGKAIAIgAEQCAGQQRqKAIAIABBMGxBEBCfDQsgBkHUAWohBiASQQFrIhINAAsLIBoEQCAVIBpB1AFsQQQQnw0LIAhB8ANqJAAPCwJAAkACQAJAAkACQAJAIA9BAkYEQCANIBZGBEBBACEPDAcLIA0oAgAhGEEBIQ8gDUEEaiENDAELIA9BAXFFDQELIAsgGE0NACAKIBNHBEAgCkHUAWohBgJAIAooAgBBAkYNACAKKAJAIglFDQAgCigCRCAJQTBsQRAQnw0LIAYhCgsgDSAWRg0DA0AgFygCACILIA0oAgAiGE0NAiAKIBNHBEAgCkHUAWohBgJAIAooAgBBAkYNACAKKAJAIglFDQAgCigCRCAJQTBsQRAQnw0LIAYhCgsgFiANQQRqIg1HDQALDAMLIA9BAXENAQwDCyANQQRqIQ1BASEPCyALIBhHDQECQCAKIBNGDQAgCigCACELIAhB6ANqIgYgCkEMaikCADcDACAKKQIEITAgCEHIA2oiGSAKQSBqKQIANwMAIAggMDcD4AMgCCAKKQIYNwPAAyAKKAIUIRsgCigCKCEcIAopAiwhMSAKKAI0IR0gCikCOCEwIAooAkAhHiAKKAJEIR8gCigCSCEgIAooAkwhISAKKQJQIS8gCigCWCEiIAovAVwhIyAKLwFeISkgCigCYCEQIAooAswBIRQgCigC0AEhDCAIQdgDaiIJIAYpAwA3AwAgCCAIKQPgAzcD0AMgCEHQAmoiBiAKQeQAakHoAPwKAAAgC0ECRg0AIAhByAJqIAkpAwA3AwAgCEG4AmogGSkDADcDACAIIAgpA9ADNwPAAiAIIAgpA8ADNwOwAiAIQcgBaiAGQegA/AoAACAKQdQBaiEKQQIhDwwDC0G018EAEKUNAAsgFygCACELQQAhDwtCACEvICdCADcCACAoQgA3AgBBACEcIAtBACAHGyEMQQAgCyAHGyEUQRAhH0EAIR1BACEeQQAhIEEAISFBACEiQQAhEEEAIRtBACELQQAhIwsgBSgCCCIGIAUoAgBGBEAgBUHE18EAEKcGCyAFKAIEIAZB1AFsaiIJIAs2AgAgCSAIKQPAAjcCBCAJIBs2AhQgCSAIKQOwAjcCGCAJIBA2AmAgCSApOwFeIAkgIzsBXCAJICI2AlggCSAvNwJQIAkgITYCTCAJICA2AkggCSAfNgJEIAkgHjYCQCAJIDA3AjggCSAdNgI0IAkgMTcCLCAJIBw2AiggCUEMaiAIQcgCaikDADcCACAJQSBqIAhBuAJqKQMANwIAIAlB5ABqIAhByAFqQegA/AoAACAJIAw2AtABIAkgFDYCzAEgBSAGQQFqIgY2AggLAkAgBiASQQFrSwRAIAUoAgQhGSAIQdACaiEJAkACQAJAIBcoAgAiDCABKAI8IgZJBEAgASgCOCAMQQxsaiIMKAIAIgYgASgCMCIQTw0BIAwoAgQiFCAQTw0CIAwoAggiDCAQSQ0DIAwgEEGQncMAELAJAAsgDCAGQeCcwwAQsAkACyAGIBBB8JzDABCwCQALIBQgEEGAncMAELAJAAsgCSAGQQN0IAEoAiwiBmopAgA3AgAgCSAGIAxBA3RqKQIANwIQIAkgBiAUQQN0aikCADcCCCAZIBFrIQYgBw0BIAYgACAJQYjZwQAgAiADQQAgBkEAIAYgBCAGECIaIA4hBgwCCyASQQFrIAZB1NfBABCwCQALIAggLjgC7AMgCCAtOALoAyAIICo4AuQDIAggLDgC4AMgBiAIQeADaiACIAMgCEHQAmpBiNnBAEEAIAZBACAGIAQgBhAiGiAOIQYMAAsAC+wPAwx/Fn0CfiMAQdABayIJJAAgACgCACEKIAYqAgQhFiAAKgIEIRVBACEGIAlBADYCCCAJQoCAgIDAADcCACAJQbABaiADIAUgBCgClAERAQACQCAVIBUgFpQgChtDzcxMPZIiGUMAAAAAYARAIBkgCSkDuAEiK6e+kiEVIAkpA7ABIiynviAZkyEWIBkgK0IgiKe+kiEXICxCIIinviAZkyEeAkAgAigCOCILKAIIRQRAQQAhCgwBCwJ/QQAgFSALKAIEIgwpAgAiK6e+YEUNABpBACAXICtCIIinvmBFDQAaIAxBACAeIAxBDGopAgAiK0IgiKe+XxtBACAWICunvl8bCyEKIAwoAixB/////wNxRQ0AIBUgDEEYaiINKQIAIiunvmBFDQAgFyArQiCIp75gRQ0AIBYgDEEkaikCACIrp75fIB4gK0IgiKe+X3EhBgsgCSACNgKsASAJIBc4AqgBIAkgFTgCpAEgCSAeOAKgASAJIBY4ApwBIAkgCjYCmAEgCSALNgKUASAJIAY2ApABIAkgDTYCEEEAIQwgCUEANgIMIAlBsAFqIAlBDGogCUGsAWoiEBC1AiAJKAK4ASIKRQ0BIAdFIAhFciERIAAqAighIyAAKgIkISQgAigCPCEOIAUqAgwhJyAFKgIIISggBSoCBCEaIAUqAgAhGyAIQQRqIQIDQCAJKAIIIQAgCUEANgIIIAAEQCAJKAIEQeAAaiEFA0AgBSgCAARAIAVBADYCAAsgBUEgaygCACIGBEAgBUEcaygCACAGQTBsQRAQnw0LIAVB1AFqIQUgAEEBayIADQALCyAJIBsgCioCBCIVlCAaIAoqAgAiFpSTOAK0ASAJIBsgFpQgGiAVlJI4ArABIAkgGyAKKgIIICiTIhWUIBogCkEMaiISKgIAICeTIhaUkrytIBsgFpQgGiAVlJO8rUIghoQ3ArgBIAooAiAhACAKKAIkIgUoAgghBiAJQQA2AsQBIAlBzwFqIAlBsAFqIAMgBCAAIAZBAWtBeHFqQQhqIAUgGSAJIAlBxAFqEEIaAkAgCSgCxAEiAEUNACAJKALIASIFKAIAIgYEQCAAIAYRBgALIAUoAgQiBkUNACAAIAYgBSgCCBCfDQsCQCARBEAgCSgCCCIARQ0BIABB1AFsIAkoAgQiAGohCiAAQdQBaiEGA0ACQCAjIBogACoCvAEiFZQgGyAAKgLAASIWlJKMlCAkIBsgFZQgGiAWlJOUk0NvEoM6YEUNACAAKAJgIgVFDQAgBUEsbCELQQAhBQNAIAAgBWpBhAFqKgIAIBlfRQRAIAVBLGoiBSALRw0BDAILC0EBIQwMBgsgAEHUAWohACAGQQBB1AEgBiAKRiIFG2ohBiAFRQ0ACwwBC0EAIQACQCAKKAJkQQFxRQ0AIAooAngiBSAOKAKMAk8NACAOKAKIAiAFQQh0aiIFKAIAQQFHDQAgBSgCBCAKKAJ8Rw0AIAVBEGpBACAFLQDxAUECTxshAAsgByoCBCEeIAcqAgAhJSAJKAIIIgUEQCAJKAIEIgYgBUHUAWxqIRMgBkHUAWohDSAlIRUgHiEWA0ACQCAjIBogBioCvAEiGJQgGyAGKgLAASIclJIiJowiF5QgJCAbIBiUIBogHJSTIhiUk0NvEoM6YEUNACAGKAJgIgVFDQAgBUEsbCELQQAhBQNAIAUgBmpBhAFqKgIAIBlfRQRAIAVBLGoiBSALRw0BDAILC0EBIQwLAkAgAEUNACAGKAJgIgVFDQAgBUEsbCEUQwAAAAAhHEEAIQVBACELQwAAAAAhHQNAIBkgBSAGaiIPQYQBaioCAGAEQCABIAoqAgggD0H8AGoqAgAiHyAKKgIAIiCUIA9BgAFqKgIAIiEgCioCBCIilJOSIikgACoCkAGTIAAqAmAiKpQgACkCWCIrQiCIp76SIBeUIBggK6e+IBIqAgAgISAglCAfICKUkpIiICAAKgKUAZMgKpSTlJOUIAIqAgAiISAXlCAYIAgqAgAiIpSTkyEfIAIgISAmIB+UkzgCACAIICIgGCAflJM4AgAgHCAgkiEcIB0gKZIhHSALQQFqIQsLIBQgBUEsaiIFRw0ACyALQQBMDQAgASAdIAuzIh2VIAAqApABkyAAKgJgIh+UIAApAlgiK0IgiKe+kiIgICYgICAXlCAYICunviAcIB2VIAAqApQBkyAflJMiHJSTIh2UkpQhFyABIBwgGCAdlJKUIhiLIBWLXgRAIAcgGDgCACAYIRULIBeLIBaLXkUNACAHIBc4AgQgFyEWCyAGQdQBaiEGIA1BAEHUASANIBNGIgUbaiENIAVFDQALCyAIIAgqAgAgBykCACIrp74gJZOSOAIAIAIgAioCACArQiCIp74gHpOSOAIACyAJQbABaiAJQQxqIBAQtQIgCSgCuAEiCg0ACwwBCyAJQQA2AhwgCUEBNgIQIAlBkMfBADYCDCAJQgQ3AhQgCUEMakGYx8EAENwLAAsgCSgCkAEiAEEhTwRAIAkoAhQgAEECdEEEEJ8NCyAJKAIEIQIgCSgCCCIABEAgAkHgAGohBQNAIAUoAgAEQCAFQQA2AgALIAVBIGsoAgAiAwRAIAVBHGsoAgAgA0EwbEEQEJ8NCyAFQdQBaiEFIABBAWsiAA0ACwsgCSgCACIABEAgAiAAQdQBbEEEEJ8NCyAJQdABaiQAIAwLwRADCn8JfQJ+IwBB4AJrIgckACABKQIwIRsgB0HIAGogBCACIAUoApQBEQEAIAdCADcDWCAHIAMpAgA3A2AgBioCACESIAYqAgQhESABKAI4IQggBykCUCEaIAcqAkghEyAHKgJQIRQgByoCTCEYIAcqAlQhFSAHIAY2AogBIAcgBTYChAEgByAENgKAASAHIAM2AnwgByACNgJ4IAcgGzcCcCAHIAE2AmxBBCEGIAhBBGooAgAhCiAIQQhqKAIAIQ8gB0EANgKMASAHQQA2ApACAkAgD0UNACAYIBWSQwAAAL+UIRUgEyAUkkMAAAC/lCEUIBEgGqe+IBOTQwAAAD+UkiEWIBEgGkIgiKe+IBiTQwAAAD+UkiEXIAooAixB/////wNxBEAgB0GQAWohAyAHQZACaiENIAdB3QJqIQ4gB0G8AmohCUEAIQVBBCEIQX8hCwJAA0AgCiAFQTBsaiIGQQxqKQIAIRogByAUIAYpAgAiG6e+kiAWkzgCuAIgByAWIBQgGqe+kpI4AsACIAcgFSAbQiCIp76SIBeTOAK8AiAHIBcgFSAaQiCIp76SkjgCxAIgB0EYaiAHQbgCaiICIAdB2ABqIgQgEkEBEKEEIAcqAhwhESAHKAIYIQwgBikCGCEaIAcgFiAUIAZBJGopAgAiG6e+kpI4AsACIAcgFCAap76SIBaTOAK4AiAHIBcgFSAbQiCIp76SkjgCxAIgByAVIBpCIIinvpIgF5M4ArwCIAdBEGogAiAEIBJBARChBCAGQRhqIQICQCAHKgIUQ///f38gBygCEEEBcRsiEyARQ///f38gDEEBcRsiGF1FBEAgEyERIBghEyACIQQgBiECDAELIBghESAGIQQLAkACQAJ/AkACQCASIBNeRQRAIBEgEl1FDQQgEUP//39/Ww0EIAQoAhRB/////wNxQQFHDQEMAgsCQCATQ///f39bBEAMAQsgAigCFEH/////A3FBAUcEQCACKAIIIQUgESASXUUNBiARQ///f39bDQZBASAEKAIUQf////8DcUEBRg0EGgJ/IAcoApACIgxBIUkEQCAMIQYgAyEQQSAhDCANDAELIAcoApABIQYgBygClAEhECADCyECIAQoAgghBCAGIAxGBEAgB0GMAWoQlAMgBygCkAEhBiAHKAKUASEQIAMhAgsgECAGQQJ0aiAENgIAIAIgAigCAEEBajYCAAwGCyAHQbgCaiAHQewAaiACKAIIEMgBAkAgBy0A3AIiBkEERg0AIAcqArgCIhMgEl1FDQAgB0GYAmoiCEEYaiAJQRhqKQIANwMAIAhBEGogCUEQaikCADcDACAIQQhqIAlBCGopAgA3AwAgB0GWAmogDkECai0AADoAACAHIAkpAgA3A5gCIAcgDi8AADsBlAIgAigCCCELIBMiGSESIAYhCAsLIBEgEl1FDQMgEUP//39/Ww0DIAQoAhRB/////wNxQQFGDQELIAQoAgghBQwDC0EACyEGIAdBuAJqIAdB7ABqIAQoAggQyAECQCAHLQDcAiICQQRGDQAgByoCuAIiESASXUUNACAHQZgCaiIIQRhqIAlBGGopAgA3AwAgCEEQaiAJQRBqKQIANwMAIAhBCGogCUEIaikCADcDACAHQZYCaiAOQQJqLQAAOgAAIAcgCSkCADcDmAIgByAOLwAAOwGUAiAEKAIIIQsgESIZIRIgAiEICyAGDQELIAMhBSANIQIgBygCkAIiBkEhTwRAIAcoApABIQYgBygClAEhBSADIQILIAZFDQIgAiAGQQFrIgI2AgAgBSACQQJ0aigCACEFCyAFIA9JDQALIAUgD0HE0MEAELAJAAtBBCEGIAhB/wFxQQRGDQEgB0EoaiICQRhqIAdBmAJqIgNBGGopAwA3AwAgAkEQaiADQRBqKQMANwMAIAJBCGogA0EIaikDADcDACAHQSZqIAdBlgJqLQAAOgAAIAcgBykDmAI3AyggByAHLwGUAjsBJCAIIQYMAQsgCkEMaikCACEaIAcgFCAKKQIAIhunvpIgFpM4ArgCIAcgFiAUIBqnvpKSOALAAiAHIBUgG0IgiKe+kiAXkzgCvAIgByAXIBUgGkIgiKe+kpI4AsQCIAdBCGogB0G4AmoiAiAHQdgAaiASQQEQoQQgByoCDEP//39/IAcoAghBAXEbIBJdRQ0AIAIgB0HsAGogCigCCBDIASAHLQDcAiICQQRGBEAMAQsgByoCuAIhGSAHQZgCaiIDQRhqIgQgB0HUAmopAgA3AwAgA0EQaiIFIAdBzAJqKQIANwMAIANBCGoiCCAHQcQCaikCADcDACAHIAcpArwCNwOYAiAHQZYCaiINIAdB3wJqLQAAOgAAIAcgBy8A3QI7AZQCIBIgGV5FDQAgB0EoaiIDQQhqIAgpAwA3AwAgA0EQaiAFKQMANwMAIANBGGogBCkDADcDACAHQSZqIA0tAAA6AAAgByAHKQOYAjcDKCAHIAcvAZQCOwEkIAooAgghCyACIQYLIAcoApACIgJBIU8EQCAHKAKUASACQQJ0QQQQnw0LAkAgBkH/AXFBBEcEQAJAIAEoAkAiASgCECALSwRAIAEoAgwgC0GgAWxqIgEoAgANAQsgAEEEOgAsDAILIAAgGTgCCCAAIAcpAyg3AgwgACAGOgAsIAAgBy8BJDsALSAAIAs2AgAgACABKAIENgIEIABBFGogB0EwaikDADcCACAAQRxqIAdBOGopAwA3AgAgAEEkaiAHQUBrKQMANwIAIABBL2ogB0Emai0AADoAAAwBCyAAQQQ6ACwLIAdB4AJqJAALzQ8CJX8CfSMAQSBrIgUkACABKAIQIh4gASgCDCIKIAogHksbIhBBA3QhBwJAAkAgEEH/////AUsNACAHQfz///8HSw0AAkAgB0UEQEEEIRkMAQtBBCEDIBAhJCAHQQQQ1AwiGUUNAQsgEEUNASAHBEAgGUEAIAf8CwALIApBAWshGiAKQQNqISEgCkEDdCEiIApBAmshGyABKAIEIhYgCkECdCIUQQRqIh9qISUgFkEEaiEmAkACQANAIBwiDCAQIAwgEEsbIRcgCiAMayEgIBYgDEECdGohAiAMIB9sIgcgJWohAyAHICZqIQtBACEGA0AgBiENIAshByADIREgAiEEIBwiCCAXRgRAIBAhCQwGCyAIQQJ0IhggFiAIIApsQQJ0aiIOaiESQQAhCQJAAkACQCAKIAhrIiMOAgACAQsgBUEANgIYIAVBATYCDCAFQfD1wQA2AgggBUIENwIQIAVBCGpB+PXBABDcCwALIBIqAgCLIShBASECIAchAwNAIAIgCSADKgIAiyInICheIhwbIQkgJyAoIBwbISggA0EEaiEDICAgAkEBaiICRw0ACwsgCCAJaiIPIApPDQMgCEEBaiEcIARBBGohAiARIB9qIQMgIEEBayEgIAcgH2ohCyANQQFqIQYgD0ECdCITIA5qIhUqAgAiJ0MAAAAAWw0ACyAJRQRAIAhBf3MiCCAKaiIJRQ0BQwAAgD8gJ5UhJyAJQQNxIQtBACECIBsgDCANaiIVa0EDTwRAQQAhA0EAIBogDGsgDWtBfHFrIQYgByECA0AgAiAnIAIqAgCUOAIAIAJBBGoiBCAnIAQqAgCUOAIAIAJBCGoiBCAnIAQqAgCUOAIAIAJBDGoiBCAnIAQqAgCUOAIAIAJBEGohAiAGIANBBGsiA0cNAAtBACADayECCyAIIB5qIRMgCwRAIAcgAkECdGohAiAhIAxrIA1rQQNxIQMDQCACICcgAioCAJQ4AgAgAkEEaiECIANBAWsiAw0ACwsgE0UNASASQQRqIRcgEiAUaiIYQQRqIQ4gCUEBcSEIQQAhD0EAIBogDGsgDWtBfnFrIQsDQCAKIA9sQQJ0IgYgGGoqAgAhJ0EAIQIgFSAbRwRAQQAhCSAHIQMgESECA0AgAiACKgIAICcgAyoCAJSTOAIAIAJBBGoiBCAEKgIAICcgA0EEaioCAJSTOAIAIANBCGohAyACQQhqIQIgCyAJQQJrIglHDQALQQAgCWshAgsgCARAIAJBAnQiAyAGIA5qaiICIAIqAgAgJyADIBdqKgIAlJM4AgALIBEgFGohESATIA9BAWoiD0cNAAsMAQsgECAdTQ0BIBkgHUEAIBBBAUcbQQN0aiICIA82AgQgAiAINgIAAkAgCEUNAEEAIQNBASAMayANRwRAIAhBfnEhDiATIBZqIQIDQCAEKAIAIQYgBCACKAIANgIAIAIgBjYCACAEIBRqIgYoAgAhCyAGIAIgFGoiBigCADYCACAGIAs2AgAgBCAiaiEEIAIgImohAiAOIANBAmoiA0cNAAsLIAhBAXFFDQAgFiADIApsQQJ0aiIEIBhqIgIoAgAhAyACIAQgE2oiAigCADYCACACIAM2AgALIAkgI0kEQEMAAIA/ICeVIScgEigCACECIBIgFSgCADYCACAVIAI2AgAgI0EBayIOQQNxIQtBACECIBsgDCANaiITa0EDTwRAQQAhA0EAIBogDGsgDWtBfHFrIQYgByECA0AgAiAnIAIqAgCUOAIAIAJBBGoiBCAnIAQqAgCUOAIAIAJBCGoiBCAnIAQqAgCUOAIAIAJBDGoiBCAnIAQqAgCUOAIAIAJBEGohAiAGIANBBGsiA0cNAAtBACADayECCyAeIAhBf3NqIQ8gCwRAIAcgAkECdGohAiAhIAxrIA1rQQNxIQMDQCACICcgAioCAJQ4AgAgAkEEaiECIANBAWsiAw0ACwsgHUEBaiEdIA9FDQEgEkEEaiEVIBIgFGoiF0EEaiEYIA5BAXEhDkEAIQZBACAaIAxrIA1rQX5xayEIA0AgBiAKbEECdCICIBdqIgMqAgAhJyADIAIgGGoiDSAJQQJ0akEEayICKAIANgIAIAIgJzgCACADKgIAISdBACECIBMgG0cEQEEAIQsgByEDIBEhAgNAIAIgAioCACAnIAMqAgCUkzgCACACQQRqIgQgBCoCACAnIANBBGoqAgCUkzgCACADQQhqIQMgAkEIaiECIAggC0ECayILRw0AC0EAIAtrIQILIA4EQCACQQJ0IgMgDWoiAiACKgIAICcgAyAVaioCAJSTOAIACyARIBRqIREgDyAGQQFqIgZHDQALDAELCyAFQQA2AhggBUEBNgIMIAVByPPBADYCCCAFQgQ3AhAgBUEIakHQ88EAENwLAAsgBUEANgIYIAVBATYCDCAFQbD2wQA2AgggBUIENwIQIAVBCGpBuPbBABDcCwALIAVBADYCGCAFQQE2AgwgBUGM8MEANgIIIAVCBDcCECAFQQhqQcz3wQAQ3AsACyADIAdBjM7BABD5CwALIAAgHTYCJCAAIAk2AiAgACAJNgIcIAAgGTYCGCAAICQ2AhQgACABKQIANwIAIABBEGogAUEQaigCADYCACAAQQhqIAFBCGopAgA3AgAgBUEgaiQAC8wSAw59D38BfiMAQbABayITJAAgASgCCCEdIAEoAgQhGCATQQA2AgAgE0EANgKEAQJAAkAgHUUNACAYKAIsQf////8DcQRAIBNBBGohFiATQYQBaiEgQwAAgD8gAioCDCIRlSENQwAAgD8gAioCCCISlSEOIAEoAjAhFyABKAIsIRsgASgCOCEhIAEoAjwhHCACKgIEIQsgAioCACEMQQMhGQJAA0AgGCAUQTBsaiIBKAIQIQQgASgCDCEVIAEqAgQhByABKgIAIQUCQAJAAkACQAJAIBJDAAAAAFsiGkUEQCAOIBW+IAyTlCIGIA4gBSAMk5QiCF0hFUMAAAAAQwAAAAAgBiAIIBUbIgUgBUMAAAAAXRsgBSAFXBsiBSADIAMgCCAGIBUbIgYgAyAGXRsgBiAGXBsiCV5FDQEgASoCKCEKIAEqAiQhCSABKgIcIQ8gASoCGCEGQ///f38hCAwCCyAFIAxeRQRAQwAAAAAhBSADIQkgDCAVvl5FDQELIAEqAighCiABKgIkIQkgASoCHCEPIAEqAhghBkP//39/IQgMAgsCQAJAIBFDAAAAAFwEQEP//39/IQggDSAEviALk5QiBiANIAcgC5OUIgddIQQgBiAHIAQbIgogCiAFIAUgCl0bIAUgBVwbIgUgCSAJIAcgBiAEGyIGIAYgCV4bIAYgBlwbXkUNAQwCC0P//39/IQggByALXg0BIAsgBL5eDQELIAUhCAsgASoCKCEKIAEqAiQhCSABKgIcIQ8gASoCGCEGIBoNAQsgDiAJIAyTlCIHIA4gBiAMk5QiCV0hBEMAAAAAQwAAAAAgByAJIAQbIgUgBUMAAAAAXRsgBSAFXBsiBiADIAMgCSAHIAQbIgUgAyAFXRsgBSAFXBsiB15FDQFD//9/fyEFDAILQ///f38hBSAGIAxeDQFDAAAAACEGIAMhByAJIAxdDQELAkAgEUMAAAAAXARAIA0gCiALk5QiBSANIA8gC5OUIgldIQQgBSAJIAQbIgogCiAGIAYgCl0bIAYgBlwbIgYgByAHIAkgBSAEGyIFIAUgB14bIAUgBVwbXkUNAUP//39/IQUMAgtD//9/fyEFIAsgD10NASAKIAtdDQELIAYhBQsgAUEYaiEEAkAgBSAIXUUEQCAFIQYgCCEFIAQhFSABIQQMAQsgCCEGIAEhFQsCQAJAAkACQAJAIAMgBV5FBEAgAyAGXkUNBCAGQ///f39bDQQgFSgCFEH/////A3FBAUcNAQwCCyAFQ///f39cBEAgBCgCCCEBIAQoAhRB/////wNxQQFHBEAgAyAGXkUEQCABIRQMBwsgBkP//39/WwRAIAEhFAwHC0EBIQQgFSgCFEH/////A3FBAUYEQCABIRQMBQsCfyATKAKEASIaQSFJBEAgGiEUIBYhHkEgIRogIAwBCyATKAIEIRQgEygCCCEeIBYLIQQgFSgCCCEVIBQgGkYEQCATEJUDIBMoAgQhFCATKAIIIR4gFiEECyAeIBRBAnRqIBU2AgAgBCAEKAIAQQFqNgIAIAEhFAwGCwJAAkACQCABIBxJBEAgISABQQN0aiIEKAIAIgEgF08NASAEKAIEIgQgF08NAiATIBsgBEEDdGopAgA3A5ABIBMgGyABQQN0aikCADcDiAEgE0GcAWogE0GIAWogAiADQQAQ5wEgEygCnAEiAUEFa0F9Sw0DIBMqAqQBIgUgA11FDQMgEykCqAEhIiATKAKgASEfIAUiECEDIAEhGQwDCyABIBxB5P7CABCwCQALIAEgF0H0/sIAELAJAAsgBCAXQYT/wgAQsAkACwsgAyAGXkUNAyAGQ///f39bDQMgFSgCFEH/////A3FBAUYNAQsgFSgCCCEUDAMLQQAhBAsCQAJAIBUoAggiASAcSQRAICEgAUEDdGoiFSgCACIBIBdPDQEgFSgCBCIVIBdPDQIgEyAbIBVBA3RqKQIANwOQASATIBsgAUEDdGopAgA3A4gBIBNBnAFqIBNBiAFqIAIgA0EAEOcBAkAgEygCnAEiAUEFa0F9TQRAIBMqAqQBIgUgA10NAQsgBEUNBAwFCyATKQKoASEiIBMoAqABIR8gBSIQIQMgASEZIARFDQMMBAsgASAcQeT+wgAQsAkACyABIBdB9P7CABCwCQALIBUgF0GE/8IAELAJAAsgFiEUICAhBCATKAKEASIVIgFBIU8EQCATKAIIIRQgFiEEIBMoAgQhAQsgAUUNAiAEIAFBAWsiATYCACAUIAFBAnRqKAIAIRQLIBQgHUkNAAsgFCAdQfjSwgAQsAkACyAVQSBNDQIgEygCCCAVQQJ0QQQQnw0MAgsgGCgCECEEIBgoAgwhFCAYKAIEIRYgGCoCACEIAkACQCACKgIIIgVDAAAAAFwEQEMAAIA/IAWVIgUgFL4gAioCACIGk5QiByAFIAggBpOUIghdIRRDAAAAAEMAAAAAIAcgCCAUGyIFIAVDAAAAAF0bIAUgBVwbIgYgAyADIAggByAUGyIFIAMgBV0bIAUgBVwbIgheRQ0BQ///f38hBQwCC0P//39/IQUgAioCACIHIAhdDQEgAyEIIAcgFL5eDQELAkAgAioCDCIFQwAAAABcBEBDAACAPyAFlSIHIAS+IAIqAgQiCZOUIgUgByAWviAJk5QiB10hBCAFIAcgBBsiCSAJIAYgBiAJXRsgBiAGXBsiBiAIIAggByAFIAQbIgUgBSAIXhsgBSAFXBteRQ0BQ///f38hBQwCC0P//39/IQUgAioCBCIIIBa+XQ0BIAggBL5eDQELIAYhBQsgAyAFXkUNAAJAAkAgGCgCCCIEIAEoAjwiFEkEQCABKAI4IARBA3RqIhYoAgAiFCABKAIwIgRPDQEgFigCBCIWIARPDQJBAyEZIBMgASgCLCIBIBZBA3RqKQIANwOQASATIAEgFEEDdGopAgA3A4gBIBNBnAFqIBNBiAFqIAIgA0EAEOcBIBMoApwBIgFBBWtBfUsNBCATKgKkASIQIANdRQ0EIBMpAqgBISIgEygCoAEhHyABIRkMBAsgBCAUQeT+wgAQsAkACyAUIARB9P7CABCwCQALIBYgBEGE/8IAELAJAAtBAyEZCyAZQQNHBEAgACAiNwIMIAAgEDgCCCAAIB82AgQLIAAgGTYCACATQbABaiQAC5oQAQt/IwBBIGsiBCQAIAMoAgQhDAJAIAMoAgAiByACTw0AIAEgB0GgAWxqIgUoAgBBAUcNACAFQRBqQQAgBSgCBCAMRhshCAsCQAJAIAMoAggiBiACTw0AIAEgBkGgAWxqIgkoAgBBAUcNACAIRQ0AIAMoAgwiDSAJKAIERyILDQAgBCAHNgIAIAQgBjYCBAJAAkACQAJAAkAgBiAHRwRAIAAoAjghAyAGIAdPBEAgAyAGTQRAIAMhASAGIANrIgpBAWoiAiAAKAIwIANrSwRAIABBMGogAyACQQRBDBCaBSAAKAI4IQELIAAoAjQiDiABQQxsaiEFIAJBAk8EQCAKQQxsIgoEQCAFQf8BIAr8CwALIA4gA0F0bGogASAGakEMbGohBSABIAJqQQFrIQELIAVBfzYCCCAFQn83AgAgACABQQFqIgM2AjgLIAMgBkkNAiAGIAdNDQMgAyAGRg0EDAYLAkAgAyAHSwRAIAMhAQwBCyAHQQFqIgEgA0sEQCADIQUgASADayICIAAoAjAgA2tLBEAgAEEwaiADIAJBBEEMEJoFIAAoAjghBQsgACgCNCIKIAVBDGxqIQEgAkECTwRAIAcgA2tBDGwiDgRAIAFB/wEgDvwLAAsgCiADQXRsaiAFIAdqQQxsaiEBIAIgBWpBAWshBQsgAUF/NgIIIAFCfzcCACAFQQFqIQELIAAgATYCOAsgASAHSQ0EIAEgB0cNBUEAQQBBgPzBABCwCQALIARCADcCFCAEQoGAgIDAADcCDCAEQbT8wQA2AghBASAEIARBBGogBEEIakG8/MEAEKALAAsgBEEANgIYIARBATYCDCAEQajOwQA2AgggBEIENwIQIARBCGpBwPvBABDcCwALIAcgBkHQ+8EAELAJAAtBAEEAQeD7wQAQsAkACyAEQQA2AhggBEEBNgIMIARBqM7BADYCCCAEQgQ3AhAgBEEIakHw+8EAENwLAAsgACgCNCIBIAZBDGxqIQMgDCABIAdBDGxqIgEoAgBHBEAgAUJ/NwIEIAEgDDYCAAsgDSADKAIARgR/IANBBGoFIANCfzcCBCADIA02AgAgA0EEagshBQJAAkAgCC0AgAFFBEBBACAJQRBqIAsbLQCAAUEBRw0BCyABKAIIIghBf0YEQCAAKAIgIgggACgCGEYEQCAAQRhqQez8wQAQyAYLIAAgCEEBajYCICAAKAIcIAhBBHRqIgJCfzcCCCACIAw2AgQgAiAHNgIAIAEgCDYCCAsCQAJAAkACfyADKAIIIgJBf0YEQCAAKAIgIgIgACgCGEYEQCAAQRhqQez8wQAQyAYLIAAgAkEBajYCICAAKAIcIAJBBHRqIgVCfzcCCCAFIA02AgQgBSAGNgIAIAMgAjYCCCABKAIIIQgLIAggACgCICILSQRAIABBLGohBSAAKAIsIQMgACgCKCEJIAAoAhwiBiAIQQR0akEIaiIBIQcDQAJAIAMgBygCACIHTQRAA0AgASgCBCIBIANPDQIgAiAJIAFBFGxqIgEoAghHDQAMCwsACyACIAkgB0EUbGoiBygCDEcNAQwJCwsgAEEkaiIHIAIgCE8NARoMAgsgAiAISQ0HIABBLGohBSAAKAIcIQYgACgCLCEDIABBJGoLIQcgAiALTw0GIAIgCEYNAQsgBiAIQQR0aiIBKAIIIQkgASADNgIIIAYgAkEEdGoiBigCDCEBIAYgAzYCDAwBCyAGIAJBBHRqIgYoAgwhASAGIAM2AgwgBigCCCEJIAYgAzYCCAsgBygCACADRgRAIAdB/PzBABClBgsgACgCKCADQRRsaiIAQQA7ARAgACABNgIEIAAgCTYCACAAIAitIAKtQiCGhDcCCAwBCyABKAIEIglBf0YEQCAAKAIIIgkgACgCAEYEQCAAQez8wQAQyAYLIAAgCUEBajYCCCAAKAIEIAlBBHRqIgJCfzcCCCACIAw2AgQgAiAHNgIAIAEgCTYCBAsCQAJAIAUoAgAiAkF/RgRAIAAoAggiAiAAKAIARgRAIABB7PzBABDIBgsgACACQQFqNgIIIAAoAgQgAkEEdGoiA0J/NwIIIAMgDTYCBCADIAY2AgAgBSACNgIAIAEoAgQhCQsCQAJAAkAgCSAAKAIIIghJBEAgACgCECEFIAAoAgQiCyAJQQR0aiIKKAIIIgEgACgCFCIDTw0BA0AgBSABQThsaiIBKAI0IAJGDQggASgCKCIBIANJDQALDAELIAIgCUkNByAAQRRqIQUgAEEMaiEBIAAoAgQhCyAAKAIUIQMMAQsgCigCDCIBIANJBEADQCAFIAFBOGxqIgEoAjAgAkYNByADIAEoAiwiAUsNAAsLIABBFGohBSAAQQxqIQEgAiAJSQ0BCyACIAhPDQUgAiAJRg0BCyALIAlBBHRqIgooAgghCCAKIAM2AgggCyACQQR0aiIKKAIMIQsgCiADNgIMDAELIAsgAkEEdGoiCigCDCELIAogAzYCDCAKKAIIIQggCiADNgIICyABKAIAIANGBEAgAUH8/MEAEKoGCyAAKAIQIANBOGxqIgAgCzYCLCAAIAg2AiggAEEAOwEkIABBADYCHCAAIA02AhggACAGNgIUIAAgDDYCECAAIAc2AgwgAEEANgIIIABCgICAgMAANwIAIAAgCa0gAq1CIIaENwIwCyAFIANBAWo2AgALIARBIGokAA8LIARBADYCGCAEQQE2AgwgBEG4/cEANgIIIARCBDcCECAEQQhqQcD9wQAQ3AsAC6sSAg99Dn8jAEGwAWsiFCQAIAEoAgghHyABKAIEIRogFEEANgIAIBRBADYChAECQCAfRQ0AAkACQAJAAkACQCAaKAIsQf////8DcQRAIBRBBGohFyAUQYQBaiEYQwAAgD8gAioCDCISlSEPQwAAgD8gAioCCCITlSEQIAEoAjAhGSABKAIsIR0gASgCOCEhIAEoAjwhHiACKgIEIQwgAioCACENIAMhBwJAA0AgGiAWQTBsaiIBKAIQIRsgASgCDCEVIAEqAgQhCSABKgIAIQUCQAJAAkACQAJAIBNDAAAAAFsiBEUEQCAQIBW+IA2TlCIGIBAgBSANk5QiCF0hFUMAAAAAQwAAAAAgBiAIIBUbIgUgBUMAAAAAXRsgBSAFXBsiBSAHIAcgCCAGIBUbIgggByAIXRsgCCAIXBsiCl5FDQEgASoCKCELIAEqAiQhCiABKgIcIREgASoCGCEGQ///f38hCAwCCyAFIA1eRQRAQwAAAAAhBSAHIQogDSAVvl5FDQELIAEqAighCyABKgIkIQogASoCHCERIAEqAhghBkP//39/IQgMAgsCQAJAIBJDAAAAAFwEQEP//39/IQggDyAbviAMk5QiCyAPIAkgDJOUIgldIRUgCyAJIBUbIgYgBiAFIAUgBl0bIAUgBVwbIgUgCiAKIAkgCyAVGyIGIAYgCl4bIAYgBlwbXkUNAQwCC0P//39/IQggCSAMXg0BIAwgG75eDQELIAUhCAsgASoCKCELIAEqAiQhCiABKgIcIREgASoCGCEGIAQNAQsgECAKIA2TlCIJIBAgBiANk5QiBV0hBEMAAAAAQwAAAAAgCSAFIAQbIgYgBkMAAAAAXRsgBiAGXBsiBiAHIAcgBSAJIAQbIgUgBSAHXhsgBSAFXBsiCV5FDQFD//9/fyEFDAILQ///f38hBSAGIA1eDQFDAAAAACEGIAchCSAKIA1dDQELAkAgEkMAAAAAXARAIA8gCyAMk5QiCyAPIBEgDJOUIgpdIQQgCyAKIAQbIgUgBSAGIAUgBl4bIAYgBlwbIgYgCSAJIAogCyAEGyIFIAUgCV4bIAUgBVwbXkUNAUP//39/IQUMAgtD//9/fyEFIAwgEV0NASALIAxdDQELIAYhBQsgAUEYaiEEAkAgBSAIXUUEQCAFIQYgCCEFIAQhFSABIQQMAQsgCCEGIAEhFQsCQAJAAkACQAJAIAUgB11FBEAgBiAHXUUNBCAGQ///f39bDQQgFSgCFEH/////A3FBAUcNAQwCCwJAIAVD//9/f1sEQCAGIAddRQ0FDAELIAQoAgghASAEKAIUQf////8DcUEBRwRAAkAgBiAHXUUNACAGQ///f39bDQBBASEEIBUoAhRB/////wNxQQFGBEAgASEWDAYLAn8gFCgChAEiIEEhSQRAICAhFiAXIRtBICEgIBgMAQsgFCgCBCEWIBQoAgghGyAXCyEEIBUoAgghFSAWICBGBEAgFBCVAyAUKAIEIRYgFCgCCCEbIBchBAsgGyAWQQJ0aiAVNgIAIAQgBCgCAEEBajYCAAsgASEWDAYLAkACQCABIB5JBEAgISABQQN0aiIBKAIAIgQgGU8NASABKAIEIgEgGU8NAiAUIB0gAUEDdGopAgA3A5ABIBQgHSAEQQN0aikCADcDiAEgFEGcAWogFEGIAWogAiAHQQAQ5wEgFCgCnAFBA0cgFCoCpAEiBSAHXXEhASAFIA4gARshDiABIBxyIRwgBSAHIAEbIgcgBl5FDQcMAwsgASAeQeT+wgAQsAkACyAEIBlB9P7CABCwCQALIAEgGUGE/8IAELAJAAsgBkP//39/Ww0DIBUoAhRB/////wNxQQFGDQELIBUoAgghFgwDC0EAIQQLAkACQCAVKAIIIgEgHkkEQCAhIAFBA3RqIgEoAgAiFSAZTw0BIAEoAgQiASAZTw0CIBQgHSABQQN0aikCADcDkAEgFCAdIBVBA3RqKQIANwOIASAUQZwBaiAUQYgBaiACIAdBABDnASAUKAKcAUEDRgRAIARFDQQMBQsgFCoCpAEiBSAHXSEBIAUgDiABGyEOIAUgByABGyEHIAEgHHIhHCAERQ0DDAQLIAEgHkHk/sIAELAJAAsgFSAZQfT+wgAQsAkACyABIBlBhP/CABCwCQALAkACQCAUKAKEASIBQSFPBEAgFCgCCCEWIBQoAgQiFUUNAiAXIQQgFSEBDAELIBghBCAXIRYgAUUNBAsgBCABQQFrIgE2AgAgFiABQQJ0aigCACEWDAELIBYgAUECdEEEEJ8NIBxBAXFFDQgMBAsgFiAfSQ0ACyAWIB9B+NLCABCwCQALIBxBAXENAQwFCyAaKAIQIRggGigCDCEEIBooAgQhFyAaKgIAIQkCQAJAIAIqAggiBUMAAAAAXARAQwAAgD8gBZUiCCAEviACKgIAIgWTlCIGIAggCSAFk5QiBV0hBEMAAAAAQwAAAAAgBiAFIAQbIgggCEMAAAAAXRsgCCAIXBsiByADIAMgBSAGIAQbIgUgAyAFXRsgBSAFXBsiCF5FDQFD//9/fyEFDAILQ///f38hBSACKgIAIgYgCV0NASADIQggBiAEvl4NAQsCQCACKgIMIgVDAAAAAFwEQEMAAIA/IAWVIgYgGL4gAioCBCIFk5QiCSAGIBe+IAWTlCIGXSEEIAkgBiAEGyIFIAUgByAFIAdeGyAHIAdcGyIHIAggCCAGIAkgBBsiBSAFIAheGyAFIAVcG15FDQFD//9/fyEFDAILQ///f38hBSACKgIEIgggF75dDQEgCCAYvl4NAQsgByEFCyADIAVeRQ0FIBooAggiFyABKAI8IgRPDQEgASgCOCAXQQN0aiIEKAIAIhcgASgCMCIYTw0CIAQoAgQiBCAYTw0DIBQgASgCLCIBIARBA3RqKQIANwOQASAUIAEgF0EDdGopAgA3A4gBIBRBnAFqIBRBiAFqIAIgA0EAEOcBIBQoApwBQQNGDQUgFCoCpAEiDiADXQ0ADAULIAMgDl5FDQNBASEWDAQLIBcgBEHk/sIAELAJAAsgFyAYQfT+wgAQsAkACyAEIBhBhP/CABCwCQALQQAhFgsgACAOOAIEIAAgFjYCACAUQbABaiQAC+wfAwd/Cn0CfiMAQcABayIIJAAgCEH4AGogAyAEKAJgIgsRAAAgCEGAAWoiDCIJIAgoAngiCiAIKAJ8KAIMEQAAIAgpA4ABIRogCCkDiAEhGSAIQfAAaiAFIAYoAmAiDhEAACAJIAgoAnAiCSAIKAJ0KAIMEQAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCUEAIAgpA4ABQsWyr4S2/KmRHYUgCCkDiAFC7oG88/KWs+pGhYRQGyINQQBHQQAgCkEAIBpCxbKvhLb8qZEdhSAZQu6BvPPylrPqRoWEUBsiCRtFBEAgCUEAIAUgBigCsAERBAAbDQEgDUEAIAMgBCgCsAERBAAbDQIgCEHoAGogAyALEQAAIAwgCCgCaCIKIAgoAmwoAgwRAAAgCCkDgAEhGiAIKQOIASEZIAhB4ABqIAUgDhEAACAMIAgoAmAiCSAIKAJkKAIMEQAAIApBACAaQoKch6v1+4zbO4UgGUL9w92jo7Pj2+gAhYRQGyIKBEAgCUEAIAgpA4ABQoKch6v1+4zbO4UgCCkDiAFC/cPdo6Oz49voAIWEUBsiCQ0ECyAIQdgAaiADIAsRAAAgCEGAAWoiCSAIKAJYIgogCCgCXCgCDBEAACAIKQOAASEaIAgpA4gBIRkgCEHQAGogBSAOEQAAIAkgCCgCUCIJIAgoAlQoAgwRAAAgCkEAIBpCgpyHq/X7jNs7hSAZQv3D3aOjs+Pb6ACFhFAbIgoEQCAJQQAgCCkDgAFCgpyHq/X7jNs7hSAIKQOIAUL9w92jo7Pj2+gAhYRQGyIJDQULIAhByABqIAMgCxEAACAIQYABaiIJIAgoAkgiCiAIKAJMKAIMEQAAIAgpA4ABIRogCCkDiAEhGSAIQUBrIAUgDhEAACAJIAgoAkAiCSAIKAJEKAIMEQAAIApBACAaQvSQiMKm363SsX+FIBlCyenfkebo7KlzhYRQGyIKBEAgCUEAIAgpA4ABQsqlh6CKpZ2IrX+FIAgpA4gBQoKXx47y7pXbD4WEUBsiCQ0GCyAIQThqIAMgCxEAACAIQYABaiAIKAI4IgkgCCgCPCgCDBEAACAIKQOAASEaIAgpA4gBIRkgCEEwaiAFIAYoArQBIg0RAAAgCUEAIBpCy7Kp4Y3M9Y6Zf4UgGUKClaD5uvOzzpl/hYRQGyIKBEAgCCgCMCIJDQcLIAhBKGogAyAEKAK0ASIMEQAAIAgoAiwhCiAIKAIoIQsgCEEgaiAFIA4RAAAgCEGAAWogCCgCICIJIAgoAiQoAgwRAAAgCwRAIAlBACAIKQOAAULLsqnhjcz1jpl/hSAIKQOIAUKClaD5uvOzzpl/hYRQGyIJDQgLIAhBGGogAyAMEQAAIAgoAhwhDCAIKAIYIQogCEEQaiAFIA0RAAAgCgRAIAgoAhAiCQ0JCyAIQQhqIAMgBCgCuAERAAAgCCgCCCIJRQ0JIAhBgAFqIAkgCCgCDCABIAIgBSAGIAcQZSAAIQEgCCgChAEiAEEDRwRAIAhBuAFqIAhBkAFqKQIANwMAIAggCCkCiAE3A7ABBUECIQALIAEgADYCACABIAgpA7ABNwIEIAFBDGogCEG4AWopAwA3AgAMDQsgB0MAAAAAYEUNCQJ/IAIqAggiEyATlCACKgIMIhEgEZSSkSISIAeTIRBBAiAQIAkqAgAiFyANKgIAIg+SIgdfRQ0AGkEAIAcgEmANABogESASlSIWIAIqAgAiEZQgEyASlSISIAIqAgQiEJSTIA+MIg+UIQcgEiARlCAWIBCUkiAPlCETIBcgFpQhESAXIBKUIRJBAQshASAAIAc4AhAgACATOAIMIAAgETgCCCAAIBI4AgQgACABNgIADAwLIAkqAgAhESAIIAIqAgAiFjgCsAEgCCACKgIEIhKMOAK0ASAIIBIgAikCCCIap74iEJQgFiAaQiCIp74iD5STOAK8ASAIIBYgEIyUIBIgD5STOAK4ASAIQYABaiAIQbABaiAFIAYgESAHEPICIAgoAoABRQRAQQIhAgwLCyAIKgKkAUMAAAAAXwRAQQAhAgwLCyAIKQKMASEZIAgpAoQBIRpBASECDAoLIAhBgAFqIAIgAyAEIA0qAgAgBxDyAiAIKAKAAUEBRwRAQQIhAgwJCyAIKgKkAUMAAAAAXwRAQQAhAgwJC0EBIQIgCCkChAEhGSAIKQKMASEaDAgLIAhBgAFqIgEgAiAKIAkgBxDpAiAAQRBqIAFBEGooAgA2AgAgAEEIaiABQQhqKQIANwIAIAAgCCkCgAE3AgAMCQsgCEGAAWoiASACIAogCSAHEOkCIABBEGogAUEQaigCADYCACAAQQhqIAFBCGopAgA3AgAgACAIKQKAATcCAAwICyAIIAIqAgAiEjgCsAEgCCACKgIEIhGMOAK0ASAIIBEgAikCCCIZp74iEJQgEiAZQiCIp74iD5STOAK8ASAIIBIgEIyUIBEgD5STOAK4ASAIQYABaiECIwBB0ABrIgQkACAEIAhBsAFqIgMqAgAiFDgCACAEIAMqAgQiFYw4AgQgBCAVIAMpAggiGae+IhiUIBQgGUIgiKe+IhOUkyIXOAIMIAQgFCAYjJQgFSATlJMiFjgCCCAEQRBqIAkgCiIBIAMQiAICQAJAAkACQCAEKgIQIhAgB15FBEAgBEEcaiABIAkgBBC9ASAEKgIcIg8gB14NASAHQ///f/9dDQIgEEMAAAAAXyAPQwAAAABfcQ0DAkAgDyAQXyAQQ///f/9gcUUEQCAPIBBgIA9D//9//2BxDQFB4NbCAEEoQZjXwgAQ+QoACyAVIAQqAhgiEIyUIBQgBCoCFCIPlJMiEiABKgIQlCAVIA+UIBQgEJSTIg8gASoCFJSSIREgAUEQaiEDAkAgEiABKgIAlCAPIAEqAgSUkiIQIBIgASoCCJQgDyABKgIMlJIiD15FBEAgDyARXkUNASABQQhqIQMMAQsgECARXkUNACABIQMLIAkqAgSMIBUgAyoCACIRlCAUIAMqAgQiEJSSIBOSIhOTIg9DAAAAACAPQwAAAABgGyATIAkpAgAiGUIgiKe+kyIPQwAAAAAgD0MAAAAAYBuTIRICfiAJKgIAjCAUIBGUIBUgEJSTIBiSIhCTIg9DAAAAACAPQwAAAABgGyAQIBmnvpMiD0MAAAAAIA9DAAAAAGAbkyIPQwAAAABbIBJDAAAAAFtxRQRAIBAgD5K8rSATIBKSvK1CIIaEDAELIBC8rSATvK1CIIaECyEZIAIgECAZp76TIg8gD5QgEyAZQiCIp76TIg8gD5SSIAcgB5ReBH9BAgUgAiAZNwIEIAIgFCATlCAVIBCUkyAXkjgCECACIBQgEJQgFSATlJIgFpI4AgxBAQs2AgAMBQsgBCAXIBQgCSoCBCAUIAQqAiQiEYyUIBUgBCoCICIPlJOYIhCUIBUgCSoCACAVIBGUIBQgD5STmCIPlJOSIhE4AiwgBCAWIBQgD5QgFSAQlJKSIhA4AiggBEEwaiABIARBKGpBARCSASACIBAgBCgCMCIDvpMiDyAPlCARIAQoAjQiAb6TIg8gD5SSIAcgB5ReBH9BAgUgAiABNgIQIAIgAzYCDCACIBUgEJQgFCARlJIgE5I4AgggAiAUIBCUIBUgEZSTIBiSOAIEQQELNgIADAQLIAJBAjYCAAwDCyACQQI2AgAMAgsgAkECNgIADAELIAJBADYCAAsgBEHQAGokACAAIAgpAoQBIhogCCkCjAEiGSAIKAKAASICQQFGIgEbNwIMIAAgGSAaIAEbNwIEIAAgAjYCAAwHCyAIQYABaiIBIAIgCiAJIAgoAjRBFGooAgAgBxCVBCAAQRBqIAFBEGooAgA2AgAgAEEIaiABQQhqKQIANwIAIAAgCCkCgAE3AgAMBgsgCEGAAWohAyAKQRRqKAIAIQEjAEEwayIEJAAgBCACKgIAIhI4AiAgBCACKgIEIhGMOAIkIAQgESACKQIIIhmnviIQlCASIBlCIIinviIPlJM4AiwgBCASIBCMlCARIA+UkzgCKCAEQQxqIARBIGogCSALIAEgBxCVBAJAIAQoAgxBAUYEQCADIAQpAhA3AgwgAyAEKQIYNwIEIANBATYCAAwBCyADIAQpAgw3AgAgA0EQaiAEQQxqIgFBEGooAgA2AgAgA0EIaiABQQhqKQIANwIACyAEQTBqJAAgAEEQaiADQRBqKAIANgIAIABBCGogA0EIaikCADcCACAAIAgpAoABNwIADAULIAxBDGooAgAhAyAIKAIUQRRqKAIAIQEjAEGgAWsiBCQAIARBAjYCfCAEQoCAgIAQNwJ0IARBHGpBAEHYAPwLAAJ9IAIqAggiESARlCACKgIMIhIgEpSSIg9DAACAKF4EQCASjCAPkSIPlSEQIAQgEYwgD5UiD7ytIBC8rUIghoQ3A4gBIARBkAFqIAogBEGIAWogAxEBACAEIBCMOAIEIAQgD4w4AgAgBEGYAWogCSACIAQgARECACAEKQOQASIZp74gBCoCmAGTIRAgGUIgiKe+IAQqApwBkwwBCyAEQoCAgPwDNwOIASAEQZABaiAKIARBiAFqIAMRAQAgBEKAgID8i4CAgIB/NwIAIARBmAFqIAkgAiAEIAERAgAgBCkDkAEiGae+IAQqApgBkyEQIBlCIIinviAEKgKcAZMLIQ8gBCAEKQOYATcCNCAEIBk3AiwgBCAPOAIoIAQgEDgCJCAEQgA3AoABIAQgAiAKIAMgCSABIAdBASAEQRxqEJYBAkACQAJAAkAgBCgCACIBQQFrDgMAAQIDCyAAIAQpAgQ3AgQgACAEKgIMIBGTIhEgAioCACIQlCAEKgIQIBKTIg8gAioCBCIHlJK8rSAQIA+UIBEgB5STvK1CIIaENwIMQQEhAQwCC0Hg1sIAQShBuNfCABD5CgALQQIhAQsgACABNgIAIARBoAFqJAAMBAsgCCAFIAYoArgBEQAAIAgoAgAiBgRAIAgoAgQhBUIAIRkjAEEwayIJJAAgCSACKgIAIhI4AgggCSACKgIEIhGMOAIMIAkgESACKQIIIhqnviIQlCASIBpCIIinviIPlJM4AhQgCSASIBCMlCARIA+UkzgCECAJQRhqIAYgBSABIAlBCGogAyAEIAcQZQJAAkAgCSgCHCIBQQNHBEAgCSkCKCEaIAkpAiAhGSABQQFHDQEgACAZNwIMIAAgGjcCBCAAQQE2AgAMAgtBAiEBCyAAIBo3AgwgACAZNwIEIAAgATYCAAsgCUEwaiQADAQLIABBAzYCAAwDCyAIQQA2ApABIAhBATYChAEgCEHI1sIANgKAASAIQgQ3AogBIAhBgAFqQdDWwgAQ3AsACyAAIBo3AgwgACAZNwIEIAAgAjYCAAwBCyAAIBo3AgwgACAZNwIEIAAgAjYCAAsgCEHAAWokAAuGEQIWfwd9IwBBsAFrIgEkACAAKAI4IQUgACgCPCEKIAFCADcCJCABQoCAgIDAADcCHCABQgQ3AhQgAUIANwIMIAFCgICAgMAANwIEIAFBADYCfCABQgQ3AjwgAUIANwI0IAFCgICAgMAANwIsIAFCADcCdCABQoCAgIDAADcCbCABQgA3AmQgAUKAgICAwAA3AlwgAUIENwJUIAFCADcCTCABQoCAgIDAADcCRAJAIApFDQAgBSAKQQxsaiEUIAFBBGoiAkEMaiEOIAFBOGoiFUEAIApBGBDmBCACQRhqIhZBACAKQQgQ5gQgACgCMCENIAAoAiwhD0EBIRBBASERAkACQAJAAkACQAJAAkADQCAFKAIAIgMgDU8NASAFKAIEIgQgDU8NAiAFKAIIIgIgDU8NAyAPIANBA3RqIgYqAgAhGyAPIAJBA3RqIgMqAgAhGSAPIARBA3RqIgIqAgAhHCADKgIEIhggGCACKgIEIhogGiAGKgIEIhcgFyAaXSICGyAXIBdcGyIdIBggHV4bIB0gHVwbIR0gFyAXIBogAhsgGiAaXBsiFyAXIBggFyAYXRsgGCAYXBshGCAZIBkgHCAcIBsgGyAcXSICGyAbIBtcGyIXIBcgGV0bIBcgF1wbIRogGyAbIBwgAhsgHCAcXBsiFyAXIBkgFyAZXRsgGSAZXBshFyABKAJAIhIgASgCOEYEQCAVQZjUwgAQrAYLIAdBAWohBCABKAI8IgggEkEYbGoiAkGBgICAfDYCFCACIB04AhAgAiAaOAIMIAIgBzYCCCACIBg4AgQgAiAXOAIAIAEgEkEBaiIMNgJAAkAgASgCJCIDIAdLBEAgAyECDAELIAcgAyICayILIAEoAhwgAmtPBEAgFiACIAtBAWpBCBDmBCABKAIkIQILIAQgA2tBA3EhBiABKAIgIRMgC0EDTwRAIBEgA2tBfHEhCyATIAJBA3RqIQkDQCAJQQA2AgAgCUEYakEANgIAIAlBEGpBADYCACAJQQhqQQA2AgAgCUEgaiEJIAJBBGohAiALQQRrIgsNAAsLIAYEQCACIAZqIQYgECADa0EDcSELIBMgAkEDdGohCQNAIAlBADYCACAJQQhqIQkgC0EBayILDQALIAYhAgsgASACNgIkCyACIAdNDQQgASgCICAHQQN0aiIDKAIAIQIgA0IBNwIAIAJFBEAgASABKAIoQQFqNgIoCyAQQQFqIRAgEUEBaiERIAQhByAUIAVBDGoiBUcNAAsgEkEBag4DBwUEBgsgAyANQYiZwwAQsAkACyAEIA1BmJnDABCwCQALIAIgDUGomcMAELAJAAsgByACQei0wwAQsAkACyABQYABaiICQRBqIgQgCEEQaikCADcDACACQQhqIgYgCEEIaikCADcDACACQSBqIgMgCEEgaikCADcDACACQShqIgIgCEEoaikCADcDACABIAgpAgA3A4ABIAEgCCkCGDcDmAEgASgCDCIHIAEoAgRGBEAgAUEEakG408IAEKsGCyABKAIIIAdBMGxqIgwgASkDgAE3AgAgDEEgaiADKQMANwIAIAxBGGogAUGYAWopAwA3AgAgDEEQaiAEKQMANwIAIAxBCGogBikDADcCACAMQShqIAIpAwA3AgAgASAHQQFqNgIMIAEoAhgiAiABKAIQRgRAIA5ByNPCABDHBgsgASgCFCACQQJ0akEANgIAIAEgAkEBajYCGAJAIAEoAiQiAkUNACABKAIgIgMoAgBBAUcNACADQQA2AgQCQCACQQFGDQAgAygCCEUNACADQQE2AgwMBAtB2MTCAEEPQejTwgAQ+AkAC0HYxMIAQQ9B2NPCABD4CQALIAFBgAFqIgJBEGoiAyAIQRBqKQIANwMAIAJBCGoiAiAIQQhqKQIANwMAIAEgCCkCADcDgAEgASgCDCIGIAEoAgRGBEAgAUEEakGI08IAEKsGCyABKAIIIAZBMGxqIgQgASkDgAE3AgAgBEIANwIYIARBEGogAykDADcCACAEQQhqIAIpAwA3AgAgBEEgakIANwIAIARBKGpCADcCACABIAZBAWo2AgwgASgCGCICIAEoAhBGBEAgDkGY08IAEMcGCyABKAIUIAJBAnRqQQA2AgAgASACQQFqNgIYAkAgASgCJEUNACABKAIgIgIoAgBBAUcNACACQQA2AgQMAgtB2MTCAEEPQajTwgAQ+AkACyABKAIEIAEoAgwiAmsgCkkEQCABQQRqIAIgCkEwEOYECyABKAIQIAEoAhgiAmsgCkkEQCABQRBqIAIgCkEEEOYEC0EAIQUgAUEANgIYIAEoAgwiAiABKAIERgRAIAFBBGpB+NPCABCrBiABKAIYIQULIAEoAgggAkEwbGoiA0IANwIAIANBIGpCADcCACADQRhqQgA3AgAgA0EQakIANwIAIANBCGpCADcCACADQShqQgA3AgAgASACQQFqNgIMIAEoAhAgBUYEQCAOQYjUwgAQxwYLIAEoAhQgBUECdGpBADYCACABIAVBAWo2AhggAUEEaiICQQAgCCAMEDggAiABQSxqELIBCyABQYABaiIDQSBqIAFBBGoiAkEgaikCADcDACADQRhqIAJBGGopAgA3AwAgA0EQaiACQRBqKQIANwMAIANBCGogAkEIaikCADcDACABIAEpAgQ3A4ABIAFBLGoQ6AcgACgCACICBEAgACgCBCACQTBsQQQQnw0LIAAoAgwiAgRAIAAoAhAgAkECdEEEEJ8NCyAAKAIYIgIEQCAAKAIcIAJBA3RBBBCfDQsgACABKQOAATcCACAAQSBqIAFBgAFqIgJBIGopAwA3AgAgAEEYaiACQRhqKQMANwIAIABBEGogAkEQaikDADcCACAAQQhqIAJBCGopAwA3AgAgAUGwAWokAAuaDwMJfwt9An4jAEEwayIGJAAgACgCACEEAkAgAQRAIAYgBCoCBCIPIAEqAgAiEpQgBCoCACIQIAEqAgQiE5SSOAIMIAYgECASlCAPIBOUkzgCCCAGIAQqAgwgDyABKgIIIhKUIBAgASoCDCITlJKSOAIUIAYgBCoCCCAQIBKUIA8gE5STkjgCEAwBCyAGQRBqIARBCGopAgA3AwAgBiAEKQIANwMICyAAKAIIIQwCQCAAKAIELQAAQQFGBEAgACgCDCEHDAELIAAoAhAiCSkCACIbQiCIp74CfiAAKAIMIgcCfyAMLQAAIghFBEBCACAHKAIARQ0CGkEMDAELQgAgBygCFEEBRw0BGkEgC2opAgALIhpCIIinvpMhDyAHKAJgIgRBLGwiBSAHakHkAGohCyAbp74gGqe+kyEQAkAgCEUEQCAERQ0BIAVBLGsiCEEsbiIEQQNxQQNGBH8gB0HkAGoFQQAgBEEBakEDcWshBSAHQfgAaiEEA0AgBCAEKgIAIA+TOAIAIARBBGsiCiAKKgIAIBCTOAIAIARBLGohBCAFQQFqIgUNAAsgBEEUawshBCAIQYQBSQ0BA0AgBEEQaiIFIAUqAgAgEJM4AgAgBEEUaiIFIAUqAgAgD5M4AgAgBEE8aiIFIAUqAgAgEJM4AgAgBEFAayIFIAUqAgAgD5M4AgAgBEHoAGoiBSAFKgIAIBCTOAIAIARB7ABqIgUgBSoCACAPkzgCACAEQZQBaiIFIAUqAgAgEJM4AgAgBEGYAWoiBSAFKgIAIA+TOAIAIAsgBEGwAWoiBEcNAAsMAQsgBEUNACAFQSxrIghBLG4iBEEDcUEDRgR/IAdB5ABqBUEAIARBAWpBA3FrIQUgB0GAAWohBANAIAQgBCoCACAPkzgCACAEQQRrIgogCioCACAQkzgCACAEQSxqIQQgBUEBaiIFDQALIARBHGsLIQQgCEGEAUkNAANAIARBGGoiBSAFKgIAIBCTOAIAIARBHGoiBSAFKgIAIA+TOAIAIARBxABqIgUgBSoCACAQkzgCACAEQcgAaiIFIAUqAgAgD5M4AgAgBEHwAGoiBSAFKgIAIBCTOAIAIARB9ABqIgUgBSoCACAPkzgCACAEQZwBaiIFIAUqAgAgEJM4AgAgBEGgAWoiBSAFKgIAIA+TOAIAIAsgBEGwAWoiBEcNAAsLIAwtAABFBEAgByAJKQIANwIMIAdCgICA/AM3AgQgB0EBNgIAQQAhBCAHIAEEfyAGQSBqIAFBCGopAgA3AwAgBiABKQIANwMYQQEFQQALNgIUIAcgBikDGDcCGCAHQSBqIAZBIGopAwA3AgAgACgCFCAGQQhqIAAoAhxByNPBACACIANBACAGQQAgBiAAKAIgKgIAIAcgACgCGCgCKBEUABoMAQtBACEEIAEEQCAGQSBqIAFBCGopAgA3AwAgBiABKQIANwMYQQEhBAsgByAGKQMYNwIEIAcgBDYCACAHQQxqIAZBIGopAwA3AgAgByAJKQIANwIgIAdCgICA/AM3AhggB0EBNgIUIAAoAhQhASAAKAIYIQQgBiAGKgIMIg+MOAIcIAYgBioCCCIQOAIYIAYgDyAGKQMQIhqnviISlCAQIBpCIIinviITlJM4AiQgBiAQIBKMlCAPIBOUkzgCICABIAZBGGogAiADIAAoAhxByNPBAEEAIAZBACAGIAAoAiAqAgAgByAEKAIoERQAGgsgACgCJCILKQIAIRogBiAHQcQBQbwBIAwtAAAbaikCACIbNwMoAkAgBygCYCIBRQ0AIAcgAUEsbGpB5ABqIQ4gB0GQAWohBSAHQeQAaiEBIBtCIIinviEPIAAoAiwhCCAaQiCIp75DCtcjPJIiEowhEyAap75DCtcjPJIiF4whGCAAKAIQIQogACgCKCEJIBunviEQQQEhAANAIAUhBAJAAn4CQAJAAkAgASoCIEMAAAAAXQRAIAkqAgQhESAJKgIAIRQgCyoCBCEVIAsqAgAhFiAGIAIgAygCtAERAAAgBigCACIFRQ0BIAZBGGogBSAGQQhqIAZBKGogBigCBCgCFBECACAQjCEZIAEqAiAgCioCBCAGKQMYIhpCIIinvpIgFSAPjJggEZKTIAYqAiwiD4yUIAYqAigiECAKKgIAIBqnvpIgFiAZmCAUkpOUk15FDQULIAwtAAANAiAHKAIAQQFxRQ0BIAcqAgwgByoCBCIRIAEqAhAiFJQgByoCCCIVIAEqAhQiFpSTkrytIAcqAhAgFSAUlCARIBaUkpK8rUIghoQMAwtBkNXBAEEbQaThwQAQ+AkACyABKQIQDAELIAcoAhRBAXFFBEAgASkCGAwBCyAHKgIgIAcqAhgiESABKgIYIhSUIAcqAhwiFSABKgIcIhaUk5K8rSAHKgIkIBUgFJQgESAWlJKSvK1CIIaECyEaIAggCCgCACAap74gCSoCAJMiESAXXkUgESAYXUF/c3EgGkIgiKe+IAkqAgSTIhEgEl5FIBEgE11Bf3NxcSANdHI2AgALIAQgDkYiAQ0BIABBH3EhDSAAQQFqIQAgBEEAQSwgARtqIQUgBCIBDQALCyAGQTBqJAAL/A4DCX8LfQJ+IwBBMGsiBiQAIAAoAgAhBAJAIAEEQCAGIAQqAgQiDyABKgIAIhKUIAQqAgAiECABKgIEIhOUkjgCDCAGIBAgEpQgDyATlJM4AgggBiAEKgIMIA8gASoCCCISlCAQIAEqAgwiE5SSkjgCFCAGIAQqAgggECASlCAPIBOUk5I4AhAMAQsgBkEQaiAEQQhqKQIANwMAIAYgBCkCADcDCAsgACgCCCEMAkAgACgCBC0AAEEBRgRAIAAoAgwhBwwBCyAAKAIQIgkpAgAiG0IgiKe+An4gACgCDCIHAn8gDC0AACIIRQRAQgAgBygCAEUNAhpBDAwBC0IAIAcoAhRBAUcNARpBIAtqKQIACyIaQiCIp76TIQ8gBygCKCIEQRxsIgUgB2pBLGohCyAbp74gGqe+kyEQAkAgCEUEQCAERQ0BIAdBLGohBCAFQRxrIghBHG4iBUEDcUEDRwRAQQAgBUEBakEDcWshBQNAIAQgBCoCACAQkzgCACAEQQRqIgogCioCACAPkzgCACAEQRxqIQQgBUEBaiIFDQALCyAIQdQASQ0BA0AgBCAEKgIAIBCTOAIAIARBBGoiBSAFKgIAIA+TOAIAIARBHGoiBSAFKgIAIBCTOAIAIARBIGoiBSAFKgIAIA+TOAIAIARBOGoiBSAFKgIAIBCTOAIAIARBPGoiBSAFKgIAIA+TOAIAIARB1ABqIgUgBSoCACAQkzgCACAEQdgAaiIFIAUqAgAgD5M4AgAgCyAEQfAAaiIERw0ACwwBCyAERQ0AIAVBHGsiCEEcbiIEQQNxQQNGBH8gB0EsagVBACAEQQFqQQNxayEFIAdBOGohBANAIAQgBCoCACAPkzgCACAEQQRrIgogCioCACAQkzgCACAEQRxqIQQgBUEBaiIFDQALIARBDGsLIQQgCEHUAEkNAANAIARBCGoiBSAFKgIAIBCTOAIAIARBDGoiBSAFKgIAIA+TOAIAIARBJGoiBSAFKgIAIBCTOAIAIARBKGoiBSAFKgIAIA+TOAIAIARBQGsiBSAFKgIAIBCTOAIAIARBxABqIgUgBSoCACAPkzgCACAEQdwAaiIFIAUqAgAgEJM4AgAgBEHgAGoiBSAFKgIAIA+TOAIAIAsgBEHwAGoiBEcNAAsLIAwtAABFBEAgByAJKQIANwIMIAdCgICA/AM3AgQgB0EBNgIAQQAhBCAHIAEEfyAGQSBqIAFBCGopAgA3AwAgBiABKQIANwMYQQEFQQALNgIUIAcgBikDGDcCGCAHQSBqIAZBIGopAwA3AgAgACgCFCAGQQhqIAAoAhxBtOfCACACIANBACAGQQAgBiAAKAIgKgIAIAcgACgCGCgCKBEUABoMAQtBACEEIAEEQCAGQSBqIAFBCGopAgA3AwAgBiABKQIANwMYQQEhBAsgByAGKQMYNwIEIAcgBDYCACAHQQxqIAZBIGopAwA3AgAgByAJKQIANwIgIAdCgICA/AM3AhggB0EBNgIUIAAoAhQhASAAKAIYIQQgBiAGKgIMIg+MOAIcIAYgBioCCCIQOAIYIAYgDyAGKQMQIhqnviISlCAQIBpCIIinviITlJM4AiQgBiAQIBKMlCAPIBOUkzgCICABIAZBGGogAiADIAAoAhxBtOfCAEEAIAZBACAGIAAoAiAqAgAgByAEKAIoERQAGgsgACgCJCILKQIAIRogBiAHQewAQeQAIAwtAAAbaikCACIbNwMoAkAgBygCKCIBRQ0AIAcgAUEcbGpBLGohDiAHQcgAaiEFIAdBLGohASAbQiCIp74hDyAAKAIsIQggGkIgiKe+QwrXIzySIhKMIRMgGqe+QwrXIzySIheMIRggACgCECEKIAAoAighCSAbp74hEEEBIQADQCAFIQQCQAJ+AkACQAJAIAEqAhBDAAAAAF0EQCAJKgIEIREgCSoCACEUIAsqAgQhFSALKgIAIRYgBiACIAMoArQBEQAAIAYoAgAiBUUNASAGQRhqIAUgBkEIaiAGQShqIAYoAgQoAhQRAgAgEIwhGSABKgIQIAoqAgQgBikDGCIaQiCIp76SIBUgD4yYIBGSkyAGKgIsIg+MlCAGKgIoIhAgCioCACAap76SIBYgGZggFJKTlJNeRQ0FCyAMLQAADQIgBygCAEEBcUUNASAHKgIMIAcqAgQiESABKgIAIhSUIAcqAggiFSABKgIEIhaUk5K8rSAHKgIQIBUgFJQgESAWlJKSvK1CIIaEDAMLQfzowgBBG0GY6cIAEPgJAAsgASkCAAwBCyAHKAIUQQFxRQRAIAEpAggMAQsgByoCICAHKgIYIhEgASoCCCIUlCAHKgIcIhUgASoCDCIWlJOSvK0gByoCJCAVIBSUIBEgFpSSkrytQiCGhAshGiAIIAgoAgAgGqe+IAkqAgCTIhEgF15FIBEgGF1Bf3NxIBpCIIinviAJKgIEkyIRIBJeRSARIBNdQX9zcXEgDXRyNgIACyAEIA5GIgENASAAQR9xIQ0gAEEBaiEAIARBAEEcIAEbaiEFIAQiAQ0ACwsgBkEwaiQAC9MPAw9/BX4EfSMAQbACayIGJAAgACgCACEHAkAgAQRAIAYgASoCACIaIAcqAgQiHJQgASoCBCIbIAcqAgAiHZSTOAIUIAYgGiAdlCAbIByUkjgCECAGIBogByoCCCABKgIIkyIclCAbIAcqAgwgASoCDJMiHZSSvK0gGiAdlCAbIByUk7ytQiCGhDcCGAwBCyAGQRhqIAdBCGopAgA3AwAgBiAHKQIANwMQCyAAKAIQIggoAgQhCiAAKAIMIg0gACgCCCIPIAAoAgQiEi0AACILGygCACEQIAogCCkDECAPIA0gCxsoAgAiEa0gEK1CIIaEhSIVQiCIIhZCt9OwhQx+IBVC/////w+DIhVC3aHxywx+hSAWQt2h8csMfiAVQrfTsIUMfoVCIImFIhanIhNxIQcgFkIZiCIYQv8Ag0KBgoSIkKDAgAF+IRkgCCgCACEOAkACQAJAAkACQANAAkAgByAOaikAACIXIBmFIhVCgYKEiJCgwIABfSAVQn+Fg0KAgYKEiJCgwIB/gyIVQgBSBEADQCAOIBV6p0EDdiAHaiAKcUEEdGsiDEEQaygCACARRgRAIBAgDEEMaygCAEYNAwsgFUIBfSAVgyIVQgBSDQALCyAXIBdCAYaDQoCBgoSIkKDAgH+DQgBSDQIgCUEIaiIJIAdqIApxIQcMAQsLIAxBCGsiCSgCACIBIAAoAhQiBygCCCIITw0BIAZB9AFqIAcoAgQgAUH8AGxqIgFBKGoiBxCyAiABKAIoBEAgB0EANgIACyAGQSBqIgdBCGogAUEIaikCADcDACAHQRBqIAFBEGooAgA2AgAgB0EcaiABQRxqKQIANwIAIAdBJGogAUEkaigCADYCACAGQYABaiAGQfQBaiIIQThqKAIANgIAIAZB+ABqIAhBMGopAgA3AwAgBkHwAGogCEEoaikCADcDACAGQegAaiAGQZQCaikCADcDACAGQeAAaiAGQYwCaikCADcDACAHQThqIAhBEGopAgA3AwAgB0EwaiAIQQhqKQIANwMAIAYgBikC9AE3A0ggBiABKQIANwMgIAYgASkCFDcCNCABKAJ4IQogASgCdCELIAEpAmwhFSABKQJkIRYgCSAAKAIYIgcoAgg2AgAgDEEEayAAKAIcLQAAOgAAIAcoAggiCCAHKAIARgRAIAdBiNnCABCvBgsgBygCBCAIQfwAbGoiASAGQSBqQeQA/AoAACABIAo2AnggASALNgJ0IAEgFTcCbCABIBY3AmQgByAIQQFqIgE2AggMBAsgBkHIAWpCADcCACAGQgA3AsABIAAoAhwhFCAAKAIYIgcoAgghDCALRQRAQQAhDkEAIQsgACgCICgCACIJBEAgBkHYAWogCUEIaikCADcDACAGIAkpAgA3A9ABQQEhCwsgDygCACEJIA0oAgAhCiABRQ0DDAILQQAhDkEAIQsgAQRAIAZB2AFqIAFBCGopAgA3AwAgBiABKQIANwPQAUEBIQsLIA0oAgAhCSAPKAIAIQogACgCICgCACIBDQEMAgsgASAIQfjYwgAQsAkACyAGQegBaiABQQhqKQIANwMAIAYgASkCADcD4AFBASEOCyAULQAAIQ0gBygCACAMRgRAIAdBmNnCABCvBgsgBygCBCAMQfwAbGoiASALNgIAIAEgBikD0AE3AgQgASAONgIUIAEgBikD4AE3AhggAUEANgIoIAFBDGogBkHYAWopAwA3AgAgAUEgaiAGQegBaikDADcCACABQSxqIAZBiAFqQcgA/AoAACABIAk2AnggASAKNgJ0IAcgDEEBajYCCCAGIA06AIACIAYgDDYC/AEgBiAQNgL4ASAGIBE2AvQBIAgoAgQiDCATcSIBIAgoAgAiCWopAABCgIGChIiQoMCAf4MiFVAEQEEIIQoDQCABIApqIQEgCkEIaiEKIAkgASAMcSIBaikAAEKAgYKEiJCgwIB/gyIVUA0ACwsgCCgCCCELAkAgCSAVeqdBA3YgAWogDHEiAWosAAAiCkEATgR/IAkgCSkDAEKAgYKEiJCgwIB/g3qnQQN2IgFqLQAABSAKC0EBcSIKIAtFcUUEQCABIAlqIBinQf8AcSINOgAAIAkgAUEIayAMcWpBCGogDToAACAIIAsgCms2AgggCCAIKAIMQQFqNgIMIAkgAUEEdGsiAUEQayIIQQhqIAZB/AFqKQIANwIAIAggBikC9AE3AgAMAQsgBkEIaiAIIAhBEGoQzwEgCCAWIAgoAgAgCCgCBCAWELIIIAZB9AFqEMYIIQELIAFBCGshCSAHKAIIIQELAkACQCABIAkoAgAiCEsEQCAHKAIEIAhB/ABsaiEBIAAoAighByAAKAIkIQggEi0AAA0BIAYgBioCECIaOAL0ASAGIAYqAhQiG4w4AvgBIAYgGyAGKQMYIhWnviIclCAaIBVCIIinviIdlJM4AoACIAYgGiAcjJQgGyAdlJM4AvwBIAggBkH0AWogACgCLCAAKAIwIAIgAyAAKAI0IgIoAgAgAigCBCAEIAUgACgCOCoCACABIAcoAigRFAAaDAILIAggAUGo2cIAELAJAAsgCCAGQRBqIAIgAyAAKAIsIAAoAjAgBCAFIAAoAjQiAigCACACKAIEIAAoAjgqAgAgASAHKAIoERQAGgsgBkGwAmokAAuVEQMIfwl9BH4jAEGwAWsiCCQAIAhB0ABqIAMgBCgCYCIOEQAAIAhBgAFqIg8iCSAIKAJQIgsgCCgCVCgCDBEAACAIKQOAASEaIAgpA4gBIRkgCEHIAGogBSAGKAJgIgoRAAAgCSAIKAJIIgkgCCgCTCgCDBEAAAJAAkACQAJAAkACQAJAIAlBACAIKQOAAULFsq+EtvypkR2FIAgpA4gBQu6BvPPylrPqRoWEUBsiDEEAR0EAIAtBACAaQsWyr4S2/KmRHYUgGULugbzz8paz6kaFhFAbIg0bRQRAIAhBQGsgAyAOEQAAIA8gCCgCQCIJIAgoAkQoAgwRAAAgCCkDgAEhGyAIKQOIASEaIAhBOGogBSAGKAK0ASIPEQAAIAlBACAbQsuyqeGNzPWOmX+FIBpCgpWg+brzs86Zf4WEUBsiCwRAIAgoAjgiCQ0CCyAIQTBqIAMgBCgCtAEiCxEAACAIKAI0IQkgCCgCMCEOIAhBKGogBSAKEQAAIAhBgAFqIAgoAigiCiAIKAIsKAIMEQAAIA4EQCAKQQAgCCkDgAFCy7Kp4Y3M9Y6Zf4UgCCkDiAFCgpWg+brzs86Zf4WEUBsiCg0DCyANQQAgBSAGKAKwAREEACIJGw0DIAxBACADIAQoArABEQQAGw0EIAhBIGogAyALEQAAIAgoAiQhCyAIKAIgIQogCEEYaiAFIA8RAAAgCgRAIAgoAhgiCQ0GCyAIQRBqIAMgBCgCuAERAAAgCCgCECIJRQ0GIAhBgAFqIgMgCSAIKAIUIAEgAiAFIAYgBxCNAiAAIAgoAoABBH8gCEHYAGoiAUEgaiAIQagBaigCADYCACABQRhqIANBIGopAgA3AwAgAUEQaiADQRhqKQIANwMAIAhB4ABqIANBEGopAgA3AwAgCCAIKQKIATcDWEEBBUEACzYCACAAIAgpA1g3AgQgAEEMaiAIQeAAaikDADcCACAAQRRqIAhB6ABqKQMANwIAIABBHGogCEHwAGopAwA3AgAgAEEkaiAIQfgAaigCADYCAAwHCyACKgIIIhAgEJQgAioCDCIXIBeUkiIRIAcgDSoCACIVIAwqAgAiFpIiFJIiByAHlF0Ef0MAAAAAIQcgEZEhEkMAAIA/IRggEUMAAAAAXARAIBAgEpUhGCAXIBKVIQcLIBYgByACKgIAIhCUIBggAioCBCIRlJOMIheUIRMgFiAYIBCUIAcgEZSSjCIRlCEWIBIgFJMhECAVIAeUIRQgFSAYlCEVQQEFQQALIQEgACAQOAIkIAAgFzgCICAAIBE4AhwgACAHOAIYIAAgGDgCFCAAIBM4AhAgACAWOAIMIAAgFDgCCCAAIBU4AgQgACABNgIADAYLIAgoAjxBGGooAgAhASAIIAsqAgQiEYw4AoQBIAggCyoCACITjDgCgAEgCEHYAGogCSACIAhBgAFqIAERAgAgEyAIKgJYlCARIAgqAlwiEJSSIhQgB18EfyAIKQNYIhmnviIRIAIqAgiTIhMgAioCACISlCAQIAIqAgyTIgcgAioCBCIQlJK8rSASIAeUIBMgEJSTvK1CIIaEIRwgEiALKQIAIhunviITjJQgECAbQiCIp74iB5STvK0gECATlCASIAeUk7ytQiCGhCEaIBlCIIinviAUIAeUkyEHIBEgFCATlJMhEEEBBUEACyEBIAAgFDgCJCAAIBo3AhwgACAbNwIUIAAgHDcCDCAAIAc4AgggACAQOAIEIAAgATYCAAwFCyAJQRhqKAIAIQEgCCAKKgIEIhGMOAKEASAIIAoqAgAiE4w4AoABIAhB2ABqIA4gAiAIQYABaiABEQIAAn8gEyAIKgJYlCARIAgqAlwiF5SSIhUgB18EQCACKgIAIhYgCikCACIbp74iEoyUIAIqAgQiFCAbQiCIp74iEJSTvK0gFCASlCAWIBCUk7ytQiCGhCEaIBYgFyACKgIMkyIRlCAIKQNYIhmnviITIAIqAgiTIgcgFJSTIRcgByAWlCARIBSUkiEHIBMgFSASlJO8rSAZQiCIp74gFSAQlJO8rUIghoQhHEEBDAELQQALIQEgACAVOAIkIAAgGzcCHCAAIBo3AhQgACAcNwIMIAAgFzgCCCAAIAc4AgQgACABNgIADAQLIA0qAgAhECAIIAIqAgAiFDgCWCAIIAIqAgQiEow4AlwgCCASIAIpAggiGae+IhGUIBQgGUIgiKe+IhOUkzgCZCAIIBQgEYyUIBIgE5STOAJgIAhBgAFqIAhB2ABqIAUgBiAQIAcQ8gJBASECAkAgCCgCgAFBAUcEQEEAIQIMAQsgCCgCpAEhASAIKAKgASEMIAgoApwBIQUgCCgCmAEhCiAIKAKUASEJIAgoApABIQ0gCCgCjAEhBCAIKAKIASEDIAgoAoQBIQYLIAAgATYCJCAAIAo2AiAgACAJNgIcIAAgDDYCGCAAIAU2AhQgACADNgIQIAAgBjYCDCAAIA02AgggACAENgIEIAAgAjYCAAwDCyAAIAIgAyAEIAwqAgAgBxDyAgwCCyAAIAIgCiALQQxqKAIAIAkgCCgCHEEUaigCACAHECsMAQsgCEEIaiAFIAYoArgBEQAAIAgoAggiBgRAIAgoAgwhBSMAQUBqIgkkACAJIAIqAgAiEjgCBCAJIAIqAgQiEIw4AgggCSAQIAIpAggiGae+IhGUIBIgGUIgiKe+IhOUkzgCECAJIBIgEYyUIBAgE5STOAIMIAlBFGogBiAFIAEgCUEEaiADIAQgBxCNAkEBIQECQCAJKAIUQQFGBEAgCSkCJCEbIAkpAhwhHCAJKQI0IRogCSkCLCEZIAAgCSgCPDYCJCAAIBk3AhwgACAaNwIUIAAgHDcCDCAAIBs3AgQMAQtBACEBCyAAIAE2AgAgCUFAayQADAELIABBAjYCAAsgCEGwAWokAAuKEQMOfQ5/AX4jAEGgAWsiFCQAIAEoAhQhHCABKAIQIRggFEEANgIEIBRBADYCiAFBAyEZAkAgHEUNACAYKAIsQf////8DcQRAIBRBCGohFyAUQYgBaiEfQwAAgD8gAioCDCIRlSENQwAAgD8gAioCCCISlSEOIAEoAgQhICABKAIIIRsgAioCBCELIAIqAgAhDAJAA0AgGCAVQTBsaiIBKAIQIRMgASgCDCEWIAEqAgQhByABKgIAIQUCQAJAAkACQAJAIBJDAAAAAFsiGkUEQCAOIBa+IAyTlCIGIA4gBSAMk5QiCF0hFkMAAAAAQwAAAAAgBiAIIBYbIgUgBUMAAAAAXRsgBSAFXBsiBSADIAMgCCAGIBYbIgYgAyAGXRsgBiAGXBsiCV5FDQEgASoCKCEKIAEqAiQhCSABKgIcIQ8gASoCGCEGQ///f38hCAwCCyAFIAxeRQRAQwAAAAAhBSADIQkgDCAWvl5FDQELIAEqAighCiABKgIkIQkgASoCHCEPIAEqAhghBkP//39/IQgMAgsCQAJAIBFDAAAAAFwEQEP//39/IQggDSATviALk5QiBiANIAcgC5OUIgddIRMgBiAHIBMbIgogCiAFIAUgCl0bIAUgBVwbIgUgCSAJIAcgBiATGyIGIAYgCV4bIAYgBlwbXkUNAQwCC0P//39/IQggByALXg0BIAsgE75eDQELIAUhCAsgASoCKCEKIAEqAiQhCSABKgIcIQ8gASoCGCEGIBoNAQsgDiAJIAyTlCIHIA4gBiAMk5QiCV0hE0MAAAAAQwAAAAAgByAJIBMbIgUgBUMAAAAAXRsgBSAFXBsiBiADIAMgCSAHIBMbIgUgAyAFXRsgBSAFXBsiB15FDQFD//9/fyEFDAILQ///f38hBSAGIAxeDQFDAAAAACEGIAMhByAJIAxdDQELAkAgEUMAAAAAXARAIA0gCiALk5QiBSANIA8gC5OUIgldIRMgBSAJIBMbIgogCiAGIAYgCl0bIAYgBlwbIgYgByAHIAkgBSATGyIFIAUgB14bIAUgBVwbXkUNAUP//39/IQUMAgtD//9/fyEFIAsgD10NASAKIAtdDQELIAYhBQsgAUEYaiETAkAgBSAIXUUEQCAFIQYgCCEFIBMhFiABIRMMAQsgCCEGIAEhFgsCQAJAAkACQAJAIAMgBV5FBEAgAyAGXkUNBCAGQ///f39bDQQgFigCFEH/////A3FBAUcNAQwCCyAFQ///f39cBEAgEygCCCEBIBMoAhRB/////wNxQQFHBEAgAyAGXkUEQCABIRUMBwsgBkP//39/WwRAIAEhFQwHC0EBIRMgFigCFEH/////A3FBAUYEQCABIRUMBQsCfyAUKAKIASIaQSFJBEAgGiEVIBchHUEgIRogHwwBCyAUKAIIIRUgFCgCDCEdIBcLIRMgFigCCCEWIBUgGkYEfyAUQQRqEJUDIBQoAgwhHSAXIRMgFCgCCAUgFQtBAnQgHWogFjYCACATIBMoAgBBAWo2AgAgASEVDAYLAkAgASAbSQRAICAgAUEYbGoiASgCFCETIBRBjAFqIAEoAhAgEygCCEEBa0F4cWpBCGogASACIAMgBCATQRxqKAIAEQkAIBQoAowBIgFBBWtBfUsNASAUKgKUASIFIANdRQ0BIBQpApgBISEgFCgCkAEhHiAFIhAhAyABIRkMAQsgASAbQaT+wgAQsAkACwsgAyAGXkUNAyAGQ///f39bDQMgFigCFEH/////A3FBAUYNAQsgFigCCCEVDAMLQQAhEwsgFigCCCIBIBtJBEAgICABQRhsaiIBKAIUIRYgFEGMAWogASgCECAWKAIIQQFrQXhxakEIaiABIAIgAyAEIBZBHGooAgARCQACQCAUKAKMASIBQQVrQX1NBEAgFCoClAEiBSADXQ0BCyATRQ0CDAMLIBQpApgBISEgFCgCkAEhHiAFIhAhAyABIRkgE0UNAQwCCyABIBtBpP7CABCwCQALIBchFSAfIRMgFCgCiAEiAUEhTwRAIBQoAgwhFSAXIRMgFCgCCCEBCyABRQ0CIBMgAUEBayIBNgIAIBUgAUECdGooAgAhFQsgFSAcSQ0ACyAVIBxB+NLCABCwCQALIBlBA0cNAUEDIRkMAQsgGCgCECEVIBgoAgwhEyAYKAIEIRcgGCoCACEIAkACQCACKgIIIgVDAAAAAFwEQEMAAIA/IAWVIgUgE74gAioCACIGk5QiByAFIAggBpOUIghdIRNDAAAAAEMAAAAAIAcgCCATGyIFIAVDAAAAAF0bIAUgBVwbIgYgAyADIAggByATGyIFIAMgBV0bIAUgBVwbIgheRQ0BQ///f38hBQwCC0P//39/IQUgAioCACIHIAhdDQEgAyEIIAcgE75eDQELAkAgAioCDCIFQwAAAABcBEBDAACAPyAFlSIHIBW+IAIqAgQiCZOUIgUgByAXviAJk5QiB10hFSAFIAcgFRsiCSAJIAYgBiAJXRsgBiAGXBsiBiAIIAggByAFIBUbIgUgBSAIXhsgBSAFXBteRQ0BQ///f38hBQwCC0P//39/IQUgAioCBCIIIBe+XQ0BIAggFb5eDQELIAYhBQsgAyAFXkUNACAYKAIIIhUgASgCCCITSQRAIAEoAgQgFUEYbGoiASgCFCEVIBRBjAFqIAEoAhAgFSgCCEEBa0F4cWpBCGogASACIAMgBCAVQRxqKAIAEQkAIBQoAowBIgFBBWtBfUsNASAUKgKUASIQIANdRQ0BIBQpApgBISEgFCgCkAEhHiABIRkMAQsgFSATQaT+wgAQsAkACyAUKAKIASIBQSFPBEAgFCgCDCABQQJ0QQQQnw0LIBlBA0cEQCAAICE3AgwgACAQOAIIIAAgHjYCBAsgACAZNgIAIBRBoAFqJAALvRACEX8CfiMAQbABayICJAACQCABKAIEIgNFBEAgAEGAgICAeDYCAAwBCyABIANBAWs2AgQCQAJ/IAEoAgAiBSgCBCIBQQdNBEAgAkKBygA3A3ggAkH4AGoQxwshBEEBDAELIAUgAUEIazYCBCAFIAUoAgAiAUEIajYCACACQRBqIAEpAAAQtwYgAigCFCEEIAIoAhALQQFxBEAgBCEIDAELAkACQAJAAkACQAJAAkACQAJAAkAgBEUEQEEEIQgMAQtB1aoBIAQgBEHVqgFPGyIIQTBsIgNBBBDUDCIBRQ0BIAJBADYCJCACIAE2AiAgAiAINgIcIAJBgAFqIQ0DQCACIAU2AlggAkECNgJcIAJB+ABqIgsgAkHYAGoiDBCbAyACKAJ8IQggAigCeCIDQQJGDQogAkHgAGoiAUEQaiIOIA1BEGoiBygCADYCACABQQhqIgogDUEIaiIGKQIANwMAIAIgDSkCADcDYCADQQFxRQ0DIAsgDBCbAyACKAJ8IQEgAigCeCILQQJGBEAgASEIDAsLIAJBmAFqIgNBEGoiDCAHKAIANgIAIANBCGoiByAGKQIANwMAIAIgDSkCADcDmAEgC0EBcUUEQEEBQeCdwQBB8JfBABDNCCEIDAsLIAJBKGoiA0EQaiILIAwoAgA2AgAgA0EIaiIMIAcpAwA3AwAgAkFAayIDQQhqIgcgCikDADcDACADQRBqIgMgDigCADYCACACIAIpA5gBNwMoIAIgAikDYDcDQCACKAIkIgYgAigCHEYEQCACQRxqQbSYwQAQqwYLIAIoAiAgBkEwbGoiCiACKQNANwIEIAogCDYCACAKIAE2AhggCiACKQMoNwIcIApBDGogBykDADcCACAKQRRqIAMoAgA2AgAgCkEkaiAMKQMANwIAIApBLGogCygCADYCACACIAZBAWoiCjYCJCAEQQFrIgQNAAsgAigCICEIIAIoAhwiD0GCgICAeEgNCgsCfyAFKAIEIgZBB00EQCACQoHKADcDeCACQfgAahDHCyEDQQEMAQsgBSAGQQhrIgY2AgQgBSAFKAIAIgFBCGo2AgAgAkEIaiABKQAAELcGIAIoAgwhAyACKAIIC0EBcQ0EIANFBEBBBCELQQAhAQwEC0GAgBAgAyADQYCAEE8bIgdBAnQiBEEEENQMIgFFDQIgAiABNgKcASACIAc2ApgBIAJBADYCoAEgBSgCACEEQQAhAQNAAkACfyAGQQdNBEAgAkKBygA3A3ggAkH4AGoQxwsMAQsgBSAGQQhrIgY2AgQgBSAEQQhqIgc2AgAgBCkAACITQoCAgIAQVA0BIAJBAToAeCACIBM3A4ABIAJB+ABqIAJB4ABqQZiXwQAQjQkLIQMgAigCmAEiAUUNBiACKAKcASABQQJ0QQQQnw0MBgsgE6chBCACKAKYASABRgRAIAJBmAFqQbSYwQAQxwYLIAIoApwBIAlqIAQ2AgAgAiABQQFqIgE2AqABIAlBBGohCSAHIQQgASADRw0ACyACKAKcASELIAIoApgBIhBBgoCAgHhODQMgCyEDDAQLQQQgA0GkmMEAEPkLAAtBAEHgncEAQfCXwQAQzQghCAwGC0EEIARBpJjBABD5CwALAkAgBSgCBCIDQQdNBEAgAkKBygA3A3ggAkH4AGoQxwshAwwBCyAFIANBCGsiBjYCBCAFIAUoAgAiB0EIaiIENgIAIAcpAAAiFEKAgICAEFoEQCACQQE6AHggAiAUNwOAASACQfgAaiACQeAAakGYl8EAEI0JIQMMAQsCfyAGQQdNBEAgAkKBygA3A3hBASEJIAJB+ABqEMcLDAELIAUgA0EQayIGNgIEIAUgB0EQaiIENgIAIAIgBykACBC3BiACKAIAIQkgAigCBAshAyAJQQFxDQAgA0UEQEEEIQNBACEJQQAhBgwFC0EEIRFBgIAIIAMgA0GAgAhPGyIMQQN0IgdBBBDUDCINRQ0CQQAhCSACQQA2AqABIAIgDTYCnAEgAiAMNgKYAQNAAkACQAJAIAZFBEAgAkKBygA3A3ggAkH4AGoQxwshAwwBCyAFIAZBAWsiDDYCBCAFIARBAWoiBzYCAAJAAkAgBC0AACIODgIEAAELIAZBCE0EQCACQoHKADcDeCACQfgAahDHCyEDDAILIAUgBkEJayIMNgIEIAUgBEEJaiIHNgIAIAQpAAEiE0KAgICAEFQNAiACQQE6AHggAiATNwOAASACQfgAaiACQeAAakGYl8EAEI0JIQMMAQtBDEEEENQMIgNFDQcgAyAONgIEIANBhICAgHg2AgALIAIoApgBIgFFDQMgAigCnAEgAUEDdEEEEJ8NDAMLIBOnIRJBASEOCyACKAKYASAJRgRAIAJBmAFqQbSYwQAQyQYgAigCnAEhDQsgDSARaiIEIBI2AgAgBEEEayAONgIAIAIgCUEBaiIJNgKgASARQQhqIREgDCEGIAchBCADIAlHDQALIAIoApwBIQMgAigCmAEiBkGCgICAeE4NBAsgEEUNACALIBBBAnRBBBCfDQsgDwRAIAggD0EwbEEEEJ8NCyADIQgMBAtBBCAHQaSYwQAQ+QsAC0EEQQxB8PrDACgCACIAQe8HIAAbEQAAAAsgD0GAgICAeEYNASAAIAM2AhwgACAGNgIYIAAgATYCFCAAIAs2AhAgACAQNgIMIAAgCjYCCCAAIAg2AgQgACAPNgIAIAAgCa0gFEIghoQ3AiAMAgsgAigCHCIBRQ0AIAIoAiAgAUEwbEEEEJ8NCyAAQYGAgIB4NgIAIAAgCDYCBAsgAkGwAWokAAuQDwMNfwd9An4jAEGQAmsiCCQAIAggBzgCDCAIIAQ2AgggCEEQaiAFIAQgBigClAERAQAgCCkCGCEcIAgqAhghFyAIKgIQIRUgCCoCHCEYIAgqAhQhFiABIAIoAhARBAAiBCgCCCESIAQoAgQhDiAIQQA2AiAgCEEANgKkAQJAIBJFBEBBAyEMDAELIBYgGJJDAAAAv5QhGCAVIBeSQwAAAL+UIRkgHKe+IBWTQwAAAD+UIRogHEIgiKe+IBaTQwAAAD+UIRsCQCAOKAIsQf////8DcQRAIAhBJGohDyAIQaQBaiEUIAhB+AFqIRBBAyEMQX8hEQJAA0AgDiAJQTBsaiIEQRhqIQoCQCAZIAQpAhgiHKe+kiAakyIVIBogGSAEQSRqKQIAIh2nvpKSjCIWIBUgFmAbIhVDAAAAACAVQwAAAABgGyIVIBWUIBggHEIgiKe+kiAbkyIVIBsgGCAdQiCIp76SkowiFiAVIBZgGyIVQwAAAAAgFUMAAAAAYBsiFSAVlJKRIhYgGSAEKQIAIhynvpIgGpMiFSAaIBkgBEEMaikCACIdp76SkowiFyAVIBdgGyIVQwAAAAAgFUMAAAAAYBsiFSAVlCAYIBxCIIinvpIgG5MiFSAbIBggHUIgiKe+kpKMIhcgFSAXYBsiFUMAAAAAIBVDAAAAAGAbIhUgFZSSkSIXXUUEQCAWIRUgFyEWIAohCyAEIQoMAQsgFyEVIAQhCwsCQAJAAkACQAJAIAcgFl5FBEAgByAVXkUNBCAVQ///f39bDQQgCygCFEH/////A3FBAUcNAQwCCwJAIBZD//9/f1sEQAwBCyAKKAIIIQQgCigCFEH/////A3FBAUcEQCAHIBVeRQRAIAQhCQwHCyAVQ///f39bBEAgBCEJDAcLQQEhCiALKAIUQf////8DcUEBRgRAIAQhCQwFCwJ/IAgoAqQBIg1BIUkEQCANIQkgDyETQSAhDSAUDAELIAgoAiQhCSAIKAIoIRMgDwshCiALKAIIIQsgCSANRgRAIAhBIGoQlQMgCCgCJCEJIAgoAighEyAPIQoLIBMgCUECdGogCzYCACAKIAooAgBBAWo2AgAgBCEJDAYLIAggBjYC5AEgCCAFNgLgASAIIAM2AtgBIAJBDGooAgAhDSAIIAhBDGo2AugBIAggCEEIajYC3AEgCEEDNgL0ASAIIAhB2AFqNgKMAiAIIAhB8AFqNgKIAiABIAQgCEGIAmpBvPzCACANEQIAIAhBwAFqIg0gEEEIaikCADcDACAIIBApAgA3A7gBAkAgCCgC9AEiBEEDRg0AIAgqAvABIhYgB11FDQAgCEGwAWogDSkDADcDACAIIAgpA7gBNwOoASAKKAIIIREgFiEHIAQhDAsLIAcgFV5FDQMgFUP//39/Ww0DIAsoAhRB/////wNxQQFGDQELIAsoAgghCQwDC0EAIQoLIAsoAgghBCAIIAY2AuQBIAggBTYC4AEgCCADNgLYASACQQxqKAIAIQ0gCCAIQQxqNgLoASAIIAhBCGo2AtwBIAhBAzYC9AEgCCAIQdgBajYCjAIgCCAIQfABajYCiAIgASAEIAhBiAJqQbz8wgAgDRECACAIQdABaiINIBBBCGopAgA3AwAgCCAQKQIANwPIAQJAIAgoAvQBIgRBA0cEQCAIKgLwASIVIAddDQELIApFDQEMAgsgCEGwAWogDSkDADcDACAIIAgpA8gBNwOoASALKAIIIREgFSEHIAQhDCAKDQELIAgoAqQBIgshBCAPIQkgFCEKIAtBIU8EQCAIKAIoIQkgDyEKIAgoAiQhBAsgBEUNAiAKIARBAWsiBDYCACAJIARBAnRqKAIAIQkLIAkgEkkNAAsgCSASQfjSwgAQsAkACyAMQQNGBEBBAyEMDAILIAhB4AFqIAhBsAFqKQMANwMAIAggCCkDqAE3A9gBDAELQQMhDCAZIA4pAgAiHKe+kiAakyIVIBogGSAOQQxqKQIAIh2nvpKSjCIWIBUgFmAbIhVDAAAAACAVQwAAAABgGyIVIBWUIBggHEIgiKe+kiAbkyIVIBsgGCAdQiCIp76SkowiFiAVIBZgGyIVQwAAAAAgFUMAAAAAYBsiFSAVlJKRIAddRQ0BIA4oAgghBCAIIAY2AuQBIAggBTYC4AEgCCADNgLYASACQQxqKAIAIQIgCCAIQQxqNgLoASAIIAhBCGo2AtwBIAhBAzYC9AEgCCAIQdgBajYCvAEgCCAIQfABajYCuAEgASAEIAhBuAFqQbz8wgAgAhECACAIQdABaiICIAhBgAJqKQIANwMAIAggCCkC+AE3A8gBAkAgCCgC9AEiAUEDRgRADAELIAgqAvABIRUgCEH4AWoiAyACKQMANwMAIAggCCkDyAE3A/ABIAcgFV5FDQAgCEHgAWogAykDADcDACAIIAgpA/ABNwPYASAOKAIIIREgASEMCyAIKAKkASELCyALQSFJDQAgCCgCKCALQQJ0QQQQnw0LIAxBA0cEQCAAIAgpA9gBNwIIIAAgETYCACAAQRBqIAhB4AFqKQMANwIACyAAIAw2AgQgCEGQAmokAAvREAIPfQ1/IwBBoAFrIhUkACABKAIUIR0gASgCECEZIBVBADYCGCAVQQA2ApwBAkAgHUUNAAJAAkACQCAZKAIsQf////8DcQRAIBVBHGohGCAVQZwBaiEfQwAAgD8gAioCDCISlSEPQwAAgD8gAioCCCITlSEQIAEoAgQhICABKAIIIRsgAioCBCEMIAIqAgAhDSADIQcCQANAIBkgF0EwbGoiASgCECEUIAEoAgwhFiABKgIEIQYgASoCACEFAkACQAJAAkACQCATQwAAAABbIhpFBEAgECAWviANk5QiCCAQIAUgDZOUIgldIRZDAAAAAEMAAAAAIAggCSAWGyIFIAVDAAAAAF0bIAUgBVwbIgUgByAHIAkgCCAWGyIIIAcgCF0bIAggCFwbIgpeRQ0BIAEqAighCyABKgIkIQogASoCHCERIAEqAhghBkP//39/IQgMAgsgBSANXkUEQEMAAAAAIQUgByEKIA0gFr5eRQ0BCyABKgIoIQsgASoCJCEKIAEqAhwhESABKgIYIQZD//9/fyEIDAILAkACQCASQwAAAABcBEBD//9/fyEIIA8gFL4gDJOUIgkgDyAGIAyTlCIGXSEUIAkgBiAUGyILIAsgBSAFIAtdGyAFIAVcGyIFIAogCiAGIAkgFBsiBiAGIApeGyAGIAZcG15FDQEMAgtD//9/fyEIIAYgDF4NASAMIBS+Xg0BCyAFIQgLIAEqAighCyABKgIkIQogASoCHCERIAEqAhghBiAaDQELIBAgCiANk5QiCSAQIAYgDZOUIgpdIRRDAAAAAEMAAAAAIAkgCiAUGyIFIAVDAAAAAF0bIAUgBVwbIgYgByAHIAogCSAUGyIFIAUgB14bIAUgBVwbIgleRQ0BQ///f38hBQwCC0P//39/IQUgBiANXg0BQwAAAAAhBiAHIQkgCiANXQ0BCwJAIBJDAAAAAFwEQCAPIAsgDJOUIgUgDyARIAyTlCIKXSEUIAUgCiAUGyILIAsgBiAGIAtdGyAGIAZcGyIGIAkgCSAKIAUgFBsiBSAFIAleGyAFIAVcG15FDQFD//9/fyEFDAILQ///f38hBSAMIBFdDQEgCyAMXQ0BCyAGIQULIAFBGGohFAJAIAUgCF1FBEAgBSEGIAghBSAUIRYgASEUDAELIAghBiABIRYLAkACQAJAAkACQCAFIAddRQRAIAYgB11FDQQgBkP//39/Ww0EIBYoAhRB/////wNxQQFHDQEMAgsgBUP//39/XARAIBQoAgghASAUKAIUQf////8DcUEBRwRAIAYgB11FBEAgASEXDAcLIAZD//9/f1sEQCABIRcMBwtBASEUIBYoAhRB/////wNxQQFGBEAgASEXDAULAn8gFSgCnAEiGkEhSQRAIBohFyAYIR5BICEaIB8MAQsgFSgCHCEXIBUoAiAhHiAYCyEUIBYoAgghFiAXIBpGBH8gFUEYahCVAyAVKAIgIR4gGCEUIBUoAhwFIBcLQQJ0IB5qIBY2AgAgFCAUKAIAQQFqNgIAIAEhFwwGCwJAIAEgG0kEQCAgIAFBGGxqIgEoAhQhFCAVQRBqIAEoAhAgFCgCCEEBa0F4cWpBCGogASACIAcgBCAUQRhqKAIAEQkAIBUoAhBBAXFFDQEgFSoCFCIFIAddRQ0BQQEhHCAFIgchDgwBCyABIBtBpP7CABCwCQALCyAGIAddRQ0DIAZD//9/f1sNAyAWKAIUQf////8DcUEBRg0BCyAWKAIIIRcMAwtBACEUCyAWKAIIIgEgG0kEQCAgIAFBGGxqIgEoAhQhFiAVQQhqIAEoAhAgFigCCEEBa0F4cWpBCGogASACIAcgBCAWQRhqKAIAEQkAIBUoAghBAXFFBEAgFEUNAgwDCyAVKgIMIgUgB10hASAFIA4gARshDiAFIAcgARshByABIBxyIRwgFEUNAQwCCyABIBtBpP7CABCwCQALAkACQCAVKAKcASIBQSFPBEAgFSgCICEXIBUoAhwiFkUNAiAYIRQgFiEBDAELIB8hFCAYIRcgAUUNBAsgFCABQQFrIgE2AgAgFyABQQJ0aigCACEXDAELIBcgAUECdEEEEJ8NIBxBAXFFDQYMBAsgFyAdSQ0ACyAXIB1B+NLCABCwCQALIBxBAXENAQwDCyAZKAIQIRQgGSgCDCEYIBkoAgQhFiAZKgIAIQgCQAJAIAIqAggiBUMAAAAAXARAQwAAgD8gBZUiByAYviACKgIAIgaTlCIFIAcgCCAGk5QiCF0hGEMAAAAAQwAAAAAgBSAIIBgbIgcgB0MAAAAAXRsgByAHXBsiByADIAMgCCAFIBgbIgUgAyAFXRsgBSAFXBsiCF5FDQFD//9/fyEFDAILQ///f38hBSACKgIAIgYgCF0NASADIQggBiAYvl4NAQsCQCACKgIMIgVDAAAAAFwEQEMAAIA/IAWVIgYgFL4gAioCBCIJk5QiBSAGIBa+IAmTlCIGXSEUIAUgBiAUGyIJIAkgByAHIAldGyAHIAdcGyIHIAggCCAGIAUgFBsiBSAFIAheGyAFIAVcG15FDQFD//9/fyEFDAILQ///f38hBSACKgIEIgggFr5dDQEgCCAUvl4NAQsgByEFCyADIAVeRQ0DIBkoAggiFCABKAIIIhhPDQEgASgCBCAUQRhsaiIBKAIUIRQgFSABKAIQIBQoAghBAWtBeHFqQQhqIAEgAiADIAQgFEEYaigCABEJACAVKAIAQQFxRQ0DIBUqAgQiDiADXQ0ADAMLIAMgDl5FDQFBASEXDAILIBQgGEGk/sIAELAJAAtBACEXCyAAIA44AgQgACAXNgIAIBVBoAFqJAALjw8DDH8FfgR9IwBBoAJrIgckACAAKAIAIgooAgQiCCAKKQMQIAAoAgQoAgAiDK0gACgCCCgCACINrUIghoSFIhJCIIgiE0K307CFDH4gEkL/////D4MiEkLdofHLDH6FIBNC3aHxywx+IBJCt9OwhQx+hUIgiYUiE6ciEHEhCSATQhmIIhVC/wCDQoGChIiQoMCAAX4hFiAKKAIAIQ4CQAJAAn8CQAJAA0AgCSAOaikAACIUIBaFIhJCgYKEiJCgwIABfSASQn+Fg0KAgYKEiJCgwIB/gyISQgBSBEADQCAOIBJ6p0EDdiAJaiAIcUEEdGsiC0EQaygCACAMRgRAIA0gC0EMaygCAEYNBAsgEkIBfSASgyISQgBSDQALCyAUIBRCAYaDQoCBgoSIkKDAgH+DUARAIAZBCGoiBiAJaiAIcSEJDAELCyAHQbgBakIANwIAIAdCADcCsAEgACgCGC0AACEIIAAoAhQhCyAAKAIQIgkoAgghDiABDQFBAAwCCyALQQhrIgooAgAiBiAAKAIMIggoAggiCU8NAiAHQeABaiAIKAIEIAZB/ABsaiIGQShqIggQsgIgBigCKARAIAhBADYCAAsgB0EQaiIIQQhqIAZBCGopAgA3AwAgCEEQaiAGQRBqKAIANgIAIAhBHGogBkEcaikCADcCACAIQSRqIAZBJGooAgA2AgAgB0HwAGogB0HgAWoiCUE4aigCADYCACAHQegAaiAJQTBqKQIANwMAIAdB4ABqIAlBKGopAgA3AwAgB0HYAGogB0GAAmopAgA3AwAgB0HQAGogB0H4AWopAgA3AwAgCEE4aiAJQRBqKQIANwMAIAhBMGogCUEIaikCADcDACAHIAcpAuABNwM4IAcgBikCADcDECAHIAYpAhQ3AiQgBigCeCEMIAYoAnQhDSAGKQJsIRIgBikCZCETIAogACgCECIJKAIINgIAIAtBBGsgACgCFC0AADoAACAJKAIIIgggCSgCAEYEQCAJQejbwgAQrwYLIAkoAgQgCEH8AGxqIgYgB0EQakHkAPwKAAAgBiAMNgJ4IAYgDTYCdCAGIBI3AmwgBiATNwJkIAkgCEEBaiIGNgIIDAMLIAdBwAFqIAdB0AFqIAgbIgYgASkCADcCACAGQQhqIAFBCGopAgA3AgAgCEEBcyEPIAgLIQYgCy0AACERIAkoAgAgDkYEQCAJQfjbwgAQrwYLIAkoAgQgDkH8AGxqIgsgBjYCACALIAcpAsABNwIEIAsgDzYCFCALIAcpAtABNwIYIAtBADYCKCALQQxqIAdByAFqKQIANwIAIAtBIGogB0HYAWopAgA3AgAgC0EsaiAHQfgAakHIAPwKAAAgCyAMIA0gCBs2AnggCyANIAwgCBs2AnQgCSAOQQFqNgIIIAcgEToA7AEgByAONgLoASAHIA02AuQBIAcgDDYC4AEgCigCBCILIBBxIgYgCigCACIIaikAAEKAgYKEiJCgwIB/gyISUARAQQghDANAIAYgDGohBiAMQQhqIQwgCCAGIAtxIgZqKQAAQoCBgoSIkKDAgH+DIhJQDQALCyAKKAIIIQ0CQCAIIBJ6p0EDdiAGaiALcSIGaiwAACIMQQBOBH8gCCAIKQMAQoCBgoSIkKDAgH+DeqdBA3YiBmotAAAFIAwLQQFxIgwgDUVxRQRAIAYgCGogFadB/wBxIg46AAAgCCAGQQhrIAtxakEIaiAOOgAAIAogDSAMazYCCCAKIAooAgxBAWo2AgwgCCAGQQR0ayIGQRBrIghBCGogB0HoAWopAgA3AgAgCCAHKQLgATcCAAwBCyAHQQhqIAogCkEQahDPASAKIBMgCigCACAKKAIEIBMQsgggB0HgAWoQxgghBgsgBkEIayEKIAkoAgghBgwBCyAGIAlB2NvCABCwCQALAkACQAJAAkAgBiAKKAIAIghLBEAgCSgCBCAIQfwAbGohCCAAKAIgIQkgACgCHCEKIAAoAhgtAAANAyAAKAIwIQYgAUUNASAHIAYqAgQiFyABKgIAIhiUIAYqAgAiGSABKgIEIhqUkjgC5AEgByAZIBiUIBcgGpSTOALgASAHIAYqAgwgFyABKgIIIhiUIBkgASoCDCIalJKSOALsASAHIAYqAgggGSAYlCAXIBqUk5I4AugBDAILIAggBkGI3MIAELAJAAsgB0HoAWogBkEIaikCADcDACAHIAYpAgA3A+ABCyAKIAdB4AFqIAAoAihBvN3CACACIANBACAHIAQgBSAAKAIsKgIAIAggCSgCKBEUABoMAQsgACgCJCEGAkAgAQRAIAcgASoCACIXIAYqAgQiGJQgASoCBCIZIAYqAgAiGpSTOALkASAHIBcgGpQgGSAYlJI4AuABIAcgFyAGKgIIIAEqAgiTIhiUIBkgBioCDCABKgIMkyIalJK8rSAXIBqUIBkgGJSTvK1CIIaENwLoAQwBCyAHQegBaiAGQQhqKQIANwMAIAcgBikCADcD4AELIAogB0HgAWogAiADIAAoAihBvN3CACAEIAVBACAHIAAoAiwqAgAgCCAJKAIoERQAGgsgB0GgAmokAAv0DgMLfwV+BH0jAEGgAmsiByQAIAAoAgAiCigCBCIGIAAoAgQoAgAiDSAKKQMQIhGnc60iEkLdofHLDH4gEUIgiCIRQrfTsIUMfoUgEkK307CFDH4gEULdofHLDH6FQiCJhSISpyIPcSEJIBJCGYgiFEL/AINCgYKEiJCgwIABfiEVIAooAgAiCEEMayEMAkACQAJAA0ACQCAIIAlqKQAAIhMgFYUiEUKBgoSIkKDAgAF9IBFCf4WDQoCBgoSIkKDAgH+DIhFCAFIEQANAIA0gDEEAIBF6p0EDdiAJaiAGcWsiDkEMbGooAgBGDQIgEUIBfSARgyIRQgBSDQALCyATIBNCAYaDQoCBgoSIkKDAgH+DQgBSDQIgC0EIaiILIAlqIAZxIQkMAQsLIAggDkEMbGoiC0EIayIKKAIAIgYgACgCCCIIKAIIIglPDQEgB0HgAWogCCgCBCAGQfwAbGoiBkEoaiIIELICIAYoAigEQCAIQQA2AgALIAdBEGoiCEEIaiAGQQhqKQIANwMAIAhBEGogBkEQaigCADYCACAIQRxqIAZBHGopAgA3AgAgCEEkaiAGQSRqKAIANgIAIAdB8ABqIAdB4AFqIglBOGooAgA2AgAgB0HoAGogCUEwaikCADcDACAHQeAAaiAJQShqKQIANwMAIAdB2ABqIAdBgAJqKQIANwMAIAdB0ABqIAdB+AFqKQIANwMAIAhBOGogCUEQaikCADcDACAIQTBqIAlBCGopAgA3AwAgByAHKQLgATcDOCAHIAYpAgA3AxAgByAGKQIUNwIkIAYoAnghDCAGKAJ0IQ0gBikCbCERIAYpAmQhEiAKIAAoAgwiCSgCCDYCACALQQRrIAAoAhAtAAA6AAAgCSgCCCIIIAkoAgBGBEAgCUGw2sIAEK8GCyAJKAIEIAhB/ABsaiIGIAdBEGpB5AD8CgAAIAYgDDYCeCAGIA02AnQgBiARNwJsIAYgEjcCZCAJIAhBAWoiBjYCCAwCCyAHQbgBakIANwIAIAdCADcCsAEgACgCFC0AACEGIAAoAhAhCyAAKAIMIgkoAgghDkEAIQxBACEIIAEEQCAHQcABaiAHQdABaiAGGyIIIAEpAgA3AgAgCEEIaiABQQhqKQIANwIAIAZBAXMhDCAGIQgLIAstAAAhECAJKAIAIA5GBEAgCUHA2sIAEK8GCyAJKAIEIA5B/ABsaiILIAw2AgAgCyAHKQLQATcCBCALIAg2AhQgCyAHKQLAATcCGCALQQA2AiggC0EMaiAHQdgBaikCADcCACALQSBqIAdByAFqKQIANwIAIAtBLGogB0H4AGpByAD8CgAAIAsgDUEAIAYbNgJ4IAtBACANIAYbNgJ0IAkgDkEBajYCCCAHIBA6AOgBIAcgDjYC5AEgByANNgLgASAKKAIEIgsgD3EiBiAKKAIAIghqKQAAQoCBgoSIkKDAgH+DIhFQBEBBCCEMA0AgBiAMaiEGIAxBCGohDCAIIAYgC3EiBmopAABCgIGChIiQoMCAf4MiEVANAAsLIAooAgghDQJAIAggEXqnQQN2IAZqIAtxIgZqLAAAIgxBAE4EfyAIIAgpAwBCgIGChIiQoMCAf4N6p0EDdiIGai0AAAUgDAtBAXEiDCANRXFFBEAgBiAIaiAUp0H/AHEiDjoAACAIIAZBCGsgC3FqQQhqIA46AAAgCiANIAxrNgIIIAogCigCDEEBajYCDCAIIAZBdGxqIgZBDGsiCEEIaiAHQegBaigCADYCACAIIAcpAuABNwIADAELIAdBCGogCiAKQRBqEMkBIAogEiAKKAIAIAooAgQgEhCyCCAHQeABahC6CCEGCyAGQQhrIQogCSgCCCEGDAELIAYgCUGg2sIAELAJAAsCQAJAAkACQCAGIAooAgAiCEsEQCAJKAIEIAhB/ABsaiEIIAAoAhwhCSAAKAIYIQogACgCFC0AAA0DIAAoAjAhBiABRQ0BIAcgASoCACIWIAYqAgQiF5QgASoCBCIYIAYqAgAiGZSTOALkASAHIBYgGZQgGCAXlJI4AuABIAcgFiAGKgIIIAEqAgiTIheUIBggBioCDCABKgIMkyIZlJK8rSAWIBmUIBggF5STvK1CIIaENwLoAQwCCyAIIAZB0NrCABCwCQALIAdB6AFqIAZBCGopAgA3AwAgByAGKQIANwPgAQsgCiAHQeABaiACIAMgACgCJCAAKAIoIAQgBUEAIAcgACgCLCoCACAIIAkoAigRFAAaDAELIAAoAiAhBgJAIAEEQCAHIAYqAgQiFiABKgIAIheUIAYqAgAiGCABKgIEIhmUkjgC5AEgByAYIBeUIBYgGZSTOALgASAHIAYqAgwgFiABKgIIIheUIBggASoCDCIZlJKSOALsASAHIAYqAgggGCAXlCAWIBmUk5I4AugBDAELIAdB6AFqIAZBCGopAgA3AwAgByAGKQIANwPgAQsgCiAHQeABaiAAKAIkIAAoAiggAiADQQAgByAEIAUgACgCLCoCACAIIAkoAigRFAAaCyAHQaACaiQAC6gOAwh9Gn8CfiMAQbABayIMJAAgASgCCCEXIAEoAgQhEiAMQQA2AgggDEEANgKMAUECIRACQCAXRQ0AIBIoAixB/////wNxBEAgDEEMaiETIAxBjAFqIR4gASgCWCEfIAEoAkwhICABKAJQIRQgASgCXCEVIAIqAgQhCCACKgIAIQkgDEGrAWohIUP//39/IQYCQANAIBIgD0EwbGoiDUEYaiEOAkAgDSkCGCInp74gCZMiByAJIA1BJGopAgAiJqe+kyIEIAQgB18bIgRDAAAAACAEQwAAAABgGyIEIASUICdCIIinviAIkyIHIAggJkIgiKe+kyIEIAQgB18bIgRDAAAAACAEQwAAAABgGyIEIASUkpEiByANKQIAIienviAJkyIFIAkgDUEMaikCACImp76TIgQgBCAFXxsiBEMAAAAAIARDAAAAAGAbIgQgBJQgJ0IgiKe+IAiTIgUgCCAmQiCIp76TIgQgBCAFXxsiBEMAAAAAIARDAAAAAGAbIgQgBJSSkSIEXUUEQCAHIQUgBCEHIA4hESANIQ4MAQsgBCEFIA0hEQsCQAJAAkACQAJAIAYgB15FBEAgBSAGXUUNBCAFQ///f39bDQQgESgCFEH/////A3FBAUcNAQwCCwJAIAdD//9/f1sEQAwBCyAOKAIIIQ0gDigCFEH/////A3FBAUcEQCAFIAZdRQRAIA0hDwwHCyAFQ///f39bBEAgDSEPDAcLQQEhDiARKAIUQf////8DcUEBRgRAIA0hDwwFCwJ/IAwoAowBIhhBIUkEQCAYIQ8gEyEZQSAhGCAeDAELIAwoAgwhDyAMKAIQIRkgEwshDiARKAIIIREgDyAYRgRAIAxBCGoQlQMgDCgCDCEPIAwoAhAhGSATIQ4LIBkgD0ECdGogETYCACAOIA4oAgBBAWo2AgAgDSEPDAYLAkACQCANIBVJBEAgDSAUTw0BIAwgATYCkAEgDCANNgKcASAMICAgDUEDdGo2ApgBIAwgHyANQQh0ajYClAEgDEGgAWogDEGQAWogAiADEOEBAn8gDC0AqAEiDkECRwRAIAkgDCkDoAEiJqciIr6TIgQgBJQgCCAmQiCIpyIjvpMiBCAElJKRIQogIS0AAEEYdCAMLwCpAUEIdHIgDnIMAQsgGkGAfnFBAnILIhpB/wFxQQJGDQIgBiAKXkUNAiAaQQh2IRYgIiEbICMhHCAKIQYgGiEQDAILIA0gFUHsqMMAELAJAAsgDSAUQfyowwAQsAkACwsgBSAGXUUNAyAFQ///f39bDQMgESgCFEH/////A3FBAUYNAQsgESgCCCEPDAMLQQAhDgsCQCAVIBEoAggiDUsEQCANIBRPDQEgDCABNgKQASAMIA02ApwBIAwgICANQQN0ajYCmAEgDCAfIA1BCHRqNgKUASAMQaABaiAMQZABaiACIAMQ4QECfyAMLQCoASINQQJHBEAgCSAMKQOgASImpyIkvpMiBCAElCAIICZCIIinIiW+kyIEIASUkpEhCyAhLQAAQRh0IAwvAKkBQQh0ciANcgwBCyAdQYB+cUECcgsiHUH/AXFBAkcgBiALXnFFBEAgDkUNAwwECyAdQQh2IRYgJCEbICUhHCALIQYgHSEQIA5FDQIMAwsgDSAVQeyowwAQsAkACyANIBRB/KjDABCwCQALIBMhDyAeIQ4gDCgCjAEiDUEhTwRAIAwoAgwhDSAMKAIQIQ8gEyEOCyANRQ0CIA4gDUEBayIONgIAIA8gDkECdGooAgAhDwsgDyAXSQ0ACyAPIBdB+NLCABCwCQALIBBB/wFxQQJHDQFBAiEQDAELIBIpAgAiJ6e+IAIqAgAiBpMiByAGIBJBDGopAgAiJqe+kyIEIAQgB18bIgRDAAAAACAEQwAAAABgGyIEIASUICdCIIinviACKgIEIgWTIgcgBSAmQiCIp76TIgQgBCAHXxsiBEMAAAAAIARDAAAAAGAbIgQgBJSSkUP//39/XUUNAAJAIBIoAggiDyABKAJcIg5JBEAgASgCUCIOIA9NDQEgDCAPNgKcASAMIAE2ApABIAwgASgCTCAPQQN0ajYCmAEgDCABKAJYIA9BCHRqNgKUASAMQaABaiAMQZABaiACIAMQ4QEgDC0AqAEiAUECRg0CIAYgDCkDoAEiJqciG76TIgQgBJQgBSAmQiCIpyIcvpMiBCAElJKRQ///f39dRQ0CIAwvAKkBIAxBqwFqLQAAQRB0ciEWIAEhEAwCCyAPIA5B7KjDABCwCQALIA8gDkH8qMMAELAJAAsgDCgCjAEiAUEhTwRAIAwoAhAgAUECdEEEEJ8NCwJAIBBB/wFxQQJHBEAgACAWOwAJIABBC2ogFkEQdjoAACAAIButIBytQiCGhDcCAAwBCyAAQv////v3//+//wA3AgBBACEQCyAAIBA6AAggDEGwAWokAAuxDgMTfwl9An4jAEHAAWsiAyQAIAEoAgghECABKAIEIQogA0EANgIQIANBADYClAFBAyELIANBDGohEwJAIBBFDQACQAJAAkACQCAKKAIsQf////8DcQRAIANBFGohByADQZQBaiEUIAEoAjAhCSABKAIsIQ0gASgCOCEVIAEoAjwhDiACKgIEIRogAioCACEbQQMhDEP//39/IRhBfyEPAkADQCAKIAVBMGxqIgFBGGohBAJAIAEpAhgiH6e+IBuTIhYgGyABQSRqKQIAIiCnvpMiFyAWIBdgGyIWQwAAAAAgFkMAAAAAYBsiFiAWlCAfQiCIp74gGpMiFiAaICBCIIinvpMiFyAWIBdgGyIWQwAAAAAgFkMAAAAAYBsiFiAWlJKRIhcgASkCACIfp74gG5MiFiAbIAFBDGopAgAiIKe+kyIZIBYgGWAbIhZDAAAAACAWQwAAAABgGyIWIBaUIB9CIIinviAakyIWIBogIEIgiKe+kyIZIBYgGWAbIhZDAAAAACAWQwAAAABgGyIWIBaUkpEiGV1FBEAgFyEWIBkhFyAEIQggASEEDAELIBkhFiABIQgLAkACQAJAAkACQCAXIBhdRQRAIBYgGF1FDQQgFkP//39/Ww0EIAgoAhRB/////wNxQQFHDQEMAgsCQCAXQ///f39bBEAMAQsgBCgCCCEBIAQoAhRB/////wNxQQFHBEAgFiAYXUUEQCABIQUMBwsgFkP//39/WwRAIAEhBQwHC0EBIQQgCCgCFEH/////A3FBAUYEQCABIQUMBQsCfyADKAKUASIGQSFJBEAgBiEFIAchEUEgIQYgFAwBCyADKAIUIQUgAygCGCERIAcLIQQgCCgCCCEIIAUgBkYEQCADQRBqEJUDIAMoAhQhBSADKAIYIREgByEECyARIAVBAnRqIAg2AgAgBCAEKAIAQQFqNgIAIAEhBQwGCwJAAkACQCABIA5JBEAgFSABQQN0aiIGKAIAIgEgCU8NASAGKAIEIgYgCU8NAiADIA0gBkEDdGopAgA3A6ABIAMgDSABQQN0aikCADcDmAEgA0GsAWogA0GYAWogAhD1AiADKAK4ASIBQQNGDQMgGyADKgKsASIXkyIZIBmUIBogAyoCsAEiGZMiHCAclJKRIhwgGF1FDQMgAygCvAEhCyADKAK0ASESIAQoAgghDyAXIR0gGSEeIBwhGCABIQwMAwsgASAOQeT+wgAQsAkACyABIAlB9P7CABCwCQALIAYgCUGE/8IAELAJAAsLIBYgGF1FDQMgFkP//39/Ww0DIAgoAhRB/////wNxQQFGDQELIAgoAgghBQwDC0EAIQQLAkACQCAOIAgoAggiAUsEQCAVIAFBA3RqIgYoAgAiASAJTw0BIAYoAgQiBiAJTw0CIAMgDSAGQQN0aikCADcDoAEgAyANIAFBA3RqKQIANwOYASADQawBaiADQZgBaiACEPUCAkAgAygCuAEiAUEDRg0AIBsgAyoCrAEiFpMiFyAXlCAaIAMqArABIheTIhkgGZSSkSIZIBhdRQ0AIAMoArwBIQsgAygCtAEhEiAIKAIIIQ8gFiEdIBchHiAZIRggASEMCyAERQ0DDAQLIAEgDkHk/sIAELAJAAsgASAJQfT+wgAQsAkACyAGIAlBhP/CABCwCQALIAchBSAUIQQgAygClAEiAUEhTwRAIAMoAhghBSAHIQQgAygCFCEBCyABRQ0CIAQgAUEBayIBNgIAIAUgAUECdGooAgAhBQsgBSAQSQ0ACyAFIBBB+NLCABCwCQALIAxBA0cNAUEDIQsMBQsgCikCACIfp74gAioCACIYkyIWIBggCkEMaikCACIgp76TIhcgFiAXYBsiFkMAAAAAIBZDAAAAAGAbIhYgFpQgH0IgiKe+IAIqAgQiFpMiFyAWICBCIIinvpMiGSAXIBlgGyIXQwAAAAAgF0MAAAAAYBsiFyAXlJKRQ///f39dRQ0EIAooAggiBCABKAI8IgVPDQEgASgCOCAEQQN0aiIHKAIAIgUgASgCMCIETw0CIAcoAgQiByAETw0DIAMgASgCLCIBIAdBA3RqKQIANwOgASADIAEgBUEDdGopAgA3A5gBIANBrAFqIANBmAFqIAIQ9QIgAygCuAEiDEEDRg0EIBggAyoCrAEiHZMiGCAYlCAWIAMqArABIh6TIhggGJSSkUP//39/XUUNBCADKAK8ASELIAMoArQBIRIgCigCCCEPCyADIAw2AgwgA0GsAWohEwwDCyAEIAVB5P7CABCwCQALIAUgBEH0/sIAELAJAAsgByAEQYT/wgAQsAkACyATIAs2AgAgAygClAEiAUEhTwRAIAMoAhggAUECdEEEEJ8NCyADKAIMQQNHBEAgACAPNgIQIABBATYCDCAAIBI2AgggACAeOAIEIAAgHTgCACADQcABaiQADwtByPjCABClDQALqBwDGH8CfgJ9IwBB4AFrIgIkAAJAIAEoAgQiBUUEQEECIQEMAQsgASAFQQFrNgIEIAIgASgCACIHNgIIIAACfwJAAkAgBygCBCIFQQRPBEAgByAFQQRrIgE2AgQgByAHKAIAIgNBBGo2AgAgAUEESQRAIAJBADoAMyACQSU7ADEgAkEANgI0IAJBAToAMCACQTBqEMcLDAQLIAMoAAAhECAHIAVBCGsiATYCBCAHIANBCGo2AgACQCABQQRPBEAgAyoABCEcIAcgBUEMayIBNgIEIAcgA0EMajYCACABQQNLDQELIAJBADoAMyACQSU7ADEgAkEANgI0IAJBAToAMCACQTBqEMcLDAQLIAMoAAghESAHIAVBEGsiATYCBCAHIANBEGo2AgAgAkEJNgIMIAFBBEkNASADKAAMIRIgByAFQRRrIgE2AgQgByADQRRqNgIAIAFBBEkEQCACQQA6ADMgAkElOwAxIAJBADYCNCACQQE6ADAgAkEwahDHCwwECyADKAAQIRMgByAFQRhrIgE2AgQgByADQRhqNgIAAkAgAUEETwRAIAMqABQhHSAHIAVBHGsiATYCBCAHIANBHGo2AgAgAUEDSw0BCyACQQA6ADMgAkElOwAxIAJBADYCNCACQQE6ADAgAkEwahDHCwwECyADKAAYIRQgByAFQSBrIgE2AgQgByADQSBqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADKAAcIRUgByAFQSFrIgE2AgQgByADQSFqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADLQAgIRYgByAFQSJrIgE2AgQgByADQSJqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADLQAhIRcgByAFQSNrIgE2AgQgByADQSNqNgIAIAJBBTYCDCABRQRAIAJCgcoANwMwIAJBMGoQxwsMBAsgAy0AIiEYIAcgBUEkazYCBCAHIANBJGo2AgAgAy0AIyEZIAJBMGohASMAQRBrIgQkAAJAIAJBCGoiBSgCBCIDRQRAIAFBADYCAAwBCyAFIANBAWs2AgQCfwJAAkACQAJAAkAgBSgCACIJKAIEIgxBBE8EQCAJIAxBBGsiAzYCBCAJIAkoAgAiCkEEajYCACADQQRJDQEgCigAACEGIAkgDEEIayIDNgIEIAkgCkEIajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgCigABCEIIAkgDEEMayIDNgIEIAkgCkEMajYCACADQQRJDQIgCigACCENIAkgDEEQayIDNgIEIAkgCkEQajYCACADQQRJDQMgCigADCELIAkgDEEUayIDNgIEIAkgCkEUajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgCigAECEPIAkgDEEYayIDNgIEIAkgCkEYajYCACADQQRJDQQgCigAFCEOIAkgDEEcayIDNgIEIAkgCkEcajYCACADQQRJDQUgCigAGCEHIAkgDEEgayIDNgIEIAkgCkEgajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgASAKKAAcNgIgIAEgBzYCHCABIA42AhggASAPNgIUIAEgCzYCECABIA02AgwgASAINgIIIAEgBjYCBCABQQE2AgAgCSAMQSRrNgIEIAkgCkEkajYCACABIAooACA2AiQMBwsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBQsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBAsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAwsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAgsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAQsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsLIQMgAUECNgIAIAEgAzYCBAsgBEEQaiQAIAIoAjQiDyACKAIwIgdBAkYNAxogAkEQaiIDQRhqIAJB0ABqKQIANwMAIANBEGogAUEYaikCADcDACACQRhqIAFBEGopAgA3AwAgAiACKQI4NwMQIAdBAXFFDQIjAEGAAWsiBiQAQRghBwJAIAUoAgQiA0UEQEECIQgMAQsgBSADQQFrNgIEIAYgBSgCADYCICAGQQM2AiQgBkEoaiAGQSBqEKoCIAECfyAGLQBAIg1BA0YEQCAGKAIoDAELIA1BAkcEQCAGQcQAaiAGQSBqEKoCIAYtAFwiC0EDRgRAIAYoAkQMAgsCQAJAAkAgC0ECRwRAIAZB4ABqIAZBIGoQqgIgBi0AeCIIQQJrDgICAQMLQQEgBkH/AGpBhLzBABDNCAwECyAGKAJgDAMLQQIgBkH/AGpBhLzBABDNCAwCCyABIAYpAmA3AjggASAGLwB5OwBRIAEgBikCLDcCBCABQcgAaiAGQeAAaiIFQRBqKQIANwIAIAFBQGsgBUEIaikCADcCACABQdMAaiAGQfsAai0AADoAACABQQxqIAZBKGoiBUEMaikCADcCACABQRRqIAVBFGooAgA2AgAgBigCKCEHIAZBBGoiDkECaiAGQcEAaiIDQQJqLQAAOgAAIAZBF2ogBkHEAGoiBUEQaikCADcAACAGQQ9qIAVBCGopAgA3AAAgAUE3aiAGQd0AaiIFQQJqLQAAOgAAIAEgBS8AADsANSAGIAMvAAA7AQQgBiAGKQJENwAHIAEgDToAGCABIAc2AgAgASALOgA0IAEgBikBBDcAGSABQSFqIA5BCGopAQA3AAAgAUEpaiAOQRBqKQEANwAAIAFBMGogBkEbaigAADYAAEHQACEHDAILQQAgBkH/AGpBhLzBABDNCAs2AgBBAyEICyABIAdqIAg6AAAgBkGAAWokACACKAIwIg4gAi0ASCINQQNGDQMaIAJByAFqIgFBEGogAkHEAGooAgA2AgAgAUEIaiACQTxqKQIANwMAIAJBiAFqIgFBCGogAkHRAGopAAA3AwAgAUEQaiACQdkAaikAADcDACACQaABaiACQeEAaikAADcDACACQagBaiACQekAaikAADcDACACQbABaiACQfEAaikAADcDACACQbgBaiACQfkAaikAADcDACACQb8BaiACQYABaigAADYAACACIAIpAjQ3A8gBIAIgAikASTcDiAECQCANQQJHBEAgAkEwaiACQQhqEN8GIAItADBFDQEgAigCNAwFC0EHQZifwQBB8JfBABDNCAwECwJAIAItADEiAUECRwRAIwBBEGsiCCQAIAJBMGoiBQJ/AkAgAkEIaiILKAIEIgNFBEAgBUEDOgABDAELIAsgA0EBazYCBAJAIAUCfyALKAIAIgsoAgQiA0EDTQRAIAhCgcoANwMAIAgQxwsMAQsgCyADQQRrNgIEIAsgCygCACIDQQRqNgIAIAMoAAAiA0EDSQ0BIAhBAToAACAIIAOtNwMIIAhBuJ/BAEHwl8EAEI0JCzYCBEEBDAILIAUgAzoAAQtBAAs6AAAgCEEQaiQAIAItADBFDQEgAigCNAwFC0EIQZifwQBB8JfBABDNCAwECwJAIAItADEiB0EDRwRAIAJBMGohCCMAQRBrIgskAAJAIAJBCGoiAygCBCIFRQRAIAhCADcDCCAIQgA3AwAMAQsgAyAFQQFrNgIEIAMoAgAiAygCBCIFQQ9NBEAgC0KBygA3AwggC0EIahDHCyEFIAhCADcDCCAIQgI3AwAgCCAFNgIQDAELIAMgBUEQazYCBCADIAMoAgAiBUEQajYCACAFKQAAIRogCCAFKQAINwMYIAggGjcDECAIQgA3AwggCEIBNwMACyALQRBqJAAgAigCQCEFIAIpAzggAikDMCIaQgKFhEIAUg0BIAUMBQtBCUGYn8EAQfCXwQAQzQgMBAsgGqdBAXFFBEBBCkGYn8EAQfCXwQAQzQgMBAsgAkHMAGo1AgAhGiACKQJEIRsgACACKQMQNwI0IAAgAikDyAE3AlggACACKQOIATcAbSAAQcwAaiACQRBqIgNBGGopAwA3AgAgAEHEAGogA0EQaikDADcCACAAQTxqIANBCGopAwA3AgAgAEHgAGogAkHIAWoiA0EIaikDADcCACAAQegAaiADQRBqKAIANgIAIABB9QBqIAJBiAFqIgNBCGop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CSAJKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAFIAoLQQFxIgogC0VxRQRAIAEgCWogGKdB/wBxIg06AAAgCSABQQhrIAxxakEIaiANOgAAIAggCyAKazYCCCAIIAgoAgxBAWo2AgwgCSABQQR0ayIBQRBrIghBCGogBkGIA2opAgA3AgAgCCAGKQKAAzcCAAwBCyAGQQhqIAggCEEQahDPASAIIBYgCCgCACAIKAIEIBYQsgggBkGAA2oQxgghAQsgAUEIayEBIAcoAgghCAsCQAJAIAggASgCACIBSwRAIAcoAgQgAUHUAWxqIQEgACgCKCEHIAAoAiQhCCASLQAADQEgBiAGKgIQIho4AoADIAYgBioCFCIbjDgChAMgBiAbIAYpAxgiFae+IhyUIBogFUIgiKe+Ih2UkzgCjAMgBiAaIByMlCAbIB2UkzgCiAMgCCAGQYADaiAAKAIsIAAoAjAgAiADIAAoAjQiAigCACACKAIEIAQgBSAAKAI4KgIAIAEgBygCKBEUABoMAgsgASAIQaDjwQAQsAkACyAIIAZBEGogAiADIAAoAiwgACgCMCAEIAUgACgCNCICKAIAIAIoAgQgACgCOCoCACABIAcoAigRFAAaCyAGQZADaiQAC/sMAwd/DH0FfiMAQeAFayIGJAAgBCgCCCEJIARBADYCCCAEKAIEIQwCQCAJRQ0AIAlBA3EhByAJQQRPBEAgDEGcA2ohCCAJQXxxIQkDQCAIQfQCayILKAIABEAgC0EANgIACyAIQfgBayILKAIABEAgC0EANgIACyAIQfwAayILKAIABEAgC0EANgIACyAIKAIABEAgCEEANgIACyAIQfADaiEIIAkgCkEEaiIKRw0ACwsgB0UNACAKQfwAbCAMakEoaiEIA0AgCCgCAARAIAhBADYCAAsgCEH8AGohCCAHQQFrIgcNAAsLQ///f38hD0P//3//IRACQCABKAIIIghFBEBD//9//yERQ///f38hDgwBC0P//3//IRFD//9/fyEOAkACQCABKAIEIgcoAixB/////wNxIAcoAhRB/////wNxag4CAgABCyAHKgIQIREgByoCDCEQIAcqAgQhDiAHKgIAIQ8MAQsgByoCECINIAcqAigiESANIBFgGyERIAcqAgwiDSAHKgIkIg4gDSAOYBshECAHKgIEIg0gByoC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aiIIKQMAIQQgCSAAIAcgB0EIaigCACAIQQhqKAIASSADIARUIAMgBFEbIgwbIAlBCGooAgAgAEEIaigCAEkgCSkDACIDIAApAwAiBFQgAyAEURsiDhsiC0EIaigCACEQIAggByAAIA4bIAwbIg1BCGooAgAhEiALKQMAIQMgDSkDACEEIAJByABqIAcgCCAMGyIHQQhqKQMAIgY3AwAgAkFAayIIIAcpAwAiBTcDACACQdAAaiALIA0gECASSSADIARUIAMgBFEbIgcbIgwpAwA3AwAgAkHYAGogDEEIaikDADcDACACQegAaiANIAsgBxsiB0EIaikDADcDACACQeAAaiAHKQMANwMAIAJB8ABqIgcgACAJIA4bIgApAwA3AwAgAkH4AGoiCSAAQQhqKQMANwMAIAEgCCACIBEoAgAgBqdLIAIpAwAiAyAFViADIAVRGyIAGyILKQMANwMAIAFBCGogC0EIaikDADcDACABIAogByAJKAIAIA8oAgBJIAcpAwAiAyAKKQMAIgRUIAMgBFEbIgsbIgkpAwA3A3AgAUH4AGogCUEIaikDADcDACAIIABBBHRqIgkpAwAhAyACIABBAXNBBHRqIgIpAwAhBCABIAkgAiAJQQhqKAIAIAJBCGooAgBJIAMgBFQgAyAEURsiCBsiACkDADcDECABQRhqIABBCGopAwA3AwAgCiALQQR0IgprIQAgByAKakEQayIHKQMAIQMgASAAIAcgB0EIaigCACAAQQhqKAIASSAAKQMAIgQgA1YgAyAEURsiCxsiCikDADcDYCABQegAaiAKQQhqKQMANwMAIAkgCEEEdGoiCSkDACEDIAIgCEEBc0EEdGoiAikDACEEIAEgCSACIAlBCGooAgAgAkEIaigCAEkgAyAEVCADIARRGyIKGyIIKQMANwMgIAFBKGogCEEIaikDADcDACAAIAtBBHQiCGshACAHIAhqQRBrIgcpAwAhAyABIAAgByAHQQhqKAIAIABBCGooAgBJIAApAwAiBCADViADIARRGyIIGyILKQMANwNQIAFB2ABqIAtBCGopAwA3AwAgCSAKQQR0aiIJKQMAIQMgAiAKQQFzQQR0aiICKQMAIQQgASAJIAIgCUEIaigCACACQQhqKAIASSADIARUIAMgBFEbIgobIgspAwA3AzAgAUE4aiALQQhqKQMA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DGogBEEMaikCADcCACADQQRqIARBBGopAgA3AgAgA0E4aiAEQThqKAIANgIAIANBMGogBEEwaikCADcCACADQShqIARBKGopAgA3AgAgA0EgaiAEQSBqKQIANwIAIANB1ABqIARB1ABqKAIANgIAIANBzABqIARBzABqKQIANwIAIANBxABqIARBxABqKQIANwIAIANBPGogBEE8aikCADcCACADQdgAaiAEQdgAaikCADcCACADQeAAaiAEQeAAaikCADcCACADQegAaiAEQegAaikCADcCACADQfAAaiAEQfAAaigCADYCACAAQfAAaiEAIAdB8ABqIQcgAkEEayICDQALCyABIAUgBms2AgALIAkgCykDICIZIAspAzAiGiAKGzcCbCAJIBogGSAKGzcCZAsgC0HAAWokAAuVDAMDfwN+A30jAEGwAmsiCyQAIAsgCjoAHiALIAc4AhggCRDRBQJAAkAgCSgCACIKBEAgC0EQaiAKIAkoAgQoAhwRAAAgC0HgAGogCygCECIMIAsoAhQoAgwRAAAgCykDYEKfwsXrsLDU6op/hSALKQNoQr/TnKSbz4Hwi3+FhEIAUg0BIAwgDC0AGEF/c0EBcSIJOgAYIAsgCToAHyALQSBqIglBCGogAUEIaikCACIONwMAIAsgASkCADcDICALIAsqAiAiBzgCMCALIAsqAiQiEYw4AjQgCyARIA6nviISlCAHIA5CIIinviITlJM4AjwgCyAHIBKMlCARIBOUkzgCOCALQfgBaiAFIAkgBigClAERAQAgCyoCGCIHQwAAAABgRQ0CIAspA/gBIQ4gCyAHIAspA4ACIg+nvpIiETgCSCALIA6nviAHkyISOAJAIAsgByAPQiCIp76SIhM4AkwgCyAOQiCIp74gB5MiBzgCRCALQdgAaiAIQQhqIgEoAgA2AgAgAUEANgIAIAgpAgAhDiAIQoCAgIDAADcCACALIA43A1ACQCACIAQRBAAiDSgCCEUEQEEAIQlBACEKDAELAn8CQCARIA0oAgQiASkCACIOp75gRQ0AIBMgDkIgiKe+YEUNACASIAFBDGopAgAiDqe+X0UNACABIAcgDkIgiKe+Xw0BGgtBAAshCkEAIQkgASgCLEH/////A3FFDQAgESABQRhqIgQpAgAiDqe+YEUNACASIAFBJGopAgAiD6e+XyAH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IAAgGTgCACAAQRxqIAhBKGopAwA3AgAgAEEUaiAIQSBqKQMANwIAIABBDGogCEEYaikDADcCACAAQSdqIAhBDmotAAA6AAAMAQsgACAIKQMQNwIEIAAgCC8BDDsAJSAAIAs6ACQgACAZOAIAIABBHGogCEEoaikDADcCACAAQRRqIAhBIGopAwA3AgAgAEEMaiAIQRhqKQMANwIAIABBJ2ogCEEOai0AADoAAAsgCEHQAWokAAuMCwMJfwV+CH0jAEEQayIDJAACQCAAKAIgIgcgAU0NACAAKAIcIgggAUEDdGoiASgCACECIAFBADYCACACRQ0AIAEoAgQhBSAAIAAoAiRBAWsiATYCJCABRQRAIABBADYCFCAAQQA2AggMAQsgBUEBcyEEAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBAk8EQCAAKAIUIgYgBUEBdiIBTQ0BIAAoAggiBSABTQ0CIAAoAhAiCiABQQJ0aigCACECIAMgACgCBCIJIAFBMGxqIgA2AgggAyAAQRhqNgIMIANBCGogBEEBcUECdGooAgAiBCgCCCEAIAQoAhRB/////wNxQQFHDQQgACAHTw0DIAggAEEDdGoiACgCAEUNAyAAIAI2AgQMCgsgACgCCCIGRQ0EIAMgACgCBCIBNgIIIAMgAUEYaiICNgIMIANBCGogBEECdGoiBCgCACgCFEH/////A3FBAUYEQCAFQQFxRQRAIAEgAikCADcCACABQQhqIAJBCGopAgA3AgAgAUEQaiACQRBqKQIANwIAIAEoAiAiACAHTw0HIAggAEEDdGoiACgCAEEBRw0HIABBADYCBAsgAkIANwIAIAJBEGpCADcCACACQQhqQgA3AgAMDQsgAyACNgIMIAMgATYCCCAEKAIAKAIIIgIgBk8NBiABIAJBMGxqIgIpAgAhDCACQQhqKQIAIQsgAkEYaikCACENIAJBIGopAgAhDiACQShqKQIAIQ8gAUEQaiACQRBqKQIANwIAIAFBKGogDzcCACABQSBqIA43AgAgAUEYaiANNwIAIAFBCGogCzcCACABIAw3AgAgC6chAiABKAIUQf////8DcUEBRgRAIAIgB08NCCAIIAJBA3RqIgIoAgBFDQggAkEANgIEDAwLIAAoAhQiBiACSw0KIAIgBkH41MIAELAJAAsgASAGQajVwgAQ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IAMoAgBBAWo2AgAMAgsgASAINgKMAQwBCwsgAigCCCIJIAEoAqABIgwoAlwiA08NBiAMKAJQIgMgCUsNBCAJIANB/KjDABCwCQALIAFBADYCjAEgByACQQJ0QQQQnw0LIAFBAjYCACAGIARBgANqQbAB/AoAAAsgASgCoANBBEYNBCAEQYADaiABQaADaiIBENoBIAQoAoADRQRAIAFBBDYCAAsgACAEKQKAAzcCACAAQRhqIARBgANqIgFBGGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBCGogAUEIaikCADcCAAwGCyAEQaACaiIGQRhqIAtBGGooAgAiATYCACAGQRBqIAtBEGopAgAiETcDACAGQQhqIAtBCGopAgAiEjcDACAEIAspAgAiEDcDoAIgAEEcaiABNgIAIABBFGogETcCACAAQQxqIBI3AgAgACAQNwIEIAAgAzYCAAwFCyAMKAJMIAlBA3RqKQIAIRMgDCgCWCEHIAEpAqQBIREgASkCrAEhEiAEQegAaiIDIARBoAJqQdwA/AoAACAEQQxqIgIgBEHEAWpB3AD8CgAAIAFBAzYCtAEgDyADQdwA/AoAACABQQM2ApQCIA4gAkHcAPwKAAAgASASpyICIBNCBIYiEKciCEEQaiIDIAIgA0gbIgU2ApwDIAEgEaciAyAIIAMgCEobIgM2ApgDIAEgCTYClAMgASAQQvD///+PfoM3AowDIAEgA60gEUIgiKciAiATQhyIp0FwcSIDIAIgA0obrUIghoQ3AvwCIAEgByAJQQh0ajYC+AIgASAMNgL0AiABIAWtIBJCIIinIgIgEEKAgICAgH6DQoCAgICAAnxCIIinIgMgAiADSButQiCGhDcChAMMAwsgBSADQejSwgAQsAkACyAJIANB7KjDABCwCQALIABBADYCAAwBC0EAIQIMAQsLIARBsARqJAAL+woCDX8DfiMAQfAAayICJAACQAJAAkAgASgCBCIERQRAIABBgICAgHg2AgAMAQsgASAEQQFrNgIEIAEoAgAhASACQQI2AhQgAiABNgIQIAJBQGsiAyACQRBqEJUCIAIoAkQiDCEBAkACQCACKAJAIghBgYCAgHhGDQAgAkEwaiIBIAJB0ABqKAIANgIAIAIgAikCSDcDKAJAAkAgCEGAgICAeEcEQCACQSBqIAEoAgA2AgAgAiACKQMoNwMYIAIoAhQiAUUNASACIAFBAWs2AhQgAigCECIGKAIEIgRBB00EQCACQoHKADcDQCADEMcLIQEMAwsgBiAEQQhrIgM2AgQgBiAGKAIAIgFBCGoiBzYCACABKQAAIhBCgICAgBBaBEAgAkEBOgBAIAIgEDcDSCACQUBrIAJB3ABqQZiXwQAQjQkhAQwDCwJ/IANBB00EQCACQoHKADcDQEEBIQUgAkFAaxDHCwwBCyAGIARBEGsiAzYCBCAGIAFBEGoiBzYCACACQQhqIAEpAAgQtwYgAigCCCEFIAIoAgwLIQEgBUEBcQ0CAkAgAUUEQEEAIQdBBCEEQQAhBQwBC0EEIQRBgIAIIAEgAUGAgAhPGyIJQQN0IgVBBBDUDCILRQ0HQQAhBSACQQA2AmggAiALNgJkIAIgCTYCYANAAkACfyADIglBB00EQCACQoHKADcDQCACQUBrEMcLDAELIAYgCUEIayIDNgIEIAYgB0EIaiIKNgIAIAcpAAAiD0KAgICAEFoEQCACQQE6AEAgAiAPNwNIIAJBQGsgAkHcAGpBmJfBABCNCQwBCyADQQdNBEAgAkKBygA3A0AgAkFAaxDHCwwBCyAGIANBCGsiAzYCBCAGIApBCGoiBzYCACAKKQAAIhFCgICAgBBUDQEgAkEBOgBAIAIgETcDSCACQUBrIAJB3ABqQZiXwQAQjQkLIQEgAigCYCIERQ0FIAIoAmQgBEEDdEEEEJ8NDAULIA+nIQogEachDSACKAJgIAVGBEAgAkHgAGpBtJjBABDJBiACKAJkIQsLIAQgC2oiDiANNgIAIA5BBGsgCjYCACACIAVBAWoiBTYCaCAEQQhqIQQgASAFRw0ACyACKAJkIQQgAigCYCIHQYKAgIB4SARAIAQhAQwECyAJQRBrIQMLAkACfyADQQdNBEAgAkKBygA3A0AgAkFAaxDHCwwBCyAGIANBCGs2AgQgBiAGKAIAIgFBCGo2AgAgASkAACIPQoCAgIAQVA0BIAJBAToAQCACIA83A0ggAkFAayACQdwAakGYl8EAEI0JCyEBIAdFDQMgBCAHQQN0QQQQnw0MAwsgD6ciASAFRg0EIAIgATYCWCACIAU2AlwgAkECNgJEIAJB4LvBADYCQCACQgI3AkwgAiACQdwAaq1CgICAgDCENwNoIAIgAkHYAGqtQoCAgIAwhDcDYCACIAJB4ABqNgJIIAJBNGoiASACQUBrIgMQtQMgAyABEKIJQQxBBBDUDCIBRQ0HIAEgAikCQDcCACABQQhqIANBCGooAgA2AgAgAigCNCIDBEAgAigCOCADQQEQnw0LIAdFDQIgBCAHQQN0QQQQnw0MAgtBAEGIncEAQfCXwQAQzQghAQwCC0EBQYidwQBB8JfBABDNCCEBCyAIBEAgDCAIQQJ0QQQQnw0LCyAAQYGAgIB4NgIAIAAgATYCBAwBCyAAIAIpAxg3AgggAEEQaiACQSBqKAIANgIAIAAgED4CJCAAIAWtQoGAgIAQfjcCHCAAIAQ2AhggACAHNgIUIAAgDDYCBCAAIAg2AgALIAJB8ABqJAAPC0EEIAVBpJjBABD5CwALQQRBDEHw+sMAKAIAIgBB7wcgABsRAAAAC8IJAxJ9BH4CfyMAQSBrIhskAAJAAkAgAyoCCCIGIAaUIAMqAgwiBiAGlJIiBkMAAAAAWw0AIAaRIgyLIgZDAACAf1wEQCAGQwAAADRfDQEgBiAGQwAAADSUXw0BCyADKQIIIhdCIIinviAMlSINjCIGvK1CIIYhGCAXp74gDJUiDowiBbytIRkgAyoCBCEKIAMqAgAhC0KAgICAgICAwD8hFyAYIBmEIRggAkIANwJkIAJCADcCGCAOIA6UIA0gDZSSIgdDAAAAAF4EQCAFIAeRIgWVvK0gBiAFlbytQiCGhCEXCyABKQIAIhkgASkCCCIaIAEqAgAgF6e+IgaUIAEqAgQiEyAXQiCIp74iBZSSIAEqAgggBpQgASoCDCIUIAWUkl4bIRcgAiABKgIQIhAgBpQgF6e+kiIGIAuTOAIIIAIgECAFlCAXQiCIp76SIgUgCpM4AgwgAiAGvK0gBbytQiCGhDcCECAbIAIQ0gEgGqe+IRUgGae+IRZD//9/fyEFQeQAIQEgGykDACEXIBsqAgQhByAbKgIAIQkCQAJAA0AgByAHlCAJIAmUkiIGQwAAyCteRQ0BIAeMIAaRIgaVIQcgCYwgBpUhCQJ+IAUgBl8iHEUEQEKAgICAgICAwD8hFyAJIAmUIAcgB5SSIgVDAAAAAF4EQCAJIAWRIgWVvK0gByAFlbytQiCGhCEXCyAZIBogFiAXp74iBZQgEyAXQiCIp74iCJSSIBUgBZQgFCAIlJJeGyEXIBAgBZQgF6e+kiIRvK0gECAIlCAXQiCIp76SIhK8rUIghoQMAQsgD0MAAAAAXg0CIBenviALkiIRvK0gF0IgiKe+IAqSIhK8rUIghoQLIRcCQAJAAkAgDiAJlCANIAeUkiIFQwAAAABbDQAgBYsiCEMAAIB/XARAIAhDAAAANF8NASAIIAhDAAAANJRfDQELIAkgESALk5QgByASIAqTlJIgBZUiCEMAAAAAYEUNACAFQwAAAABdIAhDAAAAAF5xDQEgHEUNAkEAIQMMBQtBACEDIAVDAACgNV4NBCAcDQQMAQsgBCAPIAiSIg8gDJVdBEBBACEDDAQLIAogDSAIlCIFkiEKIAsgDiAIlCIIkiELIAm8rSAHvK1CIIaEIRhD//9/fyEGIAIoAmgiHEEBaiIDRQ0AIAIgAioCCCAIkzgCCCACIAIqAgwgBZM4AgwgHEUNACACIAIqAiAgCJM4AiAgAiACKgIkIAWTOAIkIANBAkYNACACIAIqAjggCJM4AjggAiACKgI8IAWTOAI8IANBA0YNAEEDQQNB+PPCABCwCQALIAcgEiAKkyIHlCAJIBEgC5MiCZSSIgW8Qf////8HcUH////7B0sEQEH08cIAQSdBsPLCABD5CgALQQAhAyAGIAWSIAZDvRuPOpRfDQIgG0IANwIYIBsgFzcCECAbIAc4AgwgGyAJOAIIIAIgG0EIaiIcEPADGiAcIAIQ0gEgAigCaEECRwRAIBspAwgiF0IgiKe+IQcgF6e+IQkgBiEFIAFBAWsiAQ0BDAMLCyAFQwAAoLVfDQELIAAgGDcCCCAAIA8gDJU4AgRBASEDCyAAIAM2AgAMAQsgAEEANgIACyAbQSBqJAALmwoCCH8CfiMAQeAAayIDJAAgASgCACEJIANBLGogAUEwaikCADcCACADQSRqIAFBKGopAgA3AgAgA0EcaiABQSBqKQIANwIAIANBFGogAUEYaikCADcCACADQYACOwE0IAMgASkCEDcCDCADQQE2AgggAigCACIFKAIAIQIgBSACQQFqNgIAAkACQAJAIAJBAE4EQCABKAIEIgYoAgwhAiAGKAIEIAJGBEAgBkEEakHQzMEAEKMGCyAGKAIIIAJBDGxqIgQgCTYCBCAEIAU2AgAgBiACQQFqNgIMIAQgA0EIajYCCCAGKAIwIQQgBkEANgIwIAQEQCAGKAIsIQIgBEEMbCEEA0AgA0HIAGoiCkEIaiACQQhqKAIANgIAIAMgAikCACILNwNIIAunIgcoAgwhCCAHIAggAygCTCAIGzYCDCAHIAcoAgAiB0EBazYCACAHQQFGBEAgChCFCgsgAkEMaiECIARBDGsiBA0ACwsgBkEAOgAAAkACQAJAAkACQAJAAkAgASgCCCICKAIIIgRBgJTr3ANHBEAgAikDACELA0AgBSgCDCICBEAgAkEBaw4CAwQFCxC/CwJAAkAgAykDOCIMIAtRBEAgBCADKAJAIgJLDQEMAgsgCyAMWA0BIAMoAkAhAgsgA0HIAGogCyAEIAwgAhC1CAwBCwsgBSAFKAIMIgJBASACGzYCDCACRQ0BAkAgAg4DAAIDBAtB6MrBAEEoQcDLwQAQ+QoACwNAIAUoAgwiAkUNAAsgAkEBaw4CAAECCyADIAEoAgwiBS0AACIBOgA4IAVBAToAACABQQFGDQkgBSgCCCIBQQxrIQQgBSgCDCIHQQxsIQJBfyEGA0AgAkUNAyAGQQFqIQYgBEEMaiEEIAJBDGshAiABKAIEIQggAUEMaiEBIAggCUcNAAsgBiAHTw0HIARBBGopAgAhCyAEKAIAIQEgAgRAIAQgBEEMaiAC/AoAAAsgBSAHQQFrNgIMIAFFDQIgAyALNwJMIAMgATYCSCABIAEoAgAiAUEBazYCACABQQFGBEAgA0HIAGoQhQoLQQAhASAFQQA6AAAgAygCCCECIANBADYCCCACQQFxDQNB4MvBABClDQALIAMgASgCDCIFLQAAIgE6ADggBUEBOgAAIAFBAUYNCCAFKAIIIgFBDGshBCAFKAIMIgdBDGwhAkF/IQYDQCACRQ0FIAZBAWohBiAEQQxqIQQgAkEMayECIAEoAgQhCCABQQxqIQEgCCAJRw0ACyAGIAdPDQcgBEEEaikCACELIAQoAgAhASACBEAgBCAEQQxqIAL8CgAACyAFIAdBAWs2AgwgAUUNBCADIAs3AkwgAyABNgJIIAEgASgCACICQQFrNgIAQQEhASACQQFGBEAgA0HIAGoQhQoLIAVBADoAACADKAIIIQIgA0EANgIIIAJBAXENAkGAzMEAEKUNAAsgAy0ANCEBA0AgAUUNAAtBAiEBDAILQdDLwQAQpQ0ACyAAIANBDGoiAikCADcCBCAAQSRqIAJBIGopAgA3AgAgAEEcaiACQRhqKQIANwIAIABBFGogAkEQaikCADcCACAAQQxqIAJBCGopAgA3AgALIAAgATYCACADQeAAaiQADwtB8MvBABClDQsACyAGIAdBwMzBABCvCQALIAYgB0HAzMEAEK8JAAsgA0IANwJUIANCgYCAgMAANwJMIANBkM3BADYCSCADQThqIANByABqQZjNwQAQpwsAC50JAhp9A34gAioCACIGIAEpAgAiHqe+IhKTIhAgASkCECIfp74iCSASkyIFlCACKgIEIgggHkIgiKe+IhOTIhggH0IgiKe+IgogE5MiB5SSIQQgASoCFCEUIAEqAhAhHSABKgIMIQ8gASoCCCEVAkACQAJAAkAgASkCCCIgp74iFiABKgIAIgyTIg0gEJQgIEIgiKe+IhcgASoCBCILkyIOIBiUkiIZQwAAAABfIARDAAAAAF9xRQRAIAYgFpMiDCAFlCAIIBeTIgsgB5SSIREgDSAMlCAOIAuUkiIaQwAAAABgIBEgGl9xDQEgDSAGIAmTIhuUIA4gCCAKkyIclJIhFQJAAkACQCAFIBuUIAcgHJSSIg9DAAAAAGAgDyAVYHFFBEAgDSAHlCAOIAWUkyEUAkAgGkMAAAAAX0UNACAZQwAAAABgRQ0AIA0gGJQgDiAQlJMgFJRDAAAAAF0NAgsCQCAPQwAAAABfRQ0AIARDAAAAAGBFDQAgBSAclCAbIAeUkyAUjJRDAAAAAF0NAwsgCiAXkyEKIAkgFpMhCSARIBqTIREgFSAPk0MAAAAAYEUNAyARQwAAAABgRQ0DIBQgCSALlCAMIAqUk5RDAAAAAF1FDQMgAEKBgICAEDcCDCAAIAwgCZQgCyAKlJIgCSAJlCAKIAqUkpUiBDgCGCAAQwAAgD8gBJM4AhQgACAKIASUIBeSIgU4AgQgACAJIASUIBaSIgQ4AgAMCAsgAEKAgICAIDcCDCAAIB83AgAgACAGIB1bIAggFFtxOgAIDwsgAEIBNwIMIAAgGSANIA2UIA4gDpSSlSIEOAIYIABDAACAPyAEkzgCFCAAIA4gBJQgE5IiBTgCBCAAIA0gBJQgEpIiBDgCAAwGCyAAQoGAgIAgNwIMIAAgBCAFIAWUIAcgB5SSlSIEOAIYIABDAACAPyAEkzgCFCAAIAcgBJQgE5IiBzgCBCAAIAUgBJQgEpIiBDgCACAAIAQgBlsgByAIW3E6AAgPCyADDQIgDCAMlCALIAuUkiARIBUgEZIgD5OVIgYgBiAJIAmUIAogCpSSlJSTIQwgECAQlCAYIBiUkiILIBkgGSAak5UiCCAIIA0gDZQgDiAOlJKUlJMiECALIAQgBCAPk5UiBCAEIAUgBZQgByAHlJKUlJMiC11FBEAgCyAMXUUEQCAKIAaUIBeSIQcgCSAGlCAWkiEFQQEhAQwFCyAHIASUIBOSIQcgBSAElCASkiEFQQIhASAEIQYMBAsgDCAQXkUEQCAKIAaUIBeSIQcgCSAGlCAWkiEFQQEhAQwECyAOIAiUIBOSIQcgDSAIlCASkiEFQQAhASAIIQYMAwsgAEIANwIMIAAgHjcCACAAIAYgDFsgCCALW3E6AAgPCyAAQoCAgIAQNwIMIAAgIDcCACAAIAYgFVsgCCAPW3E6AAgPCyAAQQM2AgwgAEEBOgAIIAAgAikCADcCAA8LIAAgBjgCGCAAIAE2AhAgAEEBNgIMIABBAToACCAAQwAAgD8gBpM4AhQgACAFvK0gB7ytQiCGhDcCAA8LIAAgBCAGWyAFIAhbcToACAuHjAIDH38DfgJ9IwBBgAFrIhQkAAJAAkACQCAARQ0AIABBCGsiHCgCAEEBaiEKIBwgCjYCACAKRQ0BIAAoAgAiCkF/Rg0CIAAgCkEBajYCACAUIBw2AhAgFCAANgIMIBQgAEEEajYCCCABRQ0AIAFBCGsiHSgCAEEBaiEKIB0gCjYCACAKRQ0BIAEoAgAiCkF/Rg0CIAEgCkEBajYCACAUIB02AhwgFCABNgIYIBQgAUEEaiILNgIUIAJFDQAgAkEIayIeKAIAQQFqIQogHiAKNgIAIApFDQEgAigCACIKQX9GDQIgAiAKQQFqNgIAIBQgHjYCKCAUIAI2AiQgFCACQQRqIgw2AiAgA0UNACADQQhrIh8oAgBBAWohCiAfIAo2AgAgCkUNASADKAIAIgpBf0YNAiADIApBAWo2AgAgFCAfNgI0IBQgAzYCMCAUIANBBGoiDjYCLCAERQ0AIARBCGsiICgCAEEBaiEKICAgCjYCACAKRQ0BIAQoAgAiCkF/Rg0CIAQgCkEBajYCACAUICA2AkAgFCAENgI8IBQgBEEIaiIRNgI4IAVFDQAgBUEIayIhKAIAQQFqIQogISAKNgIAIApFDQEgBSgCACIKQX9GDQIgBSAKQQFqNgIAIBQgITYCTCAUIAU2AkggFCAFQQRqIg02AkQgBkUNACAGQRBrIiIoAgBBAWohCiAiIAo2AgAgCkUNASAGKAIAIgpBf0YNAiAGIApBAWo2AgAgFCAiNgJYIBQgBjYCVCAUIAZBEGoiDzYCUCAHRQ0AIAdBCGsiIygCAEEBaiEKICMgCjYCACAKRQ0BIAcoAgAiCkF/Rg0CIAcgCkEBajYCACAUICM2AmQgFCAHNgJgIBQgB0EEaiIQNgJcIAhFDQAgCEEIayIkKAIAQQFqIQogJCAKNgIAIApFDQEgCCgCACIKQX9GDQIgCCAKQQFqNgIAIBQgJDYCcCAUIAg2AmwgFCAIQQhqIhI2AmggCUUNACAJQQhrIiUoAgBBAWohCiAlIAo2AgAgCkUNASAJKAIAIgpBf0YNAiAJIApBAWo2AgAgFCAlNgJ8IBQgCTYCeCAUIAlBCGoiJjYCdCMAQTBrIhYkACAWICY2AiAgFiASNgIcIBYgEDYCGCAWIA82AhQgFiANNgIQIBYgETYCDCAWIA42AgggFiAMNgIEIBYgCzYCACAWQSRqIRojAEEgayISJAAgFigCCCITKAIIIgpBA3RBCGutQuwAfELkACAKGyEpIBIgEkEfajYCECATKAIUIgoEfiApIApBAWtB/////wNxrUIDhnxCEHwFIClCCHwLISkgEygCICIKBH4gKSAKQQFrQf////8Dca1CA4Z8QhB8BSApQgh8CyEpIBYoAgwiECgCCCIKBH4gKSAKQTBsQTBrQTBurUIwfnxCPHwFIClCDHwLISkgECgCFCIKBH4gKSAKQQFrQf////8Dca1CA4Z8QhB8BSApQgh8C0IQfCEpAkAgECgCICIORQ0AIBAoAhwhDCAOQQFrQf////8BcSERAkAgDkEHcSIKRQRAIAwhCwwBCyAMIQsDQEIJQgEgCygCABsgKXwhKSALQQhqIQsgCkEBayIKDQALCyARQQdJDQAgDCAOQQN0aiEKA0BCCUIBIAsoAgAbICl8QglCASALQQhqKAIAG3xCCUIBIAtBEGooAgAbfEIJQgEgC0EYaigCABt8QglCASALQSBqKAIAG3xCCUIBIAtBKGooAgAbfEIJQgEgC0EwaigCABt8QglCASALQThqKAIAG3whKSAKIAtBQGsiC0cNAAsLIBAoAjQiCgR+IApBAWutQhR+ISogECgCKCIKKQMAQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RBEAgCkEIaiELA0AgCykDACErIAtBCGohCyArQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RDQALCyApICp8Qhx8BSApQgh8CyEpIBYoAhAiESgCCCIKBH4gKSAKQQR0QRBrrXxCIHwFIClCEHwLQgh8ISkgESgCFCIKBEAgESgCECIOIApBOGxqIQwDQCApQhh8ISkgDigCCCIKBEAgDigCBCENIApB1AFsIQ9BACEKA0AgCiANaiILQeAAaigCACIVBH4gKSAVQSxsQSxrQSxurUIsfnxCNHwFIClCCHwLISkgKUIRQgEgCygCABt8QhFCASALQRRqKAIAG3xCCUIBIAtBKGooAgAbfEIJQgEgC0E0aigCABt8ISkgC0HIAGooAgAiCwR+IAtBMGxBMGtBMG6tQjB+ICl8QtwAfAUgKUIsfAtCBnwhKSAPIApB1AFqIgpHDQALCwJAIA4oAhwiCgRAIA4oAiAhCyASIClCA3w3AwggEiAKIAsoAiwRAAAgEigCBCEKAkACQAJAAkACQAJAAkACQAJAIBIoAgBBAWsOCAECAwQFBgcIAAsgCigCCCILBH4gKSALQQJ0QQRrrXxCE3wFIClCD3wLIilCGHwhKiAKKAIUIgpFDQkgKSAKQQJ0QQRrrXxCHHwhKgwJCyApQhB8ISogCigCDCILRQ0IIAtBAWutQg1+ISogCigCACIKKQMAQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RBEAgCkEIaiELA0AgCykDACErIAtBCGohCyArQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RDQALCyApICp8Qh18ISoMCAsgKUIQfCEqIAooAgwiC0UNByALQQFrrUIRfiEqIAooAgAiCikDAEKAgYKEiJCgwIB/g0KAgYKEiJCgwIB/UQRAIApBCGohCwNAIAspAwAhKyALQQhqIQsgK0KAgYKEiJCgwIB/g0KAgYKEiJCgwIB/UQ0ACwsgKSAqfEIhfCEqDAcLIClCEHwhKiAKKAIMIgtFDQYgC0EBa61CEX4hKiAKKAIAIgopAwBCgIGChIiQoMCAf4NCgIGChIiQoMCAf1EEQCAKQQhqIQsDQCALKQMAISsgC0EIaiELICtCgIGChIiQoMCAf4NCgIGChIiQoMCAf1ENAAsLICkgKnxCIXwhKgwGCyApQhB8ISogCigCDCILRQ0FIAtBAWutQg1+ISogCigCACIKKQMAQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RBEAgCkEIaiELA0AgCykDACErIAtBCGohCyArQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RDQALCyApICp8Qh18ISoMBQsgKUIQfCEqIAooAgwiC0UNBCALQQFrrUIVfiEqIAooAgAiCikDAEKAgYKEiJCgwIB/g0KAgYKEiJCgwIB/UQRAIApBCGohCwNAIAspAwAhKyALQQhqIQsgK0KAgYKEiJCgwIB/g0KAgYKEiJCgwIB/UQ0ACwsgKSAqfEIlfCEqDAQLIClCEHwhKiAKKAIMIgtFDQMgC0EBa61CGX4hKiAKKAIAIgopAwBCgIGChIiQoMCAf4NCgIGChIiQoMCAf1EEQCAKQQhqIQsDQCALKQMAISsgC0EIaiELICtCgIGChIiQoMCAf4NCgIGChIiQoMCAf1ENAAsLICkgKnxCKXwhKgwDCyApQhB8ISogCigCDCILRQ0CIAtBAWutQh1+ISogCigCACIKKQMAQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RBEAgCkEIaiELA0AgCykDACErIAtBCGohCyArQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RDQALCyApICp8Qi18ISoMAgsgKUIHfCEqDAELIClCA3whKgsgEiAqQhB8Iik3AwggDCAOQThqIg5HDQALCyARKAIsIQogESgCICILBH4gKSALQQR0QRBrrXxCGHwFIClCCHwLISkgCgR+IApBFGxBFGtBFG6tQhJ+ICl8Qhp8BSApQgh8CyEpIBEoAjgiCgR+ICkgCkEMbEEMa0EMbq1CDH58QhR8BSApQgh8C0IIfCEpIBYoAhQiGSgCjAIiCgRAIBkoAogCIQsgCkEIdCEKA0ACfgJ+AkAgCygCAEEBRgRAIClClgF8ISkgC0HsAWooAgAhDCALQbQBaigCACIOBEBCCEIUIA4oAgAbICl8ISkLIAwNASApQiJ8DAILIClCBUIBIAtBBGooAgAbfEIEfAwCCyAMQQN0QQhrrSApfEIqfAtCM3wLISkgC0GAAmohCyAKQYACayIKDQALCyApQgVCASAZKAL8ARt8ISkgGSgC+AEiCgR+ICkgCkEDdEEIa618Qhx8BSApQhR8C0IIfCEpAkACQAJAIBYoAhgiFSgCECIKBEAgFSgCDCELIApBoAFsIQoDQAJAAkAgCygCAEEBRgRAIBIgKUIMfDcDCCALQTBqIBJBCGoQPSIMDQEgEikDCEIIQhQgC0E4aigCAEECSRt8QhlCASALQfQAaigCABt8QtoAfCEpDAILIClCBUIBIAtBBGooAgAbfEIEfCEpDAELIBpBgICAgHg2AgAgGiAMNgIEDAMLIAtBoAFqIQsgEiApNwMIIApBoAFrIgoNAAsLIClCBUIBIBUoAgAbfCEpIBUoAiQiCgR+ICkgCkEDdEEIa618Qhx8BSApQhR8CyEpIBUoAjAiCgR+ICkgCkEDdEEIa618QhB8BSApQgh8CyEpIBYoAhwiDSgCOCIKBH4gKSAKQQN0QQhrrXxCEHwFIClCCHwLQgh8ISkCQCANKAJMIgpFDQAgDSgCSCEMAkAgCkEMbCIPQQxrIhdBDG4iCkEDcUEDRgRAIAwhCwwBC0EAIApBAWpBA3FrIQ4gDCEKA0BCDEIJQgUgCkEEaigCAEEBcRsgCigCABsgKXwhKSAKQQxqIgshCiAOQQFqIg4NAAsLIBdBJEkNACAMIA9qIQoDQEIMQglCBSALQQRqKAIAQQFxGyALKAIAGyApfEIMQglCBSALQRBqKAIAQQFxGyALQQxqKAIAG3xCDEIJQgUgC0EcaigCAEEBcRsgC0EYaigCABt8QgxCCUIFIAtBKGooAgBBAXEbIAtBJGooAgAbfCEpIAogC0EwaiILRw0ACwsgKUIFQgEgDSgCPBt8ISkgDSgCLCEKIA0oAiAiCwR+ICkgC0EEdEEQa618QiR8BSApQhR8CyEpIAoEfiAKQfABbEHwAWtB8AFurULlAX4gKXxC7QF8BSApQgh8CyEpIA0oAgwiCgR+IApBAWutQgOGISogDSgCACIKKQMAQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RBEAgCkEIaiELA0AgCykDACErIAtBCGohCyArQoCBgoSIkKDAgH+DQoCBgoSIkKDAgH9RDQALCyApICp8QhB8BSApQgh8C0IIfCEpIBYoAiAiDCgCTCILBEAgDCgCSCIKIAtBpAJsaiEPA0ACfgJ+AkAgCigCAEGAgICAeEcEQCAKKAIIIgsEfiApIAtBoAJsQaACa0GgAm6tQqICfnxCsgJ8BSApQhB8CyEpIAooAhQiCwR+ICkgC0ECdEEEa618Qgx8BSApQgh8CyEpIAooAiQiCwR+ICkgC0ECdEEEa618QhR8BSApQhB8CyEpIAooAjQiCwR+ICkgC0ECdEEEa618QhR8BSApQhB8CyIqQhB8ISkCQCAKKAJEIg5FDQAgCigCQCINIQsgDkEBcQRAIAtBCGooAgAiCwR+ICogC0ECdEEEa618Qhx8BSAqQhh8C0IIfCEpIA1BEGohCwsgDkH/////AHFBAUYNACANIA5BBHRqIQ4DQCALQQhqKAIAIg0EfiApIA1BAnRBBGutfEIMfAUgKUIIfAshKSALQRhqKAIAIg0EfiApIA1BAnRBBGutfEIUfAUgKUIQfAtCCHwhKSAOIAtBIGoiC0cNAAsLIAooAlAiCwR+ICkgC0ECdEEEa618Qgx8BSApQgh8CyEpIAooAnghCyAKKAJkIg4EfiApIA5BAnRBBGutfEIcfAUgKUIYfAshKSALBH4gC0H/////AWqtQgSGICl8QjB8BSApQiB8CyEpIAooAowBIgsEfiApIAtB/////wNqrUIDhnxCIHwFIClCGHwLISkgCigCnAEiCwR+ICkgC0ECdEEEa618Qgx8BSApQgh8CyEpIAooAsQBIQsgCigCsAEiDgR+ICkgDkECdEEEa618Qhx8BSApQhh8CyEpIAsEfiALQf////8Baq1CBIYgKXxCMHwFIClCIHwLISkgCigC5AEhCyAKKALYASIOBH4gKSAOQQxsQQxrQQxurUIMfnxCKnwFIClCHnwLISkgCwR+IAtBAnRBBGutICl8Qgx8BSApQgh8CyIqQhB8ISkCQCAKKAL0ASIORQ0AIAooAvABIg0hCyAOQQFxBEAgC0EIaigCACILBH4gKiALQQJ0QQRrrXxCHHwFICpCGHwLQgh8ISkgDUEQaiELCyAOQf////8AcUEBRg0AIA0gDkEEdGohDgNAIAtBCGooAgAiDQR+ICkgDUECdEEEa618Qgx8BSApQgh8CyEpIAtBGGooAgAiDQR+ICkgDUECdEEEa618QhR8BSApQhB8C0IIfCEpIA4gC0EgaiILRw0ACwsgKUIIfCEqAkAgCigCgAIiDkUNACAKKAL8ASINIQsgDkEBcQRAIAtBCGooAgAiCwR+ICkgC0ECdEEEa618QhR8BSApQhB8C0IIfCEqIA1BEGohCwsgDkH/////AHFBAUYNACANIA5BBHRqIQ4DQCALQQhqKAIAIg0EfiAqIA1BAnRBBGutfEIMfAUgKkIIfAshKSALQRhqKAIAIg0EfiApIA1BAnRBBGutfEIUfAUgKUIQfAtCCHwhKiAOIAtBIGoiC0cNAAsLIAooAowCIgsNASAqQgh8DAILIClCBUIBIAooAgQbfEIEfAwCCyAqIAtBAnRBBGutfEIMfAtCCHwLISkgDyAKQaQCaiIKRw0ACwsgKUIFQgEgDCgCPBt8ISkgDCgCOCIKBH4gCkEUbEEUa0EUbq1CGH4gKXxCLHwFIClCFHwLISkgDCgCLCEKIAwoAiAiCwR+ICkgC0EEdEEQa618Qhh8BSApQgh8CyEpIAoEfiAKQQR0QRBrrSApfEIYfAUgKUIIfAshKUEAIQogDCgCDCILBH4gC0EBa61CA4YhKiAMKAIAIgspAwBCgIGChIiQoMCAf4NCgIGChIiQoMCAf1EEQCALQQhqIQsDQCALKQMAISsgC0EIaiELICtCgIGChIiQoMCAf4NCgIGChIiQoMCAf1ENAAsLICkgKnxCEHwFIClCCHwLpyILQQBIDQECQCALRQRAQQEhDgwBC0EBIQogC0EBENQMIg5FDQILQQAhCiASQQA2AhAgEiAONgIMIBIgCzYCCCAWKAIAIQwgEiASQQhqIg02AhggDEEEaioCACEsIAwqAgAhLSALQQNNBEAgDUEAQQRBAUEBEOMEIBIoAgwhDiASKAIQIQoLIAogDmogLTgAACASIApBBGoiCzYCECASKAIIIAtrQQNNBEAgEkEIaiALQQRBAUEBEOMEIBIoAhAhCwsgEigCDCALaiAsOAAAIBIgC0EEajYCECAWKAIEIgwqAgAhLCASKAIYIgooAgghDiAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEaiIONgIIIAwqAgQhLCAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEaiIONgIIIAwqAgghLCAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEaiIONgIIIAwqAgwhLCAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEaiIONgIIIAwqAhAhLCAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEaiIONgIIIAwqAhQhLCAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEaiIONgIIIAwqAhghLCAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEaiIONgIIIAwqAhwhLCAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEajYCCCAMKgIgISwgEigCGCIKKAIIIQ4gCigCACAOa0EDTQRAIAogDkEEQQFBARDjBCAKKAIIIQ4LIAooAgQgDmogLDgAACAKIA5BBGo2AgggDCoCJCEsIBIoAhgiCigCCCEOIAooAgAgDmtBA00EQCAKIA5BBEEBQQEQ4wQgCigCCCEOCyAKKAIEIA5qICw4AAAgCiAOQQRqNgIIIAwqAighLCASKAIYIgooAgghDiAKKAIAIA5rQQNNBEAgCiAOQQRBAUEBEOMEIAooAgghDgsgCigCBCAOaiAsOAAAIAogDkEEajYCCCAMNQIsISkgEigCGCILKAIIIQ4gCygCACAOa0EHTQRAIAsgDkEIQQFBARDjBCALKAIIIQ4LIAsoAgQgDmogKTcAACALIA5BCGoiDjYCCCAMNQIwISkgCygCACAOa0EHTQRAIAsgDkEIQQFBARDjBCALKAIIIQ4LIAsoAgQgDmogKTcAACALIA5BCGoiDjYCCCAMNQI0ISkgCygCACAOa0EHTQRAIAsgDkEIQQFBARDjBCALKAIIIQ4LIAsoAgQgDmogKTcAACALIA5BCGoiDjYCCCAMNQI4ISkgCygCACAOa0EHTQRAIAsgDkEIQQFBARDjBCALKAIIIQ4LIAsoAgQgDmogKTcAACALIA5BCGoiDjYCCCAMNQI8ISkgCygCACAOa0EHTQRAIAsgDkEIQQFBARDjBCALKAIIIQ4LIAsgDkEIaiINNgIIIAsoAgQgDmogKTcAACATKAIEIQ4gEygCCCIMrSEpIAsoAgAgDWtBB00EQCALIA1BCEEBQQEQ4wQgCygCCCENCyALIA1BCGoiCjYCCCALKAIEIA1qICk3AAAgDARAIA4gDEEDdGohDANAIA5BBGooAgAhDyAOKAIAIQ0gCygCACAKa0EDTQRAIAsgCkEEQQFBARDjBCALKAIIIQoLIAsoAgQgCmogDTYAACALIApBBGoiDTYCCCALKAIAIA1rQQNNBEAgCyANQQRBAUEBEOMEIAsoAgghDQsgCyANQQRqIgo2AgggCygCBCANaiAPNgAAIAwgDkEIaiIORw0ACwsgEygCECENIBMoAhQiDK0hKSALKAIAIAprQQdNBEAgCyAKQQhBAUEBEOMEIAsoAgghCgsgCyAKQQhqIg42AgggCygCBCAKaiApNwAAIAwEQCAMQQJ0IQ8DQCANNQIAISkgDUEEaiENIAsgCygCACAOa0EHSwR/IA4FIAsgDkEIQQFBARDjBCALKAIICyIKQQhqIg42AgggCygCBCAKaiApNwAAIA9BBGsiDw0ACwsgEygCHCENIBMoAiAiDK0hKSALKAIAIA5rQQdNBEAgCyAOQQhBAUEBEOMEIAsoAgghDgsgCyAOQQhqIgo2AgggCygCBCAOaiApNwAAIAwEQCAMQQJ0IQ8DQCANNQIAISkgDUEEaiENIAsgCygCACAKa0EHSwR/IAoFIAsgCkEIQQFBARDjBCALKAIICyIMQQhqIgo2AgggCygCBCAMaiApNwAAIA9BBGsiDw0ACwsgEygCPCEMIAsoAgAgCmtBA00EQCALIApBBEEBQQEQ4wQgCygCCCEKCyALIApBBGo2AgggCygCBCAKaiAMNgAAAkACQCASQRhqIBAQjAIiCg0AIBAoAigiCikDACEpIBAoAjQiDq0hKiASKAIYIgwoAgghCyAMKAIAIAtrQQdNBEAgDCALQQhBAUEBEOMEIAwoAgghCwsgDCALQQhqIg82AgggDCgCBCALaiAqNwAAIA4EQCAKQQhqIQsgKUJ/hUKAgYKEiJCgwIB/gyEpA0AgKVAEQANAIApBoAFrIQogCykDACEpIAtBCGohCyApQoCBgoSIkKDAgH+DIilCgIGChIiQoMCAf1ENAAsgKUKAgYKEiJCgwIB/hSEpCyAKICl6p0EDdkFsbGoiDUEQaygCACETIA1BFGsoAgAhFyANQQRrKAIAIRsgDCgCACAPa0EDTQRAIAwgD0EEQQFBARDjBCAMKAIIIQ8LIAwoAgQgD2ogFzYAACAMIA9BBGoiDzYCCCAMKAIAIA9rQQNNBEAgDCAPQQRBAUEBEOMEIAwoAgghDwsgDCgCBCAPaiATNgAAIAwgD0EEaiIPNgIIIA1BCGsoAgAhEyANQQxrKAIAIQ0gDCgCACAPa0EDTQRAIAwgD0EEQQFBARDjBCAMKAIIIQ8LIAwoAgQgD2ogDTYAACAMIA9BBGoiDTYCCCApQgF9ISogDCgCACANa0EDTQRAIAwgDUEEQQFBARDjBCAMKAIIIQ0LIAwoAgQgDWogEzYAACAMIA1BBGoiDTYCCCApICqDISkgDCgCACANa0EDTQRAIAwgDUEEQQFBARDjBCAMKAIIIQ0LIAwgDUEEaiIPNgIIIAwoAgQgDWogGzYAACAOQQFrIg4NAAsLIBAoApQBIQwgEigCGCILKAIIIQogCygCACAKa0EDTQRAIAsgCkEEQQFBARDjBCALKAIIIQoLIAsoAgQgCmogDDYAACALIApBBGo2AgggEC0AmAEhDCASKAIYIgsoAgghCiALKAIAIAprQQNNBEAgCyAKQQRBAUEBEOMEIAsoAgghCgsgCygCBCAKaiAMNgAAIAsgCkEEajYCCCMAQRBrIhskAAJAIBJBGGoiFyARIg4oAgQgDigCCBDIAyIMDQAgDigCECETIA4oAhQiEa0hKSAXKAIAIgooAgghCyAKKAIAIAtrQQdNBEAgCiALQQhBAUEBEOMEIAooAgghCwsgCiALQQhqIgw2AgggCigCBCALaiApNwAAIBEEQCATIBFBOGxqIScDQCATKAIQIQsgEygCDCERIAooAgAgDGtBA00EQCAKIAxBBEEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqIBE2AAAgCiAMQQRqIgw2AgggCigCACAMa0EDTQRAIAogDEEEQQFBARDjBCAKKAIIIQwLIAooAgQgDGogCzYAACAKIAxBBGoiDDYCCCATKAIYIQsgEygCFCERIAooAgAgDGtBA00EQCAKIAxBBEEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqIBE2AAAgCiAMQQRqIgw2AgggCigCACAMa0EDTQRAIAogDEEEQQFBARDjBCAKKAIIIQwLIAooAgQgDGogCzYAACAKIAxBBGoiCzYCCCATKAIEIQ8gEygCCCIRrSEpIAooAgAgC2tBB00EQCAKIAtBCEEBQQEQ4wQgCigCCCELCyAKIAtBCGoiDDYCCCAKKAIEIAtqICk3AAAgEQRAIA8gEUHUAWxqIRgDQCAPKAJgIhGtISkgCigCACAMa0EHTQRAIAogDEEIQQFBARDjBCAKKAIIIQwLIAogDEEIaiILNgIIIAooAgQgDGogKTcAACARBEAgEUEsbCERQQAhDQNAIA0gD2oiDEH4AGoqAgAhLCAMQfQAaioCACEtIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqIC04AAAgCiALQQRqIgs2AgggCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogLDgAACAKIAtBBGoiCzYCCCAMQYABaioCACEsIAxB/ABqKgIAIS0gCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogLTgAACAKIAtBBGoiCzYCCCAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiAsOAAAIAogC0EEaiILNgIIIAxBhAFqKgIAISwgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogLDgAACAKIAtBBGoiCzYCCCAMQYgBaigCACEQIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqIBA2AAAgCiALQQRqIgs2AgggDEGMAWooAgAhECAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiAQNgAAIAogC0EEaiILNgIIIAxB5ABqKgIAISwgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogLDgAACAKIAtBBGoiCzYCCCAMQegAaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEHsAGoqAgAhLCAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiAsOAAAIAogC0EEaiIQNgIIIAxB8ABqKgIAISwgCigCACAQa0EDTQRAIAogEEEEQQFBARDjBCAKKAIIIRALIAogEEEEaiILNgIIIAooAgQgEGogLDgAACARIA1BLGoiDUcNAAsLIA8qAsABISwgDyoCvAEhLSAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiAtOAAAIAogC0EEaiIMNgIIIAooAgAgDGtBA00EQCAKIAxBBEEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqICw4AAAgCiAMQQRqIgw2AgggDyoCyAEhLCAPKgLEASEtIAooAgAgDGtBA00EQCAKIAxBBEEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqIC04AAAgCiAMQQRqIgw2AgggCigCACAMa0EDTQRAIAogDEEEQQFBARDjBCAKKAIIIQwLIAooAgQgDGogLDgAACAKIAxBBGoiDDYCCCAPKALMASELIAooAgAgDGtBA00EQCAKIAxBBEEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqIAs2AAAgCiAMQQRqIgw2AgggDygC0AEhESAKKAIAIAxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCiAMQQRqIgs2AgggCigCBCAMaiARNgAAAkAgDygCAEEBRgRAIAsgCigCAEYEQCAKIAtBAUEBQQEQ4wQgCigCCCELCyAKIAtBAWo2AgggCigCBCALakEBOgAAIA9BBGogFxDZBCIMRQ0BDAYLIAsgCigCAEYEQCAKIAtBAUEBQQEQ4wQgCigCCCELCyAKIAtBAWo2AgggCigCBCALakEAOgAACwJAIA8oAhRBAUYEQCAKKAIIIgwgCigCAEYEQCAKIAxBAUEBQQEQ4wQgCigCCCEMCyAKIAxBAWo2AgggCigCBCAMakEBOgAAIA9BGGogFxDZBCIMRQ0BDAYLIAooAggiDCAKKAIARgRAIAogDEEBQQFBARDjBCAKKAIIIQwLIAogDEEBajYCCCAKKAIEIAxqQQA6AAALIAoCfyAPKAIoQQFGBEAgDygCMCELIA8oAiwhESAKKAIIIgwgCigCAEYEQCAKIAxBAUEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqQQE6AAAgCiAMQQFqIgw2AgggCigCACAMa0EDTQRAIAogDEEEQQFBARDjBCAKKAIIIQwLIAooAgQgDGogETYAACAKIAxBBGoiDDYCCCAKKAIAIAxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMaiALNgAAIAxBBGoMAQsgCigCCCIMIAooAgBGBEAgCiAMQQFBAUEBEOMEIAooAgghDAsgCigCBCAMakEAOgAAIAxBAWoLIgw2AgggCgJ/IA8oAjRBAUYEQCAPKAI8IQsgDygCOCERIAwgCigCAEYEQCAKIAxBAUEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqQQE6AAAgCiAMQQFqIgw2AgggCigCACAMa0EDTQRAIAogDEEEQQFBARDjBCAKKAIIIQwLIAooAgQgDGogETYAACAKIAxBBGoiDDYCCCAKKAIAIAxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMaiALNgAAIAxBBGoMAQsgDCAKKAIARgRAIAogDEEBQQFBARDjBCAKKAIIIQwLIAooAgQgDGpBADoAACAMQQFqCyIMNgIIIA8oAkwhCyAKKAIAIAxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMaiALNgAAIAogDEEEaiIMNgIIIA8qAlQhLCAPKgJQIS0gCigCACAMa0EDTQRAIAogDEEEQQFBARDjBCAKKAIIIQwLIAooAgQgDGogLTgAACAKIAxBBGoiDDYCCCAKKAIAIAxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMaiAsOAAAIAogDEEEaiIQNgIIIA8oAkQhDCAPKAJIIhGtISkgCigCACAQa0EHTQRAIAogEEEIQQFBARDjBCAKKAIIIRALIAogEEEIaiILNgIIIAooAgQgEGogKTcAACARBEAgDCARQTBsaiERA0AgDEEEaioCACEsIAwqAgAhLSAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiAtOAAAIAogC0EEaiILNgIIIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEIaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEMaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEQaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEYaioCACEsIAxBFGoqAgAhLSAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiAtOAAAIAogC0EEaiILNgIIIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEcaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEgaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEkaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIgs2AgggDEEoaioCACEsIAooAgAgC2tBA00EQCAKIAtBBEEBQQEQ4wQgCigCCCELCyAKKAIEIAtqICw4AAAgCiALQQRqIhA2AgggDEEsaigCACENIAooAgAgEGtBA00EQCAKIBBBBEEBQQEQ4wQgCigCCCEQCyAKIBBBBGoiCzYCCCAKKAIEIBBqIA02AAAgESAMQTBqIgxHDQALCyAPLwFcIQwgCigCACALa0EBTQRAIAogC0ECQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogDDsAACAKIAtBAmoiCzYCCCAPKAJYIREgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAogC0EEaiIMNgIIIAooAgQgC2ogETYAACAYIA9B1AFqIg9HDQALCyATLQAkIQsgDCAKKAIARgRAIAogDEEBQQFBARDjBCAKKAIIIQwLIAooAgQgDGogCzoAACAKIAxBAWoiDDYCCCATLQAlIREgDCAKKAIARgRAIAogDEEBQQFBARDjBCAKKAIIIQwLIAogDEEBaiILNgIIIAooAgQgDGogEToAAAJAIAoCfyATKAIcIgwEQCATKAIgIREgCyAKKAIARgRAIAogC0EBQQFBARDjBCAKKAIIIQsLIAogC0EBajYCCCAKKAIEIAtqQQE6AAAgG0EIaiAMIBEoAiwRAAAgGygCDCEPAkACQAJAAkACQAJAAkACQAJAIBsoAghBAWsOCAECAwQFBgcIAAsgCigCACAKKAIIIgxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMakEANgAAIAogDEEEaiIQNgIIIA8oAgQhDCAPKAIIIhGtISkgCigCACAQa0EHTQRAIAogEEEIQQFBARDjBCAKKAIIIRALIAogEEEIaiILNgIIIAooAgQgEGogKTcAACARBEAgEUECdCENA0AgDCgCACEQIAxBBGohDCAKIAooAgAgC2tBA0sEfyALBSAKIAtBBEEBQQEQ4wQgCigCCAsiEUEEaiILNgIIIAooAgQgEWogEDYAACANQQRrIg0NAAsLIA9BGGogFxDZBCIMDQ0gDygCECEMIA8oAhQiEa0hKSAKKAIAIAooAggiEGtBB00EQCAKIBBBCEEBQQEQ4wQgCigCCCEQCyAKIBBBCGoiCzYCCCAKKAIEIBBqICk3AAAgEUUNCiARQQJ0IQ0DQCAMKAIAIQ8gDEEEaiEMIAogCigCACALa0EDSwR/IAsFIAogC0EEQQFBARDjBCAKKAIICyIRQQRqIgs2AgggCigCBCARaiAPNgAAIA1BBGsiDQ0ACwwKCyAKKAIAIAooAggiDGtBA00EQCAKIAxBBEEBQQEQ4wQgCigCCCEMCyAKKAIEIAxqQQE2AAAgCiAMQQRqIgw2AgggDy0AGCELIAwgCigCAEYEQCAKIAxBAUEBQQEQ4wQgCigCCCEMCyAKIAxBAWoiDTYCCCAKKAIEIAxqIAs6AAAgDygCACIQKQMAISkgDygCDCIPrSEqIAooAgAgDWtBB00EQCAKIA1BCEEBQQEQ4wQgCigCCCENCyAKIA1BCGoiCzYCCCAKKAIEIA1qICo3AAAgD0UNCSAQQQhqIQwgKUJ/hUKAgYKEiJCgwIB/gyEpA0AgKVAEQANAIBBB4ABrIRAgDCkDACEpIAxBCGohDCApQoCBgoSIkKDAgH+DIilCgIGChIiQoMCAf1ENAAsgKUKAgYKEiJCgwIB/hSEpCyAQICl6p0EDdkF0bGoiEUEEay0AACEYIBFBCGs1AgAhKiARQQxrKAIAIREgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogETYAACAKIAtBBGoiCzYCCCApQgF9ISsgCigCACALa0EHTQRAIAogC0EIQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogKjcAACAKIAtBCGoiDTYCCCApICuDISkgDSAKKAIARgRAIAogDUEBQQFBARDjBCAKKAIIIQ0LIAogDUEBaiILNgIIIAooAgQgDWogGEEBcToAACAPQQFrIg8NAAsMCQsgCigCACAKKAIIIgxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMakECNgAAIAogDEEEaiIMNgIIIA8tABghCyAMIAooAgBGBEAgCiAMQQFBAUEBEOMEIAooAgghDAsgCiAMQQFqIg02AgggCigCBCAMaiALOgAAIA8oAgAiECkDACEpIA8oAgwiD60hKiAKKAIAIA1rQQdNBEAgCiANQQhBAUEBEOMEIAooAgghDQsgCiANQQhqIgs2AgggCigCBCANaiAqNwAAIA9FDQggEEEIaiEMIClCf4VCgIGChIiQoMCAf4MhKQNAIClQBEADQCAQQYABayEQIAwpAwAhKSAMQQhqIQwgKUKAgYKEiJCgwIB/gyIpQoCBgoSIkKDAgH9RDQALIClCgIGChIiQoMCAf4UhKQsgECApeqdBAXRB8AFxayIRQQRrLQAAIRggEUEIazUCACEqIBFBDGsoAgAhDSARQRBrKAIAIREgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogETYAACAKIAtBBGoiCzYCCCAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiANNgAAIAogC0EEaiILNgIIIClCAX0hKyAKKAIAIAtrQQdNBEAgCiALQQhBAUEBEOMEIAooAgghCwsgCigCBCALaiAqNwAAIAogC0EIaiINNgIIICkgK4MhKSANIAooAgBGBEAgCiANQQFBAUEBEOMEIAooAgghDQsgCiANQQFqIgs2AgggCigCBCANaiAYQQFxOgAAIA9BAWsiDw0ACwwICyAKKAIAIAooAggiDGtBA00EQCAKIAxBBEEBQQEQ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CygCBCAKaiApNwAAIAwEQCAMQaABbCEQQQAhDgNAAkACQAJAAkACQCAOIBFqIgsoAgBBAUYEQCASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANakEBNgAAIAogDUEEajYCCCALQQRqKAIAIQwgEigCGCIKKAIIIQ0gCigCACANa0EESQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWogDDYAACAKIA1BBGo2AgggC0GQAWotAAAhDCASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEajYCCCALQTBqIBJBGGoQJiIKDQggC0E4aigCAEEBaw4CAgMBCyASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANakEANgAAIAogDUEEajYCCCASKAIYIQogC0EEaigCAEEBRgRAIAtBCGooAgAhDCAKKAIIIgsgCigCAEYEQCAKIAtBAUEBQQEQ4wQgCigCCCELCyAKKAIEIAtqQQE6AAAgCiALQQFqIgs2AgggCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogDDYAACAKIAtBBGo2AggMBQsgCigCCCILIAooAgBGBEAgCiALQQFBAUEBEOMEIAooAgghCwsgCigCBCALakEAOgAAIAogC0EBajYCCAwECyALQTxqKgIAISwgEigCGCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWpBADYAACAKIA1BBGoiDTYCCCAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCiANQQRqNgIIIAooAgQgDWogLDgAAAwCCyALQTxqKgIAISwgEigCGCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWpBATYAACAKIA1BBGoiDTYCCCAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCiANQQRqNgIIIAooAgQgDWogLDgAAAwBCyALQTxqKAIAIQwgEigCGCIKKAII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QRBGDQEgBEHMAGogBEEsaiAGIAwQtgEgBCgCTEEBRw0BIAACfiAEKgJYIhBDAAAAAF1FBEAgECARX0UNAyAEKQJQDAELIAoEQEMAAAAAIRBCAAwBCyARIAQqAmgiEGBFDQIgBCkCYAs3AgwgACAQOAIIIABBATYCACAAIAEgAkEIdHI2AgQMCQsgAUGAAkGsqcMAELAJAAtD//9/fyEDQ///f38hECAEIAg6AEggBCAJOgBAIAkgFUMAAAAAXXIEQEP//39/IBogGyAJGyAXkyAVlSIQIBBDAAAAAF0bIRALIAggEkMAAAAAXXIEQEP//39/IBwgHSAIGyAYkyASlSIDIANDAAAAAF0bIQMLIBAgEV4gAyARXnENBiADIBBdIgtBAnQiByAEQRBqciIBKAIAIQUgAQJ/IARBPGogC0EDdGotAARFBEAgBSAEQRhqIAdyKAIATA0IQX8MAQsgBSAEQSBqIAdyKAIAQQFrTg0HQQELIAVqNgIAIAQpAxAhHgwACwALIABBAzYCAAwFC0H2u8IAQRxBlLzCABD5CgALIABBAzYCAAwDCyACIAZB/KjDABCwCQALIAIgBkHsqMMAELAJAAsgAEEDNgIACyAEQfAAaiQAC4ILAgZ/AX4jAEGgBmsiAyQAIANBADYCECADQgA3AgggA0KAgICAwAA3AgAgA0H0A2oiBCADEFkgA0EANgKsBCADQgA3AqQEIANCgICAgMAANwKcBCADQbAEaiIFIANBnARqEFkgA0HkAGogBEEIaiIHKQIANwIAIANB7ABqIARBEGopAgA3AgAgA0H0AGogBEEYaikCADcCACADQfwAaiAEQSBqKQIANwIAIANBADYCWCADQgA3AlAgA0KAgICAwAA3AkggA0IENwJAIANCADcCOCADQgQ3AjAgA0IANwIoIANCBDcCICADQgA3AhggA0IENwIQIANCADcCCCADQoCAgICAAjcCACADIAMpAvQDNwJcIANBsAFqIAVBCGoiCCkCADcCACADQbgBaiAFQRBqKQIANwIAIANBwAFqIAVBGGopAgA3AgAgA0HIAWogBUEgaikCADcCACADQQA2AqQBIANCADcCnAEgA0KAgICAwAA3ApQBIANCgICAgHA3AowBIANCgICAgMAANwKEASADQgA3ApQCIANBAToAnQIgA0EANgKQAiADQoCAgIDAADcC0AEgA0IANwLYASADQgQ3AuABIANCADcC6AEgA0IENwLwASADQoCAgIDAADcC+AEgA0IANwKAAiADQgQ3AogCIAMgAykCsAQ3AqgBIANBgANqQQA2AgAgA0H4AmpCADcDACADQaACaiIGQSxqQQA2AgAgA0HEAmpCADcCACAGQRxqQgA3AgAgA0EBOgCcAiAFQQtqQgA3AAAgBEELakIANwAAIANCADcD8AIgA0GAgID8AzYCsAIgA0KAgID8AzcDoAIgA0IANwOoAiADQgA3ArQCIANCADcAswQgA0IANwD3AyADQQA6AIwDIANC////+wc3AoQDIANC////+////7//ADcD6AIgA0L////7BzcD4AIgA0KAgICA8P//v383A9gCIANC////+////7//ADcD0AIgBkH8AGogBUEPaigAADYAACADQZUDaiAIKQAANwAAIAMgAykAsAQ3AI0DIANBADoAqAMgA0L////7BzcDoAMgA0G4A2ogBEEPaigAADYAACADQbEDaiAHKQAANwAAIAMgAykA9AM3AKkDIANBgICA/AM2AtADIANBgAI7AcwDIANBADYCyAMgA0EAOgDEAyADQv////sHNwK8AyADQeQDakEAOgAAIANB3ANqQgA3AgAgA0IANwLUAyADQQxqQQMQgwIgA0EcakEDEIMCIANBLGpBAxCDAiADKAJEIgQgAygCPEYEQCADQTxqIARBAUEEQRAQmgUgAygCRCEECyADKAJAIARBBHRqIgVCADcCCCAFQoCAgIDAADcCACADIARBAWo2AkQgAyADKAKUAkEDaiIFNgKUAgJAIAMoAihBAksEQCADKAIgQQhqQc2Zs+4DNgIAIANB9ANqIANBoAJqIgQQ2wMgA0HQBGogBEHQAfwKAAAgA0HIBGogA0H8A2opAgAiCTcDACADIAk3A7gEIAMgAykC9AMiCTcDsAQgAyAJNwPABCADKAIIIgYgAygCAEYEQCADQdiCwgAQqAYgAygClAIhBQsgAygCBCAGQaACbGoiBCADQbAEakHwAfwKAAAgBEIANwP4ASAEQYACakIANwMAIARBiAJqQgA3AwAgBEGQAmpCADcDACAEQZgCakIANwMAIAQgAjYC9AEgBCABNgLwASADIAZBAWoiATYCCCADQdABaiABIAUQ7gMgAygCCEUNASAAIANBoAL8CgAAIANBoAZqJAAPCyADQQA2AsAEIANBATYCtAQgA0Hg7MEANgKwBCADQgQ3ArgEIANBsARqQejswQAQ3AsAC0EAQQBB6ILCABCwCQAL0gkCGn8CfiMAQTBrIg0kACANQQhqIAEQuQMgASgCMCIPQQN0IQMCQAJAAkACQAJAAkACQAJAIA9B/////wFLDQAgA0H8////B0sNACABKAIsIQQCQCADRQRAQQQhEAwBC0EEIQUgDyEWIANBBBDUDCIQRQ0BCyADBEAgECAEIAP8CgAACyABKAI8IhStQgx+IhynIQRBACEFIBxCIIinDQEgBEH8////B0sNASABKAI4IQMCQCAERQRAQQQhEQwBC0EEIQUgFCEXIARBBBDUDCIRRQ0CCyAEBEAgESADIAT8CgAAC0GAgICAeCEFAkAgASgCQEGAgICAeEYEQEGAgICAeCEVDAELIAEoAkgiA0ECdCECIANB/////wNLDQMgAkH8////B0sNAyABKAJEIQQCQCACRQRAQQQhBgwBC0EEIQcgAyEVIAJBBBDUDCIGRQ0ECyACBEAgBiAEIAL8CgAACyABKAJUIgRBAnQhAiAEQf////8DSw0EIAJB/P///wdLDQQgASgCUCEHAkAgAkUEQEEEIRIMAQtBBCEKIAQhGCACQQQQ1AwiEkUNBQsgAgRAIBIgByAC/AoAAAsgASgCYCIHQQR0IQIgB0H/////AEsNBSACQfz///8HSw0FIAEoAlwhCAJAIAJFBEBBBCEKDAELQQQhCyAHIRkgAkEEENQMIgpFDQYLIAIEQCAKIAggAvwKAAALIAatIAOtQiCGhCEcCyABKAJkQYCAgIB4RwRAIAEoAmwiC0ECdCEDQQAhAiALQf////8DSw0GIANB/P///wdLDQYgASgCaCEIAkAgA0UEQEEEIRNBACEFDAELQQQhAiALIQUgA0EEENQMIhNFDQcLIAMEQCATIAggA/wKAAALIAEoAngiA0ECdCECIANB/////wNLDQcgAkH8////B0sNByABKAJ0IQ4CQCACRQRAQQQhBkEAIQgMAQtBBCEMIAMhCCACQQQQ1AwiBkUNCAsgAgRAIAYgDiAC/AoAAAsgASgChAEiAkECdCEJIAJB/////wNLDQggCUH8////B0sNCCABKAKAASEaAkAgCUUEQEEEIQxBACEODAELQQQhGyACIQ4gCUEEENQMIgxFDQkLIAkEQCAMIBogCfwKAAALIBOtIAutQiCGhCEdCyAAIA0pAgg3AgAgACACNgKEASAAIAw2AoABIAAgDjYCfCAAIAM2AnggACAGNgJ0IAAgCDYCcCAAIB03AmggACAFNgJkIAAgBzYCYCAAIAo2AlwgACAZNgJYIAAgBDYCVCAAIBI2AlAgACAYNgJMIAAgHDcCRCAAIBU2AkAgACAUNgI8IAAgETYCOCAAIBc2AjQgACAPNgIwIAAgEDYCLCAAIBY2AiggACABLwGIATsBiAEgAEEIaiANQQhqIgFBCGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBGGogAUEYaikCADcCACAAQSBqIAFBIGopAgA3AgAgDUEwaiQADwsgBSADQZC/wgAQ+QsACyAFIARBkL/CABD5CwALIAcgAkGQv8IAEPkLAAsgCiACQZC/wgAQ+QsACyALIAJBkL/CABD5CwALIAIgA0GQv8IAEPkLAAsgDCACQZC/wgAQ+QsACyAbIAlBkL/CABD5CwAL2QsDDn8CfQN+IwBBoANrIgIkACAAKAIAKAIAIQQgACgCBCIGKAIAQQFGBEAgBigCBCIGQf//A3EhA0EBIQkgBkEQdiEFCyAEQSBJIQYgACgCCCIIKAIAQQFGBEAgCCkDCCISQiCIpyEKQQEhCyASpyEHCyAEQQAgBhshCEEBIQQCQCAAKAIMIgYoAgBBAUcEQEEAIQQMAQsgBikDCCISQiCIpyEMIBKnIQ0LIAAoAhgoAgAhDiAAKAIcKAIAIQ8gACgCFCgCACEGIAIgACgCECgCADYCQCACQfDBwQA2AjQgAiABNgIwIAIgCDYCLCACIAw2AiggAiANNgIkIAIgBDYCICACIAo2AhwgAiAHNgIYIAIgCzYCFCACIAM2AhAgAiAFNgIMIAIgCTYCCCAGKAI8IQMgBigCQCEBIAIgDzYCSCACIA42AkQgAiABNgI8IAIgAyABKAIIQQFrQXhxakEIajYCOCAAKAIgIQkgAiAAKAIkKAIAKQIANwPwASACQcwAaiEDQQAhBEEAIQAgAkHwAWoiCCIBKQIAIRIgASgCBCEGIAEoAgAhBQJAIAJBCGoiCigCOCIHKAIIRQ0AIAa+IRACf0EAIAW+IhEgBygCBCIBKQIAIhOnvl0NABpBACARIAFBDGopAgAiFKe+Xg0AGkEAQQAgASAQIBRCIIinvl4bIBAgE0IgiKe+XRsLIQAgASgCLEH/////A3FFDQAgASkCGCITp74gEV4NACABQSRqKQIAIhSnviARXQ0AIAFBGGohASAQIBRCIIinvl5FIBAgE0IgiKe+XUF/c3EhBAsgAyASNwKcASADIAo2ApgBIAMgADYCjAEgAyAHNgKIASADIAQ2AoQBIAMgATYCBCADQQA2AgAgAyAFrSAGrUIghoQ3ApABIAggA0GkAfwKAAAgAkGMA2ohCCACQfQBaiEBIAJB9AJqIQYCQAJAAkADQCACKAL8AiIARQRAIAEhBCAGIQMgAigC9AIiBSIAQSFPBEAgAigC+AEhBCABIQMgAigC9AEhAAsgAEUNAyADIABBAWsiADYCACAEIABBAnRqKAIAIQALIAJBADYC/AIgACgCFEH/////A3FBAUcEQCAAKAIIIgAgAigC+AIiBCgCCCIDTw0CQQEhAwJAIAIqAoADIhAgBCgCBCAAQTBsaiIAKQIAIhKnvl0NACAQIABBDGopAgAiE6e+Xg0AIAIqAoQDIhEgEkIgiKe+XQ0AIBEgE0IgiKe+Xg0AIAIgADYC/AJBACEDCyAQIAApAhgiEqe+XQ0BIBAgAEEkaikCACITp75eDQEgAioChAMiECASQiCIp75dDQEgECATQiCIp75eDQEgAEEYaiEAIANFBEACfyACKAL0AiIFQSFJBEAgBSEEIAEhB0EgIQUgBgwBCyACKAL0ASEEIAIoAvgBIQcgAQshAyAEIAVGBEAgAkHwAWoQkwMgAigC9AEhBCACKAL4ASEHIAEhAwsgByAEQQJ0aiAANgIAIAMgAygCAEEBajYCAAwCCyACIAA2AvwCDAELIAAoAggiAyACKAKIAyIEKAJAIgUoAhBPDQAgBSgCDCADQaABbGoiACgCAEEBRw0AIAQgBCgCPCADIAAoAgQiBCAAQRBqIgUQ7QNFDQAgACgCMCAAKAI0IgAoAghBAWtBeHFqQQhqIAUgCCAAKAJIEQUARQ0AIAkoAgAhACACQYEBNgKYAyACIAOtIAStQiCGhL8QADYCnAMgAiAAIAJBmANqIAJBnANqEO0KIAIoAgQhAAJAAkAgAigCAEEBcUUEQCAAEAFBAEchBCAAQYMBSw0BDAILQQEhBCAAQYQBSQ0BCyAAEAILIAIoApwDIgBBhAFPBEAgABACCyACKAKYAyIAQYQBTwRAIAAQAgsgBA0ACyACKAL0AiEFDAILIAAgA0HolsEAELAJAAsgAkEANgL8AgsgBUEhTwRAIAIoAvgBIAVBAnRBBBCfDQsgAkGgA2okAAugCQMWfwh9AX4jAEGwBmsiAyQAIAKnskMAAAA/kiAAKAIAIgYqAkAiGpQhGSABp7JDAAAAP5IgGpQhGiACQiCIp7JDAAAAP5IgBioCRCIblCEcIAFCIIinskMAAAA/kiAblCEbAkAgBigCCEUEQAwBCwJ/QQAgGSAGKAIEIgQpAgAiIae+YEUNABpBACAcICFCIIinvmBFDQAaIARBACAbIARBDGopAgAiIUIgiKe+XxtBACAaICGnvl8bCyEHIAQoAixB/////wNxRQ0AIBkgBEEYaiIIKQIAIiGnvmBFDQAgHCAhQiCIp75gRQ0AIBogBEEkaikCACIhp75fIBsgIUIgiKe+X3EhBQsgA0EENgKsAyADQQQ2AsABIAMgAjcCuAEgAyABNwKwASADIAY2AqwBIAMgHDgCqAEgAyAZOAKkASADIBs4AqABIAMgGjgCnAEgAyAHNgKYASADIAY2ApQBIAMgBTYCkAEgAyAINgIQIANBADYCDCADQZgFaiADQQxqEI4BIAMoApgFQQFGBEAgACgCKCIIQSVqIQogCEEEaiEHIAAoAgQiBEEYaiELIAAoAiQhDCADQYgGaiIFQSVqIQ0gBUEEaiEFIAAoAiAhDyAAKAIcIRAgACgCGCERIAAoAhQhEiAAKAIQIRMgACgCDCEUIAAoAgghFSADQdgFaiEAA0ACQCADLQC0BUEQRg0AIAYqAkAhHiAGKgJEIR0gAykCpAUhASADIAYpA0AiAqe+QwAAAD+UOAK4BSADIAJCIIinvkMAAAA/lDgCvAUgBCoCECEcIAQqAhQhGyAEKQIIIQIgBCoCACEZIAQqAgQhGiAAQQhqIAtBCGooAgA2AgAgACALKQIANwIAIAMgGjgCxAUgAyAZOALABSAZIB0gAUIgiKeyQwAAAD+SlCIdlCAaIB4gAaeyQwAAAD+SlCIflJIgAkIgiKe+IiCSIR4gHyAZlCAdIBqUkyACp74iH5IhHSADIBkgGiAclCAZIBuUkiAgkiAekyIglCAaIBkgHJQgGiAblJMgH5IgHZMiHJSTOALUBSADIBkgHJQgGiAglJI4AtAFIAMgHbytIB68rUIghoQ3AsgFIANBiAZqIBUgA0HABWogA0G4BWpBtOfCACAUIBMgEiARKgIAIBAqAgAgDy0AABCqASADLQCsBiIOQQVGDQAgA0HoBWoiCUEIaiIWIAVBCGopAgA3AwAgCUEQaiIXIAVBEGopAgA3AwAgCUEYaiIJIAVBGGopAgA3AwAgA0HmBWoiGCANQQJqLQAAOgAAIAMgBSkCADcD6AUgAyANLwAAOwHkBSAOQQRGDQAgAyoCiAYiGSAMKgIAXUUNACAMIBk4AgAgCCAZOAIAIAcgAykD6AU3AgAgCCAOOgAkIAogAy8B5AU7AAAgB0EIaiAWKQMANwIAIAdBEGogFykDADcCACAHQRhqIAkpAwA3AgAgCkECaiAYLQAAOgAACyADQZgFaiADQQxqEI4BIAMoApgFDQALCwJAIAMoAgxBAkYNACADKAKQASIAQSFJDQAgAygCFCAAQQJ0QQQQnw0LIANBsAZqJAAL9QkCD38BfiMAQeABayIPJAACQAJAAkAgAUUNACABQQhrIhcoAgBBAWohECAXIBA2AgAgEEUNASABKAIAIhBBf0YNAiABIBBBAWo2AgAgDyAXNgIIIA8gATYCBCAPIAFBCGoiGDYCACACRQ0AIAJBCGsiECgCAEEBaiERIBAgETYCACARRQ0BIAIoAgAiEUF/Rg0CIAIgEUEBajYCACAPIBA2AhQgDyACNgIQIA8gAkEEaiIZNgIMIANFDQAgA0EQayIRKAIAQQFqIRIgESASNgIAIBJFDQEgAygCACISQX9GDQIgAyASQQFqNgIAIA8gETYCICAPIAM2AhwgDyADQRBqIho2AhggBEUNACAEQQhrIhIoAgBBAWohEyASIBM2AgAgE0UNASAEKAIAIhNBf0YNAiAEIBNBAWo2AgAgDyASNgIsIA8gBDYCKCAPIARBBGoiGzYCJCAFRQ0AIAVBCGsiEygCAEEBaiEUIBMgFDYCACAURQ0BIAUoAgAiFEF/Rg0CIAUgFEEBajYCACAPIBM2AjggDyAFNgI0IA8gBUEEaiIcNgIwIAZFDQAgBkEIayIUKAIAQQFqIRUgFCAVNgIAIBVFDQEgBigCACIVQX9GDQIgBiAVQQFqNgIAIA8gFDYCRCAPIAY2AkAgDyAGQQRqIh02AjwgB0UNACAHQQhrIhUoAgBBAWohFiAVIBY2AgAgFkUNASAHKAIAIhZBf0YNAiAHIBZBAWo2AgAgDyAVNgJQIA8gBzYCTCAPIAdBBGoiFjYCSCAPIA42AlQgDyAJ/AM2AowBIA8gCUQAABAAAADwQWI2AogBIA8gCDYChAEgDyAWNgKAASAPIB02AnwgDyAcNgJ4IA8gGzYCdCAPIBo2AnAgDyAZNgJsIA8gGDYCaCAPIAs5A5gBIA8gCkEAR603A5ABIA8gDTkDqAEgDyAMQQBHrTcDoAEgDyAPQYABajYC2AEgDyAPQfwAajYC1AEgDyAPQfgAajYC0AEgDyAPQfQAajYCzAEgDyAPQfAAajYCyAEgDyAPQewAajYCxAEgDyAPQegAajYCwAEgDyAPQaABajYCvAEgDyAPQZABajYCuAEgDyAPQYgBajYCtAEgDyAPQYQBajYCsAECQCAOEARBAUYEQCAPIA9B1ABqNgLcASAPQdgAaiAPQbABaiAPQdwBahDhAgwBCyAPQdgAaiAPQbABakEAEOECCyAPKQNYIR4gDysDYCEJIAcgBygCAEEBazYCACAVIBUoAgBBAWsiBzYCACAHRQRAIA9B0ABqEI8KCyAGIAYoAgBBAWs2AgAgFCAUKAIAQQFrIgY2AgAgBkUEQCAPQcQAahDNCwsgBSAFKAIAQQFrNgIAIBMgEygCAEEBayIFNgIAIAVFBEAgD0E4ahDNCwsgBCAEKAIAQQFrNgIAIBIgEigCAEEBayIENgIAIARFBEAgD0EsahCSCwsgAyADKAIAQQFrNgIAIBEgESgCAEEBayIDNgIAIANFBEAgD0EgahCQCwsgAiACKAIAQQFrNgIAIBAgECgCAEEBayICNgIAIAJFBEAgD0EUahCNCwsgASABKAIAQQFrNgIAIBcgFygCAEEBayIBNgIAIAFFBEAgD0EIahCUCwsgACAePgIAIAAgCUQAAAAAAAAAACAepxs5AwggD0HgAWokAA8LEK8NCwALELANAAuGCQMNfwF+An0jAEGgB2siBCQAIAFBDGohDCABQcgDaiELIAFBLGohBiABQawBaiEJIAFB4AFqIQ0gAUHcAWohCAJ/IAEoAgBBAXEEQCABKAIEIQUgASgCCCEDQQAMAQtBAQshAgNAAkACQAJAAkAgAkUEQCADIAVHDQEgAUEANgIAQQEhAgwFCyABKAIoIgJBA0cEQAJAAkAgAQJ+AkAgCCgCAEEERwRAIARBBGogCBD6ASAEKAIEDQEgASgCKCECCyAIQQQ2AgAgAkECRwRAIAFBKGohDgJAAkADQCABKAK0ASICRQRAAkAgCSgCACICQSFPBEAgASgCMCEFIAEoAiwiB0UNBCAGIQMgByECDAELIAkhAyAGIQUgAkUNBAsgAyACQQFrIgM2AgAgBSADQQJ0aigCACECCyABQQA2ArQBIAIoAhRB/////wNxQQFHBEAgAigCCCIHIAEoArABIgIoAggiA08NCyACKAIEIAdBMGxqIgJBGGohCiABKgLEASEQQQEhAwJAIAEqAsABIhEgAikCACIPp75gRQ0AIBAgD0IgiKe+YEUNACABKgK4ASACQQxqKQIAIg+nvl9FDQAgASoCvAEgD0IgiKe+X0UNACABIAI2ArQBQQAhAwsgESAKKQIAIg+nvmBFDQEgECAPQiCIp75gRQ0BIAEqArgBIAJBJGopAgAiD6e+X0UNASABKgK8ASAPQiCIp75fRQ0BIANFBEACfyAJKAIAIgVBIUkEQCAFIQIgBiEHQSAhBSAJDAELIAEoAiwhAiABKAIwIQcgBgshAyACIAVGBEAgDhCTAyABKAIsIQIgASgCMCEHIAYhAwsgByACQQJ0aiAKNgIAIAMgAygCAEEBajYCAAwCCyABIAo2ArQBDAELIARBgAdqIgcgASgCyAEgAigCCBDXCSAEIAEpAswBNwOQByAEIAEpAtQBNwOYByAEQQRqIgMgByAEQZAHaiAEQZgHahC6BiAIIANB7AH8CgAAIARB9AZqIAgQ+gEgBCgC9AZFDQALIAQpAvgGDAQLIAFBADYCtAEgBSACQQJ0QQQQnw0LIAFBAjYCKCAGIARBBGpBsAH8CgAACyAIQQQ2AgAgDSAEQYwFakHoAfwKAAAgCygCAEEERg0DIARBBGogCxD6ASAEKAIEQQFHDQILIAQpAggLNwIMQQIhAyABQQI2AgggAUIBNwIAQQAhBQwFCyABQQQ2AsgDIAEoAighAyABQcwDaiAEQYwFakHoAfwKAAAgA0EDRg0AIANBAkYNACAJKAIAIgNBIUkNACABKAIwIANBAnRBBBCfDQsgAUEDNgIoIAYgBEEEakGIBfwKAAALIAEoAhRBAUcEf0EABSABKAIYIgYgASgCHEcEQEEBIQIgASAGQQFqNgIYIAEgBkECdGooAiAhAQwFCyABQQA2AhRBAAshAgwDC0EBIQIgASAFQQFqNgIEIAwgBUECdGooAgAhAQwCCyAHIANB6JbBABCwCQALQQAhAgwBCwsgACABNgIEIAAgAjYCACAEQaAHaiQAC9oJAQ9/IwBB4AFrIg8kAAJAAkACQCAARQ0AIABBCGsiFygCAEEBaiEQIBcgEDYCACAQRQ0BIAAoAgAiEEF/Rg0CIAAgEEEBajYCACAPIBc2AgggDyAANgIEIA8gAEEIaiIYNgIAIAFFDQAgAUEIayIQKAIAQQFqIREgECARNgIAIBFFDQEgASgCACIRQX9GDQIgASARQQFqNgIAIA8gEDYCFCAPIAE2AhAgDyABQQRqIhk2AgwgAkUNACACQRBrIhEoAgBBAWohEiARIBI2AgAgEkUNASACKAIAIhJBf0YNAiACIBJBAWo2AgAgDyARNgIgIA8gAjYCHCAPIAJBEGoiGjYCGCADRQ0AIANBCGsiEigCAEEBaiETIBIgEzYCACATRQ0BIAMoAgAiE0F/Rg0CIAMgE0EBajYCACAPIBI2AiwgDyADNgIoIA8gA0EEaiIbNgIkIARFDQAgBEEIayITKAIAQQFqIRQgEyAUNgIAIBRFDQEgBCgCACIUQX9GDQIgBCAUQQFqNgIAIA8gEzYCOCAPIAQ2AjQgDyAEQQRqIhw2AjAgBUUNACAFQQhrIhQoAgBBAWohFSAUIBU2AgAgFUUNASAFKAIAIhVBf0YNAiAFIBVBAWo2AgAgDyAUNgJEIA8gBTYCQCAPIAVBBGoiHTYCPCAGRQ0AIAZBCGsiFSgCAEEBaiEWIBUgFjYCACAWRQ0BIAYoAgAiFkF/Rg0CIAYgFkEBajYCACAPIBU2AlAgDyAGNgJMIA8gBkEEaiIWNgJIIA8gBzYCVCAPIA42AlggDyAJ/AM2AoQBIA8gCUQAABAAAADwQWI2AoABIA8gCDYCfCAPIBY2AnQgDyAdNgJwIA8gHDYCbCAPIBs2AmggDyAaNgJkIA8gGTYCYCAPIBg2AlwgDyAPQdQAajYCeCAPIAs5A5ABIA8gCkEAR603A4gBIA8gDTkDoAEgDyAMQQBHrTcDmAEgDyAPQfQAajYC2AEgDyAPQfAAajYC1AEgDyAPQewAajYC0AEgDyAPQfgAajYCzAEgDyAPQegAajYCyAEgDyAPQeQAajYCxAEgDyAPQeAAajYCwAEgDyAPQdwAajYCvAEgDyAPQZgBajYCuAEgDyAPQYgBajYCtAEgDyAPQYABajYCsAEgDyAPQfwAajYCrAECQCAOEARBAUYEQCAPIA9B2ABqNgLcASAPQawBaiAPQdwBahCmAgwBCyAPQawBakEAEKYCCyAGIAYoAgBBAWs2AgAgFSAVKAIAQQFrIgY2AgAgBkUEQCAPQdAAahCPCgsgBSAFKAIAQQFrNgIAIBQgFCgCAEEBayIFNgIAIAVFBEAgD0HEAGoQzQsLIAQgBCgCAEEBazYCACATIBMoAgBBAWsiBDYCACAERQRAIA9BOGoQzQsLIAMgAygCAEEBazYCACASIBIoAgBBAWsiAzYCACADRQRAIA9BLGoQkgsLIAIgAigCAEEBazYCACARIBEoAgBBAWsiAjYCACACRQRAIA9BIGoQkAsLIAEgASgCAEEBazYCACAQIBAoAgBBAWsiATYCACABRQRAIA9BFGoQjQsLIAAgACgCAEEBazYCACAXIBcoAgBBAWsiADYCACAARQRAIA9BCGoQlAsLIA9B4AFqJAAPCxCvDQsACxCwDQAL4wgBBH8gACgC4AQiAQRAIAAoAuQEIAFBAnRBBBCfDQsgACgC8AQhAyAAKAL0BCIEBEAgAyEBA0AgASgCACICBEAgAUEEaigCACACQQJ0QQQQnw0LIAFBDGohASAEQQFrIgQNAAsLIAAoAuwEIgEEQCADIAFBDGxBBBCfDQsgACgC/AQhAyAAKAKABSIEBEAgAyEBA0AgASgCACICBEAgAUEEaigCACACQQJ0QQQQnw0LIAFBDGohASAEQQFrIgQNAAsLIAAoAvgEIgEEQCADIAFBDGxBBBCfDQsgACgChAUiAQRAIAAoAogFIAFBBHRBBBCfDQsgACgCkAUiAQRAIAAoApQFIAFBFGxBBBCfDQsgACgCoAUhAyAAKAKkBSIEBEAgAyEBA0AgASgCACICBEAgAUEEaigCACACQQJ0QQQQnw0LIAFBEGooAgAiAgRAIAFBFGooAgAgAkECdEEEEJ8NCyABQRxqKAIAIgIEQCABQSBqKAIAIAJBAnRBBBCfDQsgAUEoaigCACICBEAgAUEsaigCACACQQJ0QQQQnw0LIAFBNGooAgAiAgRAIAFBOGooAgAgAkECdEEEEJ8NCyABQUBrKAIAIgIEQCABQcQAaigCACACQdwBbEEEEJ8NCyABQcwAaigCACICBEAgAUHQAGooAgAgAkHQAWxBBBCfDQsgAUHYAGooAgAiAgRAIAFB3ABqKAIAIAJB1ABsQQQQnw0LIAFB5ABqKAIAIgIEQCABQegAaigCACACQQZ0QQQQnw0LIAFB8ABqKAIAIgIEQCABQfQAaigCACACQQJ0QQQQnw0LIAFBgAFqKAIAIgIEQCABQYQBaigCACACQQJ0QQQQnw0LIAFBjAFqKAIAIgIEQCABQZABaigCACACQQJ0QQQQnw0LIAFBmAFqKAIAIgIEQCABQZwBaigCACACQQJ0QQQQnw0LIAFBpAFqKAIAIgIEQCABQagBaigCACACQQJ0QQQQnw0LIAFBsAFqKAIAIgIEQCABQbQBaigCACACQcgAbEEEEJ8NCyABQbwBaigCACICBEAgAUHAAWooAgAgAkHcAGxBBBCfDQsgAUHIAWooAgAiAgRAIAFBzAFqKAIAIAJBoAJsQRAQnw0LIAFB1AFqKAIAIgIEQCABQdgBaigCACACQcABbEEQEJ8NCyABQeABaigCACICBEAgAUHkAWooAgAgAkEMbEEEEJ8NCyABQewBaigCACICBEAgAUHwAWooAgAgAkEFdEEEEJ8NCyABQfgBaigCACICBEAgAUH8AWooAgAgAkEMbEEEEJ8NCyABQYQCaigCACICBEAgAUGIAmooAgAgAkECdEEEEJ8NCyABQZQCaigCACICBEAgAUGYAmooAgAgAkECdEEEEJ8NCyABQaQCaigCACICBEAgAUGoAmooAgAgAkEEdEEEEJ8NCyABQbACaiEBIARBAWsiBA0ACwsgACgCnAUiAARAIAMgAEGwAmxBBBCfDQsLxwgCD38BfSMAQSBrIgMkACADIAI2AgQgAyAAKAIMIgQ2AgACQAJAAkACQAJAAkACQAJAIAIgBEYEQCACIAAoAhBHDQEgACgCJCIFIAAoAiAiBksNCCAFBEAgACgCGCIHIAVBA3RqIQwgByEEA0AgBkEDdCIJIAdqIgggBCAEIAxGIg4bIg8oAgAiECACTw0EIA8oAgQiESACTw0EIAQgCWohCiAFQQFHQQN0IQsgECARRwRAIAEgEEECdGoiBCgCACEJIAQgASARQQJ0aiIEKAIANgIAIAQgCTYCAAsgCiAMIA4bIQwgCCAHIA4bIQcgCyAPaiEEIAVBAWsiBQ0ACwsgACgCBCENIAJBAWsiBkUNBCANQQhqIQogAUEIaiELIAJBAmshDCACQQJ0QQRqIQ5BACEAIAYhCQNAIAAgAkYNBAJAIAAiCEEBaiIAIAJGDQAgASAIQQJ0aioCACESIAYgCGtBAXEhD0EAIQcgCCAMRwRAIAlBfnEhECAKIQUgCyEEA0AgBCAEKgIAIBIgBSoCAJSTOAIAIARBBGsiESARKgIAIBIgBUEEayoCAJSTOAIAIAVBCGohBSAEQQhqIQQgECAHQQJqIgdHDQALCyAPRQ0AIAdBAnQiByAAQQJ0IgUgAWpqIgQgBCoCACASIA0gAiAIbEECdGogBWogB2oqAgCUkzgCAAsgCUEBayEJIAogDmohCiALQQRqIQsgACAGRw0ACyANIAIgBmxBAnRqIgAgBkECdGoqAgAiEkMAAAAAWw0HIAJFDQUMBgsgA0IANwIUIANCgYCAgMAANwIMIANB7PbBADYCCCADIANBBGogA0EIakH09sEAEKgLAAsgA0EANgIYIANBATYCDCADQbT3wQA2AgggA0IENwIQIANBCGpBvPfBABDcCwALQfz0wQBBPkG89cEAEPkKAAsgA0EANgIYIANBATYCDCADQeDswQA2AgggA0IENwIQIANBCGpB+OzBABDcCwALIA0gAiAGbEECdGoiACAGQQJ0aioCACISQwAAAABcDQEMAgsgASAGQQJ0aiIAIAAqAgAgEpU4AgAMAgsgAkECayEKQQAhCANAIAEgBkECdGoiBCoCACASlSESIAQgEjgCACAGRQ0BQQAhByAIIApHBEAgBkF+cSELIAAhBSABIQQDQCAEIAQqAgAgEiAFKgIAlJM4AgAgBEEEaiIJIAkqAgAgEiAFQQRqKgIAlJM4AgAgBUEIaiEFIARBCGohBCALIAdBAmoiB0cNAAsLIAZBAXEEQCAHQQJ0IgUgAWoiBCAEKgIAIBIgACAFaioCAJSTOAIACyAIQQFqIQggDSAGQQFrIgYgAmxBAnRqIQAgACAGQQJ0aioCACISQwAAAABcDQALCyADQSBqJAAPCyADQQA2AhggA0EBNgIMIANB4OzBADYCCCADQgQ3AhAgA0EIakHo7MEAENwLAAu+CQMDfwN+A30jAEGwAmsiCyQAIAsgCjoAHiALIAc4AhggCRDRBQJAAkAgCSgCACIKBEAgC0EQaiAKIAkoAgQoAhwRAAAgC0HgAGoiCSALKAIQIgogCygCFCgCDBEAACALKQNgQp/CxeuwsNTqin+FIAspA2hCv9OcpJvPgfCLf4WEQgBSDQEgCiAKLQAYQX9zQQFxIgw6ABggCyAMOgAfIAtBIGoiDEEIaiABQQhqKQIAIg43AwAgCyABKQIANwMgIAsgCyoCICIHOAIwIAsgCyoCJCIRjDgCNCALIBEgDqe+IhKUIAcgDkIgiKe+IhOUkzgCPCALIAcgEoyUIBEgE5STOAI4IAtB+AFqIAUgDCAGKAKUAREBACALKgIYIgdDAAAAAGBFDQIgCykD+AEhDiALIAcgCykDgAIiD6e+kjgCSCALIA6nviAHkzgCQCALIAcgD0IgiKe+kjgCTCALIA5CIIinviAHkzgCRCALQdgAaiAIQQhqIgEoAgA2AgAgAUEANgIAIAgpAgAhDiAIQoCAgIDAADcCACALIA43A1AgCSACIAQRBAAgC0FAaxDpBCALQQhqIAkQ4gIgCygCCEEBcQRAIAsoAgwhCQNAIAsgCTYC9AEgCyAGNgKgAiALIAU2ApwCIAtBrMjBADYClAIgCyAANgKQAiALIAg2AoQCIAsgCjYC+AEgCyALQSBqNgKoAiALIAtBGGo2AqQCIAsgC0EwajYCmAIgCyALQR5qNgKMAiALIAtBH2o2AogCIAsgC0HQAGo2AoACIAsgC0H0AWo2AvwBIAIgCSALQfgBakHM38EAIAMRAgAgCyALQeAAahDiAiALKAIEIQkgCygCAEEBcQ0ACwsgCygC5AEiAEEhTwRAIAsoAmggAEECdEEEEJ8NCyAKKAIMIgUEQCAKKAIEIQMgCigCACIAQQhqIQkgACkDAEJ/hUKAgYKEiJCgwIB/gyEOIAooAgghAiALLQAfIQQgACEIIAUhAQNAIA5QBEADQCAIQeAAayEIIAkpAwAhDiAJQQhqIQkgDkKAgYKEiJCgwIB/gyIOQoCBgoSIkKDAgH9RDQALIA5CgIGChIiQoMCAf4UhDgsgDkIBfSEPIAQgCCAOeqdBA3ZBdGxqIgxBBGstAABHBEBBgAEhBiAAIAxrQQxtIgwgAGoiDSkAACIQQgGGIBCDQoCBgoSIkKDAgH+DeqdBA3YgACAMQQhrIANxaiIMKQAAIhBCAYYgEINCgIGChIiQoMCAf4N5p0EDdmpBB00EQCAKIAJBAWoiAjYCCEH/ASEGCyANIAY6AAAgCiABQQFrIgE2AgwgDEEIaiAGOgAACyAOIA+DIQ4gBUEBayIFDQALCyALKAJUIQAgCygCWCIIBEAgAEHgAGohCQNAIAkoAgAEQCAJQQA2AgALIAlBIGsoAgAiAQRAIAlBHGsoAgAgAUEwbEEQEJ8NCyAJQdQBaiEJIAhBAWsiCA0ACwsgCygCUCIBBEAgACABQdQBbEEEEJ8NCyALQbACaiQADwtBrN/BABClDQALQbzfwQAQpQ0ACyALQQA2AnAgC0EBNgJkIAtBkMfBADYCYCALQgQ3AmggC0HgAGpBmMfBABDcCwALoggDEn0DfwJ+IwBBMGsiFiQAAkACfQJAIAEoAmRBAXEEQCABKAJ4IhcgAygCjAJPDQEgAygCiAIgF0EIdGoiAygCAEEBRw0BIAMoAgQgASgCfEcNASADKgJYIghDAAAAAF5FDQEgASoCdCEPIAEqAnAhECABKgJsIQogASoCaCEMIAIqAgAiBCADKgKoASADKQJ0IhmnvpSUIAMpAmgiGqe+kiEJIAMqAhQhBiADKgJwIAQgAyoCsAEgAyoChAGUlJIgBCAJIAmUIAQgAyoCrAEgGUIgiKe+lJQgGkIgiKe+kiINIA2UkpEiBSAFQwAAAABDAACAPyAElSAEi0MI5TweXxsgCJQiBCAEIAVeGyAEIARcG5RDAAAAAEMAAIA/IAWVIAWLQwjlPB5fG5QiEZQiBRC+ASEEIAwgAyoCECIIIAUQuwEiBZQgBiAElJIiB0MAAEBAIAggBJQgBiAFlJMiCyALlCAHIAeUkpNDAAAAP5QiDpQiB5QgCiALIA6UIguUkiESIAwgC5QgCiAHlJMhEyADKgIcIgwgCCADKgKUASIUlCAGIAMqApABIhWUkpIhCiADKgIYIg4gFSAIlCAUIAaUk5IhBiAFIA6UIAQgDJSSIAogDSARlJIgBSAGjJQgCiAElJOSkiAQIAeUIA8gC5SSkiENIA4gBJQgDCAFlJMgBiAJIBGUkiAKIAWUIAYgBJSTkpIgECALlCAPIAeUk5IhB0EBIRgMAQsgAioCHCEEIAIqAighBSAWQQhqIAEoAiAgASgCJCICKAIIQQFrQXhxakEIaiABIAIoApQBEQEAIAUgBJRDAAAAP5QgASoCNJIiBEMAAAAAYARAIAQgFikDECIZp76SIQUgFikDCCIap74gBJMhBiAEIBlCIIinvpIhCSAaQiCIp74gBJMMAgsMAgsgAioCHCEEIAIqAighBSAWQQhqIgIgASgCICABKAIkIgMoAghBAWtBeHFqQQhqIhcgASADKAKUASIDEQEAIAUgBJRDAAAAP5QgASoCNJIiBEMAAAAAYEUNASAEIBYpAxAiGae+kiEFIBYpAwgiGqe+IASTIQYgBCAZQiCIp76SIQkgGkIgiKe+IASTIgggGEUNABogFiANOAIUIBYgBzgCECAWIBI4AgwgFiATOAIIIBZBGGogFyACIAMRAQAgBSAEIBYpAyAiGae+kiIHIAUgB2AbIQUgBiAWKQMYIhqnviAEkyIHIAYgB18bIQYgCSAEIBlCIIinvpIiByAHIAlfGyEJIAggGkIgiKe+IASTIgQgBCAIYBsLIQggACAJOAIMIAAgBTgCCCAAIAg4AgQgACAGOAIAIBZBMGokAA8LIBZBADYCKCAWQQE2AhwgFkGQx8EANgIYIBZCBDcCICAWQRhqQZjHwQAQ3AsAC70KAwd/A30EfiMAQbABayILJAAgC0EoaiADIAQoArQBEQAAIAsoAiwhDSALKAIoIQwgC0EgaiAGIAcoArQBEQAAAkACQAJAAkACQCAMBEAgCygCICIQDQELIAtBGGogAyAEKAK4AREAACALKAIYIgxFDQEgC0GAAWogDCALKAIcIAEgAiAFIAYgByAIIAkgChBNIAstAKgBIgFBBEcEQCALQdAAaiALQaQBaigCADYCACALQcgAaiALQZwBaikCADcDACALQUBrIAtBlAFqKQIANwMAIAtBOGogC0GMAWopAgA3AwAgC0H2AGogC0GrAWotAAA6AAAgCyALKQKEATcDMCALIAsvAKkBOwF0CyAAIAspAzA3AgAgACABOgAkIAAgCy8BdDsAJSAAQSBqIAtBMGoiAUEgaigCADYCACAAQRhqIAFBGGopAwA3AgAgAEEQaiABQRBqKQMANwIAIABBCGogAUEIaikDADcCACAAQSdqIAtB9gBqLQAAOgAADAQLIAsoAiQhDiAKBH9BAAUgBygCrAEhCiAEKAKsASEPIAcoAqgB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TQRAIABBADYCFCABQQA2AgggB0EoaiIJIANBKGopAgA3AwAgB0EgaiIKIANBIGopAgA3AwAgB0EYaiIIIANBGGopAgA3AwAgB0EQaiIEIANBEGopAgA3AwAgB0EIaiICIANBCGopAgA3AwAgByADKQIANwMAIAEoAgBFBEAgAUGo0cIAEKsGCyAAQQxqIQYgASgCBCIDIAcpAwA3AgAgA0EIaiACKQMANwIAIANBEGogBCkDADcCACADQRhqIAgpAwA3AgAgA0EgaiAKKQMANwIAIANBKGogCSkDADcCACADIAMoAhQiAkH/////B0H/////AyACQf////97SxtxNgIUIAMoAiwiAkH/////A3EiBA0BDAULIAUgASgCCCIESwRAIAEoAgAgBCICayAFIAJrIglJBEAgASACIAlBMBDmBCABKAIIIQILIAEoAgQiCiACQTBsaiEGIAlBAk8EQCAFIARBf3NqQTBsIggEQCAGQQAgCPwLAAsgCiAEQVBsaiACIAVqQTBsakEwayEGIAIgCWpBAWshAgsgBkIANwIAIAZBKGpCADcCACAGQSBqQgA3AgAgBkEYakIANwIAIAZBEGpCADcCACAGQQhqQgA3AgAgAygCFCEGIAJBAWohBQsgAEEYaiEIIAEgBTYCCCAHQQE2AgAgAygCICEEAkAgBkH/////A3FBAUYEQCADQQhqKQIAIQwgAykCACELIAEoAgQiAkEQaiADQRBqKQIANwIAIAIgCzcCACACQQhqIAw3AgAgAkH/////B0H/////AyACKAIUIgJB/////3tLGyACcTYCFAwBCyAAIAEgCCAAKAIQIAAoAhQgAygCCCAHQQAQ1QEgACgCCEUNAgsCQCAAKAIEIgUoAixB/////wNxQQFHBEAgACABIAggACgCECAAKAIUIAQgB0EBENUBDAELIAEoAghFDQMgBUEgaikCACEMIAUpAhghCyABKAIEIgJBKGogBUEoaikCADcCACACQSBqIAw3AgAgAiALNwIYIAEoAghFDQQgASgCBCIEKAIsIgJB/////3tNBEAgBCACQf////8DcTYCLAwBCyAEIAJB/////wdxNgIsCyAAKAIIIgUgBygCACICTwRAIAAgAjYCCCACIQULIAEoAggiBCACTwRAIAEgAjYCCCACIQQLIAIgACgCFEsNBSAAIAI2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IAIqAggiFCAUlJIiFUMAAAAAXkUEQCACIAc2AgAgCiAINgIAQQIhCAwBCyAGIBMgFZEiE5W8rSAUIBOVvK1CIIaENwMoIAZBkANqIgdCADcDUCAHQgA3AxggB0EAOgBsIAdC////+wc3AmQgB0L////7////v/8ANwNIIAdC////+wc3A0AgB0KAgICA8P//v383AzggB0L////7////v/8ANwMwIAdCADcDCCAHQeAAakEANgIAIAdB2ABqQgA3AwAjAEEwayIIQR1qIgtBC2pCADcAACAIQQpqIgxBC2pCADcAACAHQSBqIhFCADcDACAHQShqQgA3AwAgByAGQShqKQIAIhKnIg02AhAgByANNgIAIAcgEkIgiKciDTYCFCAHIA02AgQgCEIANwAgIAhCADcADSAHQv////sHNwOAASAHQQA6AIgBIAdBBjYCqAEgB0GAAjsBrAEgB0L////7BzcCnAEgB0EAOgCkASAHQfwAaiALQQ9qKAAANgAAIAdB9QBqIAtBCGopAAA3AAAgByAIKQAdNwBtIAcgCCkACjcAiQEgB0GRAWogDEEIaikAADcAACAHQZgBaiAMQQ9qKAAANgAAIAZB0AFqIgsgB0EQaiINKQMANwMAIAYgCSkCACISNwOYAyAGIAYpA5ADNwPAASAGIBI3A8gBIAZBMGoiDCAGQbADakGNAfwKAAAgBi8BvgQhCSAGLQC9BCEIIBApAgAhEiADBEAgDSALKQMANwMAIAYgBikDyAE3A5gDIAYgBikDwAE3A5ADIAYgEjcDqAMgESAMQY0B/AoAACAGIAk7Ab4EIAYgCDoAvQQgBiAFOALMBCAGIAQ4AsgEIAcgBkHIBGopAgA3AzAgByAHLQCpAUEBcjoAqQEgBkHgAWoiAyAHQbAB/AoAACALIANBEGopAwA3AwAgBiAGKQPgATcDwAEgBiAGKQPoATcDyAEgBikD+AEhEiAMIANBIGpBjQH8CgAAIAYtAI0DIQggBi8BjgMhCQsgCigCACEDIAIgAigCAEEBazYCACAKIANBAWsiAjYCACACDQAgBkEkahDNCwsgASABKAIAQQFrNgIAIA8gDygCAEEBayIBNgIAIAFFBEAgBkEYahDNCwsgACAAKAIAQQFrNgIAIA4gDigCAEEBayIANgIAIABFBEAgBkEMahDNCwtBACECIAhB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IBlxaiASOgAAICEgEUFkbGohESAWQf8BRgRAICJB/wE6AAAgHyAUQQhrIBlxakH/AToAACARQRhqIBVBGGooAAA2AAAgEUEQaiAVQRBqKQAANwAAIBFBCGogFUEIaikAADcAACARIBUpAAA3AAAMAwsgESgAACESIBEgFSgAADYAACAVIBI2AAAgFSgABCESIBUgESgABDYABCARIBI2AAQgESgACCESIBEgFSgACDYACCAVIBI2AAggFSgADCESIBUgESgADDYADCARIBI2AAwgESgAECESIBEgFSgAEDYAECAVIBI2ABAgFSgAFCESIBUgESgAFDYAFCARIBI2ABQgESgAGCESIBEgFSgAGDYAGCAVIBI2ABgMAQsLICIgI0EZdiISOgAAIB8gFEEIayAZcWogEjoAAAsgEyAbSSIUIBNqIREgFA0ACwsgASAgIBprNgIIQYGAgIB4IRYLDAELENEKIBwoAgQhEyAcKAIAIRYLICYgFjYCACAmIBM2AgQgHEEgaiQACyABKAIAIhFBHGshEiABKAIEIhogEKdxIRYgEEIZiCIKQv8Ag0KBgoSIkKDAgAF+IQcgAikCCCEGIAIpAgAhBQNAAn8CQAJAAkAgESAWaikAACIJIAeFIgRCgYKEiJCgwIABfSAEQn+Fg0KAgYKEiJCgwIB/gyIEQgBSBEADQCAFIBJBACAEeqdBA3YgFmogGnFrIhRBHGxqIhMpAgCFIAYgEykCCIWEUA0CIARCAX0gBIMiBEIAUg0ACwsgCUKAgYKEiJCgwIB/gyEEICdFBEAgBFANAyAEeqdBA3YgFmogGnEhHgtBASAEIAlCAYaDUA0DGiARIB5qLAAAIhZBAE4EQCARIBEpAwBCgIGChIiQoMCAf4N6p0EDdiIeai0AACEWCyARIB5qIAqnQf8AcSITOgAAIBEgHkEIayAacWpBCGogEzoAACABIAEoAgggFkEBcWs2AgggASABKAIMQQFqNgIMIBEgHkFkbGpBHGsiASACKQIANwIAIAFBCGogAkEIaikCADcCACABQRBqIAMpAgA3AgAgAUEYaiADQQhqKAIANgIAIABBgICAgHg2AgAMAQsgACARIBRBHGxqQQxrIgEpAgA3AgAgASADKQIANwIAIABBCGogAUEIaiIAKAIANgIAIAAgA0EIaigCADYCAAsgJUEwaiQA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IAEoArABQQR0ayEEIANBAWshAkEAIAEoArwBIgUgAyADIAVIG2shByABKAKkASEDAkADQCACIAdqQX9GDQIgASACQQJqNgK4ASAEQf8BSw0BIAJBAWohAiADIARqIQUgBEEQaiEEIAUtAABBEEYNAAsMAgsgBEGAAkHoqcEAELAJAAsgAUEDNgJgIABBADYCAA8LIAAgBq0gAq1CIIaENwIEIABBATYCAAulBwMJfwp9BH4jAEHgAGsiAiQAIAJBNGoiA0IANwIAIANBCGoiBUIANwIAIAJBIGpCADcDACACQShqQgA3AwAgAkEwakEANgIAIAJBDmogAkHfAGotAAA6AAAgAiACKQI0NwMQIAIgAkE8aikCADcDGCACIAIvAF07AQwgASkDGCEXIAEpAxAhGCABKAI8IQYgAS0AViEHIAEqAighDCABKQMgIRUgASkDCCEWIAEqAgQhDSABKgIAIQ4gA0IANwIAIAVCADcCACABKgJEIQsCQAJAAkAgASgCQEUEQCALIAIqAjRcDQEgASoCSCACKgI4XA0BIAEqAkwgAioCPFwNASABKgJQIAIqAkBbDQIMAQsgC0MAAAAAWw0BC0EUQQQQ1AwiBEUNASAEIAFBQGsiAykCADcCACAEQRBqIANBEGooAgA2AgAgBEEIaiADQQhqKQIANwIACyABKgI4IRAgAS0AWSEFIAEtAFohCCABLQBVIQkgASoCLCERIAEqAjQhEiABKgIwIRMgAS0AVCEKQwAAgL8hCwJAIAEtAFdFBEBBACEDQwAAgL8hDwwBC0EBIQNDzczMPiEPQwAAAD8hCyABLQBYQQFHBEBBACEDDAELQwAAAEAhFEMAAAAAIQxCACEVCyAAIBg3AzAgACAMOAJgIAAgFTcDWCAAIBI4AlQgACATOAJQIAAgBToATSAAQQA6AEwgACAQOAJIIABC////+wc3A0AgAEL/////DzcDKCAAQn83AyAgACAWNwMYIAAgDTgCFCAAIA44AhAgACAWNwMIIAAgDTgCBCAAIA44AgAgACAXNwM4IABB9ABqQQA2AgAgAEHsAGpCADcCACAAQgA3AmQgACAROAJ4IABBADYCfCAAIAQ2AqQBIAAgCjoAqAEgACACKQMQNwOAASAAQYgBaiACKQMYNwMAIABBkAFqIAJBIGopAwA3AwAgAEGYAWogAkEo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viIMkiENIAogCZQgCyAIlJMgAae+IgqSIQsgAyAJIAggBCoCECIQlCAJIAQqAhQiEZSSIAySIA2TIgyUIAggCSAQlCAIIBGUkyAKkiALkyIKlJM4AkQgAyAJIAqUIAggDJSSOAJAIAMgC7ytIA28rUIghoQ3AjggACgCDCEEIAAoAhQqAgAhCCAAKAIQKgIAIQkgA0EANgJ8AkAgDiAPYEUEQCADQYgBaiAEIAcgDyADQQhqIAYgDiADQQRqIAkgCCADQfwAahBLIAMtAKwBIgBBBEYNASADIAMqAogBOAJUDAELIANB1ABqIAQgA0EMaiAOIANBBGogA0EwaiAPIANBCGogCSAIIANB/ABqEEsgAy0AeCEACyADKgJUIQggA0GwAWokAEP//39/IAggAEH/AXFBBEYbC5gJAwl/A34CfSMAQYADayIFJAACQAJAAkACQCAARQ0AIABBCGsiBygCAEEBaiEEIAcgBDYCACAERQ0BIAAoAgAiBEF/Rg0CIAAgBEEBajYCACAFIAc2AgggBSAANgIEIAUgAEEEaiIGNgIAIAFFDQAgAUEIayIIKAIAQQFqIQQgCCAENgIAIARFDQEgASgCACIEQX9GDQIgASAEQQFqNgIAIAUgCDYCFCAFIAE2AhAgBSABQQRqNgIMIAJFDQAgAkEIayIJKAIAQQFqIQQgCSAENgIAIARFDQEgAigCACIEQX9GDQIgAiAEQQFqNgIAIAUgCTYCICAFIAI2AhwgBSACQQRqIgo2AhggA0UNACADQQhrIgsoAgBBAWohBCALIAQ2AgAgBEUNASADKAIAIgRBf0YNAiADIARBAWo2AgAgBSALNgIsIAUgAzYCKCAFIANBBGo2AiQgAyoCBCEQIAMqAgghESAKKQIAIQ8gASkCBCENIAYpAgAhDiAFQdABaiIEQgA3A1AgBEIANwIUIARBADoAbCAEQv////sHNwJkIARC////+////7//ADcDSCAEQv////sHNwNAIARCgICAgPD//79/NwM4IARC////+////7//ADcDMCAEQYCAgPwDNgIQIARCADcDCCAEQoCAgPwDNwMAIARB4ABqQQA2AgAgBEHYAGpCADcDACMAQTBrIgZBHWoiCkELakIANwAAIAZBCmoiDEELakIANwAAIARBHGpCADcCACAEQSRqQgA3AgAgBEEsakEANgIAIAZCADcAICAGQgA3AA0gBEL////7BzcDgAEgBEEAOgCIASAEQQA6AKQBIARC////+wc3ApwBIARBgAI7AawBIARBBzYCqAEgBEH8AGogCkEPaigAADYAACAEQfUAaiAKQQhqKQAANwAAIAQgBikAHTcAbSAEIAYpAAo3AIkBIARBkQFqIAxBCGopAAA3AAAgBEGYAWogDEEPaigAADYAACAFIA43A9gBIAUgDTcD0AEgBSANNwPAASAFIA43A8gBIAVBMGogBUHwAWpBkAH8CgAAIAMgAygCAEEBazYCACALIAsoAgBBAWsiAzYCACADRQRAIAVBLGoQzQsLIAIgAigCAEEBazYCACAJIAkoAgBBAWsiAjYCACACRQRAIAVBIGoQzQsLIAEgASgCAEEBazYCACAIIAgoAgBBAWsiATYCACABRQRAIAVBFGoQzQsLIAAgACgCAEEBazYCACAHIAcoAgBBAWsiADYCACAARQRAIAVBCGoQzQsLIAVB5AFqIAUpA8gBNwIAIAUgBSkDwAE3AtwBQdABQRAQ1AwiAEUNAyAAQQA2AhAgAEKBgICAEDcDACAAIAUpAtABNwIUIAAgDzcDOCAAIBE4AjQgACAQOAIwIABBHGogBUHYAWopAgA3AgAgAEEkaiAFQeABaikCADcCACAAQSxqIAVB6AFqKAIANgIAIABBQGsgBUEwakGQAfwKAAAgBUGAA2okACAAQRBqDwsQrw0LAAsQsA0AC0EQQdABQfD6wwAoAgAiAEHvByAAGxEAAAAL2gYBCX8CQCACIAAoAggiBkkEQCAAKAIEIQcDQAJAIAMgBkkEQCAHIANBMGxqIgNBGGohCQJ/AkACQCAHIAJBMGxqIgIoAhRBgICAgHxxQYCAgIAERwRAQQAhBSADKAIUQYCAgIB8cUGAgICABEcNAQsgAiADEM8KIQUgAigCFEGAgICAfHFBgICAgARGDQELQQAgAygCLEGAgICAfHFBgICAgARHDQEaCyACIAkQzwoLIQggAkEYaiEKAn8CQAJAIAIoAixBgICAgHxxQYCAgIAERwRAQQAhCyADKAIUQYCAgIB8cUGAgICABEcNAQsgCiADEM8KIQsgAigCLEGAgICAfHFBgICAgARGDQELQQAgAygCLEGAgICAfHFBgICAgARHDQEaCyAKIAkQzwoLIQ0gBUUNASADKAIUQf////8DcSEFIAIoAhRB/////wNxQQFGBEAgBUEBRwRAIAcgBiABIAIgAygCCCAEELYDDAMLIAQgAigCCCADKAIIEMQBDAILIAIoAgghDCAFQQFHBEAgACABIAwgAygCCCAEEIACDAILIAcgBiABIAMgDCAEELYDDAELIAMgBkH00MEAELAJAAsCQCAIRQ0AIAMoAixB/////wNxIQUgAigCFEH/////A3FBAUYEQCAFQQFHBEAgByAGIAEgAiADKAIgIAQQtgMMAgsgBCACKAIIIAMoAiAQxAEMAQsgAigCCCEIIAVBAUcEQCAAIAEgCCADKAIgIAQQgAIMAQsgByAGIAEgCSAIIAQQtgMLAkAgC0UNACADKAIUQf////8DcSEFIAIoAixB/////wNxQQFGBEAgBUEBRwRAIAcgBiABIAogAygCCCAEELYDDAILIAQgAigCICADKAIIEMQBDAELIAIoAiAhCCAFQQFHBEAgACABIAggAygCCCAEEIACDAELIAcgBiABIAMgCCAEELYDCyANRQRADwsgAygCLEH/////A3EhBSACKAIsQf////8DcUEBRgRAIAVBAUcEQCAHIAYgASAKIAMoAiAgBBC2Aw8LIAQgAigCICADKAIgEMQBDwsgAigCICECIAVBAUYNAiADKAIgIQMgAiAGSQ0ACwsgAiAGQeTQwQAQsAkACyAHIAYgASAJIAIgBBC2Awv3CAINfwF+IAAoAgAhBgJAIAAoAgRBAWoiD0EDdiAPQQdxQQBHaiIHRQ0AIAdBAXEhDCAHQQFHBEAgB0H+////A3EhBQNAIAQgBmoiBykDACERIAcgEUJ/hUIHiEKBgoSIkKDAgAGDIBFC//79+/fv37//AIR8NwMAIAdBCGoiBykDACERIAcgEUJ/hUIHiEKBgoSIkKDAgAGDIBFC//79+/fv37//AIR8NwMAIARBEGohBCAFQQJrIgUNAAsLIAxFDQAgBCAGaiIHKQMAIREgByARQn+FQgeIQoGChIiQoMCAAYMgEUL//v379+/fv/8AhHw3AwALAn8CQCAPQQhPBEAgBiAPaiAGKQAANwAADAELIA8EQCAGQQhqIAYgD/wKAAALIA8NAEF/IQRBAAwBC0EBIQVBACEHA0AgByEGIAUhBwJAIAAoAgAiBSAGai0AAEGAAUcNACAFIAMg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k5QgEyALIA+TlF5FRg0AIAEgCiAMkyAFKgI4lCALIA2TIAUqAjyUXnMNACAAQoCAgICAgIDAPzcCDCAAQQA2AgggAEIBNwIADAELIAVBzABqIAVBCGogAiADIAQQ5wEgBUHQAGohBkP//39/IQoCf0EDIAUoAkwiB0EDRg0AGkEDIAUqAlQiC0P//39/XUUNABogBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCALIQogBwshASAFQcwAaiAJIAIgAyAEEOcBAkAgBSgCTCIHQQNGDQAgBSoCVCILIApdRQ0AIAVBQGsgBkEIaikCADcDACAFIAYpAgA3AzggByEBIAshCgsgBUHMAGogCCACIAMgBBDnAQJAIAUoAkwiAkEDRg0AIAUqAlQgCl1FDQAgBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCACIQELIAAgATYCACAAIAUpAzg3AgQgAEEMaiAFQUBrKQMANwIACyAFQeAAaiQAC9cEAQZ/IwBBQGoiAiQAIAICf0EAIAEoAgAiA0UNABogAiABKQIYNwIcIAIgASoCFDgCGCACIAEpAgw3AhAgAiABKQIENwIIQQEgA0EcbCIFQQRqIgRBIEYNABogAiABKQI0NwI4IAIgASoCMDgCNCACIAEpAig3AiwgAiABKQIgNwIkQQIgBEE8Rg0AGkHUs8IAEKENQdgAIQNBAyAEQdgARg0AGiAFQfAAayIEQRxuIQYgBEEcSQR/IAFB2ABqBSAGQQFqQf7///8BcSEHQQAhAwNAIAJBBGogA2oiBEHsAGogASADaiIFQewAaikCADcCACAEQegAaiAFQegAaioCADgCACAEQeAAaiAFQeAAaikCADcCACAEQdgAaiAFQdgAaikCADcCACAEQYgBaiAFQYgBaikCADcCACAEQYQBaiAFQYQBaioCADgCACAEQfwAaiAFQfwAaikCADcCACAEQfQAaiAFQfQAaikCADcCACADQThqIQMgB0ECayIHDQALIANB2ABqIgMgAWoLIQEgBkEBcUUEQCACQQRqIANqIgMgASkCFDcCFCADIAEqAhA4AhAgAyABKQIINwIIIAMgASkCADcCAAsgBkEEags2AgQgACACKQIENwIAIABBCGogAkEEaiIBQQhqKQIANwIAIABBEGogAUEQaikCADcCACAAQRhqIAFBGGopAgA3AgAgAEEgaiABQSBqKQIANwIAIABBKGogAUEoaikCADcCACAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKAIANgIAIAJBQGskAAuABQIGfwF+IwBBIGsiAyQAIAAoAlghCCAAKAJcIQcgAyABQoCAgIBwgyIJIAFCAX1C/////w+DhDcDGCADQQxqIAAgA0EYahCuAwJAAkACQCADKAIMQQFHDQAgByADKAIQIgRNDQEgAygCFCIFQYACTw0CIAggBEEIdGogBWoiBC0AACIFQRBGDQAgBCAFQf4BcSACQQFzcjoAAEEAQQIgAhshBgsgAyAJIAFCAXxC/////w+DhDcDGCADQQxqIAAgA0EYahCuAwJAAkACQCADKAIMRQ0AIAcgAygCECIETQ0BIAMoAhQiBUGAAk8NAiAIIARBCHRqIAVqIgQtAAAiBUEQRg0AIAJFBEAgBCAFQQJyOgAAIAZBAXIhBgwBCyAEIAVB/QFxOgAACyADIAFCgICAgBB9NwMYIANBDGogACADQRhqEK4DAkAgAygCDEEBRw0AIAcgAygCECIETQ0DIAMoAhQiBUH/AUsNBCAIIARBCHRqIAVqIgQtAAAiBUEQRg0AIAJFBEAgBCAFQQRyOgAAIAZBCHIhBgwBCyAEIAVB+wFxOgAACyADIAFCgICAgHCDIAFC/////w+DhEKAgICAEHw3AxggA0EMaiAAIANBGGoQrgMCQCADKAIMQQFHDQAgByADKAIQIgRNDQEgAygCFCIFQf8BSw0CIAggBEEIdGogBWoiAC0AACIEQRBGDQAgAkUEQCAAIARBCHI6AAAgBkEEciEGDAELIAAgBEH3AXE6AAALIANBIGokAEEQIAYgAhsPCyAEIAdB7KrDABCwCQALIAVBgAJB/KrDABCwCQALIAQgB0HMqsMAELAJAAsgBUGAAkHcqsMAELAJAAuMBQMOfwF+An0jAEGQAWsiAyQAIAEoAgAoAgAhBCABKAIEIgYoAgBBAUYEQCAGKAIEIgVB//8DcSEJIAVBEHYhCkEBIQULIARBIEkhB0EAIQYgASgCCCIIKAIAQQFGBEAgCCkDCCIRQiCIpyELIBGnIQxBASEGCyAEQQAgBxshCCABKAIMIgQoAgBBAUcEf0EABSAEKQMIIhFCIIinIQ0gEachDkEBCyEEIAEoAhgoAgAhDyABKAIcKAIAIRAgASgCFCgCACEHIAMgASgCECgCADYCOCADQfjAwQA2AiwgAyACNgIoIAMgCDYCJCADIA02AiAgAyAONgIcIAMgBDYCGCADIAs2AhQgAyAMNgIQIAMgBjYCDCADIAk2AgggAyAKNgIEIAMgBTYCACAHKAI8IQQgBygCQCECIAMgEDYCQCADIA82AjwgAyACNgI0IAMgBCACKAIIQQFrQXhxakEIajYCMCABKAIkKAIAIgIqAgAhEiACKgIEIRMgAyABKAIgKAIAKQIANwJMIAMgEzgCSCADIBI4AkQgASgCKCgCACECIAEoAiwoAgAiBCgCACEFIAQoAgQiBCgCCCEGIANBAToAjQEgAyABKAI0LQAAOgCMASADIAEoAjgqAgA4AogBIAMgASgCMCoCADgChAEgA0HUAGoiASADIANBxABqIAIgBSAGQQFrQXhxakEIaiAEIANBhAFqEFgCQCADLQCAAUEERwRAIAAgAykCXDcCCCAAIAMpAlQ3AgAgAEEQaiABQRBqKQIANwIAIABBGGogAUEYaikCADcCACAAQSBqIAFBIGopAgA3AgAgAEEoaiABQShqKQIANwIADAELIABBBDoALAsgA0GQAWokAAvoBAMHfwF+An0gAUEEaiEGIAFBhAFqIQcgAigCACEIAkACQANAIAEoAowBIgJFBEAgBiEEIAciAygCACICQSFPBEAgASgCCCEEIAYhAyABKAIEIQILIAJFDQMgAyACQQFrIgI2AgAgBCACQQJ0aigCACECCyABQQA2AowBIAIoAhRB/////wNxQQFHBEAgAigCCCIEIAEoAogBIgMoAggiAk8NAiADKAIEIARBMGxqIgJBGGohCSABKgKcASELQQEhAwJAIAEqApgBIgwgAikCACIKp75gRQ0AIAsgCkIgiKe+YEUNACABKgKQASACQQxqKQIAIgqnvl9FDQAgASoClAEgCkIgiKe+X0UNACABIAI2AowBQQAhAwsgDCAJKQIAIgqnvmBFDQEgCyAKQiCIp75gRQ0BIAEqApABIAJBJGopAgAiCqe+X0UNASABKgKUASAKQiCIp75fRQ0BIANFBEACfyAHKAIAIgVBIUkEQCAFIQIgBiEEQSAhBSAHDAELIAEoAgQhAiABKAIIIQQgBgshAyACIAVGBH8gARCUAyABKAIIIQQgBiED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f39dRQ0AGiAFQUBrIAZBCGopAgA3AwAgBSAGKQIANwM4IAohCSAECyEBIAVBKGohCCAFQcwAaiAHIAIgA0EAEOcBAkAgBSgCTCIEQQNGDQAgBSoCVCIKIAldRQ0AIAVBQGsgBkEIaikCADcDACAFIAYpAgA3AzggBCEBIAohCQsgBUHMAGogCCACIANBABDnAQJAIAUoAkwiAkEDRg0AIAUqAlQgCV1FDQAgBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCACIQELIAAgATYCACAAIAUpAzg3AgQgAEEMaiAFQUBrKQMANwIACyAFQeAAaiQAC+MHAgh/AX4jAEGAA2siAyQAAkACQAJAAkAgAEUNACAAQQhrIgUoAgBBAWohAiAFIAI2AgAgAkUNASAAKAIAIgJBf0YNAiAAIAJBAWo2AgAgAyAFNgIQIAMgADYCDCADIABBBGoiCTYCCCABRQ0AIAFBCGsiBigCAEEBaiECIAYgAjYCACACRQ0BIAEoAgAiAkF/Rg0CIAEgAkEBajYCACADIAY2AhwgAyABNgIYIAMgAUEEajYCFCADQdABaiICQgA3A1AgAkIANwIUIAJBADoAbCACQv////sHNwJkIAJC////+////7//ADcDSCACQv////sHNwNAIAJCgICAgPD//79/NwM4IAJC////+////7//ADcDMCACQYCAgPwDNgIQIAJCADcDCCACQoCAgPwDNwMAIAJB4ABqQQA2AgAgAkHYAGpCADcDACMAQTBrIgRBHWoiB0ELakIANwAAIARBCmoiCEELakIANwAAIAJBHGpCADcCACACQSRqQgA3AgAgAkEsakEANgIAIARCADcAICAEQgA3AA0gAkL////7BzcDgAEgAkEAOgCIASACQQA6AKQBIAJC////+wc3ApwBIAJBgAI7AawBIAJBAzYCqAEgAkH8AGogB0EPaigAADYAACACQfUAaiAHQQhqKQAANwAAIAIgBCkAHTcAbSACIAQpAAo3AIkBIAJBkQFqIAhBCGopAAA3AAAgAkGYAWogCEEPaigAADYAACADQcABaiACQRBqKQMANwMAIAMgCSkCACIKNwPYASADIAMpA9ABNwOwASADIAo3A7gBIANBIGogA0HwAWpBjQH8CgAAIAMvAf4CIQQgAy0A/QIhAiABIAEoAgBBAWs2AgAgASkCBCEKIAYgBigCAEEBayIBNgIAIAFFBEAgA0EcahDNCwsgACAAKAIAQQFrNgIAIAUgBSgCAEEBayIANgIAIABFBEAgA0EQahDNCwtBACEBIAJBAkcEQCADQeQBaiADKQO4ATcCACADQdABaiIBQRxqIANBwAFqKQMANwIAIAMgAykDsAE3AtwBQdABQRAQ1AwiAEUNBCAAQQA2AhAgAEKBgICAEDcDACAAIAMpAtABNwIUIAAgCjcDOCAAQRxqIANB2AFqKQIANwIAIABBJGogAUEQaikCADcCACAAQSxqIANB6AFqKQIANwIAIABBNGogA0HwAWooAgA2AgAgAEFAayADQSBqQY0B/AoAACAAIAQ7Ac4BIAAgAjoAzQEgAEEQaiEBCyADQYADaiQAIAEPCxCvDQsACxCwDQALQRBB0AFB8PrDACgCACIAQe8HIAAbEQAAAAuZBAMPfQF+A38CQAJAIAEoAggiFARAIBRBA3QhFSACKgIMIg8gAioCBCIEIAEoAgQiFikCACITp74iBZQgAioCACIGIBNCIIinviIHlJKSIQkgAioCCCIKIAYgBZQgBCAHlJOSIQsgFEEBRiIURQ0BIAshDSAJIQ4MAgtBqMHCAEHSAEH8wcIAEPgJAAsgFUEIayEBIBZBCGohAiAJIQ4gCyENA0AgCSAPIAQgAikCACITp74iCJQgBiATQiCIp74iEJSSkiIMIAkgDGAbIQkgDSAKIAYgCJQgBCAQlJOSIgggCCANXxshDSAOIAwgDCAOYBshDiALIAggCCALYBshCyACQQhqIQIgAUEIayIBDQALCyADKgIMIhAgAyoCACIMIAeUIAMqAgQiCCAFlJKSIQQgAyoCCCIRIAwgBZQgCCAHlJOSIQUCQCAUBEAgBSEGIAQhBwwBCyAVQQhrIQEgFkEIaiECIAQhByAFIQYDQCAEIBAgCCACKQIAIhOnviIKlCAMIBNCIIinviISlJKSIg8gBCAPYBshBCAGIBEgDCAKlCAIIBKUk5IiCiAGIApgGyEGIAcgDyAHIA9fGyEHIAUgCiAFIApfGyEFIAJBCGohAiABQQhrIgENAAsLIAAgCSAEIAQgCV8bOAIMIAAgDSAGIAYgDV8bOAIIIAAgDiAHIAcgDmAbOAIEIAAgCyAFIAUgC2AbOAIAC9sEAgN+D38jAEEwayIIJAAgASkDECEDIAEtABghEAJ/IAEoAgQiCUUEQEGwvsIAIQZBACEJQQAMAQsCfwJAIAlBAWqtQhh+IgJCIIinDQAgCUEJaiIHIAKnIgZqIQUgBSAGSQ0AIAVB+P///wdLDQAgBUEIENQMIgpFBEBBCCAFQfD6wwAoAgAiAEHvByAAGxEAAAALIAYgCmoMAQsQ0AogCCgCCCIJQQlqIQdBAAshBiABKAIAIQUgBwRAIAYgBSAH/AoAAAsgASgCDCINBEAgBkEYayERIAVBCGohByAFKQMAQn+FQoCBgoSIkKDAgH+DIQIgCEEkaiEOIA0hDyAFIQoDQCACUARAA0AgCkHAAWshCiAHKQMAIQIgB0EIaiEHIAJCgIGChIiQoMCAf4MiAkKAgYKEiJCgwIB/UQ0ACyACQoCBgoSIkKDAgH+FIQILIAhBGGoiEkEIaiITIAogAnqnQQN2QWhsaiILQRhrIgxBCGooAgA2AgAgCCAMKQIAIgQ3AxggDiALQQxrIgwpAgA3AgAgDkEIaiAMQQhqKAIANgIAIBEgBSALa0FobUEYbGoiCyAENwIAIAtBCGogEykDADcCACALQRBqIBJBEGopAwA3AgAgAkIBfSACgyECIA9BAWsiDw0ACwsgASgCCAshBUEgQQgQ1AwiAQRAIAEgEDoAGCABIAM3AxAgASANNgIMIAEgBTYCCCABIAk2AgQgASAGNgIAIABB2OTCADYCBCAAIAE2AgAgCEEwaiQADwtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAAL2gQCCn8BfiMAQUBqIgYkAAJAAkACQCAARQ0AIABBCGsiCygCAEEBaiEJIAsgCTYCACAJRQ0BIAAoAgANAiAAQX82AgAgBiALNgIIIAYgADYCBCAGIABBBGoiDDYCACACRQ0AIAJBEGsiCSgCAEEBaiEKIAkgCjYCACAKRQ0BIAIoAgANAiACQX82AgAgBiAJNgIUIAYgAjYCECAGIAJBEGoiDTYCDCAERQ0AIARBCGsiCigCAEEBaiEHIAogBzYCACAHRQ0BIAQoAgAiB0F/Rg0CIAQgB0EBajYCACAGIAo2AiAgBiAENgIcIAYgBEEEaiIONgIYIAVFDQAgBUEIayIHKAIAQQFqIQggByAINgIAIAhFDQEgBSgCACIIQX9GDQIgBSAIQQFqNgIAIAYgBzYCLCAGIAU2AiggBiAFQQRqIg82AiQgDSADvSIQpyAQQiCIpxCOCCIIBEAgBiAOKQIANwM4IAZBMGogDCABIAggBkE4aiIMIA8QiQogBiAGKgIwIAgpA1giEKe+kjgCOCAGIAYqAjQgEEIgiKe+kjgCPCAIIAxBARDMCQsgBSAFKAIAQQFrNgIAIAcgBygCAEEBayIFNgIAIAVFBEAgBkEsahDNCwsgBCAEKAIAQQFrNgIAIAogCigCAEEBayIENgIAIARFBEAgBkEgahDNCwsgAkEANgIAIAkgCSgCAEEBayICNgIAIAJFBEAgBkEUahCQCwsgAEEANgIAIAsgCygCAEEBayIANgIAIABFBEAgBkEIahDQCwsgBkFAayQADwsQrw0LAAsQsA0AC7MEAwx9AX8BfiMAQRBrIRIgASoCBIwgAioCACIMIAMqAgQgAioCDCIPkyIGlCADKgIAIAIqAggiEJMiByACKgIEIg2UkyIJkyIIQwAAAAAgCEMAAAAAYBsgCSABKQIAIhNCIIinvpMiC0MAAAAAIAtDAAAAAGAbkyEOAn8gASoCAIwgByAMlCAGIA2UkiIKkyIHQwAAAAAgB0MAAAAAYBsgCiATp76TIgZDAAAAACAGQwAAAABgG5MiEUMAAAAAWyAOQwAAAABbcUUEQCAKIBGSvK0gCSAOkrytQiCGhCETQQAMAQsCfgJAAkACQCAERQRAAkAgBiAHXkUEQEP//3//IQZBACEBIAdD//9//15FDQFBASEBIAchBgwBC0EAIQEgBkP//3//Xg0AQ///f/8hBgsgCCALXUUEQCAGIAhdRQ0CIBJBADYCDCASQQA2AgggEkEIaiECIAghBgwECyAGIAtdRQ0BIBJBADYCDCASQQA2AgggEkEIaiECIAshBgwCCyAKvK0gCbytQiCGhAwDCyASQQA2AgwgEkEANgIIIBJBDGohAiABDQELIAaMIQYLIAIgBjgCACAKIBIqAgySvK0gCSASKgIIkrytQiCGhAshE0EBCyEBQQIhAiAAIAUgCiATp74iBZMiBiAGlCAJIBNCIIinviIGkyIIIAiUkpFdBH9BAgUgACANIAWUIAwgBpSSIA+SOAIEIAAgECAMIAWUIA0gBpSTkjgCACABCzoACAv6BAIFfwF+IwBBQGoiAiQAAkACQCABKAIEIgRFBEAgAEGAgICAeDYCAAwBCyABIARBAWs2AgQgASgCACEBIAJBAzYCNCACIAE2AjAgAkEQaiACQTBqEIUDAkACQAJAAkACQCACKAIQIgRBgICAgHhrDgIBAAILIAIoAhQhAQwCC0EAIAJBLGpBoJnBABDNCCEBDAELIAIoAhQhBQJAAn8CQCACKAI0IgEEQCABQQFGDQEgAigCMCIBKAIEIgZBB00EQCACQoHKADcDECACQRBqEMcLDAMLIAIoAhghAyABIAZBCGs2AgQgASABKAIAIgFBCGo2AgAgASkAACIHQoCAgIAQVA0DIAJBAToAECACIAc3AxggAkEQaiACQSxqQZiXwQAQjQkMAgtBASACQSxqQaCZwQAQzQgMAQtBAiACQSxqQaCZwQAQzQgLIQEgBEUNASAFIARBAnRBBBCfDQwBCyAHp0EDbCIBIANGDQEgAiABNgIoIAIgAzYCLCACQQI2AhQgAkHgu8EANgIQIAJCAjcCHCACIAJBLGqtQoCAgIAwhDcDOCACIAJBKGqtQoCAgIAwhDcDMCACIAJBMGo2AhggAkEEaiIBIAJBEGoiAxC1AyADIAEQoglBDEEEENQMIgFFDQMgASACKQIQNwIAIAFBCGogA0EIaigCADYCACACKAIEIgMEQCACKAIIIANBARCfDQsgBEUNACAFIARBAnRBBBCfDQsgAEGBgICAeDYCACAAIAE2AgQMAQsgACAFNgIEIAAgBDYCACAAIAOtIAdCIIaENwIICyACQUBrJAAPC0EEQQxB8PrDACgCACIAQe8HIAAbEQAAAAuQBAMFfQR/An4jAEEgayIJJAAgASgCCCIIBEBEAAAAAAAA8D8gCLijtiIDIAEoAgQiASkCACIMQiCIp76UIQQgCEEDdCIKIAFqIQsgAyAMp76UIQUCQCAIQQFGDQAgCEEBcQR/IAFBCGoFIAUgAyABKQIIIgynvpSSIQUgBCADIAxCIIinvpSSIQQgAUEQagshCCAKQRBGDQADQCAFIAMgCCkCACIMp76UkiADIAhBCGopAgAiDae+lJIhBSAEIAMgDEIgiKe+lJIgAyANQiCIp76UkiEEIAsgCEEQaiIIRw0ACwsCQCAKQQhrIghBCHEEQEMAAAAAIQMMAQsgBSABKgIAkyIDIAOUIAQgAUEEaioCAJMiAyADlJIiA0MAAAAAIANDAAAAAF4bIQMgAUEIaiEBCyAIBEADQCAFIAFBCGoqAgCTIgYgBpQgBCABQQxqKgIAkyIGIAaUkiIGIAUgASoCAJMiByAHlCAEIAFBBGoqAgCTIgcgB5SSIgcgAyADIAddGyIDIAMgBl0bIQMgCyABQRBqIgFHDQALCyAAIAOROAIIIAAgAioCDCAEIAIqAgAiA5QgBSACKgIEIgaUkpI4AgQgACACKgIIIAUgA5QgBCAGlJOSOAIAIAlBIGokAA8LIAlBADYCGCAJQQE2AgwgCUHAtMMANgIIIAlCBDcCECAJQQhqQci0wwAQ3AsAC/cEAgZ/AX4jAEFAaiICJAACQCABKAIEIgRFBEAgAEGAgICAeDYCAAwBCyABIARBAWs2AgQgASgCACEBIAJBAzYCNCACIAE2AjAgAkEQaiACQTBqEIUDAkACfwJAAkACQAJAAkAgAigCECIEQYCAgIB4aw4CAgABCyACKAIUIQEMBQsgAigCFCEFIAIoAjQiBkUNASACKAIwIgEoAgQiB0EHTQRAIAJCgcoANwMQIAJBEGoQxwsMBAsgAigCGCEDIAEgB0EIazYCBCABIAEoAgAiAUEIajYCACABKQAAIghCgICAgBBUDQIgAkEBOgAQIAIgCDcDGCACQRBqIAJBLGpBmJfBABCNCQwDC0EAIAJBLGpBwJnBABDNCCEBDAMLQQEgAkEsakHAmcEAEM0IDAELIAZBAUcEQAJAIAinIgEgA0cEQCACIAE2AiggAiADNgIsIAJBAjYCFCACQeC7wQA2AhAgAkICNwIcIAIgAkEsaq1CgICAgDCENwM4IAIgAkEoaq1CgICAgDCENwMwIAIgAkEwajYCGCACQQRqIgEgAkEQaiIDELUDIAMgARCiCUEMQQQQ1AwiAUUNASABIAIpAhA3AgAgAUEIaiADQQhqKAIANgIAIAIoAgQiAwRAIAIoAgggA0EBEJ8NCyAERQ0EIAUgBEECdEEEEJ8NDAQLIAAgBTYCBCAAIAQ2AgAgACADrSIIIAhCIIaENwIIDAQLQQRBDEHw+sMAKAIAIgBB7wcgABsRAAAAC0ECIAJBLGpBwJnBABDNCAshASAERQ0AIAUgBEECdEEEEJ8NCyAAQYGAgIB4NgIAIAAgATYCBAsgAkFAayQAC9gEAQd/IwBB0ABrIgQkAAJAAkACQCAARQ0AIABBCGsiCSgCAEEBaiEFIAkgBTYCACAFRQ0BIAAoAgAiBUF/Rg0CIAAgBUEBajYCACAEIAk2AhAgBCAANgIMIAQgAEEEajYCCCABRQ0AIAFBCGsiBSgCAEEBaiEGIAUgBjYCACAGRQ0BIAEoAgAiBkF/Rg0CIAEgBkEBajYCACAEIAU2AhwgBCABNgIYIAQgAUEEaiIKNgIUIAJFDQAgAkEIayIGKAIAQQFqIQcgBiAHNgIAIAdFDQEgAigCACIHQX9GDQIgAiAHQQFqNgIAIAQgBjYCKCAEIAI2AiQgBCACQQRqNgIgIANFDQAgA0EIayIHKAIAQQFqIQggByAINgIAIAhFDQEgAygCACIIQX9GDQIgAyAIQQFqNgIAIAQgBzYCNCAEIAM2AjAgBCADQQRqNgIsIAQgCikCADcCQCAEIAIpAgQ3AjggBCADKQIENwNIIAAoAgQgACgCCCIIKAIIQQFrQXhxakEIaiAEQThqIARByABqIAgoAkgRBQAhCCADIAMoAgBBAWs2AgAgByAHKAIAQQFrIgM2AgAgA0UEQCAEQTRqEM0LCyACIAIoAgBBAWs2AgAgBiAGKAIAQQFrIgI2AgAgAkUEQCAEQShqEM0LCyABIAEoAgBBAWs2AgAgBSAFKAIAQQFrIgE2AgAgAUUEQCAEQRxqEM0LCyAAIAAoAgBBAWs2AgAgCSAJKAIAQQFrIgA2AgAgAEUEQCAEQRBqEI8KCyAEQdAAaiQAIAgPCxCvDQsACxCwDQAL6QQCB38BfiMAQRBrIgMkAAJAIAAvAQwiAkUEQCAAKAIAIAAoAgQgARCpAiEBDAELIANBCGogAUEIaikCADcDACADIAEpAgA3AwACQAJ/IAApAggiCaciBkGAgIAIcUUEQCADKAIEDAELIAAoAgAgAygCACADKAIEIgEgACgCBCgCDBEFAA0BIAAgBkGAgID/eXFBsICAgAJyIgY2AgggA0IBNwMAIAIgAUH//wNxayIBQQAgASACTRshAkEACyEHAkAgAygCDCIIRQRADAELIAMoAgghAQNAAn8CQAJAAkACQCABLwEAQQFrDgIBAgALIAFBBGooAgAMAwsgAUECai8BACIFDQFBAQwCCyABQQhqKAIADAELIAVB9v8XaiAFQZz/H2pxIAVBmPg3aiAFQfCxH2pxc0ERdkEBagshBSABQQxqIQEgBCAFaiEEIAhBAWsiCA0ACwsCQCAEIAdqIgEgAkH//wNxSQRAIAIgAWshBEEAIQFBACECAkACQAJAIAZBHXZBA3FBAWsOAwABAAILIAQhAgwBCyAEQf7/A3FBAXYhAgsgBkH///8AcSEIIAAoAgQhBSAAKAIAIQcDQCABQf//A3EgAkH//wNxTw0CIAFBAWohASAHIAggBSgCEBEDAEUNAAsMAgsgACgCACAAKAIEIAMQqQIhASAAIAk3AggMAgsgByAFIAMQqQINAEEAIQYgBCACa0H//wNxIQIDQAJAIAZB//8DcSIEIAJJIQEgAiAETQ0AIAZBAWohBiAHIAggBSgCEBEDAEUNAQsLIAAgCTcCCAwBC0EBIQELIANBEGokACABC7kEAQh/AkACQCAAKAIIIgQgAU8EQCAAIAE2AgggASAERwRAIAQgAWshBCAAKAIEIAFBDGxqIQMDQCADKAIAIgAEQCADQQRqKAIAIABBAnRBBBCfDQsgA0EMaiEDIARBAWsiBA0ACwsgAigCACIARQ0BIAIoAgQgAEECdEEEEJ8NDwsgAigCCCEGIAIoAgQhCCACKAIAIQkgASAEIgJrIgcgACgCACACa0sEQCAAIAIgB0EEQQwQmgUgACgCCCECCyAAKAIEIAJBDGxqIQMCQCAHQQJJDQAgBkECdCEFIAZB/////wNLDQIgBUH8////B0sNAiAFBEAgBEF/cyABaiEBIAIgB2pBAWshAkEEIQoDQCAFQQQQ1AwiBEUNBCAFBEAgBCAIIAX8CgAACyADQQhqIAY2AgAgA0EEaiAENgIAIAMgBjYCACADQQxqIQMgAUEBayIBDQALDAELIAEgBEF/c2oiAUEDcSEEIAdBAmtBA08EQCABQXxxIQEDQCADQoCAgIDAADcCACADQShqQgQ3AgAgA0EgakIANwIAIANBGGpCgICAgMAANwIAIANBEGpCBDcCACADQQhqQgA3AgAgA0EwaiEDIAFBBGsiAQ0ACwsgBARAA0AgA0KAgICAwAA3AgAgA0EIakEANgIAIANBDGohAyAEQQFrIgQNAAsLIAIgB2pBAWshAgsgAyAGNgIIIAMgCDYCBCADIAk2AgAgACACQQFqNgIICw8LIAogBUGg68EAEPkLAAvfBAMCfw99An4jAEEgayIJJAACQCAAKAIAIgogCBCuAkUNACAAKAIEIgggASACEOUKIQEgCCADIAQQ5QohAiABRQ0AIAJFDQBBDCEDAn0CQAJAIAUtAKwBDQAgAS0A4gFBAUcNACACLQDiAUEBRw0AIAEtAOEBQQFHBEAgAS0A0AFBAUcNAgtBCCEDIAItAOEBQQFGDQAgAi0A0AFBAUcNAQsgACADaigCACIAKgIMIQsgACoCBCEOIAAqAgAhDCAAKgIIDAELQwAAgD8hC0MAAIA/IQ5DAACAPyEMQwAAgD8LIQ0gBiAMIAYqAgCUOAIAIAcgDCAHKgIAlDgCACACKQMIIRogAioCCCEWIAIqAgwhFyACKgIAIQwgBSoCHCEPIAIqAgQhECAFKgIYIREgASoCCCEYIAEqAgwhGSABKgIAIRIgBSoCDCETIAEqAgQhFCAFKgIIIRUgASkDCCEbIAYgDiAGKgIElDgCBCAHIA4gByoCBJQ4AgQgBiANIAYqAgiUOAIIIAcgDSAHKgIIlDgCCCAGIAsgBioCDJQ4AgwgByALIAcqAgyUOAIMIAkgGzcDACAJIBkgEyASlCAVIBSUkpIiCzgCDCAJIBggFSASlCATIBSUk5IiDTgCCCAJIAs4AhwgCSANOAIYIAogCSAJQRhqIgAgBhDvAiAJIBcgDyAMlCARIBCUkpIiCzgCFCAJIBYgESAMlCAPIBCUk5IiDTgCECAJIAs4AhwgCSANOAIYIAogCUEIaiAAIAcQ7wIgCSAaNwMYIAogCUEQaiAAIAYQ7wILIAlBIGokAAutCQISfwF+IwBB4ABrIggkAAJAAkACQAJAIABFDQAgAEEIayIOKAIAQQFqIQsgDiALNgIAIAtFDQEgACgCACILQX9GDQIgACALQQFqNgIAIAggDjYCFCAIIAA2AhAgCCAAQQRqIgw2AgwgAkUNACACQQhrIg8oAgBBAWohCyAPIAs2AgAgC0UNASACKAIAIgtBf0YNAiACIAtBAWo2AgAgCCAPNgIgIAggAjYCHCAIIAJBBGoiFTYCGCAERQ0AIARBCGsiECgCAEEBaiELIBAgCzYCACALRQ0BIAQoAgAiC0F/Rg0CIAQgC0EBajYCACAIIBA2AiwgCCAENgIoIAggBEEEaiIWNgIkIAhBMGohCiAHQQBHIQ0jAEHgAGsiCSQAAkAgDCADvSIapyIXIBpCIIinIhgQ5goiEgRAAkACQCAMIAG9IhqnIBpCIIinEOYKIhMEQCATKAIgIRkgEygCJCIRKAIIIRQgEigCICEMIBIoAiQiCygCCCEHIAlBAToAESAJIA06ABAgCSAFOAIMIAkgBjgCCCAJQTRqIg0gEyAVIBkgFEEBa0F4cWpBCGogESASIBYgDCAHQQFrQXhxakEIaiALIAlBCGoiBxC/BSAJLQBYIhFBBUYNASAHQSBqIhQgDUEgaigCADYCACAHQRhqIgwgDUEYaikCADcDACAHQRBqIgsgDUEQaikCADcDACAHQQhqIA1BCGopAgA3AwAgCUEGaiIHIAlB2wBqLQAAOgAAIAkgCSkCNDcDCCAJIAkvAFk7AQQgEUEERg0BIAogCSkDCDcCCCAKIAkvAQQ7AC0gCiAROgAsIAogGDYCBCAKIBc2AgAgCkEoaiAUKAIANgIAIApBIGogDCkDADcCACAKQRhqIAspAwA3AgAgCkEQaiAJQRBqKQMANwIAIApBL2ogBy0AADoAAAwCC0Gcv8EAQcwAQei/wQAQ+AkACyAKIAkpAjQ3AgAgCkEEOgAsIAogCS8AMTsALSAKQShqIAlBNGoiB0EoaigCADYCACAKQSBqIAdBIGopAgA3AgAgCkEYaiAHQRhqKQIANwIAIApBEGogB0EQaikCADcCACAKQQhqIAdBCGopAgA3AgAgCkEvaiAJQTNqLQAAOgAACyAJQeAAaiQADAELQZy/wQBBzABB2MPBABD4CQALIAQgBCgCAEEBazYCACAQIBAoAgBBAWsiBDYCACAERQRAIAhBLGoQzQsLIAIgAigCAEEBazYCACAPIA8oAgBBAWsiAjYCACACRQRAIAhBIGoQzQsLIAAgACgCAEEBazYCACAOIA4oAgBBAWsiADYCACAARQRAIAhBFGoQkgsLQQAhACAILQBcQQRHBEBBPEEEENQMIgBFDQQgAEEANgIIIABCgYCAgBA3AgAgACAIKQIwNwIMIABBFGogCEE4aikCADcCACAAQRxqIAhBQGspAgA3AgAgAEEkaiAIQcgAaikCADcCACAAQSxqIAhB0ABqKQIANwIAIABBNGogCEHYAGopAgA3AgAgAEEIaiEACyAIQeAAaiQAIAAPCxCvDQsACxCwDQALQQRBPEHw+sMAKAIAIgBB7wcgABsRAAAAC4QMAhZ/Bn4jAEEQayIPJAAgACkDEEI4iSABhSIYQiCIIhogAUKXkpyq27a1wj+FIhlCIIgiG34gGEL/////D4MiGCAZQv////8PgyIZfoUgGSAafiAYIBt+hUIgiYUiGEL/////D4NCAoUiGkLdofHLDH4gGEIgiCIYQrfTsIUMfoUgGkK307CFDH4gGELdofHLDH6FQiCIhSEaIAAoAghFBEAgD0EIaiEQIwBBMGsiBCQAIAQgAEEQajYCKCAAKAIMIQcgBCAEQShqNgIsAkACQAJAAn8CQCAHIAdBAWoiAk0EQCAAKAIEIgwgDEEBakEDdkEHbCAMQQhJGyIDQQF2IAJJBEAgA0EBaiIDIAIgAiADSRsiAkEPSQ0CIAJB/////wFNBEBBfyACQQN0QQduQQFrZ3YiAkH+////AUsNBSACQQFqDAQLENAKIAQoAiQhAiAEKAIgIQMMBgsgACAEQSxqQaEBQQgQgQJBgYCAgHghAwwFCxDQCiAEKAIMIQIgBCgCCCEDDAQLQQRBCEEQIAJBCEkbIAJBBEkbCyICQQN0IgUgAkEIaiIJIAVqIgNLDQAgA0H4////B0sNACADQQgQ1AwiBg0BQQggA0Hw+sMAKAIAIgBB7wcgABsRAAAACxDQCiAEKAIUIQIgBCgCECEDDAELIAUgBmohBiAJBEAgBkH/ASAJ/AsACyACQQFrIgogAkEDdkEHbCAKQQhJGyERAkAgB0UEQCAAKAIAIQUMAQsgBkEIaiESIAAoAgAiBUEIayETIAUpAwBCf4VCgIGChIiQoMCAf4MhGCAEKAIoIRRBACECIAchCSAFIQMDQCAYUARAA0AgAkEIaiECIANBCGoiAykDAEKAgYKEiJCgwIB/gyIYQoCBgoSIkKDAgH9RDQALIBhCgIGChIiQoMCAf4UhGAsgBiATIBh6p0EDdiACaiIVQQN0aykAACIZIBQpAwBCOImFIhtCIIgiHCAZQpeSnKrbtrXCP4UiGUIgiCIdfiAbQv////8PgyIbIBlC/////w+DIhl+hSAZIBx+IBsgHX6FQiCJhSIZQv////8Pg0IChSIbQt2h8csMfiAZQiCIIhlCt9OwhQx+hSAbQrfTsIUMfiAZQt2h8csMfoVCIIiFpyIWIApxIghqKQAAQoCBgoSIkKDAgH+DIhlQBEBBCCENA0AgCCANaiEIIA1BCGohDSAGIAggCnEiCGopAABCgIGChIiQoMCAf4MiGVANAAsLIBhCAX0gGIMhGCAGIBl6p0EDdiAIaiAKcSIIaiwAAEEATgRAIAYpAwBCgIGChIiQoMCAf4N6p0EDdiEICyAGIAhqIBZBGXYiDToAACASIAhBCGsgCnFqIA06AAAgBiAIQX9zQQN0aiAFIBVBf3NBA3RqKQAANwMAIAlBAWsiCQ0ACwsgACAKNgIEIAAgBjYCACAAIBEgB2s2AghBgYCAgHghAyAMRQ0AIAUgDEEDdEEPakF4cSICayACIAxqQQlqQQgQnw0LIBAgAjYCBCAQIAM2AgAgBEEwaiQACyAAKAIAIgNBCGshCSAAKAIEIgcgGqdxIQIgGkIZiCIZQv8Ag0KBgoSIkKDAgAF+IRsDQAJ/AkACQCACIANqKQAAIhogG4UiGEKBgoSIkKDAgAF9IBhCf4WDQoCBgoSIkKDAgH+DIhhCAFIEQANAQQEhBSABIAkgGHqnQQN2IAJqIAdxQQN0aykCAFENAiAYQgF9IBiDIhhCAFINAAsLIBpCgIGChIiQoMCAf4MhGCAORQRAIBhQDQIgGHqnQQN2IAJqIAdxIQsLQQEgGCAaQgGGg1ANAhpBACEFIAMgC2osAAAiAkEATgRAIAMgAykDAEKAgYKEiJCgwIB/g3qnQQN2IgtqLQAAIQILIAMgC2ogGadB/wBxIg46AAAgAyALQQhrIAdxakEIaiAOOgAAIAAgACgCCCACQQFxazYCCCAAIAAoAgxBAWo2AgwgAyALQQN0a0EIayABNwIACyAPQRBqJAAgBQ8LQQALIQ4gF0EIaiIXIAJqIAdxIQIMAAsAC5sEAgp/An4jAEHwAWsiCiQAAkAgAiABKAIUIgZPBEAgAEECOgCtAQwBCyABKAIEIQQCQCABKAIIIgsgASgCECIHIAJB8AFsaiIFKQPoASINpyIDTQ0AIAUpA+ABIg6nIQkgDUIgiKchCAJAIAIgBCADQQR0aiIMKAIIIgNHBEADQCADIAZPDQIgByADQfABbGoiDCgC4AEiAyACRw0ACyAMQeABaiAJNgIADAELIAxBCGogCTYCAAsgCCALTw0AIA5CIIinIQkgAiAEIAhBBHRqIggoAgwiA0cEQANAIAMgBk8NAiAHIANB8AFsaiIIKALkASIDIAJHDQALIAhB5AFqIAk2AgAMAQsgCEEMaiAJNgIACyAKIAVB8AH8CgAAIAUgByAGQQFrIgNB8AFsakHwAfwKAAAgASADNgIUAkAgAiADTw0AIAcgAkHwAWxqKQPoASINpyIBIAtPDQAgDUIgiKchBgJAIAQgAUEEdGoiBSgCCCIBIANHBEADQCABIANPDQIgAyAHIAFB8AFsaiIFKALgASIBRw0ACyAFQeABaiACNgIADAELIAVBCGogAjYCAAsgBiALTw0AIAQgBkEEdGoiBCgCDCIBIANHBEADQCABIANPDQIgAyAHIAFB8AFsaiIEKALkASIBRw0ACyAEQeQBaiACNgIADAELIARBDGogAjYCAAsgACAKQeAB/AoAAAsgCkHwAWokAAu+BAEIfyMAQRBrIgMkACADIAE2AgQgAyAANgIAIANCoICAgA43AggCfwJAAkACQCACKAIQIgkEQCACKAIUIgANAQwCCyACKAIMIgBFDQEgAigCCCIBIABBA3RqIQQgAEEBa0H/////AXFBAWohBiACKAIAIQADQAJAIABBBGooAgAiBUUNACADKAIAIAAoAgAgBSADKAIEKAIMEQUARQ0AQQEMBQtBASABKAIAIAMgAUEEaigCABEDAA0EGiAAQQhqIQAgAUEIaiIBIARHDQALDAILIABBGGwhCiAAQQFrQf////8BcUEBaiEGIAIoAgghBCACKAIAIQADQAJAIABBBGooAgAiAUUNACADKAIAIAAoAgAgASADKAIEKAIMEQUARQ0AQQEMBAtBACEHQQAhCAJAAkACQCAFIAlqIgFBCGovAQBBAWsOAgECAAsgAUEKai8BACEIDAELIAQgAUEMaigCAEEDdGovAQQhCAsCQAJAAkAgAS8BAEEBaw4CAQIACyABQQJqLwEAIQcMAQsgBCABQQRqKAIAQQN0ai8BBCEHCyADIAc7AQ4gAyAIOwEMIAMgAUEUaigCADYCCEEBIAQgAUEQaigCAEEDdGoiASgCACADIAEoAgQRAwANAxogAEEIaiEAIAVBGGoiBSAKRw0ACwwBCwsCQCAGIAIoAgRPDQAgAygCACACKAIAIAZBA3RqIgAoAgAgACgCBCADKAIEKAIMEQUARQ0AQQEMAQtBAAshASADQRBqJAAgAQuTBAEMfyABQQFrIQ4gACgCBCEKIAAoAgAhCyAAKAIIIQwCQANAIAUNAQJ/AkAgAiAESQ0AA0AgASAEaiEFAkACQAJAIAIgBGsiB0EHTQRAIAIgBEcNASACIQQMBQsCQCAFQQNqQXxxIgYgBWsiAwRAQQAhAANAIAAgBWotAABBCkYNBSADIABBAWoiAEcNAAsgB0EIayIAIANPDQEMAwsgB0EIayEACwNAIAYoAgAiCUGAgoQIIAlBipSo0ABza3IgBkEEaigCACIJQYCChAggCUGKlKjQAHNrcnFBgIGChHhxQYCBgoR4Rw0CIAZBCGohBiAAIANBCGoiA08NAAsMAQtBACEAA0AgACAFai0AAEEKRg0CIAcgAEEBaiIARw0ACyACIQQMAwsgAyAHRgRAIAIhBAwDCwNAIAMgBWotAABBCkYEQCADIQAMAgsgByADQQFqIgNHDQALIAIhBAwCCyAAIARqIgZBAWohBAJAIAIgBk0NACAAIAVqLQAAQQpHDQBBACEFIAQiBgwDCyACIARPDQALCyACIAhGDQJBASEFIAghBiACCyEAAkAgDC0AAARAIAtB9OHDAEEEIAooAgwRBQANAQsgACAIayEHQQAhAyAAIAhHBEAgACAOai0AAEEKRiEDCyABIAhqIQAgDCADOgAAIAYhCCALIAAgByAKKAIMEQUARQ0BCwtBASENCyANC7gEAgh/AX4jAEEgayIDJAAgAC0AHEUEQCAALQAAIQEgAEEBOgAAIAMgAToABwJAAkAgAUEBRwRAIAAtABwNAiAAKAIMIgFFDQEgAUEMbCEHIAAoAgghCEEAIQFBASECA0ACQAJAIAEgCGoiBigCACIEKAIUQeS/wwBGDQAgBCAEKAIMIgUgBkEEaigCACAFGzYCDCAFDQAgAkEBayEFIAZBCGooAgAiBgRAIAQgBjYCEAsgACgCDCIEIAVNDQEgA0EQaiAAKAIIIAFqIgFBCGooAgA2AgAgAyABKQIANwMIIAQgAmtBDGwiAgRAIAEgAUEMaiAC/AoAAAsgACAEQQFrNgIMIAMoAggiAUUNBCABIAEoAgAiAUEBazYCACABQQFHDQQgA0EIahCFCgwECyACQQFqIQIgByABQQxqIgFHDQEMAwsLIAUgBEGopcEAEK8JAAsgA0IANwIUIANCgYCAgMAANwIMIANB2KXBADYCCCADQQdqIANBCGpB4KXBABCnCwALIAAoAhghAkEAIQQgAEEANgIYIAIEQCAAKAIUIQEgAkEMbCEGA0AgA0EIaiIHQQhqIAFBCGooAgA2AgAgAyABKQIAIgk3AwggCaciAigCDCEFIAIgBSADKAIMIAUbNgIMIAIgAigCACICQQFrNgIAIAJBAUYEQCAHEIUKCyABQQxqIQEgBkEMayIGDQALCyAAIAAoAgwEf0EBBSAAKAIYC0U6ABwLIABBADoAAAsgA0EgaiQAC7QHAgh/AX4jAEGAA2siBiQAAkACQAJAAkAgA0UNACADQQhrIggoAgBBAWohBSAIIAU2AgAgBUUNASADKAIAIgVBf0YNAiADIAVBAWo2AgAgBiAINgIQIAYgAzYCDCAGIANBBGoiDDYCCCAERQ0AIARBCGsiCSgCAEEBaiEFIAkgBTYCACAFRQ0BIAQoAgAiBUF/Rg0CIAQgBUEBajYCACAGIAk2AhwgBiAENgIYIAYgBEEEajYCFCAGQdABaiIFQgA3AhQgBUEBOgBsIAVC////+wc3AmQgBSACOAJgIAUgATgCXCAFIAA4AlggBUIANwNQIAVC////+////7//ADcDSCAFQv////sHNwNAIAVCgICAgPD//79/NwM4IAVC////+////7//ADcDMCAFQYCAgPwDNgIQIAVCADcDCCAFQoCAgPwDNwMAIwBBMGsiB0EdaiIKQQtqQgA3AAAgB0EKaiILQQtqQgA3AAAgBUEcakIANwIAIAVBJGpCADcCACAFQSxqQQA2AgAgB0IANwAgIAdCADcADSAFQv////sHNwOAASAFQQA6AIgBIAVBgYaACDYBqgEgBUL////7BzcCnAEgBUEAOwGoASAFQQA6AKQBIAVB/ABqIApBD2ooAAA2AAAgBUH1AGogCkEIaikAADcAACAFIAcpAB03AG0gBSAHKQAKNwCJASAFQZEBaiALQQhqKQAANwAAIAVBmAFqIAtBD2ooAAA2AAAgBkHAAWogBUEQaikDADcDACAGIAwpAgAiDTcD2AEgBiAGKQPQATcDsAEgBiANNwO4ASAGQSBqIAZB8AFqQZAB/AoAACAEIAQoAgBBAWs2AgAgBCkCBCENIAkgCSgCAEEBayIENgIAIARFBEAgBkEcahDNCwsgAyADKAIAQQFrNgIAIAggCCgCAEEBayIDNgIAIANFBEAgBkEQahDNCwsgBkHkAWogBikDuAE3AgAgBkHQAWoiBEEcaiAGQcABaikDADcCACAGIAYpA7ABNwLcAUHQAUEQENQMIgNFDQMgA0EANgIQIANCgYCAgBA3AwAgAyAGKQLQATcCFCADIA03AzggA0EcaiAGQdgBaikCADcCACADQSRqIARBEGopAgA3AgAgA0EsaiAGQegBaikCADcCACADQTRqIAZB8AFqKAIANgIAIANBQGsgBkEgakGQAfwKAAAgBkGAA2okACADQRBqDwsQrw0LAAsQsA0AC0EQQdABQfD6wwAoAgAiA0HvByADGxEAAAALuAQCCH8BfiMAQSBrIgMkACAALQAcRQRAIAAtAAAhASAAQQE6AAAgAyABOgAHAkACQCABQQFHBEAgAC0AHA0CIAAoAgwiAUUNASABQQxsIQcgACgCCCEIQQAhAUEBIQIDQAJAAkAgASAIaiIGKAIAIgQoAhRB5L/DAEYNACAEIAQoAgwiBSAGQQRqKAIAIAUbNgIMIAUNACACQQFrIQUgBkEIaigCACIGBEAgBCAGNgIQCyAAKAIMIgQgBU0NASADQRBqIAAoAgggAWoiAUEIaigCADYCACADIAEpAgA3AwggBCACa0EMbCICBEAgASABQQxqIAL8CgAACyAAIARBAWs2AgwgAygCCCIBRQ0EIAEgASgCACIBQQFrNgIAIAFBAUcNBCADQQhqEIUKDAQLIAJBAWohAiAHIAFBDGoiAUcNAQwDCwsgBSAEQbDMwQAQrwkACyADQgA3AhQgA0KBgICAwAA3AgwgA0GQzcEANgIIIANBB2ogA0EIakGYzcEAEKcLAAsgACgCGCECQQAhBCAAQQA2AhggAgRAIAAoAhQhASACQQxsIQYDQCADQQhqIgdBCGogAUEIaigCADYCACADIAEpAgAiCTcDCCAJpyICKAIMIQUgAiAFIAMoAgwgBRs2AgwgAiACKAIAIgJBAWs2AgAgAkEBRgRAIAcQhQoLIAFBDGohASAGQQxrIgYNAAsLIAAgACgCDAR/QQEFIAAoAhgLRToAHAsgAEEAOgAACyADQSBqJAALxgsCFn8EfiMAQRBrIhEkACAAKQMQIAGtIAKtQiCGhIUiGkIgiCIcQrfTsIUMfiAaQv////8PgyIaQt2h8csMfoUgHELdofHLDH4gGkK307CFDH6FQiCIhSEcIAAoAghFBEAgEUEIaiESIwBBMGsiBiQAIAYgAEEQajYCKCAAKAIMIQogBiAGQShqNgIsAkAgCiAKQQFqIgRNBEAgACgCBCIPIA9BAWpBA3ZBB2wgD0EISRsiBUEBdiAESQRAAkACQAJAAn8gBUEBaiIFIAQgBCAFSRsiBEEPTwRAIARB/////wFLDQJBfyAEQQN0QQduQQFrZ3ZBAWoMAQtBBEEIQRAgBEEISRsgBEEESRsLIgStQgx+IhpCIIinDQEgGqciBUF4Sw0BIAVBB2pBeHEiCCAEQQhqIgtqIQUgBSAISQ0BIAVB+P///wdLDQEgBUEIENQMIgkNAkEIIAVB8PrDACgCACIAQe8HIAAbEQAAAAsQ0AogBigCJCEEIAYoAiAhBQwECxDQCiAGKAIUIQQgBigCECEFDAMLIAggCWohCSALBEAgCUH/ASAL/AsACyAEQQFrIg0gBEEDdkEHbCANQQhJGyETAkAgCkUEQCAAKAIAIQgMAQsgCUEIaiEUIAAoAgAiCEEMayEVIAgpAwBCf4VCgIGChIiQoMCAf4MhGiAGKAIoIRZBACEEIAohCyAIIQUDQCAaUARAA0AgBEEIaiEEIAVBCGoiBSkDAEKAgYKEiJCgwIB/gyIaQoCBgoSIkKDAgH9RDQALIBpCgIGChIiQoMCAf4UhGgsgCSAWKQMAIBUgGnqnQQN2IARqIhdBdGxqKQIAhSIbQiCIIh1Ct9OwhQx+IBtC/////w+DIhtC3aHxywx+hSAdQt2h8csMfiAbQrfTsIUMfoVCIIiFpyIYIA1xIgdqKQAAQoCBgoSIkKDAgH+DIhtQBEBBCCEMA0AgByAMaiEHIAxBCGohDCAJIAcgDXEiB2opAABCgIGChIiQoMCAf4MiG1ANAAsLIBpCAX0gGoMhGiAJIBt6p0EDdiAHaiANcSIHaiwAAEEATgRAIAkpAwBCgIGChIiQoMCAf4N6p0EDdiEHCyAHIAlqIBhBGXYiDDoAACAUIAdBCGsgDXFqIAw6AAAgCSAHQX9zQQxsaiIHQQhqIAggF0F/c0EMbGoiDEEIaigAADYAACAHIAwpAAA3AAAgC0EBayILDQALCyAAIA02AgQgACAJNgIAIAAgEyAKazYCCEGBgICAeCEFIA9FDQIgCCAPQQxsQRNqQXhxIgRrIAQgD2pBCWpBCBCfDQwCCyAAIAZBLGpBngFBDBCBAkGBgICAeCEFDAELENAKIAYoAgwhBCAGKAIIIQULIBIgBDYCBCASIAU2AgAgBkEwaiQACyAAKAIEIgogHKdxIQUgHEIZiCIbQv8Ag0KBgoSIkKDAgAF+IR0gACgCACEEA0ACfwJAAkAgBCAFaikAACIcIB2FIhpCgYKEiJCgwIABfSAaQn+Fg0KAgYKEiJCgwIB/gyIaQgBSBEADQCAEQQAgGnqnQQN2IAVqIApxayIIQQxsaiILQQxrKAIAIAFGBEAgAiALQQhrKAIARg0DCyAaQgF9IBqDIhpCAFINAAsLIBxCgIGChIiQoMCAf4MhGiAQRQRAIBpQDQIgGnqnQQN2IAVqIApxIQ4LQQEgGiAcQgGGg1ANAhogBCAOaiwAACIFQQBOBEAgBCAEKQMAQoCBgoSIkKDAgH+DeqdBA3YiDmotAAAhBQsgBCAOaiAbp0H/AHEiEDoAACAEIA5BCGsgCnFqQQhqIBA6AAAgACAAKAIIIAVBAXFrNgIIIAAgACgCDEEBajYCDCAEQQAgDmsiCEEMbGoiAEEMayABNgIAIABBCGsgAjYCAAsgBCAIQQxsakEEayADNgIAIBFBEGokAA8LQQALIRAgGUEIaiIZIAVqIApxIQUMAAsAC8YLAhZ/BH4jAEEQayIRJAAgACkDECABrSACrUIghoSFIhpCIIgiHEK307CFDH4gGkL/////D4MiGkLdofHLDH6FIBxC3aHxywx+IBpCt9OwhQx+hUIgiIUhHCAAKAIIRQRAIBFBCGohEiMAQTBrIgYkACAGIABBEGo2AiggACgCDCEKIAYgBkEoajYCLAJAIAogCkEBaiIETQRAIAAoAgQiDyAPQQFqQQN2QQdsIA9BCEkbIgVBAXYgBEkEQAJAAkACQAJ/IAVBAWoiBSAEIAQgBUkbIgRBD08EQCAEQf////8BSw0CQX8gBEEDdEEHbkEBa2d2QQFqDAELQQRBCEEQIARBCEkbIARBBEkbCyIErUIMfiIaQiCIpw0BIBqnIgVBeEsNASAFQQdqQXhxIgggBEEIaiILaiEFIAUgCEkNASAFQfj///8HSw0BIAVBCBDUDCIJDQJBCCAFQfD6wwAoAgAiAEHvByAAGxEAAAALENAKIAYoAiQhBCAGKAIgIQUMBAsQ0AogBigCFCEEIAYoAhAhBQwDCyAIIAlqIQkgCwRAIAlB/wEgC/wLAAsgBEEBayINIARBA3ZBB2wgDUEISRshEwJAIApFBEAgACgCACEIDAELIAlBCGohFCAAKAIAIghBDGshFSAIKQMAQn+FQoCBgoSIkKDAgH+DIRogBigCKCEWQQAhBCAKIQsgCCEFA0AgGlAEQANAIARBCGohBCAFQQhqIgUpAwBCgIGChIiQoMCAf4MiGkKAgYKEiJCgwIB/UQ0ACyAaQoCBgoSIkKDAgH+FIRoLIAkgFikDACAVIBp6p0EDdiAEaiIXQXRsaikCAIUiG0IgiCIdQrfTsIUMfiAbQv////8PgyIbQt2h8csMfoUgHULdofHLDH4gG0K307CFDH6FQiCIhaciGCANcSIHaikAAEKAgYKEiJCgwIB/gyIbUARAQQghDANAIAcgDGohByAMQQhqIQwgCSAHIA1xIgdqKQAAQoCBgoSIkKDAgH+DIhtQDQALCyAaQgF9IBqDIRogCSAbeqdBA3YgB2ogDXEiB2osAABBAE4EQCAJKQMAQoCBgoSIkKDAgH+DeqdBA3YhBwsgByAJaiAYQRl2Igw6AAAgFCAHQQhrIA1xaiAMOgAAIAkgB0F/c0EMbGoiB0EIaiAIIBdBf3NBDGxqIgxBCGooAAA2AAAgByAMKQAANwAAIAtBAWsiCw0ACwsgACANNgIEIAAgCTYCACAAIBMgCms2AghBgYCAgHghBSAPRQ0CIAggD0EMbEETakF4cSIEayAEIA9qQQlqQQgQnw0MAgsgACAGQSxqQaABQQwQgQJBgYCAgHghBQwBCxDQCiAGKAIMIQQgBigCCCEFCyASIAQ2AgQgEiAFNgIAIAZBMGokAAsgACgCBCIKIByncSEFIBxCGYgiG0L/AINCgYKEiJCgwIABfiEdIAAoAgAhBANAAn8CQAJAIAQgBWopAAAiHCAdhSIaQoGChIiQoMCAAX0gGkJ/hYNCgIGChIiQoMCAf4MiGkIAUgRAA0AgBEEAIBp6p0EDdiAFaiAKcWsiCEEMbGoiC0EMaygCACABRgRAIAIgC0EIaygCAEYNAwsgGkIBfSAagyIaQgBSDQALCyAcQoCBgoSIkKDAgH+DIRogEEUEQCAaUA0CIBp6p0EDdiAFaiAKcSEOC0EBIBogHEIBhoNQDQIaIAQgDmosAAAiBUEATgRAIAQgBCkDAEKAgYKEiJCgwIB/g3qnQQN2Ig5qLQAAIQULIAQgDmogG6dB/wBxIhA6AAAgBCAOQQhrIApxakEIaiAQOgAAIAAgACgCCCAFQQFxazYCCCAAIAAoAgxBAWo2AgwgBEEAIA5rIghBDGxqIgBBDGsgATYCACAAQQhrIAI2AgALIAQgCEEMbGpBBGsgAzgCACARQRBqJAAPC0EACyEQIBlBCGoiGSAFaiAKcSEFDAALAAutBwIIfwF+IwBBgANrIgQkAAJAAkACQAJAIAFFDQAgAUEIayIGKAIAQQFqIQMgBiADNgIAIANFDQEgASgCACIDQX9GDQIgASADQQFqNgIAIAQgBjYCECAEIAE2AgwgBCABQQRqIgo2AgggAkUNACACQQhrIgcoAgBBAWohAyAHIAM2AgAgA0UNASACKAIAIgNBf0YNAiACIANBAWo2AgAgBCAHNgIcIAQgAjYCGCAEIAJBBGo2AhQgBEHQAWoiA0IANwNQIANCADcCFCADQQA6AGwgA0L////7BzcCZCADQv////v///+//wA3A0ggA0L////7BzcDQCADQoCAgIDw//+/fzcDOCADIAA4AjQgA0GAgID8AzYCECADQgA3AwggA0KAgID8AzcDACADQeAAakEANgIAIANB2ABqQgA3AwAjAEEwayIFQR1qIghBC2pCADcAACAFQQpqIglBC2pCADcAACADQRxqQgA3AgAgA0EkakIANwIAIANBLGpCADcCACAFQgA3ACAgBUIANwANIANC////+wc3A4ABIANBADoAiAEgA0EAOgCkASADQv////sHNwKcASADQYCCgBg2AqgBIANBgAI7AawBIANB/ABqIAhBD2ooAAA2AAAgA0H1AGogCEEIaikAADcAACADIAUpAB03AG0gAyAFKQAKNwCJASADQZEBaiAJQQhqKQAANwAAIANBmAFqIAlBD2ooAAA2AAAgBEHAAWogA0EQaikDADcDACAEIAopAgAiCzcD2AEgBCAEKQPQATcDsAEgBCALNwO4ASAEQSBqIARB8AFqQZAB/AoAACACIAIoAgBBAWs2AgAgAikCBCELIAcgBygCAEEBayICNgIAIAJFBEAgBEEcahDNCwsgASABKAIAQQFrNgIAIAYgBigCAEEBayIBNgIAIAFFBEAgBEEQahDNCwsgBEHkAWogBCkDuAE3AgAgBEHQAWoiAkEcaiAEQcABaikDADcCACAEIAQpA7ABNwLcAUHQAUEQENQMIgFFDQMgAUEANgIQIAFCgYCAgBA3AwAgASAEKQLQATcCFCABIAs3AzggAUEcaiAEQdgBaikCADcCACABQSRqIAJBEGopAgA3AgAgAUEsaiAEQegBaikCADcCACABQTRqIARB8AFqKAIANgIAIAFBQGsgBEEgakGQAfwKAAAgBEGAA2okACABQRBqDwsQrw0LAAsQsA0AC0EQQdABQfD6wwAoAgAiAUHvByABGxEAAAALlQQCDn8BfSMAQSBrIgQkAEEEIQcCQCADKAIMIgVFBEBBACEDDAELIAMoAgAiCCADKAIIIgxGIQYgAygCBCINIAMoAhAiEEECdCIOaiIPIAggBhsiCUUEQEEAIQMMAQtBBCAFIAVBBE0bIgpBAnQhAwJAAkAgBUH/////A0sNACADQfz///8HSw0AIAkqAgAhEkEEIQsgA0EEENQMIgdFDQAgByASOAIAQQEhAyAEQQE2AhAgBCAHNgIMIAQgCjYCCCAFQQFrIhENAQwCCyALIANBjM7BABD5CwALIAggDmogDCAGGyELIA8gDSAGGyEIIAkgEUEAR0ECdGohBiAFQQJrIQVBBCEJAn8DQCAEKAIIIgogEEECdCIOIAhqIg8gBiAGIAtGIgwbIg1FDQEaIA0qAgAhEiAGIA5qIAsgDBshCyAPIAggDBshCCAFQQBHQQJ0IA1qIQYgAyAKRgRAIARBCGogAyAFQQFqQQRBBBCaBSAEKAIMIQcLIAcgCWogEjgCACAEIANBAWoiAzYCECAJQQRqIQkgBUEBayIFQX9HDQALIAQoAggLIQogBCgCDCEHCyABIAJsIANHBEAgBEEANgIYIARBATYCDCAEQZTIwQA2AgggBEIENwIQIARBCGpBnMjBABDcCwALIAAgAjYCECAAIAE2AgwgACADNgIIIAAgBzYCBCAAIAo2AgAgBEEgaiQAC7sEAgx/BX4jAEGQAWsiAiQAIAJBBGogAUHgAGoiAxC0AyABKAJgBEAgA0EANgIACyABKALQASEGIAEoAswBIQcgASkCxAEhDyABKQK8ASEQIAJB4ABqIgNBEGogAUEQaigCADYCACADQQhqIAFBCGopAgA3AwAgAiABKQIANwNgIAJB+ABqIgNBEGogAUEkaigCADYCACADQQhqIAFBHGopAgA3AwAgAiABKQIUNwN4IAEoAkgiA61CMH4iDqchBAJAIA5CIIinDQAgBEHw////B0sNACABKAJEIQggASkCUCEOIAEoAkwhCSABKQI4IREgASgCNCEKIAEpAiwhEiABKAIoIQsCQCAERQRAQRAhBQwBC0EQIQwgAyENIARBEBDUDCIFRQ0BCyAEBEAgBSAIIAT8CgAACyABKAJYIQQgAS8BXCEBIABB4ABqIAJBBGpB3AD8CgAAIAAgBjYC0AEgACAHNgLMASAAIA83AsQBIAAgEDcCvAEgACABOwFcIAAgBDYCWCAAIA43AlAgACAJNgJMIAAgAzYCSCAAIAU2AkQgACANNgJAIAAgETcCOCAAIAo2AjQgACASNwIsIAAgCzYCKCAAIAIpA2A3AgAgAEEIaiACQeAAaiIBQQhqKQMANwIAIABBEGogAUEQaigCADYCACAAIAIpA3g3AhQgAEEcaiACQfgAaiIBQQhqKQMANwIAIABBJGogAUEQaigCADYCACACQZABaiQADwsgDCAEQaDrwQAQ+QsAC/0DAwV9An4DfwJ9AkACQAJAAkACQCACRQRAIAEoAmgiAkEBaiIKDQEMBQsgASgCZCIKQQFqIgtFDQQgASgCWCICQQNJBEAgASoCACIDIAFBCGoiDCACQRhsaiICKQIQIginvpRDAAAAAJIhBCADIAIpAggiCae+lEMAAAAAkiEFIAMgCEIgiKe+lEMAAAAAkiEGIAMgCUIgiKe+lEMAAAAAkiIDIApFDQYaIAEoAlwiAkECTQ0CCyACQQNBuPPCABCwCQALIAEqAlAiAyABKQIYIginvpRDAAAAAJIhBCADIAEpAhAiCae+lEMAAAAAkiEFIAMgCEIgiKe+lEMAAAAAkiEGIAMgCUIgiKe+lEMAAAAAkiIDIAJFDQQaIApBAkcNASAEIAEqAlQiByABKQIwIginvpSSIQQgBSAHIAEpAigiCae+lJIhBSAGIAcgCEIgiKe+lJIhBiADIAcgCUIgiKe+lJIMBAsgC0ECRw0BIAQgASoCBCIHIAwgAkEYbGoiASkCECIIp76UkiEEIAUgByABKQIIIgmnvpSSIQUgBiAHIAhCIIinvpSSIQYgAyAHIAlCIIinvpSSDAMLQQJBAkH48sIAELAJAAtBAkECQajzwgAQsAkAC0MAAAAACyEDIAAgBjgCDCAAIAQ4AgggACADOAIEIAAgBTgCAAv9AwINfwF9IwBBIGsiAyQAQQQhBQJAIAIoAgwiBEUNACACKAIAIgggAigCCCILRiEGIAIoAgQiDCACKAIQIg9BAnQiDWoiDiAIIAYbIglFDQBBBCAEIARBBE0bIgpBAnQhAgJAAkAgBEH/////A0sNACACQfz///8HSw0AIAkqAgAhEEEEIQcgAkEEENQMIgVFDQAgBSAQOAIAQQEhByADQQE2AhAgAyAFNgIMIAMgCjYCCCAEQQFrIgINAQwCCyAHIAJBjM7BABD5CwALIAggDWogCyAGGyEIIA4gDCAGGyEGIAkgAkEAR0ECdGohAiAEQQJrIQRBBCEJAn8DQCADKAIIIgogD0ECdCINIAZqIg4gAiACIAhGIgsbIgxFDQEaIAwqAgAhECACIA1qIAggCxshCCAOIAYgCxshBiAEQQBHQQJ0IAxqIQIgByAKRgRAIANBCGogByAEQQFqQQRBBBCaBSADKAIMIQULIAUgCWogEDgCACADIAdBAWoiBzYCECAJQQRqIQkgBEEBayIEQX9HDQALIAMoAggLIQogAygCDCEFCyABIAdHBEAgA0EANgIYIANBATYCDCADQZTIwQA2AgggA0IENwIQIANBCGpBnMjBABDcCwALIAAgATYCDCAAIAE2AgggACAFNgIEIAAgCjYCACADQSBqJAALnAQBC38jAEEgayIEJAAgACgCECIFIAFqIQYgACgCBCEJIAAoAgAhCiABIAAoAggiByAFayICSwRAAkAgBkGc8MADSwR/QQAFIAZBpAJsIQNBACECIAQgBwR/IAQgB0GkAmw2AhwgBCAAKAIMNgIUQQQFQQALNgIYIARBCGpBBCADIARBFGoQkQggBCgCCEEBRw0BIAQoAhAhAiAEKAIMCyACQYz7wQAQ+QsACyAEKAIMIQIgACAGNgIIIAAgAjYCDCABIQILIAUhAyACIAYgBWsiAkEAIAIgBk0bIgJJBEAgAEEIaiAFIAJBBEGkAhCaBSAAKAIQIQMLAkAgAUUNACAAKAIMIQsgBkEBayEMAkAgAUEBcUUEQCAFIQIMAQsgCyADQaQCbGoiCCAJIAVBAWoiAiAFIAxGIgcbNgIIIAggCkEBIAcbNgIEIAhBgICAgHg2AgAgA0EBaiEDCyABQQFGDQAgAkF/cyAGaiEIIAsgA0GkAmxqIQEDQCABQYCAgIB4NgIAIAFBpAJqQYCAgIB4NgIAIAFBBGpBASAKIAgbNgIAIAFBCGogAkEBaiIHIAkgCBs2AgAgAUGsAmogCSACQQJqIgIgByAMRiIHGzYCACABQagCaiAKQQEgBxs2AgAgCEECayEIIAFByARqIQEgA0ECaiEDIAIgBkcNAAsLIAAgBTYCBCAAQQE2AgAgACADNgIQIARBIGokAAutBAIMfwN+IwBBIGsiCSQAIAEpAxAhDyABLQAYIQwCfyABKAIEIgVFBEBBsL7CACEDQQAhBUEADAELAn8CQCAFQQFqrUIUfiIOQiCIpw0AIA6nIgJBeEsNACAFQQlqIgQgAkEHakF4cSIDaiECIAIgA0kNACACQfj///8HSw0AIAJBCBDUDCIGRQRAQQggAkHw+sMAKAIAIgBB7wcgABsRAAAACyADIAZqDAELENAKIAkoAgAiBUEJaiEEQQALIQMgASgCACECIAQEQCADIAIgBPwKAAALIAEoAgwiCgRAIAJBCGohBCACKQMAQn+FQoCBgoSIkKDAgH+DIQ4gCiELIAIhBgNAIA5QBEADQCAGQaABayEGIAQpAwAhDiAEQQhqIQQgDkKAgYKEiJCgwIB/gyIOQoCBgoSIkKDAgH9RDQALIA5CgIGChIiQoMCAf4UhDgsgBiAOeqdBA3ZBbGxqIgdBDGsiCEEIaigCACENIAgpAgAhECADIAIgB2tBbG1BFGxqIghBFGsgB0EUaykCADcCACAIQQxrIgcgEDcCACAHQQhqIA02AgAgDkIBfSAOgyEOIAtBAWsiCw0ACwsgASgCCAshAkEgQQgQ1AwiAQRAIAEgDDoAGCABIA83AxAgASAKNgIMIAEgAjYCCCABIAU2AgQgASADNgIAIABB3OnCADYCBCAAIAE2AgAgCUEgaiQADwtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAALjAQDDH0BfwF+IwBBEGshESABKgIEjCACKgIAIgsgAyoCBCACKgIMIg6TIgWUIAMqAgAgAioCCCIPkyIGIAIqAgQiDJSTIgiTIgdDAAAAACAHQwAAAABgGyAIIAEpAgAiEkIgiKe+kyIJQwAAAAAgCUMAAAAAYBuTIQ0gAAJ/IAEqAgCMIAYgC5QgBSAMlJIiCpMiBkMAAAAAIAZDAAAAAGAbIAogEqe+kyIFQwAAAAAgBUMAAAAAYBuTIhBDAAAAAFsgDUMAAAAAW3FFBEAgCiAQkrytIAggDZK8rUIghoQhEkEADAELAn4CQAJAAkAgBEUEQAJAIAUgBl5FBEBD//9//yEFQQAhASAGQ///f/9eRQ0BQQEhASAGIQUMAQtBACEBIAVD//9//14NAEP//3//IQULIAcgCV1FBEAgBSAHXUUNAiARQQA2AgwgEUEANgIIIBFBCGohAiAHIQUMBAsgBSAJXUUNASARQQA2AgwgEUEANgIIIBFBCGohAiAJIQUMAgsgCrytIAi8rUIghoQMAwsgEUEANgIMIBFBADYCCCARQQxqIQIgAQ0BCyAFjCEFCyACIAU4AgAgCiARKgIMkrytIAggESoCCJK8rUIghoQLIRJBAQs6AAggACAOIAwgEqe+IgWUIAsgEkIgiKe+IgeUkpI4AgQgACAPIAsgBZQgDCAHlJOSOAIAC+UDAg59AX4gASkCCCIUp74iDCABKgIAIgiTIgkgCZQgFEIgiKe+Ig0gASoCBCIGkyIOIA6UkiEHAkACQCADKgIAIAIqAggiEpMiCyACKgIAIhCUIAMqAgQgAioCDCITkyIKIAIqAgQiEZSSIg8gCJMgCZQgECAKlCALIBGUkyILIAaTIA6UkiIKQwAAAABfBEAgBiENIAghDAwBCyAHIApfDQAgB0MAAAAAWw0BIAYgDiAKIAeVIgaUkiENIAggCSAGlJIhDAtBAiECIAAgBSAPAn0gCyANkyIKIAqUIA8gDJMiBSAFlJIiCEMAAIAoXgRAIAEqAhAhByAIkSEJIAQEQEEBIQMgCyEGIA8gByAJYA0CGgsgByAJYCEDIA0gCiAJlSAHlJIhBiAMIAUgCZUgB5SSDAELQQEhAyAEBEAgCyEGIA8MAQsCfSAHQwAAgCheBEAgCYwgB5EiBpUgASoCECIHlCEIIA4gBpUgB5QMAQsgASoCECEIQwAAAAALIQcgDSAIkiEGIAwgB5ILIgiTIgUgBZQgCyAGkyIFIAWUkpFdBH9BAgUgACARIAiUIBAgBpSSIBOSOAIEIAAgEiAQIAiUIBEgBpSTkjgCACADCzoACA8LQdj4wgBBHkH4+MIAEPkKAAuMBAMGfwV9AX4gASgCBCEGAkAgASgCCCIHRQ0AIAdBAWtB/////wFxIQUgAioCBCEKIAIqAgAhCSAGIQMgB0EDcSIIBEADQCADIAkgAyoCAJQ4AgAgA0EEaiIEIAogBCoCAJQ4AgAgA0EIaiEDIAhBAWsiCA0ACwsgBUEDSQ0AIAYgB0EDdGohBQNAIAMgCSADKgIAlDgCACADQQRqIgQgCiAEKgIAlDgCACADQQhqIgQgCSAEKgIAlDgCACADQQxqIgQgCiAEKgIAlDgCACADQRBqIgQgCSAEKgIAlDgCACADQRRqIgQgCiAEKgIAlDgCACADQRhqIgQgCSAEKgIAlDgCACADQRxqIgQgCiAEKgIAlDgCACAFIANBIGoiA0cNAAsLAkAgASgCFCIDBEAgASgCECEFIANBA3QhBCACKgIEIQ0gAioCACEKQQAhAwNAIAogAyAFaiICKQIAIg6nvpQiCyALlCANIA5CIIinvpQiDCAMlJIiCUMAAAAAXkUNAiACIAsgCZEiCZW8rSAMIAmVvK1CIIaENwIAIAQgA0EIaiIDRw0ACwsgACABKQIANwIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3AgAPCyAAQYCAgIB4NgIAIAEoAgAiAARAIAYgAEEDdEEEEJ8NCyABKAIMIgAEQCAFIABBA3RBBBCfDQsL9AMDCX0HfwJ+IwBBEGsiDyQAIAEpAggiE6ciEL4iAyABKQIAIhSnIgy+IgWTIQQgE0IgiKciDb4gFEIgiKciDr4iCZMhBgJAAkAgAioCACIHIAWTIASUIAIqAgQiCCAJkyAGlJIiCkMAAAAAXwRAIAUhAyAMIRAgDiENQQAhDgwBCyAKIAQgBJQgBiAGlJIiC2AEQEEBIQ4MAQsgC0MAAAAAWw0BQwAAgD8gCiALlSIDk7whDiAGIAOUIAmSvCENIAQgA5QgBZIiA7whEEEBIRELAkACQCADIAdbDQBBACEMIAeLIgVDAACAf1sNASADiyIEQwAAgH9bDQEgAyAHk4siA0MAAAA0Xw0AIAMgBSAEIAQgBV0bQwAAADSUX0UNAQtBASEMIA2+IgMgCFsNAEEAIQwgCIsiBUMAAIB/Ww0AIAOLIgRDAACAf1sNAEEBIQwgAyAIk4siA0MAAAA0Xw0AIAMgBSAEIAQgBV0bQwAAADSUXyEMCyAAIBEEfyAPQQhqIAEQ2AtBASESIA8qAgwgAikCACITp74gEL6TlCAPKgIIIBNCIIinviANvpOUk0MAAAAAYEUFIA4LNgIQIAAgEjYCDCAAIAw2AgggACAQrSANrUIghoQ3AgAgD0EQaiQADwtBgKnBAEEeQaCpwQAQ+QoAC+gDAwV9BH8CfiMAQSBrIggkACABKAIIIgcEQEQAAAAAAADwPyAHuKO2IgIgASgCBCIBKQIAIgtCIIinvpQhAyAHQQN0IgkgAWohCiACIAunvpQhBAJAIAdBAUYNACAHQQFxBH8gAUEIagUgBCACIAEpAggiC6e+lJIhBCADIAIgC0IgiKe+lJIhAyABQRBqCyEHIAlBEEYNAANAIAQgAiAHKQIAIgunvpSSIAIgB0EIaikCACIMp76UkiEEIAMgAiALQiCIp76UkiACIAxCIIinvpSSIQMgCiAHQRBqIgdHDQALCwJAIAlBCGsiB0EIcQRAQwAAAAAhAgwBCyAEIAEqAgCTIgIgApQgAyABQQRqKgIAkyICIAKUkiICQwAAAAAgAkMAAAAAXhshAiABQQhqIQELIAcEQANAIAQgAUEIaioCAJMiBSAFlCADIAFBDGoqAgCTIgUgBZSSIgUgBCABKgIAkyIGIAaUIAMgAUEEaioCAJMiBiAGlJIiBiACIAIgBl0bIgIgAiAFXRshAiAKIAFBEGoiAUcNAAsLIAAgAzgCBCAAIAQ4AgAgACACkTgCCCAIQSBqJAAPCyAIQQA2AhggCEEBNgIMIAhBwLTDADYCCCAIQgQ3AhAgCEEIakHItMMAENwLAAuRBAMJfQN/An4CQAJAAkAgAiABKAIAIgwoAjwiDUkEQCAMKAI4IAJBA3RqIg4oAgAiDSAMKAIwIgJPDQEgDigCBCIOIAJPDQICQCAMKAIsIgwgDkEDdGopAgAiD6ciAr4iAyAMIA1BA3RqKQIAIhCnIg2+IgSTIgUgASgCBCIOKgIAIgYgBJOUIA9CIIinIgy+IBBCIIinIgG+IgmTIgggDioCBCIHIAmTlJIiCkMAAAAAXwRAIAQhAyANIQIgASEMDAELIAUgBZQgCCAIlJIiCyAKXw0AIAtDAAAAAFsNBCAIIAogC5UiA5QgCZK8IQwgBSADlCAEkiIDvCECCwJAAkAgAyAGWw0AQQAhASAGiyIEQwAAgH9bDQEgA4siBUMAAIB/Ww0BIAMgBpOLIgNDAAAANF8NACADIAQgBSAEIAVeG0MAAAA0lF9FDQELQQEhASAMviIDIAdbDQBBACEBIAeLIgRDAACAf1sNACADiyIFQwAAgH9bDQBBASEBIAMgB5OLIgNDAAAANF8NACADIAQgBSAEIAVeG0MAAAA0lF8hAQsgACABNgIMIAAgDDYCCCAAIAI2AgQgACAGIAK+kyIDIAOUIAcgDL6TIgMgA5SSkTgCAA8LIAIgDUHk/sIAELAJAAsgDSACQfT+wgAQsAkACyAOIAJBhP/CABCwCQALQdj4wgBBHkH4+MIAEPkKAAuqBAIJfwF+IwBBQGoiBiQAAkACQAJAAkAgAEUNACAAQQhrIgooAgBBAWohByAKIAc2AgAgB0UNASAAKAIAIgdBf0YNAiAAIAdBAWo2AgAgBiAKNgIUIAYgADYCECAGIABBBGoiCzYCDCACRQ0AIAJBCGsiBygCAEEBaiEIIAcgCDYCACAIRQ0BIAIoAgAiCEF/Rg0CIAIgCEEBajYCACAGIAc2AiAgBiACNgIcIAYgAkEEaiIMNgIYIANFDQAgA0EIayIIKAIAQQFqIQkgCCAJNgIAIAlFDQEgAygCACIJQX9GDQIgAyAJQQFqNgIAIAYgCDYCLCAGIAM2AiggBiADQQRqNgIkIAsgAb0iD6cgD0IgiKcQ5goiCUUNAyAJKAIgIQsgCSgCJCINKAIIIQ4gDCkCACEPIAYgAykCBDcDOCAGIA83AzAgBiALIA5BAWtBeHFqQQhqIAkgBkEwaiAEIAVBAEcgDSgCGBEJACAGKgIEIQQgBigCACEFIAMgAygCAEEBazYCACAIIAgoAgBBAWsiAzYCACADRQRAIAZBLGoQzQsLIAIgAigCAEEBazYCACAHIAcoAgBBAWsiAjYCACACRQRAIAZBIGoQzQsLIAAgACgCAEEBazYCACAKIAooAgBBAWsiADYCACAARQRAIAZBFGoQkgsLIAZBQGskACAEQwAAgL8gBUEBcRsPCxCvDQsACxCwDQALQZy/wQBBzABB6L/BABD4CQAL6QMDBn0GfwJ+IwBBIGsiCSQAAkAgASgCCCIKBEAgASgCBCILKQIAIg5CIIinIQggDqchDAJ/IApBAUYEQCAMIQogCAwBCyAKQQN0IQ0gCL4hAiAMviEDAn8gCkEBcQRAIAMhBCACIQYgC0EIagwBCyACIAspAggiDkIgiKe+IgQgAiAEYBshBiACIAQgAiAEXxshAiADIA6nviIFIAMgBWAbIQQgAyAFIAMgBV8bIQMgC0EQagshCCANQRBHBEAgCyANaiEMA0AgBiAIKQIAIg5CIIinviIFIAUgBl8bIgYgCEEIaikCACIPQiCIp74iByAGIAdgGyEGIAIgBSACIAVfGyICIAcgAiAHXxshAiAEIA6nviIFIAQgBWAbIgQgD6e+IgcgBCAHYBshBCADIAUgAyAFXxsiAyAHIAMgB18bIQMgDCAIQRBqIghHDQALCyADvCEKIAS8IQwgBrwhCCACvAshCyABKgIYIgJDAAAAAGBFDQEgACACIAi+kjgCDCAAIAIgDL6SOAIIIAAgC74gApM4AgQgACAKviACkzgCACAJQSBqJAAPC0GowcIAQdIAQYzCwgAQ+AkACyAJQQA2AhggCUEBNgIMIAlBkMHCADYCCCAJQgQ3AhAgCUEIakGYwcIAENwLAAu8BAIOfwF+IwBBoAJrIgMkACABKAIAKAIAIQQgASgCBCIHKAIAQQFGBEAgBygCBCIGQf//A3EhCSAGQRB2IQpBASEGCyAEQSBJIQVBACEHIAEoAggiCCgCAEEBRgRAIAgpAwgiEUIgiKchCyARpyEMQQEhBwsgBEEAIAUbIQhBASEEAkAgASgCDCIFKAIAQQFHBEBBACEEDAELIAUpAwgiEUIgiKchDSARpyEOCyABKAIYKAIAIQ8gASgCHCgCACEQIAEoAhQoAgAhBSADIAEoAhAoAgA2AjggA0HIwMEANgIsIAMgAjYCKCADIAg2AiQgAyANNgIgIAMgDjYCHCADIAQ2AhggAyALNgIUIAMgDDYCECADIAc2AgwgAyAJNgIIIAMgCjYCBCADIAY2AgAgBSgCPCEEIAUoAkAhAiADIBA2AkAgAyAPNgI8IAMgAjYCNCADIAQgAigCCEEBa0F4cWpBCGo2AjAgAyABKAIgKAIAKQIANwJMIAMgASgCJCgCACkCADcCRCABKAIoKAIAIgIoAgQhASADQdQAaiIEIAMgA0HEAGogAigCACABKAIIQQFrQXhxakEIaiABEM0DIANBkAJqIAQgA0H0AWoQ8QECQCADKAKYAgRAIAMpA5ACIREgAEIBNwMAIAAgETcDCCADKALYASIAQSFJDQEgAygCXCAAQQJ0QQQQnw0MAQsgAygC2AEiAUEhTwRAIAMoAlwgAUECdEEEEJ8NCyAAQgA3AwALIANBoAJqJAALjAQDB38BfgF9IAFBBGohBiABQYQBaiEHA0ACQAJ/IAEoApABIgJFBEAgBiEDIAciAigCAEEhTwRAIAEoAgghAyAGIQILIAIoAgAiBEUEQCABQQA2ApABQQAMAgsgAiAEQQFrIgI2AgAgAyACQQJ0aigCACECCyABQQA2ApABIAIoAhRB/////wNxQQFHDQEgAigCCCEBQQELIQIgACABNgIEIAAgAjYCAA8LIAIoAggiBCABKAKIASIDKAIIIgJJBEBBASEFAkAgAygCBCAEQTBsaiICKQIAIgmnviABKAKMASIDKgIIIgpfRQ0AIAMqAgwgCUIgiKe+YEUNACADKgIAIAJBDGopAgAiCae+X0UNACADKgIEIAlCIIinvl9FDQAgASACNgKQASADKgIIIQpBACEFCyAKIAIpAhgiCae+YEUNASADKgIMIAlCIIinvmBFDQEgAyoCACACQSRqKQIAIgmnvl9FDQEgAyoCBCAJQiCIp75fRQ0BIAJBGGohCCAFRQRAAn8gBygCACIFQSFJBEAgBSEDIAYhBEEgIQUgBwwBCyABKAIEIQMgASgCCCEEIAYLIQIgAyAFRgRAIAEQlAMgASgCBCEDIAEoAgghBCAGIQILIAQgA0ECdGogCDYCACACIAIoAgBBAWo2AgAMAgsgASAINgKQAQwBCwsgBCACQajHwQAQsAkAC4wEAwd/AX4BfSABQQRqIQYgAUGEAWohBwNAAkACfyABKAKQASICRQRAIAYhAyAHIgIoAgBBIU8EQCABKAIIIQMgBiECCyACKAIAIgRFBEAgAUEANgKQAUEADAILIAIgBEEBayICNgIAIAMgAkECdGooAgAhAgsgAUEANgKQASACKAIUQf////8DcUEBRw0BIAIoAgghAUEBCyECIAAgATYCBCAAIAI2AgAPCyACKAIIIgQgASgCiAEiAygCCCICSQRAQQEhBQJAIAMoAgQgBEEwbGoiAikCACIJp74gASgCjAEiAyoCCCIKX0UNACADKgIMIAlCIIinvmBFDQAgAyoCACACQQxqKQIAIgmnvl9FDQAgAyoCBCAJQiCIp75fRQ0AIAEgAjYCkAEgAyoCCCEKQQAhBQsgCiACKQIYIgmnvmBFDQEgAyoCDCAJQiCIp75gRQ0BIAMqAgAgAkEkaikCACIJp75fRQ0BIAMqAgQgCUIgiKe+X0UNASACQRhqIQggBUUEQAJ/IAcoAgAiBUEhSQRAIAUhAyAGIQRBICEFIAcMAQsgASgCBCEDIAEoAgghBCAGCyECIAMgBUYEQCABEJUDIAEoAgQhAyABKAIIIQQgBiECCyAEIANBAnRqIAg2AgAgAiACKAIAQQFqNgIADAILIAEgCDYCkAEMAQsLIAQgAkHo0sIAELAJAAvsCQILfwJ9IwBBgAFrIgQkACAEIAEQuQMgASgCMCIHQQN0IQYCQAJAAkAgB0H/////AUsNACAGQfz///8HSw0AIAEoAiwhAwJAIAZFBEBBBCEJDAELQQQhCiAHIQsgBkEEENQMIglFDQELIAYEQCAJIAMgBvwKAAALIAEoAjwiA0EDdCEIIANB/////wFLDQEgCEH8////B0sNASABKAI4IQYCQCAIRQRAQQQhAUEAIQoMAQtBBCEFIAMhCiAIQQQQ1AwiAUUNAgsgCARAIAEgBiAI/AoAAAsgBEFAayIFQSBqIARBIGoiDSkCADcDACAFQRhqIARBGGoiDikCADcDACAFQRBqIARBEGoiCCkCADcDACAFQQhqIARBCGoiBikCADcDACAEIAM2AnwgBCABNgJ4IAQgCjYCdCAEIAc2AnAgBCAJNgJsIAQgCzYCaCAEIAQpAgA3A0AjAEEwayIMJAACQCAFKAIwIglFDQAgCUEBa0H/////AXEhByACKgIEIQ8gAioCACEQIAUoAiwiCyEDIAlBA3EiCgRAA0AgAyAQIAMqAgCUOAIAIANBBGoiASAPIAEqAgCUOAIAIANBCGohAyAKQQFrIgoNAAsLIAdBA0kNACALIAlBA3RqIQsDQCADIBAgAyoCAJQ4AgAgA0EEaiIBIA8gASoCAJQ4AgAgA0EIaiIBIBAgASoCAJQ4AgAgA0EMaiIBIA8gASoCAJQ4AgAgA0EQaiIBIBAgASoCAJQ4AgAgA0EUaiIBIA8gASoCAJQ4AgAgA0EYaiIBIBAgASoCAJQ4AgAgA0EcaiIBIA8gASoCAJQ4AgAgCyADQSBqIgNHDQALCyAMQQhqIAUQuQMgBUEoaiEHIAwoAhAiAQRAIAwoAgwiAyABQTBsaiELIAIqAgQhDyACKgIAIRADQCADIBAgAyoCAJQ4AgAgA0EEaiIBIA8gASoCAJQ4AgAgA0EMaiIBIBAgASoCAJQ4AgAgA0EQaiIBIA8gASoCAJQ4AgAgA0EYaiIBIBAgASoCAJQ4AgAgA0EcaiIBIA8gASoCAJQ4AgAgA0EkaiIBIBAgASoCAJQ4AgAgA0EoaiIBIA8gASoCAJQ4AgAgCyADQTBqIgNHDQALCyAEIAwpAgg3AgAgBCAHKQIANwIoIAQgBSkCNDcCNCAEQTBqIAdBCGooAgA2AgAgBEE8aiAFQTxqKAIANgIAIARBCGogDEEIaiIBQQhqKQIANwIAIARBEGogAUEQaikCADcCACAEQRhqIAFBGGopAgA3AgAgBEEgaiABQSBqKQIANwIAIAUoAgAiAQRAIAUoAgQgAUEwbEEEEJ8NCyAFKAIMIgEEQCAFKAIQIAFBAnRBBBCfDQsgBSgCGCIBBEAgBSgCHCABQQN0QQQQnw0LIAxBMGokAEHAAEEEENQMIgFFDQIgASAEKQIANwIAIAFBOGogBEE4aikCADcCACABQTBqIARBMGopAgA3AgAgAUEoaiAEQShqKQIANwIAIAFBIGogDSkCADcCACABQRhqIA4pAgA3AgAgAUEQaiAIKQIANwIAIAFBCGogBikCADcCACAAQbyIwwA2AgQgACABNgIAIARBgAFqJAAPCyAKIAZBkL/CABD5CwALIAUgCEGQv8IAEPkLAAtBBEHAAEHw+sMAKAIAIgBB7wcgABsRAAAAC4gLAhZ/BH4jAEEQayIQJAAgACkDECABrSACrUIghoSFIhlCIIgiG0K307CFDH4gGUL/////D4MiGULdofHLDH6FIBtC3aHxywx+IBlCt9OwhQx+hUIgiIUhGyAAKAIIRQRAIBBBCGohESMAQTBrIgUkACAFIABBEGo2AiggACgCDCEHIAUgBUEoajYCLAJAAkACQAJ/AkAgByAHQQFqIgNNBEAgACgCBCIMIAxBAWpBA3ZBB2wgDEEISRsiBEEBdiADSQRAIARBAWoiBCADIAMgBEkbIgNBD0kNAiADQf////8BTQRAQX8gA0EDdEEHbkEBa2d2IgNB/v///wFLDQUgA0EBagwECxDQCiAFKAIkIQMgBSgCICEEDAYLIAAgBUEsakGfAUEIEIECQYGAgIB4IQQMBQsQ0AogBSgCDCEDIAUoAgghBAwEC0EEQQhBECADQQhJGyADQQRJGwsiA0EDdCIIIANBCGoiDSAIaiIESw0AIARB+P///wdLDQAgBEEIENQMIgYNAUEIIARB8PrDACgCACIAQe8HIAAbEQAAAAsQ0AogBSgCFCEDIAUoAhAhBAwBCyAGIAhqIQYgDQRAIAZB/wEgDfwLAAsgA0EBayIKIANBA3ZBB2wgCkEISRshEgJAIAdFBEAgACgCACEIDAELIAZBCGohEyAAKAIAIghBCGshFCAIKQMAQn+FQoCBgoSIkKDAgH+DIRkgBSgCKCEVQQAhAyAHIQ0gCCEEA0AgGVAEQANAIANBCGohAyAEQQhqIgQpAwBCgIGChIiQoMCAf4MiGUKAgYKEiJCgwIB/UQ0ACyAZQoCBgoSIkKDAgH+FIRkLIAYgFSkDACAUIBl6p0EDdiADaiIWQQN0aykCAIUiGkIgiCIcQrfTsIUMfiAaQv////8PgyIaQt2h8csMfoUgHELdofHLDH4gGkK307CFDH6FQiCIhaciFyAKcSIJaikAAEKAgYKEiJCgwIB/gyIaUARAQQghDgNAIAkgDmohCSAOQQhqIQ4gBiAJIApxIglqKQAAQoCBgoSIkKDAgH+DIhpQDQALCyAZQgF9IBmDIRkgBiAaeqdBA3YgCWogCnEiCWosAABBAE4EQCAGKQMAQoCBgoSIkKDAgH+DeqdBA3YhCQsgBiAJaiAXQRl2Ig46AAAgEyAJQQhrIApxaiAOOgAAIAYgCUF/c0EDdGogCCAWQX9zQQN0aikAADcDACANQQFrIg0NAAsLIAAgCjYCBCAAIAY2AgAgACASIAdrNgIIQYGAgIB4IQQgDEUNACAIIAxBA3RBD2pBeHEiA2sgAyAMakEJakEIEJ8NCyARIAM2AgQgESAENgIAIAVBMGokAAsgACgCBCIHIBuncSEDIBtCGYgiGkL/AINCgYKEiJCgwIABfiEcIAAoAgAhBANAAn8CQAJAIAMgBGopAAAiGyAchSIZQoGChIiQoMCAAX0gGUJ/hYNCgIGChIiQoMCAf4MiGUIAUgRAA0AgBCAZeqdBA3YgA2ogB3FBA3RrIghBCGsoAgAgAUYEQCACIAhBBGsoAgBGDQMLIBlCAX0gGYMiGUIAUg0ACwsgG0KAgYKEiJCgwIB/gyEZIA9FBEAgGVANAiAZeqdBA3YgA2ogB3EhCwtBASAZIBtCAYaDUA0CGiAEIAtqLAAAIgNBAE4EQCAEIAQpAwBCgIGChIiQoMCAf4N6p0EDdiILai0AACEDCyAEIAtqIBqnQf8AcSIPOgAAIAQgC0EIayAHcWpBCGogDzoAACAAIAAoAgggA0EBcWs2AgggACAAKAIMQQFqNgIMIAQgC0EDdGsiAEEIayABNgIAIABBBGsgAjYCAAsgEEEQaiQADwtBAAshDyAYQQhqIhggA2ogB3EhAwwACwALqAQDAX8FfQJ+IwBBMGsiBCQAAkACQAJAAkAgAioCACIFIAIqAgQiBlwEQCAEQQxqIAEgAxC8AQJAIAQoAhQiAUUNACAEKAIQIgMhAiABQQFxBEAgAiAFIAIpAgAiCqe+lDgCACACIAYgCkIgiKe+lDgCBCACQQhqIQILIAFB/////wFxQQFGDQAgAyABQQN0aiEBA0AgAiAFIAIpAgAiCqe+lDgCACACQQRqIAYgCkIgiKe+lDgCACACQQhqIgMpAgAhCiADIAUgCqe+lDgCACACQQxqIAYgCkIgiKe+lDgCACABIAJBEGoiAkcNAAsLIARBGGogBEEMahDdASAEKAIYIgFBgICAgHhGDQEgBCoCLCEFIAQqAighBiAEKgIkIQcgBCoCICEIIAQqAhwhCUEYQQQQ1AwiAkUNAyACIAU4AhQgAiAGOAIQIAIgBzgCDCACIAg4AgggAiAJOAIEIAIgATYCAEHYgMMAIQEMAgsgASoCECEGIAEpAgghCiABKQIAIQtBFEEEENQMIgJFDQMgAiAFiyAGlDgCECACIAUgCqe+lDgCCCACIAUgC6e+lDgCACACIAUgCkIgiKe+lDgCDCACIAUgC0IgiKe+lDgCBEG83cIAIQEMAQtBACECCyAAIAE2AgQgACACNgIAIARBMGokAA8LQQRBGEHw+sMAKAIAIgBB7wcgABsRAAAAC0EEQRRB8PrDACgCACIAQe8HIAAbEQAAAAuuBAEJfyMAQSBrIgIkAAJAIAEoAgQiA0UEQCAAQYCAgIB4NgIADAELIAEgA0EBazYCBAJ/IAEoAgAiASgCBCIFQQdNBEAgAkKBygA3AwhBASEEIAJBCGoQxwsMAQsgASAFQQhrIgU2AgQgASABKAIAIgNBCGo2AgAgAiADKQAAELcGIAIoAgAhBCACKAIECyEDAkACQCAEQQFxDQAgA0UEQEEEIQNBACEEQQAhAQwCCwJ/AkBBgIAIIAMgA0GAgAhPGyIEQQN0IgZBBBDUDCIHBEAgAiAHNgIMIAIgBDYCCEEAIQYgAkEANgIQIAEoAgAhCUEAIQQDQCAFQQRJDQIgASAFQQRrIgU2AgQgASAGIAlqIghBBGoiBzYCACAFQQRJBEAgAkKBygA3AxggAkEYahDHCwwECyAIKAAAIQggASAFQQRrIgU2AgQgASAHQQRqNgIAIAcoAAAhByACKAIIIARGBEAgAkEIakG0mMEAEMkGCyACKAIMIAZqIgogCDYCACAKQQRqIAc2AgAgAiAEQQFqIgQ2AhAgBkEIaiEGIAMgBEcNAAsgAigCDCEDIAIoAggiAUGAgICAeEcNBAwDC0EEIAZBpJjBABD5CwALIAJCgcoANwMYIAJBGGoQxwsLIQMgAigCCCIBRQ0AIAIoAgwgAUEDdEEEEJ8NCyAAQYGAgIB4NgIAIAAgAzYCBAwBCyAAIAQ2AgggACADNgIEIAAgATYCAAsgAkEgaiQAC9YDAg99An4gAyoChAEhCyADKgKAASEMIAMpAwghFSAEKgIIIREgBCoCDCESIAMqAgAiBiAEKgIEIgmUIAMqAgQiByAEKgIAIgqUkyINIAYgCpQgByAJlJIiDhDDDSEQIAEgAiAKIAYgFae+IgiMlCAHIBVCIIinviIPlJMiE5QgCSAHIAiUIAYgD5STIhSUkyARIAYgDJQgByALlJMgCJIiCJOSIA4gCJQgDSAHIAyUIAYgC5SSIA+SIgaUk5IiB5QgASoCAJI4AgAgASACIAkgE5QgCiAUlJIgEiAGk5IgDiAGlCANIAiUkpIiBpQgASoCBJI4AgQgASACIBCUIAEqAiySIgI4AiwgASoCDCEJIAEqAhwhCiADKgJcIQsgASoCFCEMIAEqAgghDSABKQIAIRUgASoCGCEOIAMqAlghCCAFKQIAIRYgASoCECEPIAAgECABKgIglCAFKgIIIAMqAmCTIAEqAiSUkiACIAEqAjCUkiABLQAoIgFBBXZBAXGzlDgCCCAAIAcgD5QgDiAWp74gCJOUkiANIBWnvpSSIAFBAXGzlDgCACAAIAYgDJQgCiAWQiCIp74gC5OUkiAJIBVCIIinvpSSIAFBAXZBAXGzlDgCBAueBAMDfxF9An4jAEEgayIFJAAgBUEIaiACKgIAIg0gAioCBCIOIAIqAggiDyACKgIMIhAgASoCCCITIAMqAgAiCSABKgIAIgqUIAMqAgQiCyABKgIEIgyUk5IiESABKgIMIhQgCyAKlCAJIAyUkpIiEiATIAogAyoCCCIVlCAMIAMqAgwiFpSTkiIYIBQgDCAVlCAKIBaUkpIiCBCLAiAFKgIcIRcgBSgCGCEGIAUoAhQhASAFKAIMIQcCQAJAAkACQCAFKAIIQQFxBEAgB74iDyACKQIAIhmnvpQgBSoCECIQIAIpAggiGqe+lJIhDSAPIBlCIIinvpQgECAaQiCIp76UkiEODAELAkAgBw4CAQACCyAPIQ0gECEOCyABQQFxBEAgFCAMIAa+IgggAykCACIZp76UIBcgAykCCCIap76UkiIJlCAKIAggGUIgiKe+lCAXIBpCIIinvpSSIguUkpIhEiATIAogCZQgDCALlJOSIREMAwsgBg4CAgEACyMAQSBrIgAkACAAQQE2AgQgAEGI38MANgIAIABCATcCDCAAQszfw4CQggE3AxggACAAQRhqNgIIIABBpP/CABDcCwALIAghEiAYIREgFSEJIBYhCwsgACARIA2TIgggCJQgEiAOkyIIIAiUkiAEIASUXwR/IAAgCzgCECAAIAk4AgwgACAOOAIIIAAgDTgCBEEBBUECCzYCACAFQSBqJAALrgQBCX8jAEEgayICJAACQCABKAIEIgNFBEAgAEGAgICAeDYCAAwBCyABIANBAWs2AgQCfyABKAIAIgEoAgQiBUEHTQRAIAJCgcoANwMIQQEhBCACQQhqEMcLDAELIAEgBUEIayIFNgIEIAEgASgCACIDQQhqNgIAIAIgAykAABC3BiACKAIAIQQgAigCBAshAwJAAkACQCAEQQFxDQAgA0UEQEEEIQNBACEEQQAhAQwDC0GAgAggAyADQYCACE8bIgRBA3QiBkEEENQMIgdFDQEgAiAHNgIMIAIgBDYCCEEAIQYgAkEANgIQIAEoAgAhCUEAIQQDQAJAIAVBBE8EQCABIAVBBGsiBTYCBCABIAYgCWoiCEEEaiIHNgIAIAVBA0sNAQsgAkEAOgAbIAJBJTsAGSACQQA2AhwgAkEBOgAYIAJBGGoQxwshAyACKAIIIgFFDQIgAigCDCABQQN0QQQQnw0MAgsgCCgAACEIIAEgBUEEayIFNgIEIAEgB0EEajYCACAHKAAAIQcgAigCCCAERgRAIAJBCGpBtJjBABDJBgsgAigCDCAGaiIKIAg2AgAgCkEEaiAHNgIAIAIgBEEBaiIENgIQIAZBCGohBiADIARHDQALIAIoAgwhAyACKAIIIgFBgICAgHhHDQILIABBgYCAgHg2AgAgACADNgIEDAILQQQgBkGkmMEAEPkLAAsgACAENgIIIAAgAzYCBCAAIAE2AgALIAJBIGokAAudBAEFfyMAQeAAayICJAACQAJAAkAgAARAIABBEGsiASgCACIEQQFqIQMgASADNgIAIANFDQEgACgCAA0CIAAoAswEIQMgAEECNgLMBCABIAQ2AgBBACEBIANBAkcEQCACQQhqIgFBEGoiBCAAQeAEaikDADcDACABQQhqIgUgAEHYBGopAwA3AwAgAiAAKQPQBDcDCCACQSBqIgFBPGogAEHIBGooAgA2AgAgAUE0aiAAQcAEaikCADcCACABQSxqIABBuARqKQIANwIAIAFBJGogAEGwBGopAgA3AgAgAUEcaiAAQagEaikCADcCACABQRRqIABBoARqKQIANwIAIAJBLGogAEGYBGopAgA3AgAgAiAAKQKQBDcCJEHoAEEIENQMIgBFDQQgAEEANgIIIABCgYCAgBA3AwAgACACKQIgNwIMIABBFGogAUEIaikCADcCACAAQRxqIAFBEGopAgA3AgAgAEEkaiACQThqKQIANwIAIABBLGogAkFAaykCADcCACAAQTRqIAJByABqKQIANwIAIABBPGogAkHQAGopAgA3AgAgAEHEAGogAkHYAGopAgA3AgAgACADNgJMIABB4ABqIAQpAwA3AwAgAEHYAGogBSkDADcDACAAIAIpAwg3A1AgAEEIaiEBCyACQeAAaiQAIAEPCxCvDQsACxCwDQALQQhB6ABB8PrDACgCACIAQe8HIAAbEQAAAAudBAEFfyMAQeAAayICJAACQAJAAkAgAARAIABBEGsiASgCACIEQQFqIQMgASADNgIAIANFDQEgACgCAA0CIAAoAqQFIQMgAEECNgKkBSABIAQ2AgBBACEBIANBAkcEQCACQQhqIgFBEGoiBCAAQbgFaikDADcDACABQQhqIgUgAEGwBWopAwA3AwAgAiAAKQOoBTcDCCACQSBqIgFBPGogAEGgBWooAgA2AgAgAUE0aiAAQZgFaikCADcCACABQSxqIABBkAVqKQIANwIAIAFBJGogAEGIBWopAgA3AgAgAUEcaiAAQYAFaikCADcCACABQRRqIABB+ARqKQIANwIAIAJBLGogAEHwBGopAgA3AgAgAiAAKQLoBDcCJEHoAEEIENQMIgBFDQQgAEEANgIIIABCgYCAgBA3AwAgACACKQIgNwIMIABBFGogAUEIaikCADcCACAAQRxqIAFBEGopAgA3AgAgAEEkaiACQThqKQIANwIAIABBLGogAkFAaykCADcCACAAQTRqIAJByABqKQIANwIAIABBPGogAkHQAGopAgA3AgAgAEHEAGogAkHYAGopAgA3AgAgACADNgJMIABB4ABqIAQpAwA3AwAgAEHYAGogBSkDADcDACAAIAIpAwg3A1AgAEEIaiEBCyACQeAAaiQAIAEPCxCvDQsACxCwDQALQQhB6ABB8PrDACgCACIAQe8HIAAbEQAAAAuVBAILfwN+IwBBEGsiByQAIAEpAxAhDiABLQAYIQsCfyABKAIEIgVFBEBBsL7CACEDQQAhBUEADAELAn8CQCAFQQFqrUIMfiINQiCIpw0AIA2nIgJBeEsNACAFQQlqIgQgAkEHakF4cSIDaiECIAIgA0kNACACQfj///8HSw0AIAJBCBDUDCIGRQRAQQggAkHw+sMAKAIAIgBB7wcgABsRAAAACyADIAZqDAELENAKIAcoAgAiBUEJaiEEQQALIQMgASgCACECIAQEQCADIAIgBPwKAAALIAEoAgwiCARAIAJBCGohBCACKQMAQn+FQoCBgoSIkKDAgH+DIQ0gCCEJIAIhBgNAIA1QBEADQCAGQeAAayEGIAQpAwAhDSAEQQhqIQQgDUKAgYKEiJCgwIB/gyINQoCBgoSIkKDAgH9RDQALIA1CgIGChIiQoMCAf4UhDQsgBiANeqdBA3ZBdGxqIgpBDGspAgAhDyADIAIgCmtBdG1BDGxqIgxBBGsgCkEEay0AADoAACAMQQxrIA83AgAgDUIBfSANgyENIAlBAWsiCQ0ACwsgASgCCAshAkEgQQgQ1AwiAQRAIAEgCzoAGCABIA43AxAgASAINgIMIAEgAjYCCCABIAU2AgQgASADNgIAIABBuNnCADYCBCAAIAE2AgAgB0EQaiQADwtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAALlQQCC38DfiMAQRBrIgckACABKQMQIQ4gAS0AGCELAn8gASgCBCIFRQRAQbC+wgAhA0EAIQVBAAwBCwJ/AkAgBUEBaq1CDH4iDUIgiKcNACANpyICQXhLDQAgBUEJaiIEIAJBB2pBeHEiA2ohAiACIANJDQAgAkH4////B0sNACACQQgQ1AwiBkUEQEEIIAJB8PrDACgCACIAQe8HIAAbEQAAAAsgAyAGagwBCxDQCiAHKAIAIgVBCWohBEEACyEDIAEoAgAhAiAEBEAgAyACIAT8CgAACyABKAIMIggEQCACQQhqIQQgAikDAEJ/hUKAgYKEiJCgwIB/gyENIAghCSACIQYDQCANUARAA0AgBkHgAGshBiAEKQMAIQ0gBEEIaiEEIA1CgIGChIiQoMCAf4MiDUKAgYKEiJCgwIB/UQ0ACyANQoCBgoSIkKDAgH+FIQ0LIAYgDXqnQQN2QXRsaiIKQQxrKQIAIQ8gAyACIAprQXRtQQxsaiIMQQRrIApBBGstAAA6AAAgDEEMayAPNwIAIA1CAX0gDYMhDSAJQQFrIgkNAAsLIAEoAggLIQJBIEEIENQMIgEEQCABIAs6ABggASAONwMQIAEgCDYCDCABIAI2AgggASAFNgIEIAEgAzYCACAAQYTfwgA2AgQgACABNgIAIAdBEGokAA8LQQhBIEHw+sMAKAIAIgBB7wcgABsRAAAAC7MEAgV9An8gACgCOCIKKAIIIQkgCigCACAJa0EBTQRAIAogCUECQQRBBBDjBCAKKAIIIQkLIAooAgQgCUECdGogASkCADcCACAKIAlBAmoiCTYCCCAKKAIAIAlrQQFNBEAgCiAJQQJBBEEEEOMEIAooAgghCQsgCiAJQQJqNgIIIAooAgQgCUECdGogAikCADcCACADKgIMIQQgAyoCCCEFIAMqAgQhByADKgIAIQYgACgCPCIAKAIIIQMgACgCACADa0EHTQRAIAAgA0EIQQRBBBDjBCAAKAIIIQMLIAAgA0EIajYCCCAAKAIEIANBAnRqIgAgBDgCHCAAIAQ4AgwgBiAGQwAAtEOVjkMAALRDlJNDAABwQpUiBEMAAAA/lI4hBiAAIAUgB0MAAIA/IAUgBZJDAACAv5KLk5QiBUMAAAA/lJMiByAFQwAAgD8gBCAGIAaSk0MAAIC/kouTlCIGIAYgBSAFQwAAAAAgBEMAAABAXSAEQwAAgD9gcSIBGyAEQwAAQEBdIARDAAAAQGBxIgMbIARDAACAQF0gBEMAAEBAYHEiAhsgBEMAAIA/XSAEQwAAAABgcSIJG5IiCDgCFCAAIAcgBiAGQwAAAABDAAAAACAFIAMbIAIbIARDAACgQF0gBEMAAIBAYHEiAxsgARuSIgQ4AhAgACAIOAIEIAAgBDgCACAAIAdDAAAAAEMAAAAAIAUgBSAGIAIbIAMbIAEbIAkbkiIEOAIYIAAgBDgCCAvSAwMJfQJ+AX8gAwRAAn8gASkCACIOp74gACoCACIIkyIFIAWUIA5CIIinviAAKgIEIgqTIgYgBpSSIgdDAAAAAF5FBEBBACEBQQAMAQsgBiAHkSILlbwhASAFIAuVvAshEAJAIAIpAgAiDqe+IAiTIgUgBZQgDkIgiKe+IAqTIgYgBpSSIghDAAAAAF5FDQAgB0MAAAAAXkUNACAAKQIAIQ9DAACAPyADsyIKlSAGIAiRIgaVIgcgEL4iCJQgBSAGlSIFIAG+IgmUkyAFIAiUIAcgCZSSEMMNlCIHEL4BIQUgBxC7ASEHIANBAWsiAkUNACAGIAuTIAqVIQYgBCgCCCIAQQN0IQMgEK0gAa1CIIaEIQ4gD0IgiKe+IQggD6e+IQoDQCAHIA6nviIJlCAFIA5CIIinviIMlJIiDbytQiCGIQ4gBSAJlCAHIAyUkyIJvK0hDyAGIAuSIgsgDZQgCJIhDCALIAmUIAqSIQkgBCgCACAARgRAIARBgLTDABDJBgsgDiAPhCEOIAQgAEEBaiIANgIIIAQoAgQgA2oiASAJOAIAIAFBBGogDDgCACADQQhqIQMgAkEBayICDQALCw8LQdCzwwBBHkHws8MAEPkKAAuRBQIHfwN+IwBB0ABrIgUkAAJAAkACQAJAIABFDQAgAEEIayIHKAIAQQFqIQQgByAENgIAIARFDQEgACgCACIEQX9GDQIgACAEQQFqNgIAIAUgBzYCHCAFIAA2AhggBSAAQQRqIgY2AhQgAUUNACABQQhrIggoAgBBAWohBCAIIAQ2AgAgBEUNASABKAIAIgRBf0YNAiABIARBAWo2AgAgBSAINgIoIAUgATYCJCAFIAFBBGoiCjYCICACRQ0AIAJBCGsiCSgCAEEBaiEEIAkgBDYCACAERQ0BIAIoAgAiBEF/Rg0CIAIgBEEBajYCACAFIAk2AjQgBSACNgIwIAUgAkEEajYCLCAFIAYpAgA3AzggBSAKKQIANwNAIAUgAikCBDcDSCAFQQhqIQYgBUHIAGopAgAhCyAFQUBrKQIAIQwgBUE4aikCACENQSRBBBDUDCIERQRAQQRBJEHw+sMAKAIAIgBB7wcgABsRAAAACyAEIAM4AiAgBCALNwIYIAQgDDcCECAEIA03AgggBEKBgICAEDcCACAGQfSfwwA2AgQgBiAENgIAIAUoAgwhBCAFKAIIIQYgAiACKAIAQQFrNgIAIAkgCSgCAEEBayICNgIAIAJFBEAgBUE0ahDNCwsgASABKAIAQQFrNgIAIAggCCgCAEEBayIBNgIAIAFFBEAgBUEoahDNCwsgACAAKAIAQQFrNgIAIAcgBygCAEEBayIANgIAIABFBEAgBUEcahDNCwtBFEEEENQMIgBFDQMgACAGNgIMIABBADYCCCAAQoGAgIAQNwIAIAAgBDYCECAFQdAAaiQAIABBCGoPCxCvDQsACxCwDQALQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAAC9UDAwJ/BH0CfiMAQUBqIgYkACAGIAEpAgg3AwggASoCDCEIIAEqAgghCSAGQSBqIgcgAiAGQQhqIAMoAjARAQAgBkEYaiAHQQhqKAIANgIAIAYgBikCICIMNwMQAn4gDKe+IAmTIgkgCZQgDEIgiKe+IAiTIgggCJSSIgpDAACAKF4EQCAIIAqRIgiVIQogCSAIlSEJIAYtABhFBEAgCCAEkyEIIAm8QYCAgIB4c60gCrxBgICAgHhzrUIghoQMAgsgCIwgBJMhCCAJvK0gCrytQiCGhAwBCyAGKgIUIQkgBioCECEKIAZBNGogAiAGKAIsIAYoAjAgBkEQaiADKALAAREHACAEjCEIIAYoAjRFBEBCgICAgICAgMA/IAogCpQgCSAJlJIiC0MAAIAoXkUNARogCiALkSIKlbytIAkgCpW8rUIghoQMAQsgBikCOAshDUEAIQMgACAFIAhgBH8gACAIOAIkIAAgDTcCFCAAIAw3AgQgACAEIAEqAgQiBSANp74iCJQgASoCACIJIA1CIIinviIKlJMiC5Q4AhAgACAEIAkgCIyUIAUgCpSTIgSUOAIMIAAgBLytIAu8rUIghoQ3AhxBAQVBAAs2AgAgBkFAayQAC4wEAgl/AX4jAEFAaiIFJAACQAJAAkACQCAARQ0AIABBCGsiCSgCAEEBaiEHIAkgBzYCACAHRQ0BIAAoAgAiB0F/Rg0CIAAgB0EBajYCACAFIAk2AhQgBSAANgIQIAUgAEEEaiIKNgIMIAJFDQAgAkEIayIHKAIAQQFqIQggByAINgIAIAhFDQEgAigCACIIQX9GDQIgAiAIQQFqNgIAIAUgBzYCICAFIAI2AhwgBSACQQRqIgs2AhggA0UNACADQQhrIggoAgBBAWohBiAIIAY2AgAgBkUNASADKAIAIgZBf0YNAiADIAZBAWo2AgAgBSAINgIsIAUgAzYCKCAFIANBBGo2AiQgCiABvSIOpyAOQiCIpxDmCiIGRQ0DIAYoAiAhCiAGKAIkIgwoAgghDSALKQIAIQ4gBSADKQIENwM4IAUgDjcDMCAKIA1BAWtBeHFqQQhqIAYgBUEwaiAEIAwoAiAREwAhBiADIAMoAgBBAWs2AgAgCCAIKAIAQQFrIgM2AgAgA0UEQCAFQSxqEM0LCyACIAIoAgBBAWs2AgAgByAHKAIAQQFrIgI2AgAgAkUEQCAFQSBqEM0LCyAAIAAoAgBBAWs2AgAgCSAJKAIAQQFrIgA2AgAgAEUEQCAFQRRqEJILCyAFQUBrJAAgBg8LEK8NCwALELANAAtBnL/BAEHMAEHov8EAEPgJAAuKBQIHfwN+IwBB0ABrIgMkAAJAAkACQAJAIABFDQAgAEEIayIGKAIAQQFqIQQgBiAENgIAIARFDQEgACgCACIEQX9GDQIgACAEQQFqNgIAIAMgBjYCHCADIAA2AhggAyAAQQRqIgU2AhQgAUUNACABQQhrIgcoAgBBAWohBCAHIAQ2AgAgBEUNASABKAIAIgRBf0YNAiABIARBAWo2AgAgAyAHNgIoIAMgATYCJCADIAFBBGoiCTYCICACRQ0AIAJBCGsiCCgCAEEBaiEEIAggBDYCACAERQ0BIAIoAgAiBEF/Rg0CIAIgBEEBajYCACADIAg2AjQgAyACNgIwIAMgAkEEajYCLCADIAUpAgA3AzggAyAJKQIANwNAIAMgAikCBDcDSCADQQhqIQUgA0HIAGopAgAhCiADQUBrKQIAIQsgA0E4aikCACEMQSBBBBDUDCIERQRAQQRBIEHw+sMAKAIAIgBB7wcgABsRAAAACyAEIAo3AhggBCALNwIQIAQgDDcCCCAEQoGAgIAQNwIAIAVB0OLCADYCBCAFIAQ2AgAgAygCDCEEIAMoAgghBSACIAIoAgBBAWs2AgAgCCAIKAIAQQFrIgI2AgAgAkUEQCADQTRqEM0LCyABIAEoAgBBAWs2AgAgByAHKAIAQQFrIgE2AgAgAUUEQCADQShqEM0LCyAAIAAoAgBBAWs2AgAgBiAGKAIAQQFrIgA2AgAgAEUEQCADQRxqEM0LC0EUQQQQ1AwiAEUNAyAAIAU2AgwgAEEANgIIIABCgYCAgBA3AgAgACAENgIQIANB0ABqJAAgAEEIag8LEK8NCwALELANAAtBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAAL1AMDCX0FfwJ+IAEpAggiEaciDr4iAyABKQIAIhKnIgy+IgSTIQYgEUIgiKciAb4gEkIgiKciDb4iB5MhCAJAAkAgAioCACIFIASTIAaUIAIqAgQiCSAHkyAIlJIiCkMAAAAAXwRAIAQhAyAMIQ4gDSEBQQAhDQwBCyAKIAYgBpQgCCAIlJIiC2AEQEEBIQ0MAQsgC0MAAAAAWw0BQwAAgD8gCiALlSIDk7whDSAIIAOUIAeSvCEBIAYgA5QgBJIiA7whDkEBIQ8LAkACQCADIAVbDQBBACEMIAWLIgRDAACAf1sNASADiyIHQwAAgH9bDQEgAyAFk4siA0MAAAA0Xw0AIAMgBCAHIAQgB14bQwAAADSUX0UNAQtBASEMIAG+IgMgCVsNAEEAIQwgCYsiBEMAAIB/Ww0AIAOLIgVDAACAf1sNAEEBIQwgAyAJk4siA0MAAAA0Xw0AIAMgBCAFIAQgBV4bQwAAADSUXyEMCyAAIA8Ef0EBIRAgCCACKQIAIhGnviAOvpOUIAYgEUIgiKe+IAG+k5STQwAAAABgRQUgDQs2AhAgACAQNgIMIAAgDDYCCCAAIA6tIAGtQiCGhDcCAA8LQdj4wgBBHkH4+MIAEPkKAAuWBAIMfwN+IwBBEGsiCCQAIAEpAxAhDyABLQAYIQwCfyABKAIEIgVFBEBBsL7CACEDQQAhBUEADAELAn8CQCAFQQFqIgJB/////wBLDQAgBUEJaiIEIAJBBHQiA2ohAiACIANJDQAgAkH4////B0sNACACQQgQ1AwiBkUEQEEIIAJB8PrDACgCACIAQe8HIAAbEQAAAAsgAyAGagwBCxDQCiAIKAIAIgVBCWohBEEACyEDIAEoAgAhAiAEBEAgAyACIAT8CgAACyABKAIMIgkEQCACQQhqIQQgAikDAEJ/hUKAgYKEiJCgwIB/gyEOIAkhCiACIQYDQCAOUARAA0AgBkGAAWshBiAEKQMAIQ4gBEEIaiEEIA5CgIGChIiQoMCAf4MiDkKAgYKEiJCgwIB/UQ0ACyAOQoCBgoSIkKDAgH+FIQ4LIAYgDnqnQQF0QfABcWsiB0EQaykCACEQIAdBCGsoAgAhDSADIAcgAmtqIgtBBGsgB0EEay0AADoAACALQQhrIA02AgAgC0EQayAQNwIAIA5CAX0gDoMhDiAKQQFrIgoNAAsLIAEoAggLIQJBIEEIENQMIgEEQCABIAw6ABggASAPNwMQIAEgCTYCDCABIAI2AgggASAFNgIEIAEgAzYCACAAQfzXwgA2AgQgACABNgIAIAhBEGokAA8LQQhBIEHw+sMAKAIAIgBB7wcgABsRAAAAC5YEAgx/A34jAEEQayIIJAAgASkDECEPIAEtABghDAJ/IAEoAgQiBUUEQEGwvsIAIQNBACEFQQAMAQsCfwJAIAVBAWoiAkH/////AEsNACAFQQlqIgQgAkEEdCIDaiECIAIgA0kNACACQfj///8HSw0AIAJBCBDUDCIGRQRAQQggAkHw+sMAKAIAIgBB7wcgABsRAAAACyADIAZqDAELENAKIAgoAgAiBUEJaiEEQQALIQMgASgCACECIAQEQCADIAIgBPwKAAALIAEoAgwiCQRAIAJBCGohBCACKQMAQn+FQoCBgoSIkKDAgH+DIQ4gCSEKIAIhBgNAIA5QBEADQCAGQYABayEGIAQpAwAhDiAEQQhqIQQgDkKAgYKEiJCgwIB/gyIOQoCBgoSIkKDAgH9RDQALIA5CgIGChIiQoMCAf4UhDgsgBiAOeqdBAXRB8AFxayIHQRBrKQIAIRAgB0EIaygCACENIAMgByACa2oiC0EEayAHQQRrLQAAOgAAIAtBCGsgDTYCACALQRBrIBA3AgAgDkIBfSAOgyEOIApBAWsiCg0ACwsgASgCCAshAkEgQQgQ1AwiAQRAIAEgDDoAGCABIA83AxAgASAJNgIMIAEgAjYCCCABIAU2AgQgASADNgIAIABB8NrCADYCBCAAIAE2AgAgCEEQaiQADwtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAAL+AMDBH8BfgJ9IAAoAgQhBCAAKAIIIgWtIQYgASgCACIBKAIIIQIgASgCACACa0EHTQRAIAEgAkEIQQFBARDjBCABKAIIIQILIAEgAkEIaiIDNgIIIAEoAgQgAmogBjcAACAFBEAgBCAFQQN0aiEFA0AgBEEEaioCACEHIAQqAgAhCCABKAIAIANrQQNNBEAgASADQQRBAUEBEOMEIAEoAgghAwsgASgCBCADaiAIOAAAIAEgA0EEaiICNgIIIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABIAJBBGoiAzYCCCABKAIEIAJqIAc4AAAgBSAEQQhqIgRHDQALCyAAKAIQIQQgACgCFCIArSEGIAEoAgAgA2tBB00EQCABIANBCEEBQQEQ4wQgASgCCCEDCyABIANBCGoiAjYCCCABKAIEIANqIAY3AAAgAARAIAQgAEEDdGohAANAIARBBGoqAgAhByAEKgIAIQggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogCDgAACABIAJBBGoiAzYCCCABKAIAIANrQQNNBEAgASADQQRBAUEBEOMEIAEoAgghAwsgASADQQRqIgI2AgggASgCBCADaiAHOAAAIAAgBEEIaiIERw0ACwtBAAvDAwIBfwp9IwBBQGoiCCQAIAggASoCACIJIAQqAgQiC5QgASoCBCIKIAQqAgAiDJSTOAIMIAggCSAMlCAKIAuUkjgCCCAIIAkgBCoCCCINIAEqAggiD5MiDpQgCiAEKgIMIhAgASoCDCIRkyISlJK8rSAJIBKUIAogDpSTvK1CIIaENwIQIAhBGGpBASAIQQhqIAIgAyAFIAYgBxBiAkAgCCgCGCIBQQJGDQAgAUEBcUUNACAIIBEgCiAIKgIcIgeUIAkgCCoCICIOlJKSOAIgIAggDyAJIAeUIAogDpSTkjgCHCAIIA0gDCAIKgIkIgeUIAsgCCoCKCINlJOSOAIkIAggECALIAeUIAwgDZSSkjgCKCAIIAkgCCoCLCIHlCAKIAgqAjAiDZSTvK0gCiAHlCAJIA2UkrytQiCGhDcCLCAIIAwgCCoCNCIHlCALIAgqAjgiCZSTvK0gCyAHlCAMIAmUkrytQiCGhDcCNAsgACAIKQIYNwIAIABBIGogCEEYaiIBQSBqKQIANwIAIABBGGogAUEYaikCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIAIAhBQGskAAuXBAIHfwF+IwBBMGsiAiQAAkAgASgCBCIDRQRAIABBgICAgHg2AgAMAQsgASADQQFrNgIEAkACQAJAAn8gASgCACIGKAIEIgRBB00EQCACQoHKADcDGCACQRhqEMcLIQNBAQwBCyAGIARBCGsiBDYCBCAGIAYoAgAiAUEIajYCACACIAEpAAAQtwYgAigCBCEDIAIoAgALQQFxDQAgA0UEQEEEIQNBACEBQQAhBAwDC0GAgBAgAyADQYCAEE8bIgFBAnQiBUEEENQMIgdFDQEgAiAHNgIQIAIgATYCDCACQQA2AhQgBigCACEFQQAhAQNAAkACfyAEQQdNBEAgAkKBygA3AxggAkEYahDHCwwBCyAGIARBCGsiBDYCBCAGIAVBCGoiBzYCACAFKQAAIglCgICAgBBUDQEgAkEBOgAYIAIgCTcDICACQRhqIAJBL2pBmJfBABCNCQshAyACKAIMIgFFDQIgAigCECABQQJ0QQQQnw0MAgsgCachBSACKAIMIAFGBEAgAkEMakG0mMEAEMcGCyACKAIQIAhqIAU2AgAgAiABQQFqIgE2AhQgCEEEaiEIIAchBSABIANHDQALIAIoAhAhAyACKAIMIgRBgICAgHhHDQILIABBgYCAgHg2AgAgACADNgIEDAILQQQgBUGkmMEAEPkLAAsgACABNgIIIAAgAzYCBCAAIAQ2AgALIAJBMGokAAuPBAEJfyMAQSBrIgIkAAJ/IAEoAgQiBEEHTQRAIAJCgcoANwMIQQEhAyACQQhqEMcLDAELIAEgBEEIayIENgIEIAEgASgCACIFQQhqNgIAIAIgBSkAABC3BiACKAIAIQMgAigCBAshBQJAIANBAXEEQCAAQYCAgIB4NgIAIAAgBTYCBAwBCwJ/AkACQAJAIAVFBEAgAkEANgIQIAJCgICAgMAANwIIDAELQYCACCAFIAVBgIAITxsiA0EDdCIGQQQQ1AwiB0UNASACIAc2AgwgAiADNgIIQQAhAyACQQA2AhAgASgCACEJQQAhBgNAIARBBEkNAyABIARBBGsiBDYCBCABIAMgCWoiCEEEaiIHNgIAIARBBEkEQCACQoHKADcDGCACQRhqEMcLDAULIAgoAAAhCCABIARBBGsiBDYCBCABIAdBBGo2AgAgBygAACEHIAIoAgggBkYEQCACQQhqQbSYwQAQyQYLIAIoAgwgA2oiCiAINgIAIApBBGogBzYCACACIAZBAWoiBjYCECADQQhqIQMgBSAGRw0ACwsgACACKQIINwIAIABBCGogAkEQaigCADYCAAwDC0EEIAZBpJjBABD5CwALIAJCgcoANwMYIAJBGGoQxwsLIQEgAEGAgICAeDYCACAAIAE2AgQgAigCCCIARQ0AIAIoAgwgAEEDdEEEEJ8NCyACQSBqJAALngQDCH0CfgF/IwBBIGsiDiQAIA5BCGogAUEIaikCACINNwMAIA4gASkCACIMNwMAIA2nviIFIAynviIGkyEKIA1CIIinviIIIAxCIIinviIEkyELAkACQAJAAkAgAioCACAGkyAKlCACKgIEIASTIAuUkiIJQwAAAABfBEAgBCEIIAYhBQwBCyAKIAqUIAsgC5SSIgcgCV8NACAHQwAAAABbDQEgCyAJIAeVIgWUIASSIQggCiAFlCAGkiEFCyACKQIAIgynviAFkyIJIAmUIAxCIIinviAIkyIHIAeUkiIEQwAAgCheBEAgASoCECIGIASRIgRgIgEgA0EAR3FFBEAgACABOgAIIAAgByAElSAGlCAIkjgCBCAAIAkgBJUgBpQgBZI4AgAMBAsgACAMNwIAIABBAToACAwDCyADDQEgDkEUaiICIA4pAggiDKe+IA4qAgCTIgcgB5QgDEIgiKe+IA4qAgSTIgYgBpSSIgRDAACAKF4EfyACIAYgBJEiBJW8rSAHjCAElbytQiCGhDcCBEEBBUEACzYCAAJ9IA4oAhQEQCABKgIQIgQgDikCGCIMp76UIAWSIQUgBCAMQiCIp76UDAELIAVDAAAAAJIhBSABKgIQCyEEIABBAToACCAAIAW8rSAEIAiSvK1CIIaENwIADAILQZDowQBBHkGw6MEAEPkKAAsgACAMNwIAIABBAToACAsgDkEgaiQAC/gDAgZ/AX4jAEEgayICJAAgACgCWCEHIAAoAlwhBiACIAFCgICAgHCDIgggAUIBfEL/////D4OENwMYIAJBDGogACACQRhqEK4DAkACQCACKAIMQQFGBEAgAigCECIEIAZPDQEgAigCFCIFQYACTw0CIAcgBEEIdGogBWotAABBEEchAwsgAiAIIAFC/////w98Qv////8Pg4Q3AxggAkEMaiAAIAJBGGoQrgMCQAJAIAIoAgwEQCACKAIQIgQgBk8NASACKAIUIgVBgAJPDQIgAyADQQJyIAcgBEEIdGogBWotAABBEEYbIQMLIAIgAUKAgICAEHw3AxggAkEMaiAAIAJBGGoQrgMgAigCDEEBRgRAIAIoAhAiBCAGTw0DIAIoAhQiBUH/AUsNBCADIANBBHIgByAEQQh0aiAFai0AAEEQRhshAwsgAiABQoCAgIBwgyABQv////8Pg4RCgICAgBB9NwMYIAJBDGogACACQRhqEK4DIAIoAgxBAUYEQCACKAIQIgQgBk8NASACKAIUIgVB/wFLDQIgAyADQQhyIAcgBEEIdGogBWotAABBEEYbIQMLIAJBIGokACADDwsgBCAGQdyrwwAQsAkACyAFQYACQeyrwwAQsAkACyAEIAZBvKvDABCwCQALIAVBgAJBzKvDABCwCQAL5AMDCH0BfwJ+IwBBQGoiBCQAIAAoAgAhDiAAKAIEIQUCQCABBEAgBCABKgIAIgYgBSoCBCIJlCABKgIEIgggBSoCACIHlJM4AjQgBCAGIAeUIAggCZSSOAIwIAQgBiAFKgIIIAEqAgiTIgmUIAggBSoCDCABKgIMkyIHlJK8rSAGIAeUIAggCZSTvK1CIIaENwI4DAELIARBOGogBUEIaikCADcDACAEIAUpAgA3AzALIARBCGogDiAEQTBqIAIgAyAAKAIIIAAoAgwgACgCECoCABBiAkAgBCgCCCICQQJGDQAgAkEBcUUNACAEKgIsIQ0gBCkCJCEPIAQqAiAhBiAEKgIcIQcgBCkCFCEQIAQqAhAhCCAEKgIMIQogACgCFCICKAIAQQFxBEAgDSACKgIoXUUNAQsCQCABRQRAIAYhCSAIIQYMAQsgASoCACILIAaUIAEqAgQiDCAHlJIhCSALIAeUIAwgBpSTIQcgASoCDCAIIAuUIAogDJSSkiEGIAEqAgggCiALlCAIIAyUk5IhCgsgACgCGCgCACEAIAIgDTgCKCACIA83AiAgAiAJOAIcIAIgBzgCGCACIBA3AhAgAiAGOAIMIAIgCjgCCCACIAA2AgQgAkEBNgIACyAEQUBrJAALsgMCDH0BfiAAKQIIIhCnviIKIAAqAgAiBJMiByAHlCAQQiCIp74iCyAAKgIEIgaTIgwgDJSSIQUCQAJAIAIqAgAgASoCCJMiCSABKgIAIgiUIAIqAgQgASoCDJMiDSABKgIEIg+UkiIOIASTIAeUIAggDZQgCSAPlJMiCSAGkyAMlJIiCEMAAAAAXwRAIAYhCyAEIQoMAQsgBSAIXw0AIAVDAAAAAFsNASAGIAwgCCAFlSIGlJIhCyAEIAcgBpSSIQoLAn0gCSALkyIIIAiUIA4gCpMiDSANlJIiBEMAAIAoXgRAIAAqAhAhBSAEkSEHIAMEQEEBIQEgCSEGIA4gBSAHYA0CGgsgBSAHYCEBIAsgCCAHlSAFlJIhBiAKIA0gB5UgBZSSDAELQQEhASADBEAgCSEGIA4MAQsCfSAFQwAAgCheBEAgB4wgBZEiBpUgACoCECIFlCEEIAwgBpUgBZQMAQsgACoCECEEQwAAAAALIQUgCyAEkiEGIAogBZILIA6TIgQgBJQgBiAJkyIEIASUkpEiBCAEjCAEIAEbIAMbDwtB2PjCAEEeQfj4wgAQ+QoAC4oEAwF/An0BfiMAQUBqIgQkACACKgIEIQYgAioCACEFIAQgASgCACIBNgIYAkACQAJAAkACQCAFIAZbBEAgBYsgAb6UIQVBgICAgHghAQwBCyAEQRxqIARBGGogAxCiBAJAIAQoAiQiAUUNACAEKAIgIgMhAiABQQFxBEAgAiAFIAIpAgAiB6e+lDgCACACIAYgB0IgiKe+lDgCBCACQQhqIQILIAFB/////wFxQQFGDQAgAyABQQN0aiEBA0AgAiAFIAIpAgAiB6e+lDgCACACQQRqIAYgB0IgiKe+lDgCACACQQhqIgMpAgAhByADIAUgB6e+lDgCACACQQxqIAYgB0IgiKe+lDgCACABIAJBEGoiAkcNAAsLIARBKGogBEEcahDdASAEKAIoIgFBgICAgHhGDQEgBEEQaiAEQThqKQIANwMAIAQgBCkCMDcDCCAEKgIsIQULIAFBgICAgHhHBEBBGEEEENQMIgJFDQMgAiAFOAIEIAIgATYCACACIAQpAwg3AgggAkEQaiAEQRBqKQMANwIAQdiAwwAhAQwCC0EEQQQQ1AwiAkUNAyACIAU4AgBBvPXCACEBDAELQQAhAgsgACABNgIEIAAgAjYCACAEQUBrJAAPC0EEQRhB8PrDACgCACIAQe8HIAAbEQAAAAtBBEEEQfD6wwAoAgAiAEHvByAAGxEAAAALywMCDX0CfiADKgIAIAIqAggiEJMiCCACKgIAIgyUIAMqAgQgAioCDCIRkyIHIAIqAgQiDZSSIQkgASkCACISpyIEviEFIAEpAggiE6ciAb4iBiAFkyEKIBNCIIinIgK+IBJCIIinIgO+Ig+TIQsCQAJAIAkgBZMgCpQgDCAHlCAIIA2UkyIOIA+TIAuUkiIIQwAAAABfBEAgBSEGIAQhASADIQIMAQsgCiAKlCALIAuUkiIHIAhfDQAgB0MAAAAAWw0BIAsgCCAHlSIGlCAPkrwhAiAKIAaUIAWSIga8IQELAkACQCAGIAlbDQBBACEDIAmLIghDAACAf1sNASAGiyIHQwAAgH9bDQEgBiAJk4siBUMAAAA0Xw0AIAUgCCAHIAcgCF0bQwAAADSUX0UNAQtBASEDIAK+IgUgDlsNAEEAIQMgDosiB0MAAIB/Ww0AIAWLIgZDAACAf1sNAEEBIQMgBSAOk4siBUMAAAA0Xw0AIAUgByAGIAYgB10bQwAAADSUXyEDCyAAIAM6AAggACANIAG+IgaUIAwgAr4iBZSSIBGSOAIEIAAgECAMIAaUIA0gBZSTkjgCAA8LQdj4wgBBHkH4+MIAEPkKAAvoAwMIfQF/An4jAEEQayEMIAEpAgAiDUIgiKe+IAIqAgQiCZMiBUMAAAAAIAVDAAAAAGAbIAkgASkCCCIOQiCIp76TIgZDAAAAACAGQwAAAABgG5MhByANp74gAioCACIKkyIIQwAAAAAgCEMAAAAAYBsgCiAOp76TIgRDAAAAACAEQwAAAABgG5MiC0MAAAAAWyAHQwAAAABbcUUEQCAAIAc4AhAgACALOAIMIABBADoACCAAIAogC5K8rSAJIAeSvK1CIIaENwIADwsCQAJAIANFBEAgBCAIXg0BQ///f/8hBEEAIQEgCEP//3//XkUNAkEBIQEgCCEEDAILIABBAToACCAAIAc4AhAgACALOAIMIAAgAikCADcCAA8LQQAhASAEQ///f/9eDQBD//9//yEECwJAAkACQCAFIAZdRQRAIAQgBV1FDQEgDEEANgIMIAxBADYCCCAMQQhqIQIgBSEEDAMLIAQgBl1FDQAgDEEANgIMIAxBADYCCCAMQQhqIQIgBiEEDAELIAxBADYCDCAMQQA2AgggDEEMaiECIAENAQsgBIwhBAsgAiAEOAIAIABBAToACCAAIAwoAggiATYCECAAIAwoAgwiAjYCDCAAIAogAr6SvK0gCSABvpK8rUIghoQ3AgALtgMCD30BfiABKQIIIhSnviIKIAEqAgAiBpMiDiAOlCAUQiCIp74iCyABKgIEIgWTIg8gD5SSIQwCQAJAIAMqAgAgAioCCCISkyIJIAIqAgAiEJQgAyoCBCACKgIMIhOTIgggAioCBCIRlJIiByAGkyAOlCAQIAiUIAkgEZSTIg0gBZMgD5SSIghDAAAAAF8EQCAFIQsgBiEKDAELIAggDGANACAMQwAAAABbDQEgBSAPIAggDJUiBZSSIQsgBiAOIAWUkiEKCwJAIA0gC5MiCCAIlCAHIAqTIgYgBpSSIgVDAACAKF4EQCABKgIQIQkgBZEhBSAEBEBBASECIAUgCV8NAgsgBSAJXyECIAsgCCAFlSAJlJIhDSAKIAYgBZUgCZSSIQcMAQtBASECIAQNAAJ9IAxDAACAKF4EQCAOjCAMkSIGlSABKgIQIgWUIQcgDyAGlSAFlAwBCyABKgIQIQdDAAAAAAshBSALIAeSIQ0gCiAFkiEHCyAAIAI6AAggACARIAeUIBAgDZSSIBOSOAIEIAAgEiAQIAeUIBEgDZSTkjgCAA8LQdj4wgBBHkH4+MIAEPkKAAvJAwIHfQd/IAIqAgQhByACKgIAIQggASgCBCEMAkACQAJAAkAgASgCCCINDgICAQALIAggAyoCACIFlCAHIAMqAgQiBJSSIgYgDCoCCJQgCCAElCAHIAWUkyIFIAxBDGoqAgCUkiIEIAYgDCoCAJQgBSAMQQRqKgIAlJIiCV4iASELQQIhAyANQQJGDQAgBCAJIAEbIQQgDUH9////AWohDyAMQRBqIQEgDUH/////AXFBA0cEQCAPQf////8BcUEBakH+////A3EhEQNAIAYgASoCAJQgBSABQQRqKgIAlJIiCSAEXiEOIAYgAUEIaioCAJQgBSABQQxqKgIAlJIiCiAJIAQgDhsiBF4hECAKIAQgEBshBCADQQFqIAMgCyAOGyAQGyELIAFBEGohASADIBFHIQ4gA0ECaiEDIA4NAAsLIA9BAXENACADIAsgBiABKgIAlCAFIAFBBGoqAgCUkiAEXhshCwsgCyANTw0BIAAgAioCDCAHIAwgC0EDdGoiASoCACIGlCAIIAEqAgQiBZSSkjgCBCAAIAIqAgggCCAGlCAHIAWUk5I4AgAPC0EAQQBB2LTDABCwCQALIAsgDUGsl8MAELAJAAv3AwIIfwF9IwBBIGsiAiQAAkAgASgCBCIDRQRAIABBgICAgHg2AgAMAQsgASADQQFrNgIEAkACQAJAAn8gASgCACIFKAIEIgZBB00EQCACQoHKADcDCCACQQhqEMcLIQNBAQwBCyAFIAZBCGsiBjYCBCAFIAUoAgAiAUEIajYCACACIAEpAAAQtwYgAigCBCEDIAIoAgALQQFxDQAgA0UEQEEEIQNBACEBDAMLQYCAECADIANBgIAQTxsiAUECdCIEQQQQ1AwiB0UNASACIAc2AgwgAiABNgIIQQAhBCACQQA2AhAgBSgCACEIQQAhAQNAIAZBA00EQCACQQA6ABsgAkElOwAZIAJBADYCHCACQQE6ABggAkEYahDHCyEDIAIoAggiAUUNAiACKAIMIAFBAnRBBBCfDQwCCyAFIAZBBGsiBjYCBCAFIAQgCGoiCUEEajYCACAJKgAAIQogAigCCCABRgRAIAJBCGpBtJjBABDHBiACKAIMIQcLIAQgB2ogCjgCACACIAFBAWoiATYCECAEQQRqIQQgASADRw0ACyACKAIMIQMgAigCCCIEQYCAgIB4Rw0CCyAAQYGAgIB4NgIAIAAgAzYCBAwCC0EEIARBpJjBABD5CwALIAAgATYCCCAAIAM2AgQgACAENgIACyACQSBqJAAL9AMBC38jAEHQAGsiAyQAIANBKGogARC5AyABKAIwIgZBA3QhBAJAAkACQCAGQf////8BSw0AIARB/P///wdLDQAgASgCLCECAkAgBEUEQEEEIQcMAQtBBCEFIAYhCiAEQQQQ1AwiB0UNAQsgBARAIAcgAiAE/AoAAAsgASgCPCIEQQN0IQIgBEH/////AUsNASACQfz///8HSw0BIAEoAjghCAJAIAJFBEBBBCEFQQAhAQwBC0EEIQkgBCEBIAJBBBDUDCIFRQ0CCyACBEAgBSAIIAL8CgAACyADQSBqIgggA0EoaiICQSBqKQIANwMAIANBGGoiCSACQRhqKQIANwMAIANBEGoiCyACQRBqKQIANwMAIANBCGoiDCACQQhqKQIANwMAIAMgAykCKDcDAEHAAEEEENQMIgJFDQIgAiADKQMANwIAIAIgBDYCPCACIAU2AjggAiABNgI0IAIgBjYCMCACIAc2AiwgAiAKNgIoIAJBIGogCCkDADcCACACQRhqIAkpAwA3AgAgAkEQaiALKQMANwIAIAJBCGogDCkDADcCACAAQbyIwwA2AgQgACACNgIAIANB0ABqJAAPCyAFIARBkL/CABD5CwALIAkgAkGQv8IAEPkLAAtBBEHAAEHw+sMAKAIAIgBB7wcgABsRAAAAC4wEAgd/AX0jAEEQayICJAACQAJAIAEoAgQiA0UEQCAAQQI2AgAMAQsgASADQQFrNgIEAkAgASgCACIBKAIEIgVFBEAgAkKBygA3AwggAkEIahDHCyEBDAELIAEgBUEBazYCBCABIAEoAgAiA0EBajYCAAJAAkACQAJAAkAgAy0AACIEDgIDAAELIAVBBUkNAyABIAVBBWsiBDYCBCABIANBBWo2AgAgBEEESQRAIAJBADoACyACQSU7AAkgAkEANgIMIAJBAToACCACQQhqEMcLIQEMBQsgAygAASEGIAEgBUEJayIENgIEIAEgA0EJajYCACAEQQRPBEAgAyoABSEJIAEgBUENayIENgIEIAEgA0ENajYCACAEQQNLDQILIAJBADoACyACQSU7AAkgAkEANgIMIAJBAToACCACQQhqEMcLIQEMBAtBDEEEENQMIgFFDQUgASAENgIEIAFBhICAgHg2AgAMAwsgAygACSEHIAEgBUERazYCBCABIANBEWo2AgAgAygADSEIQQEhBAsgACAINgIQIAAgBzYCDCAAIAk4AgggACAGNgIEIAAgBDYCAAwCCyACQQA6AAsgAkElOwAJIAJBADYCDCACQQE6AAggAkEIahDHCyEBCyAAQQM2AgAgACABNgIECyACQRBqJAAPC0EEQQxB8PrDACgCACIAQe8HIAAbEQAAAAusAwESfSAAIAIqAgwiBCABKgIEIgUgAioCACIGlCABKgIAIgcgAioCBCIIlJKSIgkgBCAIIAEqAggiDJQgBiABKgIMIguUkpIiBCAJIAIqAggiCiAHIAaUIAUgCJSTkiIPQwAAAACUIhKSIAQgCiAGIAyUIAggC5STkiIGQwAAAACUIhOSXhsiECADKgIMIgogBSADKgIAIg2UIAcgAyoCBCIOlJKSIgggCiALIA2UIAwgDpSSkiIKIAggAyoCCCIRIAcgDZQgBSAOlJOSIgVDAAAAAJQiFJIgCiARIAwgDZQgCyAOlJOSIgdDAAAAAJQiDJJeGyILIAsgEF8bOAIMIAAgDyAGIA8gCUMAAAAAlCILkiAGIARDAAAA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AkEEaq1CgICAgJArhDcDECACIAKtQoCAgICgK4Q3AwhBnLjCACgCACEAQZS4wgApAgAhCCACQgI3AlAgAkECNgJIIAJBhLjCADYCRCACQQo2AkAgAkHkt8IANgI8IAJBBDYCOCACIAg3AjAgAkIKNwIoIAJB5LfCADYCJCACQQA2AiAgAiAANgIcIAJBATYCGCACIAJBCGo2AkxByPrDACgCAEHItsMAQej6wwAoAgBBAkYiABsgAkEYakHM+sMAKAIAQbC2wwAgABsoAhARAAALIAUhAwsgAkHgAGokACADDwsgASADQZS3wgAQsAkACyABIANB9LbCABCwCQALIAEgA0GEt8IAELAJAAuRAwMGfQR/An4gACgCCCIHBEAgACgCBCIIKQIAIgtCIIinIQAgC6chCQJ/IAdBAUYEQCAJIQcgAAwBCyAHQQN0IQogAL4hASAJviECAn8gB0EBcQRAIAIhAyABIQUgCEEIagwBCyABIAgpAggiC0IgiKe+IgMgASADYBshBSABIAMgASADXxshASACIAunviIEIAIgBGAbIQMgAiAEIAIgBF8bIQIgCEEQagshACAKQRBHBEAgCCAKaiEJA0AgBSAAKQIAIgtCIIinviIEIAQgBV8bIgUgAEEIaikCACIMQiCIp74iBiAFIAZgGyEFIAEgBCABIARfGyIBIAYgASAGXxshASADIAunviIEIAMgBGAbIgMgDKe+IgYgAyAGYBshAyACIAQgAiAEXxsiAiAGIAIgBl8bIQIgCSAAQRBqIgBHDQALCyACvCEHIAO8IQkgBbwhACABvAshCCAJviAHvpNDAAAAP5QiASAAviAIvpNDAAAAP5QiAiABIAJfGw8LQajBwgBB0gBBjMLCABD4CQALxwMCAn8BfCMAQTBrIgMkAEGBASEEIAMgAigCAEEBcQR/IAIrAgQQAAVBgQELNgIQIAMgAigCDEEBcQR/IAIrAhAQAAVBgQELNgIUIAMgAisCIBAANgIcIAMgAisCKBAANgIgIAMgAUEEaiABIANBHGogA0EgahCpDCIENgIYIANBCGogA0EYaiABIANBEGogA0EUahDjCiADKAIMIQECQAJAAkACQCADKAIIQQFxRQRAIARBhAFPBEAgBBACCyADKAIgIgJBhAFPBEAgAhACCyADKAIcIgJBhAFPBEAgAhACCyAD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rUIwfiIOpyECAkACQAJAIA5CIIinDQAgAkH8////B0sNACABKAIEIQQCQCACRQRAQQQhCAwBC0EEIQYgCiELIAJBBBDUDCIIRQ0BCyACBEAgCCAEIAL8CgAACyABKAIUIgJBAnQhAyACQf////8DSw0BIANB/P///wdLDQEgASgCECEEAkAgA0UEQEEEIQlBACEGDAELQQQhByACIQYgA0EEENQMIglFDQILIAMEQCAJIAQgA/wKAAALIAEoAiAiBEEDdCEFIARB/////wFLDQIgBUH8////B0sNAiABKAIcIQwgASgCJCEDAkAgBUUEQEEEIQFBACEHDAELQQQhDSAEIQcgBUEEENQMIgFFDQMLIAUEQCABIAwgBfwKAAALIAAgAzYCJCAAIAQ2AiAgACABNgIcIAAgBzYCGCAAIAI2AhQgACAJNgIQIAAgBjYCDCAAIAo2AgggACAINgIEIAAgCzYCAA8LIAYgAkGQv8IAEPkLAAsgByADQZC/wgAQ+QsACyANIAVBkL/CABD5CwALngMCAX8CfSAAKgIEIQMgACoCACEEIAEoAgAiASgCCCECIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgI2AgggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogAzgAACABIAJBBGoiAjYCCCAAKgIMIQMgACoCCCEEIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgI2AgggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogAzgAACABIAJBBGoiAjYCCCAAKgIUIQMgACoCECEEIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEQQFBARDjBCABKAIIIQALIAEgAEEEajYCCCABKAIEIABqIAM4AABBAAueAwICfwJ9IAEqAgQhBCABKgIAIQUgACgCACICKAIIIQAgAigCACAAa0EDTQRAIAIgAEEEQQFBARDjBCACKAIIIQALIAIoAgQgAGogBTgAACAC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KQIUNwMAQcwAQQQQ1AwiAEUNBCAAIAM2AgwgAEEANgIIIABCgYCAgBA3AgAgACABKQMANwIQIABBGGogCSkDADcCACAAQSBqIAgpAwA3AgAgAEEoaiAHKQMANwIAIABBMGogBikDADcCACAAQThqIAUpAwA3AgAgAEFAayAEKQMANwIAIABByABqIAIoAgA2AgAgAEEIaiECCyABQUBrJAAgAg8LEK8NCwALELANAAtBBEHMAEHw+sMAKAIAIgBB7wcgABsRAAAAC7gDAQl/IwBBQGoiASQAAkACQAJAIAAEQCAAQRBrIgIoAgAiBEEBaiEDIAIgAzYCACADRQ0BIAAoAgANAiAAKALABSEDIABBgICAgHg2AsAFIAIgBDYCAEEAIQIgA0GAgICAeEcEQCABQThqIgIgAEH8BWopAgA3AwAgAUEwaiIEIABB9AVqKQIANwMAIAFBKGoiBSAAQewFaikCADcDACABQSBqIgYgAEHkBWopAgA3AwAgAUEYaiIHIABB3AVqKQIANwMAIAFBEGoiCCAAQdQFaikCADcDACABQQhqIgkgAEHMBWopAgA3AwAgASAAKQLEBTcDAEHQAEEEENQMIgBFDQQgACADNgIMIABBADYCCCAAQoGAgIAQNwIAIAAgASkDADcCECAAQRhqIAkpAwA3AgAgAEEgaiAIKQMANwIAIABBKGogBykDADcCACAAQTBqIAYpAwA3AgAgAEE4aiAFKQMANwIAIABBQGsgBCkDADcCACAAQcgAaiACKQMANwIAIABBCGohAgsgAUFAayQAIAIPCxCvDQsACxCwDQALQQRB0ABB8PrDACgCACIAQe8HIAAbEQAAAAuVAwEHfyMAQSBrIgQkACACIAAoAggiBUkEQCABQQxqIQYgACgCBCEHA0ACQCAHIAJBMGxqIgIoAhRB/////wNxQQFGBEAgBEEIaiIDQRBqIgggAkEQaikCADcDACADQQhqIgkgAkEIaikCADcDACAEIAIpAgA3AwggASgCFCIDIAEoAgxGBEAgBkGYzMIAEKwGCyABIANBAWo2AhQgASgCECADQRhsaiIDIAQpAwg3AgAgA0EIaiAJKQMANwIAIANBEGogCCkDADcCAAwBCyAAIAEgAigCCBDDAwsgAigCLEH/////A3FBAUYEQCAEQQhqIgBBEGoiBSACQShqKQIA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ByADKAIAIAJrQQNNBEAgAyACQQRBAUEBEOMEIAMoAgghAgsgAygCBCACaiAHOAAAIAMgAkEEaiICNgIIIAQqAiAhByADKAIAIAJrQQNNBEAgAyACQQRBAUEBEOMEIAMoAgghAgsgAyACQQRqNgIIIAMoAgQgAmogBzgAACABQdQAaiEGIAAoAgAiAygCCCECA0AgBSAGaiIEKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQRqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQhqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQxqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRBqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRRqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRhqLQAAIQQgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBDYAACADIAJBBGoiAjYCCCAFQRxqIgVB1ABHDQALIAEtAK0BIQQgACgCACICKAIIIQMgAyACKAIARgRAIAIgA0EBQQFBARDjBCACKAIIIQMLIAIgA0EBajYCCCACKAIEIANqIARBAXE6AAAgACgCACICKAIIIQMgAigCACADayEEAkACQAJAAkACQCABLQCsAUEBaw4CAQIAC0EAIQUgBEEESQ0CDAMLQQEhBSAEQQRJDQEMAgtBAiEFIARBA0sNAQsgAiADQQRBAUEBEOMEIAIoAgghAwsgAigCBCADaiAFNgAAIAIgA0EEajYCCCABKQMgIQggASkDKCEJIAAoAgAiACgCCCEBIAAoAgAgAWtBD00EQCAAIAFBEEEB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IAAgDSANIAYgAhsgBiAGXBsiBiAGIAcgBiAHXRsgByAHXBsgC5M4AgQgACADIAMgBCABGyAEIARcGyIDIAMgBSADIAVdGyAFIAVcGyALkzgCACARQSBqJAALuAICAn8BfiMAQdAAayICJAACQAJAAkAgAUUEQCAARQ0BIABBCGsiASgCAEEBRw0CIAJByABqIABBPGopAgA3AwAgAkFAayAAQTRqKQIANwMAIAJBOGogAEEsaikCADcDACACQTBqIABBJGopAgA3AwAgAkEoaiAAQRxqKQIANwMAIAJBIGogAEEUaikCADcDACACQRhqIABBDGopAgA3AwAgACkCBCEEIAFBADYCACACIAQ3AxACQCABQX9GDQAgAEEEayIDKAIAQQFrIQAgAyAANgIAIAANACABQcwAQQQQnw0LIAJBEGoQrwgMAwsgAEUNACAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENAiACQQxqEJYLDAILEK8NAAtBuMLBAEE/EK4NAAsgAkHQAGokAAvMAgECfwJAAkACQAJ/AkBBFEEEENQMIgMEQCADIAEpAgA3AgAgA0EQaiABQRBqKAIANgIAIANBCGogAUEIaikCADcCACAAKAKkASIBRQRAIAAgACgCuAFBwAByIgQ2ArgBIABBuAFqDAMLIAEoAgAiBCADKAIARw0BAkAgBARAIAEqAgQgAyoCBFwNAwwBCyABKgIEIAMqAgRcDQIgASoCCCADKgIIXA0CIAEqAgwgAyoCDFwNAiABKgIQIAMqAhBcDQILIANBFEEEEJ8NDAMLQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAACyAAIAAoArgBQcAAciIENgK4ASABQRRBBBCfDSAAQbgBagshASAAIAM2AqQBIAJFDQAgAC0A4QFBAUYNACAALQDQAQ0BDAILDwsgASAEQQRyNgIACyAAQQA2AswBIABBADoA0AELmgIBA38gACgCCCIDIQICf0EBIAFBgAFJDQAaQQIgAUGAEEkNABpBA0EEIAFBgIAESRsLIgQgACgCACADa0sEfyAAIAMgBBDBBiAAKAIIBSACCyAAKAIEaiECAkACQCABQYABTwRAIAFBgBBJDQEgAUGAgARPBEAgAiABQT9xQYABcjoAAyACIAFBEnZB8AFyOgAAIAIgAUEGdkE/cUGAAXI6AAIgAiABQQx2QT9xQYABcjoAAQwDCyACIAFBP3FBgAFyOgACIAIgAUEMdkHgAXI6AAAgAiABQQZ2QT9xQYABcjoAAQwCCyACIAE6AAAMAQsgAiABQT9xQYABcjoAASACIAFBBnZBwAFyOgAACyAAIAMgBGo2AghBAAvIAgEFfUP//39/IQVD//9//yEHAkAgASgCCEUEQEP//3//IQRD//9/fyEDDAELQ///f/8hBEP//39/IQMCQAJAIAEoAgQiASgCLEH/////A3EgASgCFEH/////A3FqDgICAAELIAEqAhAhByABKgIMIQQgASoCBCEFIAEqAgAhAwwBCyABKgIQIgQgASoCKCIDIAMgBF8bIQcgASoCDCIEIAEqAiQiAyADIARfGyEEIAEqAgQiAyABKgIcIgUgAyAFXxshBSABKgIAIgMgASoCGCIGIAMgBl8bIQMLIAAgByAFkyIGIAaUIAQgA5MiBiAGlJKRQwAAAD+UOAIIIAAgAioCDCACKgIAIgYgByAFkkMAAAA/lCIFlCACKgIEIgcgBCADkkMAAAA/lCIElJKSOAIEIAAgAioCCCAGIASUIAUgB5STkjgCAAvQAgEEfyMAQSBrIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEIIAAoAgAiBi0ACkGAAXFFBEAgBigCAEH74cMAQfjhwwAgCEEBcSIIG0ECQQMgCBsgBigCBCgCDBEFAA0BIAYoAgAgASACIAYoAgQoAgwRBQANASAGKAIAQcjhwwBBAiAGKAIEKAIMEQUADQEgAyAGIAQoAgwRAwAhBwwBCyAIQQFxRQRAIAYoAgBB/eHDAEEDIAYoAgQoAgwRBQANAQsgBUEBOgAPIAVB3OHDADYCFCAFIAYpAgA3AgAgBSAGKQIINwIYIAUgBUEPajYCCCAFIAU2AhAgBSABIAIQzAINACAFQcjhwwBBAhDMAg0AIAMgBUEQaiAEKAIMEQMADQAgBSgCEEGA4sMAQQIgBSgCFCgCDBEFACEHCyAAQQE6AAUgACAHOgAEIAVBIGokACAAC6gCAgd/An4gACgCBCIEBEAgACgCACEBIAAoAgwiBQRAIAFBCGohAiABKQMAQn+FQoCBgoSIkKDAgH+DIQggASEDA0AgCFAEQANAIANB4AFrIQMgAikDACEIIAJBCGohAiAIQoCBgoSIkKDAgH+DIghCgIGChIiQoMCAf1ENAAsgCEKAgYKEiJCgwIB/hSEICyAIQgF9IQkgAyAIeqdBA3ZBZGxqIgZBDGsoAgAiBwRAIAZBCGsoAgAgB0EDdEEEEJ8NCyAIIAmDIQggBUEBayIFDQALCyABIARBHGxBI2pBeHEiAWsgASAEakEJakEIEJ8NCyAAKAKIAiIBBEAgACgCjAIgAUECdEEEEJ8NCyAAKAKUAiIBBEAgACgCmAIgAUECdEEEEJ8NCwuUAgILfQJ+IAApAggiDqe+IgQgACkCACIPp74iCZMhBSAOQiCIp74iCiAPQiCIp74iA5MhBgJAAkAgAioCACABKgIIkyIMIAEqAgAiB5QgAioCBCABKgIMkyIIIAEqAgQiC5SSIg0gCZMgBZQgByAIlCAMIAuUkyILIAOTIAaUkiIHQwAAAABfBEAgAyEKIAkhBAwBCyAFIAWUIAYgBpSSIgggB18NACAIQwAAAABbDQEgBiAHIAiVIgSUIAOSIQogBSAElCAJkiEEC0EBIQECQCALIAqTIgMgA5QgDSAEkyIDIAOUkiIDQwAAgCheRQ0AIAAqAhAgA5FgDQBBACEBCyABDwtBkOjBAEEeQbDowQAQ+QoAC6sCAgR/AX4jAEEgayIEJAACQAJAAkACQCAABEAgAEEIayIFKAIAQQFqIQMgBSADNgIAIANFDQEgACgCACIDQX9GDQIgACADQQFqNgIAIAQgBTYCHCAEIAA2AhggBCAAQQhqIgM2AhQgAkECTQRAIARBCGogAyABvSIHpyAHQiCIpxDHCCAEKAIIIgNFDQQgBCgCDCIGIAMoAghPDQUgAygCBCAGQaACbGpByQFqLQAAIQNBASACdCECIAAgACgCAEEBazYCACAFIAUoAgBBAWsiADYCACAARQRAIARBHGoQjwsLIARBIGokACACQf8BcSIAIANxIABGDwtBiMPBAEEZEK4NAAsQrw0LAAsQsA0AC0GgvcEAQckAQey9wQAQ+AkAC0H8vcEAEKUNAAu/AgMEfwJ9AX4jAEEQayIDJAACQAJAAkACQCAABEAgAEEIayIEKAIAQQFqIQIgBCACNgIAIAJFDQEgACgCACICQX9GDQIgACACQQFqNgIAIAMgBDYCDCADIAA2AgggAyAAQQRqIgI2AgQgAiABvSIIpyAIQiCIpxDmCiICRQ0DIAIoAmQiBUEBRgRAIAIqAmghByACKgJsIQYLIAAgACgCAEEBazYCACAEIAQoAgBBAWsiADYCACAARQRAIANBDGoQkgsLQQAhACAFBEBBFEEEENQMIgBFDQUgACAGOAIQIAAgBzgCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqIQALIANBEGokACAADwsQrw0LAAsQsA0AC0Gcv8EAQcwAQei/wQAQ+AkAC0EEQRRB8PrDACgCACIAQe8HIAAbEQAAAAusBwILfwF+IwBBIGsiByQAAkACQAJAIAEEQCABQQhrIgkoAgBBAWohAyAJIAM2AgAgA0UNASABKAIAIgNBf0YNAiABIANBAWo2AgAgByAJNgIQIAcgATYCDCAHIAFBBGoiBDYCCCAHQRRqIQojAEGgC2siAyQAAkACQAJAAkAgBCACvSIOpyAOQiCIpxDmCiIEBEAgBEEgaigCACAEQSRqKAIAIgQoAghBAWtBeHFqQQhqIAQQ6AkiBEUNASADQcgAaiAEEL0EQQAhBCADQQA2AjQgA0EANgIgIANBGGogA0EgaiIFEKQBAn8gAygCGEEBcQRAIAMoAhwhDCADQeAFaiILIAUQtgJBBCADKALgBUEBaiIEQX8gBBsiCCAIQQRNGyINQQJ0IQQgCEH/////A0sNBSAEQfz///8HSw0FQQQhBiAEQQQQ1AwiCEUNBSAIIAw2AgBBASEEIANBATYC3AUgAyAINgLYBSADIA02AtQFIAsgBUG0BfwKAAAgA0EQaiALEKQBIAMoAhBBAXEEQCADKAIUIQZBBCEFA0AgAygC1AUgBEYEQCADQZQLaiADQeAFahC2AiADQdQFaiAEIAMoApQLQQFqIghBfyAIG0EEQQQQ4wQgAygC2AUhCAsgBSAIaiAGNgIAIAMgBEEBaiIENgLcBSAFQQRqIQUgA0EIaiADQeAFahCkASADKAIMIQYgAygCCEEBcQ0ACwsCQCADKAKIBiIFQQNGDQAgBUECRg0AIAMoAowHIgVBIUkNACADKAKQBiAFQQJ0QQQQnw0LIAMoAtgFIQUgAygC1AUMAQtBBCEFAkAgAygCSCIGQQNGDQAgBkECRg0AIAMoAswBIgZBIUkNACADKAJQIAZBAnRBBBCfDQtBAAshBiAKIAQ2AgggCiAFNgIEIAogBjYCAAwCC0Gcv8EAQcwAQei/wQAQ+AkACyAKQYCAgIB4NgIACyADQaALaiQADAELIAYgBEGkpsEAEPkLAAsgASABKAIAQQFrNgIAIAkgCSgCAEEBayIBNgIAIAFFBEAgB0EQahCSCwtBACEBQQAhAwJAIAcoAhQiBUGAgICAeEYNACAHKAIYIQQgBSAHKAIcIgFNBEAgBCEDDAELIAVBAnQhBSABRQRAQQQhAyAEIAVBBBCfDQwBCyAEIAVBBCABQQJ0IgQQswwiA0UNBAsgACABNgIEIAAgAzYCACAHQSBqJAAPCxCvDQsACxCwDQALQQQgBEGowsEAEPkLAAuDCgIHfwJ+IwBBIGsiCCQAAkACQAJAIAEEQCABQQhrIgkoAgBBAWohAyAJIAM2AgAgA0UNASABKAIAIgNBf0YNAiABIANBAWo2AgAgCCAJNgIQIAggATYCDCAIIAFBBGoiBDYCCCAIQRRqIQUjAEHQAGsiAyQAAkACQCAEIAK9IgqnIApCIIinEOYKIgQEQAJAAkACQAJAAkACQAJAIARBIGooAgAgBEEkaigCACIEKAIIQQFrQXhxakEIaiIGIAQoAqABEQQAQf8BcUEDaw4MAAEIAgMICAgECAUGCAsjAEEgayIHJAAgB0EIaiAGIAQoAmARAAAgB0EQaiAHKAIIIgQgBygCDCgCDBEAACAHKQMYIQogBykDECELIAdBIGokACAEQQAgC0KCnIer9fuM2zuFIApC/cPdo6Oz49voAIWEUBsiBARAIAQpAgAhCiADIAQpAgg3AxAgAyAKNwMIIAMgA0EYajYCTCADQQA2AjQgA0EANgIgIAMgA0EIajYCSCAFIANBIGoQmQEMCQsgBUGAgICAeDYCAAwICyAGIAQQ5wkiBARAIAQpAgAhCiAEKQIIIQsgAyAEKQIQNwMYIAMgCzcDECADIAo3AwggAyADQSBqIgQ2AkwgA0EANgI0IANBADYCICADIANBCGo2AkggBSAEEJkBDAgLIAVBgICAgHg2AgAMBwsgBiAEEOoJIgQEQCAEKAIwIQYgAyAEKAIsIgQ2AkggA0EANgI0IANBADYCICADIAQgBkEDdGo2AkwgBSADQSBqEJkBDAcLIAVBgICAgHg2AgAMBgsgBiAEEOsJIgQEQCAEKAIwIQYgAyAEKAIsIgQ2AkggA0EANgI0IANBADYCICADIAQgBkEDdGo2AkwgBSADQSBqEJkBDAYLIAVBgICAgHg2AgAMBQsjAEEgayIHJAAgB0EIaiAGIAQoAmARAAAgB0EQaiAHKAIIIgQgBygCDCgCDBEAACAHKQMYIQogBykDECELIAdBIGokACAEQQAgC0Knlpuov8GYg+QAhSAKQpScy83t1LTzxACFhFAbIgQEQCAEKAIIIQYgAyAEKAIEIgQ2AkggA0EANgI0IANBADYCICADIAQgBkEDdGo2AkwgBSADQSBqEJkBDAULIAVBgICAgHg2AgAMBAsgBiAEEO8JIgQEQCADIAQpAhA3AxggAyAEKQIINwMQIAMgBCkCADcDCCADIANBIGoiBDYCTCADQQA2AjQgA0EANgIgIAMgA0EIajYCSCAFIAQQmQEMBAsgBUGAgICAeDYCAAwDCyAGIAQQ8AkiBARAIAQoAgghBiADIAQoAgQiBDYCSCADQQA2AjQgA0EANgIgIAMgBCAGQQN0ajYCTCAFIANBIGoQmQEMAwsgBUGAgICAeDYCAAwCC0Gcv8EAQcwAQei/wQAQ+AkACyAFQYCAgIB4NgIACyADQdAAaiQAIAEgASgCAEEBazYCACAJIAkoAgBBAWsiATYCACABRQRAIAhBEGoQkgsLQQAhAUEAIQMCQCAIKAIUIgRBgICAgHhGDQAgCCgCGCEFIAQgCCgCHCIBTQRAIAUhAwwBCyAEQQJ0IQQgAUUEQEEEIQMgBSAEQQQQnw0MAQsgBSAEQQQgAUECdCIFELMMIgNFDQQLIAAgATYCBCAAIAM2AgAgCEEgaiQADwsQrw0LAAsQsA0AC0EEIAVBqMLBABD5CwALoQgCC38BfiMAQSBrIgkkAAJAAkACQCABBEAgAUEIayIMKAIAQQFqIQMgDCADNgIAIANFDQEgASgCACIDQX9GDQIgASADQQFqNgIAIAkgDDYCECAJIAE2AgwgCSABQQRqIgM2AgggCUEUaiEKIwBBEGsiBSQAAkACQAJAAkACQCADIAK9Ig6nIA5CIIinEOYKIgMEQAJAAkAgA0EgaigCACADQSRqKAIAIgMoAghBAWtBeHFqQQhqIgQgAygCoAERBABB/wFxQQZrDgIAAQMLIAQgAxDqCSIDBEACfyADKAI8IgRFBEBBBCEHQQAMAQsgAygCOCIDKAIAIQZBEEEEENQMIgtFDQYgAyAEQQxsaiENIAsgBjYCACAFQQE2AgwgBSALNgIIIAVBBDYCBCADQQRqIQZBBCEHQQEhCCADQQxqIQQDQAJAAkAgBCAGRwRAIAYhAwwBCyAEIA1GDQEgBCIDQQxqIQQLIANBBGohBiADKAIAIQMgBSgCBCAIRgRAIAVBBGogCCAEIAZrQQJ2QQFqQQRBBBDjBCAFKAIIIQsLIAcgC2ogAzYCACAFIAhBAWoiCDYCDCAHQQRqIQcMAQsLIAUoAgghByAFKAIECyEDIAogCDYCCCAKIAc2AgQgCiADNgIADAQLIApBgICAgHg2AgAMAwsgBCADEOsJIgMEQAJ/IAMoAjwiBEUEQEEEIQdBAAwBCyADKAI4IgMoAgAhBkEQQQQQ1AwiC0UNBiADIARBA3RqIQ0gCyAGNgIAIAVBATYCDCAFIAs2AgggBUEENgIEIANBBGohBkEEIQdBASEIIANBCGohBANAAkACQCAEIAZHBEAgBiEDDAELIAQgDUYNASAEIgNBCGohBAsgA0EEaiEGIAMoAgAhAyAFKAIEIAhGBEAgBUEEaiAIIAQgBmtBAnZBAWpBBEEEEOMEIAUoAgghCwsgByALaiADNgIAIAUgCEEBaiIINgIMIAdBBGohBwwBCwsgBSgCCCEHIAUoAgQLIQMgCiAINgIIIAogBzYCBCAKIAM2AgAMAwsgCkGAgICAeDYCAAwCC0Gcv8EAQcwAQei/wQAQ+AkACyAKQYCAgIB4NgIACyAFQRBqJAAMAgtBBEEQQaSmwQAQ+QsAC0EEQRBBpKbBABD5CwALIAEgASgCAEEBazYCACAMIAwoAgBBAWsiATYCACABRQRAIAlBEGoQkgsLQQAhAUEAIQMCQCAJKAIUIgZBgICAgHhGDQAgCSgCGCEEIAYgCSgCHCIBTQRAIAQhAwwBCyAGQQJ0IQYgAUUEQEEEIQMgBCAGQQQQnw0MAQsgBCAGQQQgAUECdCIEELMMIgNFDQQLIAAgATYCBCAAIAM2AgAgCUEgaiQADwsQrw0LAAsQsA0AC0EEIARBqMLBABD5CwALtgQCCX8BfiMAQSBrIgYkAAJAAkACQCABBEAgAUEIayIIKAIAQQFqIQMgCCADNgIAIANFDQEgASgCACIDQX9GDQIgASADQQFqNgIAIAYgCDYCECAGIAE2AgwgBiABQQRqIgM2AgggBkEUaiEHAkACQAJAIAMgAr0iDKcgDEIgiKcQ5goiAwRAIANBIGooAgAgA0EkaigCACIDKAIIQQFrQXhxakEIaiIEIAMoAqABEQQAQf8BcUEJRw0BIAQgAxDsCSIEBEAgBCgCCCIDQQJ0IQUgA0H/////A0sNAyAFQfz///8HSw0DIAQoAgQhCgJAIAVFBEBBBCEJQQAhBAwBC0EEIQsgAyEEIAVBBBDUDCIJRQ0ECyAFBEAgCSAKIAX8CgAACyAHIAM2AgggByAJNgIEIAcgBDYCAAwECyAHQYCAgIB4NgIADAMLQZy/wQBBzABB6L/BABD4CQALIAdBgICAgHg2AgAMAQsgCyAFQairwQAQ+QsACyABIAEoAgBBAWs2AgAgCCAIKAIAQQFrIgE2AgAgAUUEQCAGQRBqEJILC0EAIQFBACEDAkAgBigCFCIFQYCAgIB4Rg0AIAYoAhghBCAFIAYoAhwiAU0EQCAEIQMMAQsgBUECdCEFIAFFBEBBBCEDIAQgBUEEEJ8NDAELIAQgBUEEIAFBAnQiBBCzDCIDRQ0ECyAAIAE2AgQgACADNgIAIAZBIGokAA8LEK8NCwALELANAAtBBCAEQajCwQAQ+QsAC8ECAQN/IwBBsAJrIgMkACABIAEoAhAQ1wICQAJAAkAgASgCAEEBRgRAIAEoAgQiBSABKAIQIgRPDQEgASgCDCAFQaQCbGoiBCgCAEGAgICAeEcNAiABIAQpAgQ3AgAgASABKAIYQQFqNgIYIAEoAhQhASAEIAJBoAL8CgAAIAQgATYCoAIMAwsgAigCCCEBIAIoAgQhBSACKAIAIgRBgICAgHhGDQIgA0EYaiACQQxqQZQC/AoAACADIAE2AhQgAyAFNgIQIAMgBDYCDCADQQxqEKACQez5wQBBPiADQa8CakHc+cEAQaz6wQAQ6ggACyAFIARBoPnBABCwCQALIANBADYCHCADQQE2AhAgA0HE+cEANgIMIANCBDcCFCADQQxqQcz5wQAQ3AsACyAAIAE2AgQgACAFNgIAIANBsAJqJAALuwICBX0CfyMAQRBrIggkAEP//39/IQRD//9//yEFAkAgASgCCEUEQEP//3//IQND//9/fyECDAELQ///f/8hA0P//39/IQICQAJAIAEoAgQiBygCLEH/////A3EgBygCFEH/////A3FqDgICAAELIAcqAhAhBSAHKgIMIQMgByoCBCEEIAcqAgAhAgwBCyAHKgIQIgMgByoCKCICIAIgA18bIQUgByoCDCIDIAcqAiQiAiACIANfGyEDIAcqAgQiAiAHKgIcIgQgAiAEXxshBCAHKgIAIgIgByoCGCIGIAIgBl8bIQILIAggAiABKgJAIgKVjvwArSAEIAEqAkQiBJWO/ACtQiCGhDcDACAIIAMgApWO/ACtIAUgBJWO/ACtQiCGhDcDCCAAIAEgCCAIQQhqEL8DIAhBEGokAAvBAgEIfyABKAIIIgVBA3QhAwJAAkACQCAFQf////8BSw0AIANB/P///wdLDQAgASgCBCECAkAgA0UEQEEEIQYMAQtBBCEEIAUhByADQQQQ1AwiBkUNAQsgAwRAIAYgAiAD/AoAAAsgASgCFCIDQQN0IQIgA0H/////AUsNASACQfz///8HSw0BIAEoAhAhCAJAIAJFBEBBBCEBQQAhBAwBC0EEIQkgAyEEIAJBBBDUDCIBRQ0CCyACBEAgASAIIAL8CgAAC0EYQQQQ1AwiAkUNAiACIAM2AhQgAiABNgIQIAIgBDYCDCACIAU2AgggAiAGNgIEIAIgBzYCACAAQdiAwwA2AgQgACACNgIADwsgBCADQZC/wgAQ+QsACyAJIAJBkL/CABD5CwALQQRBGEHw+sMAKAIAIgBB7wcgABsRAAAAC/oCAQR/AkAgAUHN/3tBECAAIABBEE0bIgBrTw0AQRAgAUELakF4cSABQQtJGyIEIABqQQxqEDQiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAEoAgQiBUF4cSAAQQAgAiADakEAIABrcUEIayIAIAFrQRBNGyAAaiIAIAFrIgJrIQMgBUEDcQRAIAAgAyAAKAIEQQFxckECcjYCBCAAIANqIgMgAygCBEEBcjYCBCABIAIgASgCBEEBcXJBAnI2AgQgASACaiIDIAMoAgRBAXI2AgQgASACEL0DDAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAQgAUEBcXJBAnI2AgQgACAEaiIBIAEoAgRBAXI2AgQgASACIARrIgQgASgCBEEBcXJBAnI2AgQgASAEaiICIAIoAgRBAXI2AgQgASAEEL0DCyAAQQhqIQMLIAMLnQIBBX8CQAJAAkACQCACQQNqQXxxIgQgAkYNACADIAQgAmsiBCADIARJGyIFRQ0AQQAhBCABQf8BcSEGQQEhBwNAIAIgBGotAAAgBkYNBCAEQQFqIgQgBUcNAAsgA0EIayIIIAVJDQIMAQsgA0EIayEIQQAhBQsgAUH/AXFBgYKECGwhBANAIAIgBWoiBygCACAEcyIGQYCChAggBmtyIAdBBGooAgAgBHMiBkGAgoQIIAZrcnFBgIGChHhxQYCBgoR4Rw0BIAggBUEIaiIFTw0ACwsgAyAFRwRAIAFB/wFxIQRBASEHA0AgBCACIAVqLQAARgRAIAUhBAwDCyAFQQFqIgUgA0cNAAsLQQAhBwsgACAENgIEIAAgBzYCAAuYAgMEfwJ9An4jAEEgayIDIAApAgA3AwggASoCBCEHIAEqAgAhCCADQgA3AxAgB4sgCItdIgRBAnQiACADQQhqIgVyKgIAIQcgA0EQaiIGIAByIAc4AgAgBiAERUECdCIEciAEIAVyKgIAIAEgBGoqAgCYOAIAIAMgAykDECIJNwMYIANBGGogAHIgB4w4AgAgAygCHCEBIAMoAhghBCADKQMYIQogAkECNgIcIAIgCjcCCCACIAk3AgAgAiAJQj6Ip0ECcSAJp0EfdnIiAEGAgICABHKtIAFBHnZBAnEgBEEfdnIiAUGAgICABHKtQiCGhDcCECACIAEgACAAIAFJG0ECdCABIAAgACABSxtyQbCAgIB8cjYCGAumAgIFfwF+IwBBIGsiAyQAAkACQAJAAkAgAARAIABBCGsiBCgCAEEBaiECIAQgAjYCACACRQ0BIAAoAgAiAkF/Rg0CIAAgAkEBajYCACADIAQ2AhwgAyAANgIYIAMgAEEIaiICNgIUIANBCGogAiABvSIHpyAHQiCIpxDHCCADKAIIIgJFDQMgAygCDCIGIAIoAghPDQRBBSEFIAIoAgQgBkGgAmxqQcgBai0AAEEDa0H/AXEiAkEETQRAIAJBAnRB5MXBAGooAgAhBQsgACAAKAIAQQFrNgIAIAQgBCgCAEEBayIANgIAIABFBEAgA0EcahCPCwsgA0EgaiQAIAUPCxCvDQsACxCwDQALQaC9wQBByQBB7L3BABD4CQALQfy9wQAQpQ0AC7cCAgR/AX4jAEEQayIDJAACQAJAAkACQCAABEAgAEEIayIEKAIAQQFqIQIgBCACNgIAIAJFDQEgACgCACICQX9GDQIgACACQQFqNgIAIAMgBDYCDCADIAA2AgggAyAAQQRqIgI2AgQgAiABvSIGpyAGQiCIpxDmCiICRQ0DIAJB5ABqKAIAIgVBAUYEQCACQfAAaikDACEGCyAAIAAoAgBBAWs2AgAgBCAEKAIAQQFrIgA2AgAgAEUEQCADQQxqEJILC0EAIQAgBQRAQRRBBBDUDCIARQ0FIAAgBjcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqIQALIANBEGokACAADwsQrw0LAAsQsA0AC0Gcv8EAQcwAQei/wQAQ+AkAC0EEQRRB8PrDACgCACIAQe8HIAAbEQAAAAutAgMEfwF+AX0jAEEgayIEJAACQAJAAkAgAARAIABBCGsiBSgCAEEBaiEDIAUgAzYCACADRQ0BIAAoAgANAiAAQX82AgAgBCAFNgIcIAQgADYCGCAEIABBBGoiAzYCFCADIAG9IgenIAdCIIinEI8IIgNFDQMCQCADKAIgIAMoAiQiBigCCEEBa0F4cWpBCGogBigCoAERBABB/wFxQQJHDQAgBEEIaiADENoKIAQoAgggBCgCDBDmCSIDRQ0AIAMgAjgCDCADIAJDAAAAAJQiCDgCCCADIAKMOAIEIAMgCIw4AgALIABBADYCACAFIAUoAgBBAWsiADYCACAARQRAIARBHGoQkgsLIARBIGokAA8LEK8NCwALELANAAtBnL/BAEHMAEH4v8EAEPgJAAupAgIEfwF+IwBBEGsiBSQAAkACQAJAAkACQCAABEAgAEEQayIGKAIAQQFqIQQgBiAENgIAIARFDQEgACgCAA0CIABBfzYCACAFIAY2AgwgBSAANgIIIAUgAEEQaiIENgIEIAQgAb0iCKcgCEIgiKcQjggiBARAIAQtAKgBIgdBB3FBB0YgAkEAR0YNBiADRQ0FIAQtAOEBQQFGDQUgBC0A0AFFDQQgBCAEKAK4AUEEcjYCuAEMBAtBrL7BAEHNAEGMv8EAEPgJAAsQrw0LAAsQsA0ACyAEQQA2AswBIARBADoA0AELIAQgB0H4AXFBB0EAIAIbcjoAqAEgBBCACAsgAEEANgIAIAYgBigCAEEBayIANgIAIABFBEAgBUEMahCQCwsgBUEQaiQAC6kCAgR/AX4jAEEQayIFJAACQAJAAkACQAJAIAAEQCAAQRBrIgYoAgBBAWohBCAGIAQ2AgAgBEUNASAAKAIADQIgAEF/NgIAIAUgBjYCDCAFIAA2AgggBSAAQRBqIgQ2AgQgBCABvSIIpyAIQiCIpxCOCCIEBEAgBC0AqAEiB0E4cUE4RiACQQBHRg0GIANFDQUgBC0A4QFBAUYNBSAELQDQAUUNBCAEIAQoArgBQQRyNgK4AQwEC0GsvsEAQc0AQYy/wQAQ+AkACxCvDQsACxCwDQALIARBADYCzAEgBEEAOgDQAQsgBCAHQccBcUE4QQAgAhtyOgCoASAEEIAICyAAQQA2AgAgBiAGKAIAQQFrIgA2AgAgAEUEQCAFQQxqEJALCyAFQRBqJAAL+gIDBH8DfQF+IwBBIGsiASQAAkACQAJAIAAEQCAAQQhrIgMoAgBBAWohAiADIAI2AgAgAkUNASAAKAIAIgJBf0YNAiAAIAJBAWo2AgAgASADNgIUIAEgADYCECABIABBBGo2AgwgACoCBCIFIAWUIAAqAggiBiAGlJKRIQcgASAFIAeVvK0gBiAHlbytQiCGhDcDGCABQRhqKQIAIQhBEEEEENQMIgJFBEBBBEEQQfD6wwAoAgAiAEHvByAAGxEAAAALIAIgCDcCCCACQoGAgIAQNwIAIAFB6JHDADYCBCABIAI2AgAgASgCBCECIAEoAgAhBCAAIAAoAgBBAWs2AgAgAyADKAIAQQFrIgA2AgAgAEUEQCABQRRqEM0LC0EUQQQQ1AwiAEUNAyAAIAQ2AgwgAEEANgIIIABCgYCAgBA3AgAgACACNgIQIAFBIGokACAAQQhqDwsQrw0LAAsQsA0AC0EEQRRB8PrDACgCACIAQe8HIAAbEQAAAAvEFwIUfwJ+IwBBIGsiESQAAkACQAJAIABFDQAgAEEIayIUKAIAQQFqIQcgFCAHNgIAIAdFDQEgACgCAA0CIABBfzYCACARIBQ2AhAgESAANgIMIBEgAEEIaiIGNgIIIAFFDQAgAUEQayIVKAIAQQFqIQcgFSAHNgIAIAdFDQEgASgCACIHQX9GDQIgASAHQQFqNgIAIBEgFTYCHCARIAE2AhggESABQRBqIgc2AhQgByEXIARBAEchGCMAQTBrIg0kAAJAAkACQAJAAkACQAJAAkACQCAGKAI8QQFGBEAgBigCQCIPIAYoAkwiBE8NAyAGKAJIIA9BDGxqIgQoAgBFDQEgDUEANgIoIA1BATYCHCANQbCtwQA2AhggDUIENwIgIA1BGGpBuK3BABDcCwALIwBBMGsiCSQAIAZBPGoiCygCECIFQQF0IQwgCygCBCEPIAsoAgAhEiAFIAsoAggiCCAFIgdrIgRLBH8CQCAFQdWq1SpLBH9BAAUgBUEYbCEKIAkgCAR/IAkgCEEMbDYCICAJIAsoAgw2AhhBBAVBAAs2AhwgCUEMakEEIAogCUEYahCRCCAJKAIMQQFHDQEgCSgCFCEIIAkoAhALIAhByK3BABD5CwALIAkoAhAhBCALIAw2AgggCyAENgIMIAUFIAQLIAwgBWsiBEEAIAQgDE0bIgRJBEAgC0EIaiAFIARBBEEMEOMEIAsoAhAhBwsgCygCDCEQAkAgBUUNACAMQQFrIRMCQCAFQQFxRQRAIAUhCAwBCyAQIAdBDGxqIgQgDyAFQQFqIgggBSATRiIKGzYCCCAEIBJBASAKGzYCBCAEQQA2AgAgB0EBaiEHCyAFQQFGDQAgCCAMa0EBaiEEIBAgB0EMbGohCgNAIApBADYCACAKQQxqQQA2AgAgCkEEakEBIBIgBBs2AgAgCkEIaiAIQQFqIg4gDyAEGzYCACAKQRRqIA8gCEECaiIIIA4gE0YiDhs2AgAgCkEQaiASQQEgDhs2AgAgBEECaiEEIApBGGohCiAHQQJqIQcgCCAMRw0ACwsgCyAHNgIQAkACQCAFIAdJBEAgECAFQQxsaiIEKAIADQEgBEEBNgIAIAsgBCkCBDcCACAEQQA2AgggBCALKAIUIgQ2AgQgCyALKAIYQQFqNgIYIA0gBDYCBCANIAU2AgAgCUEwaiQADAILIAUgB0GMrcEAELAJAAsgCUEANgIoIAlBATYCHCAJQbCtwQA2AhggCUIENwIgIAlBGGpBuK3BABDcCwALIA0oAgQhEyANKAIAIQ8MAQsgBEEBNgIAIAYgBCkCBDcCPCAEQQA2AgggBCAGKAJQIhM2AgQgBiAGKAJUQQFqNgJUCyANQRBqQQA2AgAgDUIANwMIAkAgAr0iGaciDCAGKAI4IgVJBEAgBSEEDAELIAUgDEEBaiIESQRAIAQgBSIHayIIIAYoAjAgBWtLBEAgBkEwaiAFIAhBBEEIEOMEIAYoAjghBwsgBigCNCIJIAdBA3RqIQQgCEECTwRAIAwgBWsiBUEDdCIKBEAgBEH/ASAK/AsACyAJIAUgB2pBA3RqIQQgByAIakEBayEHCyAEQn83AgAgB0EBaiEECyAGIAQ2AjgLIAQgDE0NASADvSIapyELAn8gGUIgiKciEiAGKAI0IgogDEEDdGoiBygCAEYEQCAHKAIEDAELIAdBfzYCBCAHIBI2AgBBfwshBwJAIAQgC0sEQCAEIQkMAQsgC0EBaiIJIARLBEAgBCEFIAkgBGsiCCAGKAIwIARrSwRAIAZBMGogBCAIQQRBCBDjBCAGKAI0IQogBigCOCEFCyAKIAVBA3RqIQkgCEECTwRAIAsgBGsiBEEDdCIQBEAgCUH/ASAQ/AsACyAKIAQgBWpBA3RqIQkgBSAIakEBayEFCyAJQn83AgAgBUEBaiEJCyAGIAk2AjgLIAkgC00NAgJ/IBpCIIinIhAgCiALQQN0aiIEKAIARgRAIAQoAgQMAQsgBEF/NgIEIAQgEDYCAEF/CyEJIAdBf0YEQCAGKAIgIgcgBigCGEYEQCAGQRhqQayuwQAQyAYLIAYgB0EBajYCICAGKAIcIAdBBHRqIgRCfzcCCCAEIBI2AgQgBCAMNgIAIAwgBigCOCIITwRAIAYoAjAgCCIFayAMIAVrIhZBAWoiDkkEQCAGQTBqIAUgDkEEQQgQ4wQgBigCOCEFCyAGKAI0IAVBA3RqIQQgDkECTwRAIBZBB3EhCiAIIAxrQXhNBEAgFkF4cSEIA0AgBEL/////DzcCACAEQThqQv////8PNwIAIARBMGpC/////w83AgAgBEEoakL/////DzcCACAEQSBqQv////8PNwIAIARBGGpC/////w83AgAgBEEQakL/////DzcCACAEQQhqQv////8PNwIAIARBQGshBCAIQQhrIggNAAsLIAoEQANAIARC/////w83AgAgBEEIaiEEIApBAWsiCg0ACwsgBSAOakEBayEFCyAEQv////8PNwIAIAYgBUEBaiIINgI4CyAIIAxNDQQgBigCNCAMQQN0aiIEIAc2AgQgBCASNgIACyAJQX9GBEAgBigCICIJIAYoAhhGBEAgBkEYakGsrsEAEMgGCyAGIAlBAWo2AiAgBigCHCAJQQR0aiIEQn83AgggBCAQNgIEIAQgCzYCAAJAIAYoAjgiCCALSwRAIAghBAwBCyAIIAtBAWoiBEkEQCAEIAgiBWshDiAOIAYoAjAgBWtLBEAgBkEwaiAFIA5BBEEIEOMEIAYoAjghBQsgBigCNCAFQQN0aiEEIA5BAk8EQCALIAhrIhZBB3EhCiAIIAtrQXhNBEAgFkF4cSEIA0AgBEL/////DzcCACAEQThqQv////8PNwIAIARBMGpC/////w83AgAgBEEoakL/////DzcCACAEQSBqQv////8PNwIAIARBGGpC/////w83AgAgBEEQakL/////DzcCACAEQQhqQv////8PNwIAIARBQGshBCAIQQhrIggNAAsLIAoEQANAIARC/////w83AgAgBEEIaiEEIApBAWsiCg0ACwsgBSAOakEBayEFCyAEQv////8PNwIAIAVBAWohBAsgBiAENgI4CyAEIAtNDQUgBigCNCALQQN0aiIEIAk2AgQgBCAQNgIACyAGKAIgIQUgBigCHCEEIAYoAiwhCgJAAkAgByAJTQRAIAUgCU0NASAHIAlGDQIMCAsgBSAHSw0HCyANQQA2AiggDUEBNgIcIA1BlK7BADYCGCANQgQ3AiAgDUEYakGcrsEAENwLAAsgBCAHQQR0aiIEKAIMIQUgBCAKNgIMIAQoAgghCCAEIAo2AggMBgsgDyAEQYytwQAQsAkACyAMIARBvK7BABCwCQALIAsgCUG8rsEAELAJAAsgDCAIQcyuwQAQsAkACyALIARBzK7BABCwCQALIAQgB0EEdGoiBSgCCCEIIAUgCjYCCCAEIAlBBHRqIgQoAgwhBSAEIAo2AgwLIAZBJGoiBCgCACAKRgRAIARB2K3BABCkBgsgBigCKCAKQfABbGoiBCAXQbAB/AoAACAEIBM2AsQBIAQgDzYCwAEgBCAQNgK8ASAEIAs2ArgBIAQgEjYCtAEgBCAMNgKwASAEIAetIAmtQiCGhDcD6AEgBCAFNgLkASAEIAg2AuABIAYgCkEBajYCLCAEIA0pAwg3A8gBIARB0AFqIA1BEGooAgA2AgACQAJAIA8gBigCTE8NACAGKAJIIA9BDGxqIgQoAgBBAUcNACAEKAIEIBNHDQAgBCAKNgIIIBgEQCAGIAwgEhDlAiAGIAsgEBDlAgsgDUEwaiQAIA+tIBOtQiCGhL8hAgwBC0GRgMAAQRNB7K7BABD4CQALIAEgASgCAEEBazYCACAVIBUoAgBBAWsiATYCACABRQRAIBFBHGoQzwsLIABBADYCACAUIBQoAgBBAWsiADYCACAARQRAIBFBEGoQkwsLIBFBIGokACACDwsQrw0LAAsQsA0AC+MkAiV/AX4jAEEgayIYJAACQAJAAkAgAEUNACAAQQhrIh0oAgBBAWohBSAdIAU2AgAgBUUNASAAKAIADQIgAEF/NgIAIBggHTYCECAYIAA2AgwgGCAAQQhqIgc2AgggAUUNACABQRBrIh4oAgBBAWohBSAeIAU2AgAgBUUNASABKAIAIgVBf0YNAiABIAVBAWo2AgAgGCAeNgIcIBggATYCGCAYIAFBEGoiBTYCFCAFIRUgBEEARyEoIwBB0ARrIggkACACvSIqQiCIpyEbAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQCAHKAI4IgQgKqciFk0NACAHKAI0IBZBFGxqIgUoAgAgG0cNACAHQRhqIQwgB0E8aiEGIAUoAgwhCyAFKAIIIQ4gBSgCBCEKIAUoAhAMAQsgCEEQaiIFIBYgGxCfASAHQTxqIQYCQCAHKAI8QQFGBEAgBygCQCIKIAcoAkwiBE8NAyAHKAJIIApBpAJsaiIEKAIAQYCAgIB4Rw0NIAcgBCkCBDcCPCAHIAcoAlRBAWo2AlQgBygCUCEOIAQQnAIgBCAFQaAC/AoAACAEIA42AqACDAELIAgoAhghDiAIKAIUIQogCCgCECIEQYCAgIB4Rg0AIAggDjYCuAIgCCAKNgK0AiAIIAQ2ArACIAhBvAJqIAhBHGpBlAL8CgAAIAhBCGogBiAIQbACahC8BCAIKAIMIQ4gCCgCCCEKCyAHQRhqIQwgBygCICILIAcoAhhGBEAgDEGsrsEAEMgGCyAHKAIcIAtBBHRqIgRCfzcCCCAEIBs2AgQgBCAWNgIAIAcgC0EBajYCICAHKAI4IQRBAAshESADvSIqQiCIpyEcAkACQAJAAkAgKqciFyAESQRAIAcoAjQgF0EUbGoiBCgCACAcRg0BCyAIQRBqIgUgFyAcEJ8BAkAgBygCPEEBRgRAIAcoAkAiDSAHKAJMIgRPDQcgBygCSCANQaQCbGoiBCgCAEGAgICAeEcNECAHIAQpAgQ3AjwgByAHKAJUQQFqNgJUIAcoAlAhEiAEEJwCIAQgBUGgAvwKAAAgBCASNgKgAgwBCyAIKAIYIRIgCCgCFCENIAgoAhAiBEGAgICAeEYNACAIIBI2ArgCIAggDTYCtAIgCCAENgKwAiAIQbwCaiAIQRxqQZQC/AoAACAIIAYgCEGwAmoQvAQgCCgCBCESIAgoAgAhDQsgBygCICIPIAcoAhhGBEAgDEGsrsEAEMgGCyAHIA9BAWo2AiAgBygCHCAPQQR0aiIEQn83AgggBCAcNgIEIAQgFzYCAEEAIQwgCiANRg0BDAMLIAQoAhAhDCAEKAIMIQ8gBCgCCCESIAQoAgQiDSAKRw0BC0T////////vfyECIA4gEkYNBiAKIQ0gDEUNAQwGC0T////////vfyECIAwNBQsgBygCICEGIAcoAhwhBSAHKAIsIQQCQAJAIAsgD00EQCAGIA9NDQEgCyAPRg0CDAULIAYgC0sNBAsgCEEANgLAAiAIQQE2ArQCIAhBlK7BADYCsAIgCEIENwK4AiAIQbACakGcrsEAENwLAAsgBSALQQR0aiIFKAIMIQkgBSAENgIMIAUoAgghBiAFIAQ2AggMAwsgCiAEQYytwQAQsAkACyANIARBjK3BABCwCQALIAUgC0EEdGoiCSgCCCEGIAkgBDYCCCAFIA9BBHRqIgUoAgwhCSAFIAQ2AgwLIAdBJGoiBSgCACAERgRAIAVB2K3BABDIBgsgBygCKCAEQQR0aiIFIAk2AgQgBSAGNgIAIAUgC60gD61CIIaENwIIIAcgBEEBajYCLAJAIAcoAjgiBSAWSwRAIAUhBAwBCyAFIBZBAWoiBEkEQCAFIQkgBCAFayIZIAcoAjAgBWtLBEAgB0EwaiAFIBlBBEEUEOMEIAcoAjghCQsgBygCNCAJQRRsaiEEIBlBAk8EQCAWIAVrIgZBB3EhDCAFIBZrQXhNBEAgBkF4cSEGA0AgBEJ/NwIAIARBCGpCfzcCACAEQRRqQn83AgAgBEEQakEANgIAIARBHGpCfzcCACAEQShqQn83AgAgBEEkakEANgIAIARBMGpCfzcCACAEQTxqQn83AgAgBEE4akEANgIAIARBxABqQn83AgAgBEHQAGpCfzcCACAEQcwAakEANgIAIARB2ABqQn83AgAgBEHgAGpBADYCACAEQewAakJ/NwIAIARB5ABqQn83AgAgBEH4AGpCfzcCACAEQfQAakEANgIAIARBgAFqQn83AgAgBEGMAWpCfzcCACAEQYgBakEANgIAIARBlAFqQn83AgAgBEGcAWpBADYCACAEQaABaiEEIAZBCGsiBg0ACwsgDARAA0AgBEJ/NwIAIARBCGpCfzcCACAEQRBqQQA2AgAgBEEUaiEEIAxBAWsiDA0ACwsgCSAZakEBayEJCyAEQn83AgAgBEEANgIQIARBCGpCfzcCACAJQQFqIQQLIAcgBDYCOAsgBCAWTQ0BIAcoAjQgFkEUbGoiBCARNgIQIAQgCzYCDCAEIA42AgggBCAKNgIEIAQgGzYCAAJAIAcoAjgiBSAXSwRAIAUhBAwBCyAFIBdBAWoiBEkEQCAFIQYgBCAFayIJIAcoAjAgBWtLBEAgB0EwaiAFIAlBBEEUEOMEIAcoAjghBgsgBygCNCAGQRRsaiEEIAlBAk8EQCAXIAVrIgxBB3EhCyAFIBdrQXhNBEAgDEF4cSEMA0AgBEJ/NwIAIARBCGpCfzcCACAEQRRqQn83AgAgBEEQakEANgIAIARBHGpCfzcCACAEQShqQn83AgAgBEEkakEANgIAIARBMGpCfzcCACAEQTxqQn83AgAgBEE4akEANgIAIARBxABqQn83AgAgBEHQAGpCfzcCACAEQcwAakEANgIAIARB2ABqQn83AgAgBEHgAGpBADYCACAEQewAakJ/NwIAIARB5ABqQn83AgAgBEH4AGpCfzcCACAEQfQAakEANgIAIARBgAFqQn83AgAgBEGMAWpCfzcCACAEQYgBakEANgIAIARBlAFqQn83AgAgBEGcAWpBADYCACAEQaABaiEEIAxBCGsiDA0ACwsgCwRAA0AgBEJ/NwIAIARBCGpCfzcCACAEQRBqQQA2AgAgBEEUaiEEIAtBAWsiCw0ACwsgBiAJakEBayEGCyAEQn83AgAgBEEANgIQIARBCGpCfzcCACAGQQFqIQQLIAcgBDYCOAsgBCAXTQ0CIAcoAjQgF0EUbGoiBEEANgIQIAQgDzYCDCAEIBI2AgggBCANNgIEIAQgHDYCACANIAcoAkxPDQQgBygCSCANQaQCbGoiBCgCACIFQYCAgIB4Rg0EIBIgBCgCoAJHDQQgBykCPCEqIAhBsAJqIgYgBEEEakGgAvwKAAAgBCAqNwIEIARBgICAgHg2AgAgByANNgJAIAdBATYCPCAHIAcoAlBBAWo2AlAgByAHKAJUQQFrNgJUIAhBFGogBkGcAvwKAAAgCCAFNgIQIAogBygCTE8NAyAHKAJIIApBpAJsaiIFKAIAQYCAgIB4Rg0DIAUoAqACIA5HDQMgCCgCGCIEBEAgBEGgAmwhDyAIKAIUQfQBaiELA0AgC0EEaygCACIEIAcoAjhPDQcgCygCACAHKAI0IARBFGxqIgQoAgBHDQcgBCAONgIIIAQgCjYCBCAEIAQoAhAgBSgCCGo2AhAgC0GgAmohCyAPQaACayIPDQALCyAIQbACaiIGQgA3A7gBIAZBwAFqQQA2AgAgBiAVQbAB/AoAACAGQoCAgPwDNwOwASAGQQA6AMQBIwBBIGsiDSQAAkACQAJAIAhBEGoiFSgCCCISBEBBAyAGLQCoAWkiD2siJyAFKAIYIiZBAyAVKAIEIgotAMgBaSILayIja2ohGSAFKAIIIQkgBSgClAIhDCAVKAKUAiEOAkAgEkGgAmwiH0GgAkYNACAJQQFqIRMgH0HABGsiFEGgAm5BAXEEfyAKQaACagUgCiAKKAKsBCAZajYCrAQgCiATIAooAqgEajYCqAQgCiAKKAKwBCAJajYCsAQgCkHABGoLIQQgFEGgAkkNACAKIB9qIRQDQCAEQYwCaiIQIBAoAgAgGWo2AgAgBEGIAmoiECATIBAoAgBqNgIAIARBkAJqIhAgECgCACAJajYCACAEQawEaiIQIBAoAgAgGWo2AgAgBEGoBGoiECATIBAoAgBqNgIAIARBsARqIhAgECgCACAJajYCACAUIARBwARqIgRHDQALCyAKQSBqIAZB0AH8CgAAIAogETYCkAIgCiAJNgKIAiAKICY2AowCIAUgDiAjayIRIAotAMgBaWtBA2ogEhD+AwJAIA4gI0YEQCAFKAIoIRAMAQsgDCAnaiARaiIgIAUoAhhLDQMgDiAVKAIYSw0DIAUoAhAhECARQQNxIQkgFSgCECEaQQAhBiALIA5qQQRrIiFBA08EQCAQIAxBAnQgD0ECdGtqISIgEUF8cSEkIBogC0ECdGshJUEAIQQDQCAEICJqIhNBDGogBCAlaiIUQQxqKgIAOAIAIBNBEGogFEEQaioCADgCACATQRRqIBRBFGoqAgA4AgAgE0EYaiAUQRhqKgIAOAIAIARBEGohBCAkIAZBBGoiBkcNAAsLIAkEQCAGQQJ0IgYgC0ECdGsgGmpBDGohBCAGIAxBAnRqIA9BAnRrIBBqQQxqIQYDQCAGIAQqAgA4AgAgBEEEaiEEIAZBBGohBiAJQQFrIgkNAAsLICAgBSgCKCIQSw0DIA4gFSgCKEsNAyAFKAIgIRogEUEDcSEJIBUoAiAhIkEAIQYgIUEDTwRAIBogDEECdCAPQQJ0a2ohJCARQXxxISUgIiALQQJ0ayEpQQAhBANAIAQgJGoiE0EMaiAEIClqIhRBDGoqAgA4AgAgE0EQaiAUQRBqKgIAOAIAIBNBFGogFEEUaioCADgCACATQRhqIBRBGGoqAgA4AgAgBEEQaiEEICUgBkEEaiIGRw0ACwsgCQRAIAZBAnQiBiALQQJ0ayAiakEMaiEEIAYgDEECdGogD0ECdGsgGmpBDGohBgNAIAYgBCoCADgCACAEQQRqIQQgBkEEaiEGIAlBAWsiCQ0ACwsgICAFKAI4Sw0DIA4gFSgCOEsNAyAFKAIwIRMgEUEDcSEJIBUoAjAhFEEAIQYgIUEDTwRAIBMgDEECdCAPQQJ0a2ohICARQXxxIRogFCALQQJ0ayEhQQAhBANAIAQgIGoiEUEMaiAEICFqIg5BDGoqAgA4AgAgEUEQaiAOQRBqKgIAOAIAIBFBFGogDkEUaioCADgCACARQRhqIA5BGGoqAgA4AgAgBEEQaiEEIBogBkEEaiIGRw0ACwsgCUUNACAGQQJ0IgYgC0ECdGsgFGpBDGohBCAGIAxBAnRqIA9BAnRrIBNqQQxqIQYDQCAGIAQqAgA4AgAgBEEEaiEEIAZBBGohBiAJQQFrIgkNAAsLICYgJ2ogEEsNAgJAIAotAMgBIgZBBHENACAFKAIgIBlBAnRqIQQgBkEDcWkhBiALQQJHBEBBAiAGa0H/AXEiBiAjTw0DIAQgBkECdGpBzZmz7gM2AgAMAQsgBkECRw0CIARBzZmz7gM2AgALIAUoAgAgBSgCCCIEayASSQRAIAUgBCASQRBBoAIQmgUgBSgCCCEECyAfBEAgBSgCBCAEQaACbGogCiAf/AoAAAsgFUEANgIIIAUgBCASaiIENgIIIAUgBSgCGCIGNgKUAiAFQdABaiAEIAYQ7gMgFRCgAiANQSBqJAAMAwtBAEEAQciCwgAQsAkACyANQQA2AhggDUEBNgIMIA1BjPDBADYCCCANQgQ3AhAgDUEIakGwjcIAENwLAAsgDUEANgIYIA1BATYCDCANQeDswQA2AgggDUIENwIQIA1BCGpB6OzBABDcCwALICgEQCAHIBYgGxDlAiAHIBcgHBDlAgsgAyECCyAIQdAEaiQADAYLIBYgBEHMrsEAELAJAAsgFyAEQcyuwQAQsAkAC0GRgMAAQRNBrK/BABD4CQALQZyvwQAQpQ0AC0G8r8EAEKUNAAsgCEEANgLAAiAIQQE2ArQCIAhBsK3BADYCsAIgCEIENwK4AiAIQbACakG4rcEAENwLAAsgASABKAIAQQFrNgIAIB4gHigCAEEBayIBNgIAIAFFBEAgGEEcahDPCwsgAEEANgIAIB0gHSgCAEEBayIANgIAIABFBEAgGEEQahCPCwsgGEEgaiQAIAIPCxCvDQsACxCwDQALpQICAn8BfiMAQUBqIgIkAAJAAkACQCABRQRAIABFDQEgAEEIayIBKAIAQQFHDQIgAkE4aiAAQTRqKAIANgIAIAJBMGogAEEsaikCADcDACACQShqIABBJGopAgA3AwAgAkEgaiAAQRxqKQIANwMAIAJBGGogAEEUaikCADcDACACQRBqIABBDGopAgA3AwAgACkCBCEEIAFBADYCACACIAQ3AwgCQCABQX9GDQAgAEEEayIDKAIAQQFrIQAgAyAANgIAIAANACABQcAAQQQQnw0LIAJBCGoQtQYMAwsgAEUNACAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIEIAENAiACQQRqEJILDAILEK8NAAtBuMLBAEE/EK4NAAsgAkFAayQAC44CAgt9AX4gACkCCCIOp74iCCAAKgIAIgmTIQQgDkIgiKe+IgogACoCBCIDkyEFAkACQCACKgIAIAEqAgiTIgwgASoCACIGlCACKgIEIAEqAgyTIgcgASoCBCILlJIiDSAJkyAElCAGIAeUIAwgC5STIgsgA5MgBZSSIgZDAAAAAF8EQCADIQogCSEIDAELIAQgBJQgBSAFlJIiByAGXw0AIAdDAAAAAFsNASADIAUgBiAHlSIDlJIhCiAJIAQgA5SSIQgLQQEhAQJAIAsgCpMiAyADlCANIAiTIgMgA5SSIgNDAACAKF5FDQAgACoCECADkWANAEEAIQELIAEPC0HY+MIAQR5B+PjCABD5CgALgQIBCX0gAioCACABKgIIkyIFIAEqAgAiBJQgAioCBCABKgIMkyIHIAEqAgQiBpSSIgggCJQgBCAHlCAFIAaUkyIHIAeUkiAAKgIAIgUgBZSTIQUCQCAEIAIqAggiC5QgBiACKgIMIgyUkiIKIAqUIAQgDJQgBiALlJMiBCAElJIiBkMAAAAAXARAIAggCpQgByAElJIhBEEAIQIgBUMAAAAAXiAEQwAAAABecQ0BIAQgBJQgBSAGlJMiBUMAAAAAXQ0BQwAAAAAgBIwgBZGTIAaVIgQgBEMAAAAAXxshCUEBIQIMAQtBASECIAVDAAAAAF5FDQBBACECCyACIAMgCWBxC5ACAQF/IwBBEGsiAiQAIAAoAgAhAAJ/IAEtAAtBGHFFBEAgASgCACAAIAEoAgQoAhARAwAMAQsgAkEANgIMIAEgAkEMagJ/AkAgAEGAAU8EQCAAQYAQSQ0BIABBgIAETwRAIAIgAEE/cUGAAXI6AA8gAiAAQRJ2QfABcjoADCACIABBBnZBP3FBgAFyOgAOIAIgAEEMdkE/cUGAAXI6AA1BBAwDCyACIABBP3FBgAFyOgAOIAIgAEEMdkHgAXI6AAwgAiAAQQZ2QT9xQYABcjoADUEDDAILIAIgADoADEEBDAELIAIgAEE/cUGAAXI6AA0gAiAAQQZ2QcABcjoADEECCxCnAgshACACQRBqJAAgAAvLAgMEfwF+AX0jAEEQayIDJAACQAJAAkAgAARAIABBCGsiBCgCAEEBaiECIAQgAjYCACACRQ0BIAAoAgAiAkF/Rg0CIAAgAkEBajYCACADIAQ2AgwgAyAANgIIIAMgAEEEaiICNgIEIAIgAb0iBqcgBkIgiKcQ5goiAkUNA0QAABAAAADwQSEBAkAgAkEgaigCACACQSRqKAIAIgIoAghBAWtBeHFqQQhqIgUgAigCoAERBABB/wFxQQJHDQAgBSACEOUJIgJFDQAgAikCCCIGp74gAioCAJMiByAHlCAGQiCIp74gAioCBJMiByAHlJKRQwAAAD+UuyEBCyAAIAAoAgBBAWs2AgAgBCAEKAIAQQFrIgA2AgAgAEUEQCADQQxqEJILCyADQRBqJAAgAQ8LEK8NCwALELANAAtBnL/BAEHMAEHov8EAEPgJAAvaAgIEfQN/IAAoAhAhByAAKAIMIQggACgCBCEJIAAqAgAhBQJAAkAgASoCCCIDQwAAAABcBEBDAACAPyADlSIEIAi+IAEqAgAiBpOUIgMgBCAFIAaTlCIFXSEAIAIgAiAFIAMgABsiBCACIARdGyAEIARcGyICQwAAAABDAAAAACADIAUgABsiBCAEQwAAAABdGyAEIARcGyIEXUUNAUP//39/DwtD//9/fyEDIAUgASoCACIFXg0BIAUgCL5eDQELAkAgASoCDCIDQwAAAABcBEBDAACAPyADlSIFIAe+IAEqAgQiBpOUIgMgBSAJviAGk5QiBV0hACADIAUgABsiBiAGIAQgBCAGXRsgBCAEXBsiBCACIAIgBSADIAAbIgMgAiADXRsgAyADXBteRQ0BQ///f38PC0P//39/IQMgASoCBCICIAm+XQ0BIAIgB75eDQELIAQhAwsgAwuMAgMEfwJ9AX4jAEEgayIDIAEpAgA3AwggAioCBCEHIAIqAgAhCCADQgA3AxAgB4sgCItdIgRBAnQiASADQQhqIgVyKgIAIQcgA0EQaiIGIAFyIAc4AgAgBiAERUECdCIEciAEIAVyKgIAIAIgBGoqAgCYOAIAIAMgAykDECIJNwMYIANBGGogAXIgB4w4AgAgAEECNgIcIAAgCTcCACAAIAMpAxg3AgggACAJQj6Ip0ECcSAJp0EfdnIiAUGAgICABHKtIAMoAhxBHnZBAnEgAygCGEEfdnIiAkGAgICABHKtQiCGhDcCECAAIAIgASABIAJJG0ECdCACIAEgASACSxtyQbCAgIB8cjYCGAucAgMEfwF+AX0jAEEgayIEJAACQAJAAkACQCAABEAgAEEIayIFKAIAQQFqIQMgBSADNgIAIANFDQEgACgCACIDQX9GDQIgACADQQFqNgIAIAQgBTYCHCAEIAA2AhggBCAAQQhqIgM2AhQgAkECTQRAIARBCGogAyABvSIHpyAHQiCIpxDHCCAEKAIIIgNFDQQgBCgCDCIGIAMoAghPDQUgAygCBCAGQaACbGogAkEMbGoqAlAhCCAAIAAoAgBBAWs2AgAgBSAFKAIAQQFrIgA2AgAgAEUEQCAEQRxqEI8LCyAEQSBqJAAgCA8LQYjDwQBBGRCuDQALEK8NCwALELANAAtBoL3BAEHJAEHsvcEAEPgJAAtB/L3BABClDQALnAIDBH8BfgF9IwBBIGsiBCQAAkACQAJAAkAgAARAIABBCGsiBSgCAEEBaiEDIAUgAzYCACADRQ0BIAAoAgAiA0F/Rg0CIAAgA0EBajYCACAEIAU2AhwgBCAANgIYIAQgAEEIaiIDNgIUIAJBAk0EQCAEQQhqIAMgAb0iB6cgB0IgiKcQxwggBCgCCCIDRQ0EIAQoAgwiBiADKAIITw0FIAMoAgQgBkGgAmxqIAJBDGxqKgJUIQggACAAKAIAQQFrNgIAIAUgBSgCAEEBayIANgIAIABFBEAgBEEcahCPCwsgBEEgaiQAIAgPC0GIw8EAQRkQrg0ACxCvDQsACxCwDQALQaC9wQBByQBB7L3BABD4CQALQfy9wQAQpQ0AC/gBAgd9AX4gASoCECACKgIAIgcgAyoCACIFlCACKgIEIgggAyoCBCIGlJIiBCAEIASUIAcgBpQgCCAFlJMiBSAFlJKRIgaVIgSUIAUgBpUiBSABKgIUlJIhBiABQRBqIQMCQCABKgIAIASUIAEqAgQgBZSSIgkgASoCCCAElCABKgIMIAWUkiIKXkUEQCAGIApdRQ0BIAFBCGohAwwBCyAGIAldRQ0AIAEhAwsgACACKgIMIAggBCABKgIYIgSUIAMpAgAiC6e+kiIGlCAHIAUgBJQgC0IgiKe+kiIElJKSOAIEIAAgAioCCCAHIAaUIAggBJSTkjgCAAu2AgIFfwF+IwBBQGoiAiQAIAEoAgBBgICAgHhGBEAgASgCDCEEIAJBHGoiBUEIaiIGQQA2AgAgAkKAgICAEDcCHCACQShqIgNBCGogBCgCACIEQQhqKQIANwMAIANBEGogBEEQaikCADcDACACIAQpAgA3AyggBUG8usMAIAMQywIaIAJBGGogBigCACIDNgIAIAIgAikCHCIHNwMQIAFBCGogAzYCACABIAc3AgALIAEpAgAhByABQoCAgIAQNwIAIAJBCGoiAyABQQhqIgEoAgA2AgAgAUEANgIAIAIgBzcDAEEMQQQQ1AwiAUUEQEEEQQxB8PrDACgCACIAQe8HIAAbEQAAAAsgASACKQMANwIAIAFBCGogAygCADYCACAAQbC+wwA2AgQgACABNgIAIAJBQGskAAuKAgMFfQF/An4jAEEwayIIJAAgACkCACEJIAAqAgAhAyAIIAAqAgSMOAIMIAggA4w4AgggCCAJNwMQIAgpAwgiCqe+IAEqAgAiBZMiAyAFIAmnvpMiBCADIARgGyIDQwAAAAAgA0MAAAAAYBshAyAKQiCIp74gASoCBCIGkyIEIAYgCUIgiKe+kyIHIAQgB2AbIgRDAAAAACAEQwAAAABgGyEEAn0CQAJAIAINACADQwAAAABcDQAgBEMAAAAAWw0BCyADIAOUIAQgBJSSkQwBCyAIQRxqIAhBCGogAUEAEIIDIAgqAhwgBZMiAyADlCAIKgIgIAaTIgMgA5SSkYwLIQMgCEEwaiQAIAMLkQIBBX8jAEEQayIFJAACQAJAAkAgAEUNACAAQQhrIgYoAgBBAWohAyAGIAM2AgAgA0UNASAAKAIAIgNBf0YNAiAAIANBAWo2AgAgBSAGNgIMIAUgADYCCCAFIABBBGo2AgQgAkUNACACQQhrIgMoAgAiB0EBaiEEIAMgBDYCACAERQ0BIAIoAgANAiACQX82AgAgASAAKAJIIgRJBEAgAkEEaiAAKAJEIAFB0ABsakHQAPwKAAAgACgCSCEECyACQQA2AgAgAyAHNgIAIAYoAgAhAiAAIAAoAgBBAWs2AgAgBiACQQFrIgA2AgAgAEUEQCAFQQxqEJIKCyAFQRBqJAAgASAESQ8LEK8NCwALELANAAurAgMDfwF+An0jAEEQayIDJAACQAJAAkACQCAABEAgAEEIayIEKAIAQQFqIQIgBCACNgIAIAJFDQEgACgCACICQX9GDQIgACACQQFqNgIAIAMgBDYCDCADIAA2AgggAyAAQQhqIgI2AgQgAiABvSIFpyAFQiCIpxCKCiICRQ0DIAJBFGoqAgAhBiACQRBqKgIAIQcgACAAKAIAQQFrNgIAIAQgBCgCAEEBayIANgIAIABFBEAgA0EMahCTCwtBFEEEENQMIgBFDQQgACAGOAIQIAAgBzgCDCAAQQA2AgggAEKBgICAEDcCACADQRBqJAAgAEEIag8LEK8NCwALELANAAtBsLzBAEHQAEGAvcEAEPgJAAtBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAALpwICAn8EfQJAAkAgALwiAUGAgIAETgRAIAFB////+wdLDQFBgX8hAkMAAAAAIQAgAUGAgID8A0YNAQwCCyAAQwAAAABbBEBDAACAvyAAIACUlQ8LIAFBAE4EQCAAQwAAAEyUvCEBQeh+IQIMAgsgACAAk0MAAAAAlSEACyAADwsgAUGN9qsCaiIBQf///wNxQfOJ1PkDar5DAACAv5IiACAAQwAAAD+UlCEDIAAgAEMAAABAkpUiBSAFlCIGIAaUIQQgACAAIAOTvEGAYHG+IgCTIAOTIAUgAyAGIARD7umRPpRDqqoqP5KUIAQgBEMmnng+lEMTzsw+kpSSkpSSIQMgAEMAsLg/lCADQwCwuD+UIAMgAJJD1Jo4uZSSkiABQRd2IAJqspILmgICAX8CfSAAKgIEIQMgACoCACEEIAEoAgAiASgCCCECIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgI2AgggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogAzgAACABIAJBBGoiAjYCCCAAKgIMIQMgACoCCCEEIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEQQFBARDjBCABKAIIIQALIAEgAEEEajYCCCABKAIEIABqIAM4AABBAAuaAgIBfwJ9IAAqAgQhAyAAKgIAIQQgASgCACICKAIIIQEgAigCACABa0EDTQRAIAIgAUEEQQFBARDjBCACKAIIIQELIAIoAgQgAWogBDgAACACIAFBBGoiATYCCCACKAIAIAFrQQNNBEAgAiABQQRBAUEBEOMEIAIoAgghAQsgAigCBCABaiADOAAAIAIgAUEEaiIBNgIIIAAqAgghAyACKAIAIAFrQQNNBEAgAiABQQRBAUEBEOMEIAIoAgghAQsgAigCBCABaiADOAAAIAIgAUEEaiIBNgIIIAAqAgwhAyACKAIAIAFrQQNNBEAgAiABQQRBAUEBEOMEIAIoAgghAQsgAiABQQRqNgIIIAIoAgQgAWogAzgAAEEAC6gCAwN/AX4CfSMAQRBrIgMkAAJAAkACQAJAIAAEQCAAQQhrIgQoAgBBAWohAiAEIAI2AgAgAkUNASAAKAIAIgJBf0YNAiAAIAJBAWo2AgAgAyAENgIMIAMgADYCCCADIABBCGoiAjYCBCACIAG9IgWnIAVCIIinEIoKIgJFDQMgAkEEaioCACEGIAIqAgAhByAAIAAoAgBBAWs2AgAgBCAEKAIAQQFrIgA2AgAgAEUEQCADQQxqEJMLC0EUQQQQ1AwiAEUNBCAAIAY4AhAgACAHOAIMIABBADYCCCAAQoGAgIAQNwIAIANBEGokACAAQQhqDwsQrw0LAAsQsA0AC0GwvMEAQdAAQYC9wQAQ+AkAC0EEQRRB8PrDACgCACIAQe8HIAAbEQAAAAurAgMDfwF+An0jAEEQayIDJAACQAJAAkACQCAABEAgAEEQayIEKAIAQQFqIQIgBCACNgIAIAJFDQEgACgCACICQX9GDQIgACACQQFqNgIAIAMgBDYCDCADIAA2AgggAyAAQRBqIgI2AgQgAiABvSIFpyAFQiCIpxDlCiICRQ0DIAJBFGoqAgAhBiACQRBqKgIAIQcgACAAKAIAQQFrNgIAIAQgBCgCAEEBayIANgIAIABFBEAgA0EMahCQCwtBFEEEENQMIgBFDQQgACAGOAIQIAAgBzgCDCAAQQA2AgggAEKBgICAEDcCACADQRBqJAAgAEEIag8LEK8NCwALELANAAtBrL7BAEHNAEH8vsEAEPgJAAtBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAAL1QoDE38DfQF+IwBBMGsiBSQAAkACQAJAIAIEQCACQQhrIhAoAgBBAWohAyAQIAM2AgAgA0UNASACKAIAIgNBf0YNAiACIANBAWo2AgAgBSAQNgIUIAUgAjYCECAFIAJBBGo2AgwgBSABNgIkIAUgATYCICAFIAA2AhwgBSABNgIYIAUgAikCBDcDKCMAQUBqIg4kACAOQQhqIQogBUEoaiEVIwBBIGsiDSQAAkACQCAFQRhqIhMoAgwiC0EBSwRAIAtBAWshAQJ9IBMoAgQiACALQQJ0aiEIQwAAAAAgACAIIAtB/////wNxGyIGRQ0AGiAGKgIACyEXIAZBBGohAyALQQJrIQwCfyABQQFxRQRAIAMhBCAIIQcgBiEJIAEMAQsgFyALQQJ0IgQgBmoiByADIAMgCEYiABsiDyoCACIWIBYgF18bIRcgByAGIAAbIQkgAyAEaiAIIAAbIQcgDyAMQQBHQQJ0aiEEIAwLIQAgDARAA0AgFyALQQJ0Ig8gCWoiFCAEIAQgB0YiERsiEioCACIWIBYgF18bIRcgEiAAQQFHQQJ0aiISIAQgD2ogByARGyIHRiEEIBcgFCAJIBEbIgkgD2oiESASIAQbIhQqAgAiFiAWIBdfGyEXIBEgCSAEGyEJIA8gEmogByAEGyEHIBQgAEECR0ECdGohBCAAQQJrIgANAAsLIAYEfSAGKgIABUMAAAAACyEWAkAgAUEBcUUEQCABIQAMAQsgFiALQQJ0IgQgBmoiByADIAMgCEYiABsiCSoCACIYIBYgGF8bIRYgByAGIAAbIQYgAyAEaiAIIAAbIQggCSALQQJrIgBBAEdBAnRqIQMLIAwEQANAIBYgC0ECdCIEIAZqIgkgAyADIAhGIgwbIgcqAgAiGCAWIBhfGyEWIAcgAEEBR0ECdGoiByADIARqIAggDBsiCEYhAyAWIAkgBiAMGyIGIARqIgwgByADGyIJKgIAIhggFiAYXxshFiAMIAYgAxshBiAEIAdqIAggAxshCCAJIABBAkdBAnRqIQMgAEECayIADQALC0EAIQMgAUEASA0BIBUpAgAhGUEBIQMgAUEBENQMIgBFDQEgAQRAIABBASAB/AsACyAKIBk3AiAgCiABNgIcIAogATYCGCAKIAA2AhQgCiABNgIQIApBCGogE0EIaikCADcCACAKIBMpAgA3AgAgCiAZp75DAAAAP5S8IgCtIBcgGUIgiKe+IheUvK1CIIaENwIwIAogAEGAgICAeHOtIBYgF5S8rUIghoQ3AiggDUEgaiQADAILIA1BADYCGCANQQE2AgwgDUGgmMMANgIIIA1CBDcCECANQQhqQaiYwwAQ3AsACyADIAFB5LPCABD5CwALQcAAQQQQ1AwiAEUEQEEEQcAAQfD6wwAoAgAiAEHvByAAGxEAAAALIABCgYCAgBA3AgAgACAOKQIINwIIIABBEGogDkEQaikCADcCACAAQRhqIA5BCGoiAUEQaikCADcCACAAQSBqIAFBGGopAgA3AgAgAEEoaiABQSBqKQIANwIAIABBMGogAUEoaikCADcCACAAQThqIAFBMGopAgA3AgAgBUG8jsMANgIEIAUgADYCACAOQUBrJAAgBSgCBCEBIAUoAgAhAyACIAIoAgBBAWs2AgAgECAQKAIAQQFrIgA2AgAgAEUEQCAFQRRqEM0LC0EUQQQQ1AwiAEUNAyAAIAM2AgwgAEEANgIIIABCgYCAgBA3AgAgACABNgIQIAVBMGokACAAQQhqDwsQrw0LAAsQsA0AC0EEQRRB8PrDACgCACIAQe8HIAAbEQAAAAu7CwINfwF+IwBBkA5rIgMkAAJAAkACQCAABEAgAEEIayIJKAIAQQFqIQIgCSACNgIAIAJFDQEgACgCACICQX9GDQIgACACQQFqNgIAIAMgCTYCjAcgAyAANgKIByADIABBBGo2AoQHIwBBwBNrIgIkACACIAE2AgAgAkEEaiEFAkACQCACKAIAIgcQGSIBQQBIDQACQCABRQRAQQEhBAwBC0EBIQYgAUEBENQMIgRFDQELEB8iChARIggQFyEGIAhBhAFPBEAgCBACCyAGIAcgBBAYIAZBhAFPBEAgBhACCyAKQYQBTwRAIAoQAgsgBSAHEBk2AgggBSAENgIEIAUgATYCAAwBCyAGIAFByLHCABD5CwALIAIoAgghBSACIAIoAgw2AvQLIAIgBTYC8AsgAkHQDGoiASACQfALaiIGECAgAigC0AwhBwJAAkAgAigCjBMiCkECRwRAIAJB0ARqIgRBBHIgAUEEckG4BvwKAAAgBEHoBmoiCCABQegGaikDADcDACAEQeAGaiILIAFB4AZqKQMANwMAIARB2AZqIgwgAUHYBmopAwA3AwAgBEHQBmoiDSABQdAGaikDADcDACAEQcgGaiIOIAFByAZqKQMANwMAIAIgAikDkBM3A5ALIAIgBzYC0AQgAkEQaiIFIARBwAT8CgAAIAIpA5AJIQ8gAkHQEGogAkGYCWpB2AD8CgAAIAYgAkHwCWpB2AD8CgAAIAJBgBJqIAJByApqQcQA/AoAACACQcALaiIEQShqIgcgCCkDADcDACAEQSBqIgggCykDADcDACAEQRhqIgsgDCkDADcDACAEQRBqIgQgDSkDADcDACACIA4pAwA3A8gLIAIgAikDkAs3A8ALIANB5AZqIAVBOGopAwA3AgAgA0HcBmogBUEwaikDADcCACADQdQGaiAFQShqKQMANwIAIANBzAZqIAVBIGopAwA3AgAgA0HEBmogBUEYaikDADcCACADQbwGaiAFQRBqKQMANwIAIANBtAZqIAIpAxg3AgAgAyACKQMQNwKsBiABQThqIAJBiAFqKQMANwMAIAFBMGogAkGAAWopAwA3AwAgAUEoaiACQfgAaikDADcDACABQSBqIAJB8ABqKQMANwMAIAFBGGogBUHYAGopAwA3AwAgAUEQaiACQeAAaikDADcDACACIAJB2ABqKQMANwPYDCACIAIpA1A3A9AMIAJBkA1qIAJBkAFqQaAB/AoAACACQbAOaiACQbACakGgAvwKAAAgAkGoEWogBkHYAPwKAAAgAyABQfQF/AoA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/sIAELAJAAsgCCABQei0wwAQsAkACyADQYABaiIBQRBqIgQgCkEQaikCADcDACABQQhqIgggCkEIaikCADcDACABQSBqIg0gCkEgaikCADcDACABQShqIgsgCkEoaikCADcDACADIAopAgA3A4ABIAMgCikCGDcDmAEgAygCDCIFIAMoAgRGBEAgA0EEakG408IAEKsGCyADKAIIIAVBMGxqIgEgAykDgAE3AgAgAUEgaiANKQMANwIAIAFBGGogA0GYAWopAwA3AgAgAUEQaiAEKQMANwIAIAFBCGogCCkDADcCACABQShqIAspAwA3AgAgAyAFQQFqNgIMIAMoAhgiASADKAIQRgRAIBFByNPCABDHBgsgAygCFCABQQJ0akEANgIAIAMgAUEBajYCGAJAIAMoAiQiBUUNACADKAIgIgEoAgBBAUcNACABQQA2AgQCQCAFQQFGDQAgASgCCEUNACABQQE2AgwMBAtB2MTCAEEPQejTwgAQ+AkAC0HYxMIAQQ9B2NPCABD4CQALIANBgAFqIgFBEGoiBCAKQRBqKQIANwMAIAFBCGoiCCAKQQhqKQIANwMAIAMgCikCADcDgAEgAygCDCIFIAMoAgRGBEAgA0EEakGI08IAEKsGCyADKAIIIAVBMGxqIgEgAykDgAE3AgAgAUIANwIYIAFBEGogBCkDADcCACABQQhqIAgpAwA3AgAgAUEgakIANwIAIAFBKGpCADcCACADIAVBAWo2AgwgAygCGCIBIAMoAhBGBEAgEUGY08IAEMcGCyADKAIUIAFBAnRqQQA2AgAgAyABQQFqNgIYAkAgAygCJEUNACADKAIgIgEoAgBBAUcNACABQQA2AgQMAgtB2MTCAEEPQajTwgAQ+AkACyADKAIEIAMoAgwiAWsgB0kEQCADQQRqIAEgB0EwEOYECyADKAIQIAMoAhgiAWsgB0kEQCADQRBqIAEgB0EEEOYEC0EAIQkgA0EANgIYIAMoAgwiBSADKAIERgRAIANBBGpB+NPCABCrBiADKAIYIQkLIAMoAgggBUEwbGoiAUIANwIAIAFBIGpCADcCACABQRhqQgA3AgAgAUEQakIANwIAIAFBCGpCADcCACABQShqQgA3AgAgAyAFQQFqNgIMIAMoAhAgCUYEQCARQYjUwgAQxwYLIAMoAhQgCUECdGpBADYCACAD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AUkNAQsgABACCyADKAIMIgBBhAFPBEAgABACCyADKAIIIgBBhAFPBEAgABACCyADQRBqJAAgAgutAgMDfwN9AX4jAEFAaiICJAAgAkEEaiIBQQE6ADggAUKAgICAoOH1kTw3AgAgAUKAgICAgICAwD83AiQgAULbn6T6s/vDpD83AiwgAUECNgIIIAFBl+7GxgM2AjQgAUKAgICA0Jmzpj43AhwgAioCOCEEIAIqAjQhBSACKgIwIQYgAi0APCEDIAIpAighB0HgAEEEENQMIgFFBEBBBEHgAEHw+sMAKAIAIgFB7wcgARsRAAAACyABQgA3AlAgAUKAgICAwAA3AkggASADOgBEIAEgBDgCQCABIAU4AjwgASAGOAI4IAEgBzcCMCABQQI2AiggAUECNgIUIAEgADgCECABQoCAgIAQNwIIIAFCgYCAgBA3AgAgAUHWAGpCADcBACACQUBrJAAgAUEIagumAQIDfwF+IwBBEGsiAyQAAkACQCAABEAgAEEIayIEKAIAQQFqIQUgBCAFNgIAIAVFDQEgACgCAA0CIABBfzYCACADIAQ2AgwgAyAANgIIIAMgAEEIaiIFNgIEIAUgAb0iBqcgBkIgiKcgAkEARxAnIABBADYCACAEIAQoAgBBAWsiADYCACAARQRAIANBDGoQjwsLIANBEGokAA8LEK8NCwALELANAAukAQEEfyAAKAIAIQIgACABEMcGAkAgACgCCCIEIAIgACgCDCIBa00NACAAKAIAIQUgASACIARrIgFrIQMCQCABIANLBEAgBSACayADTw0BCyAFIAFrIQIgAUECdCIBBEAgACgCBCIDIAJBAnRqIAMgBEECdGogAfwKAAALIAAgAjYCCA8LIANBAnQiAUUNACAAKAIEIgAgAkECdGogACAB/AoAAAsL0QEBAn0CQAJAAkAgASgCCEUNACABKAIEIgEoAixB/////wNxIAEoAhRB/////wNxag4CAAECCyAAQv////v///+/fzcCCCAAQv////v3//+//wA3AgAPCyAAIAEpAgw3AgggACABKQIANwIADwsgACABKgIQIgIgASoCKCIDIAIgA2AbOAIMIAAgASoCDCICIAEqAiQiAyACIANgGzgCCCAAIAEqAgQiAiABKgIcIgMgAiADXxs4AgQgACABKgIAIgIgASoCGCIDIAIgA18bOAIAC74BAQF/IwBBEGsiBSQAIAAoAgAgAUEIIAAoAgQoAgwRBQAhASAFQQA6AA0gBSABOgAMIAUgADYCCCAFQQhqIAJBBiADIAQQswQhASAFLQANIgIgBS0ADCIDciEAAkAgAkEBRw0AIANBAXENACABKAIAIgAtAApBgAFxRQRAIAAoAgBBg+LDAEECIAAoAgQoAgwRBQAhAAwBCyAAKAIAQYLiwwBBASAAKAIEKAIMEQUAIQALIAVBEGokACAAQQFxC64BAgN/AX0jAEEQayIBJAACQAJAIAAEQCAAQQhrIgIoAgBBAWohAyACIAM2AgAgA0UNASAAKAIAIgNBf0YNAiAAIANBAWo2AgAgASACNgIMIAEgADYCCCABIABBBGo2AgQgACoCCCAAKgIEEMMNIQQgACAAKAIAQQFrNgIAIAIgAigCAEEBayIANgIAIABFBEAgAUEMahDNCwsgAUEQaiQAIAQPCxCvDQsACxCwDQALrgEBAX8jAEEQayIGJAACQCABBEAgBkEEaiABIAMgBCAFIAIoAhARBwACQCAGKAIEIgIgBigCDCIBTQRAIAYoAgghBQwBCyACQQJ0IQIgBigCCCEDIAFFBEBBBCEFIAMgAkEEEJ8NDAELIAMgAkEEIAFBAnQiAhCzDCIFRQ0CCyAAIAE2AgQgACAFNgIAIAZBEGokAA8LQaCwwgBBMhCuDQALQQQgAkGQsMIAEPkLAAugAQMCfwJ9AX4jAEGAAWsiAyQAIANBADYCfCADQgI3AnQgA0KAgICAEDcCbCADQRRqIgRBAEHYAPwLACADQQhqIAAoAgQgACgCCCAEIAEpAgAiByACECUgAyoCCCEFIAMqAgwhBiADLQAQIQAgA0GAAWokACAFIAenvpMiBSAFlCAGIAdCIIinvpMiBSAFlJKRIgUgBYwgBSAAQQFxGyACGwvCAQIHfQF+IAEqAhQhBSABKgIQIQQgASoCDCEGIAEqAgghByABKgIEIQggASoCACEJIAEqAhghCiACKQIAIQtBHEEEENQMIgFFBEBBBEEcQfD6wwAoAgAiAEHvByAAGxEAAAALIAEgCjgCGCABIAQgC6e+IgSUOAIQIAEgByAElDgCCCABIAkgBJQ4AgAgASAFIAtCIIinviIElDgCFCABIAYgBJQ4AgwgASAIIASUOAIEIABB9J/DADYCBCAAIAE2AgALmAEBCH0gAEIBNwIMIAAgAyoCACACKgIIIgqTIgUgAioCACIGlCADKgIEIAIqAgwiC5MiByACKgIEIgiUkiIJIAmUIAYgB5QgBSAIlJMiBSAFlJIiByABKgIAIgQgBJRfOgAIIAAgCyAGIAUgBCAHkZUiBJQiBZQgCCAJIASUIgSUkpI4AgQgACAKIAYgBJQgCCAFlJOSOAIAC50BAQl9IABCATcCDCAAIAEqAgAiCSADKgIAIAIqAggiCpMiBCACKgIAIgWUIAMqAgQgAioCDCIGkyIHIAIqAgQiCJSSIguUIAEqAgQiDCAFIAeUIAQgCJSTIgeUkiIEQwAAAABfOgAIIAAgBiAFIAcgDCAElJMiBpQgCCALIAkgBJSTIgSUkpI4AgQgACAKIAUgBJQgCCAGlJOSOAIAC7QBAgF/AX0jAEEwayIFJAAgBUEMaiABIAIgAkEIahC2AUEAIQICQCAFKAIMQQFHDQACQCAFKgIYIgZDAAAAAF1FBEAgAyAGYEUNAiAFKAIcIQEgACAFKQIQNwIEDAELIAUoAiwhASAERQRAIAUqAigiBiADX0UNAiAAIAUpAiA3AgQMAQsgAEIANwIEQwAAAAAhBgsgACABNgIQIAAgBjgCDEEBIQILIAAgAjYCACAFQTBqJAALswEBA38jAEEQayIEJAACQAJAIAEgACgCPCIFSQRAIAAoAjggAUEDdGoiBigCACIFIAAoAjAiAU8NASAGKAIEIgYgAU8NAiAEIAAoAiwiACAGQQN0aikCADcDCCAEIAAgBUEDdGopAgA3AwAgAkEAIARBzPrCAEEAIAAgAygCEBELACAEQRBqJAAPCyABIAVB5P7CABCwCQALIAUgAUH0/sIAELAJAAsgBiABQYT/wgAQsAkAC6cGAhB/AX4jAEEQayIHJAACQAJAIAAEQCAAQQhrIgkoAgBBAWohAyAJIAM2AgAgA0UNASAAKAIAIgNBf0YNAiAAIANBAWo2AgAgByAJNgIMIAcgADYCCCAHIABBBGoiBTYCBCMAQSBrIgQkACAEIAI2AhQgBEGBATYCGCABvSITQiCIpyEOAn9BACATpyIPIAUoAjhPDQAaQQAgBSgCNCAPQQxsaiICKAIAIA5HDQAaIAIoAgQhCEEBCyEKIAggBSgCCEkhECAFKAIEIAhBBHRqQQhqIREgBSgCFCELIAUoAhAhDEECIQ0CQAJAA0AgDUEARyECAn4CQAJAAkAgEARAA0ACQCACQQFxDQAgCyATpyICSw0EIBNCIIinIQMDQCALIAMiAk0NASAMIAJBOGxqIgYoAiwhAyAGKAIwIAhGDQALDAULIApFDQIgESkCACETQQAhDUEAIQpBACECDAALAAsDQAJAIAJBAXENACALIBOnIgJLDQMgE0IgiKchAwNAIAsgAyICTQ0BIAwgAkE4bGoiBigCLCEDIAYoAjAgCEYNAAsMBAsgCiEDQQAhDUJ/IRNBACEKQQAhAiADDQALCyAEKAIYIgJBgwFLBEAgAhACCyAEKAIUIgJBhAFPBEAgAhACCyAEQSBqJAAMBQsgDCACQThsaiIGNQIoIBNCgICAgHCDhAwBCyATQv////8PgyADrUIghoQLIRMgBSgCFCACSwRAIAUoAhAgAkE4bGoiAygCMCISIAUoAggiAk8NAiADQTBqKAIEIgMgAk8EQCADIAJByLDBABCwCQALIAQCfiAGKAIMIgIgD0YgBigCECIDIA5GcUUEQCACrSADrUIghoQMAQsgBikCFAu/EAA2AhwgBEEIaiAEQRRqIARBGGogBEEcahDtCiAEKAIMIgJBhAFPBEAgAhACCyAEKAIcIgJBhAFJDQEgAhACDAELC0GosMEAEKUNAAsgEiACQbiwwQAQsAkACyAAIAAoAgBBAWs2AgAgCSAJKAIAQQFrIgA2AgAgAEUEQCAHQQxqEI0LCyAHQRBqJAAPCxCvDQsACxCwDQALygYCEX8CfiMAQRBrIgckAAJAAkAgAARAIABBCGsiCSgCAEEBaiEDIAkgAzYCACADRQ0BIAAoAgAiA0F/Rg0CIAAgA0EBajYCACAHIAk2AgwgByAANgIIIAcgAEEEaiIDNgIEIwBBIGsiBSQAIAUgAjYCFCAFQYEBNgIYIAG9IhRCIIinIQ8Cf0EAIBSnIhAgAygCOE8NABpBACADKAI0IBBBDGxqIgQoAgAgD0cNABogBCgCCCEIQQELIQIgA0EYaiEKIAggAygCIEkhEiADKAIcIAhBBHRqQQhqIRMgAygCLCELIAMoAighDEECIQ0CQAJAA0AgDUEARyEEAn4CQAJAAkAgEgRAA0ACQCAEQQFxDQAgCyAUpyIESw0EIBRCIIinIQMDQCALIAMiBE0NASAMIANBFGxqIgYoAgQhAyAGKAIIIAhGDQALDAULIAJFDQIgEykCACEUQQAhDUEAIQJBACEEDAALAAsDQAJAIARBAXENACALIBSnIgRLDQMgFEIgiKchAwNAIAsgAyIETQ0BIAwgA0EUbGoiBigCBCEDIAYoAgggCEYNAAsMBAsgAiEDQQAhDUJ/IRRBACECQQAhBCADDQALCyAFKAIYIgJBgwFLBEAgAhACCyAFKAIUIgJBhAFPBEAgAhACCyAFQSBqJAAMBQsgDCAEQRRsajUCACAUQoCAgIBwg4QMAQsgFEL/////D4MgA61CIIaECyEUIAooAhQgBEsEQCAEQRRsIgQgCigCEGoiAygCCCIGIAooAggiDk8NAiADKAIMIhEgDk8EQCARIA5ByLDBABCwCQALIAQgDGpBEGotAABFDQEgCigCBCIEIAZBBHRqIgMoAgQhBiAFIAQgEUEEdGopAgAgAygCACIDrSAGrUIghoQiFSAGIA9GGyAVIAMgEEYbvxAANgIcIAVBCGogBUEUaiAFQRhqIAVBHGoQ7QogBSgCDCIDQYQBTwRAIAMQAgsgBSgCHCIDQYQBSQ0BIAMQAgwBCwtBqLDBABClDQALIAYgDkG4sMEAELAJAAsgACAAKAIAQQFrNgIAIAkgCSgCAEEBayIANgIAIABFBEAgB0EMahCNCwsgB0EQaiQADwsQrw0LAAsQsA0AC54BAQN/IAAoAgAiBSACaiIELQAAIQYgBCABp0EZdiIEOgAAIAUgACgCBCACQQhrcWpBCGogBDoAACAAIAAoAgxBAWo2AgwgACAAKAIIIAZBAXFrNgIIIAUgAkFkbGoiAkEcayIAIAMpAgA3AgAgAEEIaiADQQhqKQIANwIAIABBEGogA0EQaikCADcCACAAQRhqIANBGGooAgA2AgAgAgumAQICfgZ9IAAgASkCACICIAEpAggiAyABKgIAIgQgASoCBCIGQwAAAACUIgWSIAEqAggiByABKgIMIghDAAAAAJQiCZJeGz4CCCAAIAIgAyAGIARDAAAAAJSSIAggB0MAAAAAlCIEkl4bQiCIPgIMIAAgAiADIAUgAqe+IgWTIAkgB5NeGz4CACAAIAIgAyAFQwAAAACUIAaTIAQgCJNeG0IgiD4CBAuXAQIFfQF+IAEgAUEIaiABKgIAIAIqAgAiBSADKgIAIgSUIAIqAgQiBiADKgIEIgeUkiIIlCABKgIEIAUgB5QgBiAElJMiBJSSIAggASoCCJQgBCABKgIMlJJeGykCACIJp74hBCAAIAIqAgwgBiAElCAFIAlCIIinviIHlJKSOAIEIAAgAioCCCAFIASUIAYgB5STkjgCAAvOAQECfyMAQRBrIgIkAAJAAkAgAUUEQCAARQ0CIABBCGsiASgCAEEBRgRAIAFBADYCACABQX9GDQIgAEEEayIDKAIAQQFrIQAgAyAANgIAIAANAiABQdwAQQQQnw0MAgtBuMLBAEE/EK4NAAsgAEUNASAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENAAJAIAJBDGooAgAiAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQdwAQQQQnw0LCyACQRBqJAAPCxCvDQALpwEBAn8jAEEQayICJAACQAJAIAFFBEAgAEUNAiAAQQhrIgEoAgBBAUYEQCABQQA2AgAgAUF/Rg0CIABBBGsiAygCAEEBayEAIAMgADYCACAADQIgAUHAAEEEEJ8NDAILQbjCwQBBPxCuDQALIABFDQEgAEEIayIAKAIAQQFrIQEgACABNgIAIAIgADYCDCABDQAgAkEMahDQCwsgAkEQaiQADwsQrw0AC6YBAQJ/IwBBEGsiAiQAAkACQCABRQRAIABFDQIgAEEIayIBKAIAQQFGBEAgAUEANgIAIAFBf0YNAiAAQQRrIgMoAgBBAWshACADIAA2AgAgAA0CIAFBDEEEEJ8NDAILQbjCwQBBPxCuDQALIABFDQEgAEEIayIAKAIAQQFrIQEgACABNgIAIAIgADYCDCABDQAgAkEMahDMCwsgAkEQaiQADwsQrw0AC6cBAQJ/IwBBEGsiAiQAAkACQCABRQRAIABFDQIgAEEIayIBKAIAQQFGBEAgAUEANgIAIAFBf0YNAiAAQQRrIgMoAgBBAWshACADIAA2AgAgAA0CIAFBzABBBBCfDQwCC0G4wsEAQT8Qrg0ACyAARQ0BIABBCGsiACgCAEEBayEBIAAgATYCACACIAA2AgwgAQ0AIAJBDGoQzgsLIAJBEGokAA8LEK8NAAunAQECfyMAQRBrIgIkAAJAAkAgAUUEQCAARQ0CIABBEGsiASgCAEEBRgRAIAFBADYCACABQX9GDQIgAEEMayIDKAIAQQFrIQAgAyAANgIAIAANAiABQdABQRAQnw0MAgtBuMLBAEE/EK4NAAsgAEUNASAAQRBrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENACACQQxqEM8LCyACQRBqJAAPCxCvDQALzAEBAn8jAEEQayICJAACQAJAIAFFBEAgAEUNAiAAQQhrIgEoAgBBAUYEQCABQQA2AgAgAUF/Rg0CIABBBGsiAygCAEEBayEAIAMgADYCACAADQIgAUEwQQQQnw0MAgtBuMLBAEE/EK4NAAsgAEUNASAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENAAJAIAJBDGooAgAiAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQTBBBBCfDQsLIAJBEGokAA8LEK8NAAvMAQECfyMAQRBrIgIkAAJAAkAgAUUEQCAARQ0CIABBCGsiASgCAEEBRgRAIAFBADYCACABQX9GDQIgAEEEayIDKAIAQQFrIQAgAyAANgIAIAANAiABQRBBBBCfDQwCC0G4wsEAQT8Qrg0ACyAARQ0BIABBCGsiACgCAEEBayEBIAAgATYCACACIAA2AgwgAQ0AAkAgAkEMaigCACIAQX9GDQAgACAAKAIEQQFrIgE2AgQgAQ0AIABBEEEEEJ8NCwsgAkEQaiQADwsQrw0AC8wBAQJ/IwBBEGsiAiQAAkACQCABRQRAIABFDQIgAEEIayIBKAIAQQFGBEAgAUEANgIAIAFBf0YNAiAAQQRrIgMoAgBBAWshACADIAA2AgAgAA0CIAFBGEEEEJ8NDAILQbjCwQBBPxCuDQALIABFDQEgAEEIayIAKAIAQQFrIQEgACABNgIAIAIgADYCDCABDQACQCACQQxqKAIAIgBBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEEYQQQQnw0LCyACQRBqJAAPCxCvDQALzAEBAn8jAEEQayICJAACQAJAIAFFBEAgAEUNAiAAQQhrIgEoAgBBAUYEQCABQQA2AgAgAUF/Rg0CIABBBGsiAygCAEEBayEAIAMgADYCACAADQIgAUEoQQQQnw0MAgtBuMLBAEE/EK4NAAsgAEUNASAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENAAJAIAJBDGooAgAiAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQShBBBCfDQsLIAJBEGokAA8LEK8NAAvMAQECfyMAQRBrIgIkAAJAAkAgAUUEQCAARQ0CIABBCGsiASgCAEEBRgRAIAFBADYCACABQX9GDQIgAEEEayIDKAIAQQFrIQAgAyAANgIAIAANAiABQSBBBBCfDQwCC0G4wsEAQT8Qrg0ACyAARQ0BIABBCGsiACgCAEEBayEBIAAgATYCACACIAA2AgwgAQ0AAkAgAkEMaigCACIAQX9GDQAgACAAKAIEQQFrIgE2AgQgAQ0AIABBIEEEEJ8NCwsgAkEQaiQADwsQrw0AC8wBAQJ/IwBBEGsiAiQAAkACQCABRQRAIABFDQIgAEEIayIBKAIAQQFGBEAgAUEANgIAIAFBf0YNAiAAQQRrIgMoAgBBAWshACADIAA2AgAgAA0CIAFBPEEEEJ8NDAILQbjCwQBBPxCuDQALIABFDQEgAEEIayIAKAIAQQFrIQEgACABNgIAIAIgADYCDCABDQACQCACQQxqKAIAIgBBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEE8QQQQnw0LCyACQRBqJAAPCxCvDQALpgEBAn8jAEEQayICJAACQAJAIAFFBEAgAEUNAiAAQQhrIgEoAgBBAUYEQCABQQA2AgAgAUF/Rg0CIABBBGsiAygCAEEBayEAIAMgADYCACAADQIgAUEUQQQQnw0MAgtBuMLBAEE/EK4NAAsgAEUNASAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENACACQQxqEM0LCyACQRBqJAAPCxCvDQALzAEBAn8jAEEQayICJAACQAJAIAFFBEAgAEUNAiAAQQhrIgEoAgBBAUYEQCABQQA2AgAgAUF/Rg0CIABBBGsiAygCAEEBayEAIAMgADYCACAADQIgAUE0QQQQnw0MAgtBuMLBAEE/EK4NAAsgAEUNASAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENAAJAIAJBDGooAgAiAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQTRBBBCfDQsLIAJBEGokAA8LEK8NAAuZAQIBfwR9IwBBEGsiBiQAIAYgACoCACIHIAMqAgQiCJQgACoCBCIJIAMqAgAiCpSTOAIEIAYgByAKlCAJIAiUkjgCACAGIAcgAyoCCCAAKgIIkyIIlCAJIAMqAgwgACoCDJMiCpSSvK0gByAKlCAJIAiUk7ytQiCGhDcCCEEBIAYgASACIAQgBRBOIQAgBkEQaiQAIABB/wFxC5gBAgZ9AX9BASEKIAAqAgQiCCABKgIAIgQgAioCBCABKgIMkyIFlCACKgIAIAEqAgiTIgYgASoCBCIHlJOMlCAAKgIAIgkgBiAElCAFIAeUkpSTIgVDAAAAAF4Ef0EBBSAFIAkgBCACKgIIIgWUIAcgAioCDCIGlJKUIAggBCAGlCAHIAWUk5SSlSIEQwAAAABgIAMgBGBxCwuaAQEBfyAAKAIAIgEEQCAAKAIEIAFBMGxBBBCfDQsgACgCDCIBBEAgACgCECABQRhsQQQQnw0LIAAoAhgiAQRAIAAoAhwgAUECdEEEEJ8NCyAAKAIkIgEEQCAAKAIoIAFBA3RBBBCfDQsgACgCMCIBBEAgACgCNCABQQJ0QQQQnw0LIAAoAkAiAQRAIAAoAkQgAUECdEEEEJ8NCwvHVAIxfwZ+IwBBIGsiGSQAIBkgATYCECAZIAA2AgwgGSABNgIIIBkgAzYCHCAZIAI2AhggGSADNgIUIBlBFGohLCMAQUBqIhAkACAZQQhqIjEoAggiDCAMQQF2ayIDQQN0IQECQAJ/AkAgA0H/////AUsNACABQfz///8HSw0AIDEoAgQhMgJAIAFFBEBBBCECQQAhAwwBC0EEIAFBBBDUDCICRQ0CGgsCQAJAAkACQCAMBEAgAiEBIDIhAANAIAxBAU0NAiABIAApAgA3AgAgAUEIaiEBIAdBAWohByAAQQhqIQAgDEECayIMDQALCyAQIAc2AhQgECACNgIQIBAgAzYCDCAsKAIEITNBACEDQQAhASAsKAIIIgwEQCAMQQNuIAxBA3BBAEdqIQELIAGtQgx+IjanIQAgNkIgiKcNASAAQfz///8HSw0BQQAhBwJAIABFBEBBBCECQQAhAQwBC0EEIQMgAEEEENQMIgJFDQILIBBBADYCMCAQIAI2AiwgECABNgIoIAwEQCAMQQNuIgAgDCAAQQNsR2oiACABSwRAIBBBKGpBACAAQQRBDBDjBCAQKAIwIQcgECgCLCECCyACIAdBDGxqIQEgMyEAA0AgDEEBRg0EIAxBAk0NBSABIAAoAgA2AgAgAUEEaiAAKQIENwIAIAFBDGohASAHQQFqIQcgAEEDIAwgDEEDTxsiAkECdGohACAMIAJrIgwNAAsLIBBBIGogBzYCACAQIBApAig3AxggEEEoaiEmIwBBoAJrIhgkACAYQSBqITQgEEEMaiECIARBACAEQf//A3FBgAJJGyEAIwBBoAFrIggkAAJAIBBBGGoiASgCCEUEQCA0QoCAgIAoNwIAIAEoAgAiAARAIAEoAgQgAEEMbEEEEJ8NCyACKAIAIgBFDQEgAigCBCAAQQN0QQQQnw0MAQsgCEEwaiACQQhqKAIANgIAIAhBPGogAUEIaigCADYCACAIQgA3AiAgCEKAgICAwAA3AhggCEIENwIQIAhCADcCCCAIQoCAgIDAADcCACAIQYCAgIB4NgJAIAhBgICAgHg2AmQgCEEAOwGIASAIIAIpAgA3AiggCCABKQIANwI0IAhBjAFqIS0jAEGwAWsiBSQAIAgoAjwhKCAAIilBAXFFBEACQCAIKAJAIgBBgICAgHhGDQAgAARAIAgoAkQgAEECdEEEEJ8NCyAIKAJMIgAEQCAIKAJQIABBAnRBBBCfDQsgCCgCWCIARQ0AIAgoAlwgAEEEdEEEEJ8NCyAIQYCAgIB4NgJACyApQQJxRQRAAkAgCCgCZCIAQYCAgIB4Rg0AIAAEQCAIKAJoIABBAnRBBBCfDQsgCCgCcCIABEAgCCgCdCAAQQJ0QQQQnw0LIAgoAnwiAEUNACAIKAKAASAAQQJ0QQQQnw0LIAhBgICAgHg2AmQLAkACQAJAIAgvAYgBQf8BcyApcSI1QfAAcUUNACAFQShqQcC+wgApAwA3AwAgBUKJ2bnijtO+lwg3AzAgBUG4vsIAKQMANwMgQQQhH0EEIQcCQAJAAkACQAJAAkAgCCgCMCISBEAgEkEDdCIAQQQQ1AwiB0UNAQsgBUEANgIYIAUgBzYCFCAFIBI2AhAgKEEMbCEAAkAgKARAIABBBBDUDCIfRQ0BCyAFIB82AlwgBSAoNgJYIAVBADYCYCAFQfAAakHAvsIAKQMANwMAIAVBuL7CACkDADcDaCAFQonZueKO076XCDcDeCAIKAI4IQ0gKEUNBiApQSBxISogCCgCLCEgIClBwABxRQ0CIAAgDWohLiAFQfgAaiEvIA0hBgNAIBIgBigCACIBTQ0EICAgAUEDdGopAgAgBUEgaiICIAVBEGoiABCEAiEBIBIgBigCBCIETQ0GICAgBEEDdGopAgAgAiAAEIQCIQQgEiAGKAIIIgNNDQUgICADQQN0aikCACACIAAQhAIhBwJAAkACQCABIARGDQAgASAHRg0AICpFDQEgBCAHRw0BDAILICoNAQsCfyABIARNBEAgBCEAIAEgASAHIgJLDQEaIAAgAiAAIAJLGyEAIAEhAiAEIAcgBCAHSRsMAQsgBCECIAEgASAHIgBNDQAaIAEhACACIAcgAiAHSRshAiAEIAcgBCAHSxsLIQMgAK0gAyITrUIghoQiOyAFKQN4hSI2Qv////8PgyI5IAIiDkHdofHLfHOtIjh+IDZCIIgiNkK307CFDH6FIDYgOH4gOUK307CFDH6FQiCIhSE6IAUoAnBFBEAgBUEIaiErIwBBMGsiFCQAIBQgLzYCKCAFQegAaiIcKAIMIQsgFCAUQShqNgIsAkAgCyALQQFqIgJNBEAgHCgCBCIjICNBAWpBA3ZBB2wgI0EISRsiA0EBdiACSQRAAkACQAJAAn8gA0EBaiIDIAIgAiADSRsiAkEPTwRAIAJB/////wFLDQJBfyACQQN0QQduQQFrZ3ZBAWoMAQtBBEEIQRAgAkEISRsgAkEESRsLIgKtQgx+IjZCIIinDQEgNqciA0F4Sw0BIANBB2pBeHEiCiACQQhqIgxqIgkgCkkNASAJQfj///8HSw0BIAlBCBDUDCIDDQIMEQsQ0AogFCgCJCECIBQoAiAhCgwECxDQCiAUKAIUIQIgFCgCECEKDAMLIAMgCmohFyAMBEAgF0H/ASAM/AsACyACQQFrIiEgAkEDdkEHbCAhQQhJGyEwAkAgC0UEQCAcKAIAIQwMAQsgF0EIaiEVIBwoAgAiDCkDAEJ/hUKAgYKEiJCgwIB/gyE3IBQoAighGkEAIQIgCyEDIAwhCgNAIDdQBEADQCACQQhqIQIgCkEIaiIKKQMAQoCBgoSIkKDAgH+DIjZCgIGChIiQoMCAf1ENAAsgNkKAgYKEiJCgwIB/hSE3CyAXIBopAwAgDCA3eqdBA3YgAmoiHUF0bGoiCUEMaykCAIUiNkL/////D4MiOSAJQQRrNQIAQt2h8csMhSI4fiA2QiCIIjZCt9OwhQx+hSA2IDh+IDlCt9OwhQx+hUIgiIWnIh4gIXEiFmopAABCgIGChIiQoMCAf4MiNlAEQEEIISQDQCAWICRqIQkgJEEIaiEkIBcgCSAhcSIWaikAAEKAgYKEiJCgwIB/gyI2UA0ACwsgN0IBfSA3gyE3IBcgNnqnQQN2IBZqICFxIhZqLAAAQQBOBEAgFykDAEKAgYKEiJCgwIB/g3qnQQN2IRYLIBYgF2ogHkEZdiIJOgAAIBUgFkEIayAhcWogCToAACAXIBZBf3NBDGxqIh5BCGogDCAdQX9zQQxsaiIJQQhqKAAANgAAIB4gCSkAADcAACADQQFrIgMNAAsLIBwgITYCBCAcIBc2AgAgHCAwIAtrNgIIQYGAgIB4IQogI0UNAiAMICNBDGxBE2pBeHEiAmsgAiAjakEJakEIEJ8NDAILIBwgFEEsakHfAkEMEIECQYGAgIB4IQoMAQsQ0AogFCgCDCECIBQoAgghCgsgKyACNgIEICsgCjYCACAUQTBqJAALIAUoAmwiCyA6p3EhAiA6QhmIIjlC/wCDQoGChIiQoMCAAX4hOEEAIQMgBSgCaCEJQQAhDANAIAIgCWopAAAiOiA4hSI2QoGChIiQoMCAAX0gNkJ/hYNCgIGChIiQoMCAf4MiN0IAUgRAA0ACQCAJIDd6p0EDdiACaiALcUF0bGoiCkEMaygCACAARw0AIApBCGsoAgAgE0cNACAOIApBBGsoAgBGDQQLIDdCAX0gN4MiN0IAUg0ACwsgOkKAgYKEiJCgwIB/gyE2An8CQCAMQQFHBEAgNlANASA2eqdBA3YgAmogC3EhDwtBASA2IDpCAYaDUA0BGiAJIA9qLAAAIgJBAE4EQCAJIAkpAwBCgIGChIiQoMCAf4N6p0EDdiIPai0AACECCyAJIA9qIDmnQf8AcSIAOgAAIAkgD0EIayALcWpBCGogADoAACAJIA9BdGxqIgBBDGsgOzcCACAAQQRrIA42AgAgBSAFKAJ0QQFqNgJ0IAUgBSgCcCACQQFxazYCcCAFKAJYICdGBEAgBUHYAGpBmJrDABCjBiAFKAJcIR8LIB8gJ0EMbGoiACAHNgIIIAAgBDYCBCAAIAE2AgAgBSAnQQFqIic2AmAMAwtBAAshDCADQQhqIgMgAmogC3EhAgwACwALIC4gBkEMaiIGRw0ACwwGC0EEIABByJnDABD5CwALQQQgAEG4mcMAEPkLAAsgEiANKAIAIgFNDQAgDUEIaiEGIChBDGxBDGshAANAICAgAUEDdGopAgAgBUEgaiICIAVBEGoiARCEAiEHIBIgBkEEaygCACIETQ0DICAgBEEDdGopAgAgAiABEIQCIQQgEiAGKAIAIgNNDQICQAJAIAQgB0cgICADQQN0aikCACACIAEQhAIiAiAHR3FFBEAgKkUNAQwCCyAqRQ0AIAIgBEYNAQsgBSgCWCARRgRAIAVB2ABqQYiawwAQowYgBSgCXCEfCyAfIBFBDGxqIgEgAjYCCCABIAQ2AgQgASAHNgIAIAUgEUEBaiIRNgJgCyAARQ0EIABBDGshACAGQQRqIQEgBkEMaiEGIBIgASgCACIBSw0ACwsgASASQdiZwwAQsAkACyADIBJB+JnDABCwCQALIAQgEkHomcMAELAJAAsCQCAFKAIQIgAgBSgCGCIDSwRAIABBA3QhAiAFKAIUIQACQCADRQRAQQQhASAAIAJBBBCfDQwBCyAAIAJBBCADQQN0IgAQswwiAUUNAgsgBSADNgIQIAUgATYCFAsgCEE0aiECIAhBKGoiASgCACIABEAgCCgCLCAAQQN0QQQQnw0LIAEgBSkCEDcCACABQQhqIAVBGGooAgA2AgAgAigCACIABEAgDSAAQQxsQQQQnw0LIAIgBSkCWDcCACACQQhqIAVB4ABqKAIANgIAIAUoAmwiAQRAIAUoAmggAUEMbEETakF4cSIAayAAIAFqQQlqQQgQnw0LIAUoAiQiAUUNASAFKAIgIAFBDGxBE2pBeHEiAGsgACABakEJakEIEJ8NDAELQQQgAEGomsMAEPkLAAtBAiEMIDVBBXEEQCAFQegAaiElQQAhASMAQeAAayIGJAACQCApQQRxQQJ2RQ0AIAZBQGtBwL7CACkDADcDACAGQonZueKO076XCDcDSCAGQbi+wgApAwA3AzggBkEAOgBXIAYgBkE4ajYCXCAGIAZB1wBqNgJYIAgoAjwiAkUNAEEBIAJrIQQgCCgCOCEHAkACQANAIAZB2ABqIAcQhwFFDQEgB0EMaiEHIARBAWoiBEEBRw0ACwwBCyAERQRAQQEhAQwBCyAHQQxqIQdBACAEayEEQQEhAQNAAkAgBkHYAGogBxCHAUUEQCABQQFqIQEMAQsgByABQXRsaiIAIAcpAgA3AgAgAEEIaiAHQQhqKAIANgIACyAHQQxqIQcgBEEBayIEDQALCyAIIAIgAWs2AjwgBigCPCIARQ0AIAYoAjggAEEDdGtBCGsgAEEJbEERakEIEJ8NCyAGQQA2AjQgBkKAgICAwAA3AiwgBkIENwIkIAZCADcCHCAGQoCAgIDAADcCFCAGQUBrQcC+wgApAwA3AwAgBkKJ2bnijtO+lwg3A0ggBkG4vsIAKQMANwM4IAYgCCgCMCIDBH8gBkEUakEAIANBBBDmBCAGKAIYIgIgBigCHCIHQQJ0aiEAIANBAUcEQCADQQJ0QQRrIgEEQCAAQf8BIAH8CwALIAMgB2oiAEEBayEHIAIgAEECdGpBBGshAAsgAEF/NgIAIAdBAWoFQQALNgIcAkAgCCgCPCIABEAgBkEsaiEjIAZBIGohJyAIKAI4IgcgAEEMbGohKiAHQQxqIQQgBkHIAGohK0EBIQBBACEBA0AgBCETIAAhDAJAAn8CQCAHKAIAIgAgBygCBCICRg0AIAAgBygCCCIARg0AIAAgAkYNAEEAIQpBASEAIAYoAjQiHCEEA0AgACICQQAgAEEDRxsiAyAcaiEAIAcgCkECdGoiICgCACERIAYoAiwgBEYEQCAjQfiawwAQyAYLIAYoAjAiLiAEQQR0aiIOIAE2AgwgDiARNgIIIA5BfzYCBCAOIAA2AgAgBiAEQQFqIgQ2AjQgBikDSCAgKAIAIh+tIAcgA0ECdGooAgAiC61CIIaEhSI2QiCIIjhCt9OwhQx+IDZC/////w+DIjZC3aHxywx+hSA4Qt2h8csMfiA2QrfTsIUMfoVCIIiFITkgBigCQEUEQCAGQQhqISEjAEEwayIbJAAgGyArNgIoIAZBOGoiEigCDCEPIBsgG0EoajYCLAJAIA8gD0EBaiIATQRAIBIoAgQiFyAXQQFqQQN2QQdsIBdBCEkbIgNBAXYgAEkEQAJAAkACQAJ/IANBAWoiAyAAIAAgA0kbIgBBD08EQCAAQf////8BSw0CQX8gAEEDdEEHbkEBa2d2QQFqDAELQQRBCEEQIABBCEkbIABBBEkbCyIArUIMfiI2QiCIpw0BIDanIgNBeEsNASADQQdqQXhxIg0gAEEIaiIOaiIJIA1JDQEgCUH4////B0sNASAJQQgQ1AwiAw0CDA8LENAKIBsoAiQhACAbKAIgIQMMBAsQ0AogGygCFCEAIBsoAhAhAwwDCyADIA1qISIgDgRAICJB/wEgDvwLAAsgAEEBayIUIABBA3ZBB2wgFEEISRshLwJAIA9FBEAgEigCACEODAELICJBCGohMCASKAIAIg5BDGshFSAOKQMAQn+FQoCBgoSIkKDAgH+DITcgGygCKCEaQQAhACAPIQ0gDiEDA0AgN1AEQANAIABBCGohACADQQhqIgMpAwBCgIGChIiQoMCAf4MiNkKAgYKEiJCgwIB/UQ0ACyA2QoCBgoSIkKDAgH+FITcLICIgGikDACAVIDd6p0EDdiAAaiIdQXRsaikCAIUiNkIgiCI4QrfTsIUMfiA2Qv////8PgyI2Qt2h8csMfoUgOELdofHLDH4gNkK307CFDH6FQiCIhaciHiAUcSIWaikAAEKAgYKEiJCgwIB/gyI2UARAQQghJANAIBYgJGohCSAkQQhqISQgIiAJIBRxIhZqKQAAQoCBgoSIkKDAgH+DIjZQDQALCyA3QgF9IDeDITcgIiA2eqdBA3YgFmogFHEiFmosAABBAE4EQCAiKQMAQoCBgoSIkKDAgH+DeqdBA3YhFgsgFiAiaiAeQRl2Igk6AAAgMCAWQQhrIBRxaiAJOgAAICIgFkF/c0EMbGoiHkEIaiAOIB1Bf3NBDGxqIglBCGooAAA2AAAgHiAJKQAANwAAIA1BAWsiDQ0ACwsgEiAUNgIEIBIgIjYCACASIC8gD2s2AghBgYCAgHghAyAXRQ0CIA4gF0EMbEETakF4cSIAayAAIBdqQQlqQQgQnw0MAgsgEiAbQSxqQd4CQQwQgQJBgYCAgHghAwwBCxDQCiAbKAIMIQAgGygCCCEDCyAhIAA2AgQgISADNgIAIBtBMGokAAsgCiAcaiEOIAYoAjwiDyA5p3EhCiA5QhmIIjlC/wCDQoGChIiQoMCAAX4hOEEAIQ0gBigCOCEJQQAhAANAAkACfwJAAkACQCAJIApqKQAAIjsgOIUiNkKBgoSIkKDAgAF9IDZCf4WDQoCBgoSIkKDAgH+DIjdCAFIEQANAIAkgN3qnQQN2IApqIA9xQXRsaiIDQQxrKAIAIB9GBEAgCyADQQhrKAIARg0DCyA3QgF9IDeDIjdCAFINAAsLIDtCgIGChIiQoMCAf4MhNiAARQRAIDZQDQMgNnqnQQN2IApqIA9xIRELQQEgNiA7QgGGg1ANAxogCSARaiwAACIKQQBOBEAgCSAJKQMAQoCBgoSIkKDAgH+DeqdBA3YiEWotAAAhCgsgCSARaiA5p0H/AHEiADoAACAJIBFBCGsgD3FqQQhqIAA6AAAgCSARQXRsaiIAQQxrIB82AgAgAEEIayALNgIAIABBBGsgDjYCACAGIAYoAkRBAWo2AkQgBiAGKAJAIApBAXFrNgJAICAoAgAiAyAGKAIcIgBPDQEgBigCGCADQQJ0aiAONgIAIAJBAWohACACIgpBA08NCQwGCyADQQRrIgAoAgAhAiAAIA42AgAgAiAETw0DICUgHzYCDCAlIAE2AgggJUEBNgIAICUgLiACQQR0aigCDDYCBCALIQFBEAwHCyADIABBmJvDABCwCQALQQALIQAgDUEIaiINIApqIA9xIQoMAQsLCyACIARBiJvDABCwCQALICVBADYCAEEECyAlaiABNgIAIAYoAjwiAQRAIAYoAjggAUEMbEETakF4cSIAayAAIAFqQQlqQQgQnw0LIAYoAhQiAARAIAYoAhggAEECdEEEEJ8NCyAGKAIgIgAEQCAGKAIkIABBAnRBBBCfDQsgBigCLCIARQ0DIAYoAjAgAEEEdEEEEJ8NDAMLIAYoAigiACAGKAIgRgRAICdB6JrDABDHBgsgBigCJCAAQQJ0aiAcNgIAIAYgAEEBajYCKCATICpHIgIgDGohACATQQxBACACG2ohBCATIQcgDCEBIAINAAsLIAYoAkQiAARAIAYoAjgiBEEIaiEHIAQpAwBCf4VCgIGChIiQoMCAf4MhNyAGKAIwIQsgBigCNCENA0AgN1AEQANAIARB4ABrIQQgBykDACE2IAdBCGohByA2QoCBgoSIkKDAgH+DIjZCgIGChIiQoMCAf1ENAAsgNkKAgYKEiJCgwIB/hSE3CwJAIAQgN3qnQQN2QXRsaiIBQQxrKAIAIgogAUEIaygCACIOTw0AIAYoAkRFDQAgAUEEayETIAYoAjwiDCAGKQNIIA6tIAqtQiCGhIUiNkIgiCI4QrfTsIUMfiA2Qv////8PgyI2Qt2h8csMfoUgOELdofHLDH4gNkK307CFDH6FQiCIhSI2p3EhASA2QhmIQv8Ag0KBgoSIkKDAgAF+IThBACERIAYoAjghAwNAAkAgASADaikAACI5IDiFIjZCgYKEiJCgwIABfSA2Qn+Fg0KAgYKEiJCgwIB/gyI2QgBSBEADQCADIDZ6p0EDdiABaiAMcUF0bGoiAkEMaygCACAORgRAIAogAkEIaygCAEYNAwsgNkIBfSA2gyI2QgBSDQALCyA5IDlCAYaDQoCBgoSIkKDAgH+DQgBSDQIgEUEIaiIRIAFqIAxxIQEMAQsLIBMoAgAiASANSQRAIAsgAUEEdGogAkEEaygCACIBNgIEIAEgDUkEQCALIAFBBHRqIBMoAgA2AgQMAgsgASANQdiawwAQsAkACyABIA1ByJrDABCwCQALIDdCAX0gN4MhNyAAQQFrIgANAAsLIAhBQGshAQJAIAgoAkAiAEGAgICAeEYNACAABEAgCCgCRCAAQQJ0QQQQnw0LIAgoAkwiAARAIAgoAlAgAEECdEEEEJ8NCyAIKAJYIgBFDQAgCCgCXCAAQQR0QQQQnw0LIAEgBikCFDcCACAlQQI2AgAgAUEgaiAGQRRqIgBBIGooAgA2AgAgAUEYaiAAQRhqKQIANwIAIAFBEGogAEEQaikCADcCACABQQhqIABBCGopAgA3AgAgBigCPCIBRQ0AIAYoAjggAUEMbEETakF4cSIAayAAIAFqQQlqQQgQnw0LIAZB4ABqJAAgBUEYaiAFQfQAaikCADcDACAFIAUpAmw3AxAgBSgCaCEMCyAIKAI8IQoCQAJAAkACQCA1QQJxBEAgBUEANgI4IAVCBDcCMCAFQgA3AiggBUKAgICAwAA3AiAgCkECdCEdQQQhAgJAAkACQAJAAkACQAJAIAoEQCAdQQQQ1AwiAkUNASAKQQFHBH8gHUEEayIABEAgAkH/ASAA/AsACyAAIAJqBSACC0F/NgIAC0EEQQQQ1AwiE0UNASATQQA2AgAgBUEBNgJIIAUgEzYCRCAFQQE2AkAgCCgCMCIVQQJ0IRpBBCEOQQQhDyAVBEAgGkEEENQMIg9FDQMgFUEBRwR/IBpBBGsiAARAIA9B/wEgAPwLAAsgACAPagUgDwtBfzYCAAsgCgRAIB1BBBDUDCIORQ0EIApBAUcEfyAdQQRrIgAEQCAOQf8BIAD8CwALIAAgDmoFIA4LQX82AgALAkAgFUUEQEEEIQMMAQsgGkEEENQMIgNFDQUgFUEBRwR/IBpBBGsiAARAIANB/wEgAPwLAAsgACADagUgAwtBfzYCAAsgCkUEQEEBIQcMBwsgBUEsaiEeIApBDGwhESAFQcwAaq1CgICAgKArhCE5IAVB0ABqrUKAgICAwCuEITggCCgCOCIAIQQDQCAVIAQoAgAiAU0NDCAEQQhqKAIAIQYgBEEEaigCACEHIAMgAUECdGoiDSgCACIBQX9GBEAgBSAFKAIoIgE2AkwgBSgCICABRgRAIAVBIGpB9LPCABDJBgsgBSgCJCABQQN0aiILQQA2AgQgCyABNgIAIAUgAUEBajYCKCAFKAI4BEAgBSgCNCIJIAUoAixGBEAgHkGAv8IAEMgGCyAFKAIwIAlBBHRqIgsgATYCBCALQQA2AgAgBSAJQQFqNgI0C0Hs+sMAKAIAQQRPBEAgBUEGNgJUIAVByJzDADYCUCAFIDk3A2AgBSA4NwNYQfy4wgAoAgAhAUH0uMIAKQIAITYgBUICNwKgASAFQQI2ApgBIAVB5LjCADYClAEgBUEKNgKQASAFQeS3wgA2AowBIAVBBDYCiAEgBSA2NwKAASAFQgo3AnggBUHkt8IANgJ0IAVBADYCcCAFIAE2AmwgBUEBNgJoIAUgBUHYAGo2ApwBQcj6wwAoAgBByLbDAEHo+sMAKAIAQQJGIgEbIAVB6ABqQcz6wwAoAgBBsLbDACABGygCEBEAACAFKAJMIQELIA0gATYCAAsgByAVTwRAIAchAQwNCyADIAdBAnRqIg0oAgAiB0F/RgRAIAUgBSgCKCIHNgJMIAUoAiAgB0YEQCAFQSBqQfSzwgAQyQYLIAUoAiQgB0EDdGoiC0EANgIEIAsgBzYCACAFIAdBAWo2AiggBSgCOARAIAUoAjQiCSAFKAIsRgRAIB5BgL/CABDIBgsgBSgCMCAJQQR0aiILIAc2AgQgC0EANgIAIAUgCUEBajYCNAtB7PrDACgCAEEETwRAIAVBBjYCVCAFQcicwwA2AlAgBSA5NwNgIAUgODcDWEH8uMIAKAIAIQdB9LjCACkCACE2IAVCAjcCoAEgBUECNgKYASAFQeS4wgA2ApQBIAVBCjYCkAEgBUHkt8IANgKMASAFQQQ2AogBIAUgNjcCgAEgBUIKNwJ4IAVB5LfCADYCdCAFQQA2AnAgBSAHNgJsIAVBATYCaCAFIAVB2ABqNgKcAUHI+sMAKAIAQci2wwBB6PrDACgCAEECRiIHGyAFQegAakHM+sMAKAIAQbC2wwAgBxsoAhARAAAgBSgCTCEHCyANIAc2AgALIAYgFU8EQCAGIQEMDQsgAyAGQQJ0aiINKAIAIgZBf0YEQCAFIAUoAigiBjYCTCAFKAIgIAZGBEAgBUEgakH0s8IAEMkGCyAFKAIkIAZBA3RqIgtBADYCBCALIAY2AgAgBSAGQQFqNgIoIAUoAjgEQCAFKAI0IgkgBSgCLEYEQCAeQYC/wgAQyAYLIAUoAjAgCUEEdGoiCyAGNgIEIAtBADYCACAFIAlBAWo2AjQLQez6wwAoAgBBBE8EQCAFQQY2AlQgBUHInMMANgJQIAUgOTcDYCAFIDg3A1hB/LjCACgCACEGQfS4wgApAgAhNiAFQgI3AqABIAVBAjYCmAEgBUHkuMIANgKUASAFQQo2ApABIAVB5LfCADYCjAEgBUEENgKIASAFIDY3AoABIAVCCjcCeCAFQeS3wgA2AnQgBUEANgJwIAUgBjYCbCAFQQE2AmggBSAFQdgAajYCnAFByPrDACgCAEHItsMAQej6wwAoAgBBAkYiBhsgBUHoAGpBzPrDACgCAEGwtsMAIAYbKAIQEQAAIAUoAkwhBgsgDSAGNgIACyAFQSBqIgsgASAHELcDIAsgByAGELcDIAsgBiABELcDIARBDGohBCARQQxrIhENAAsgCiEEIAIhBkEBIQEDQAJAAkACQCAAKAIAIgcgFUkEQCAFQSBqIAMgB0ECdGooAgAQkAMiByAVTw0BIA8gB0ECdGoiBygCACILQX9GDQIgASEHIAshAQwDCyAHIBVBiJzDABCwCQALIAcgFUGYnMMAELAJAAsgBSgCQCABRgRAIAVBQGtBqJzDABDHBiAFKAJEIRMLIBMgAUECdGpBADYCACAHIAE2AgAgBSABQQFqIgc2AkgLIAEgB0kEQCAFKAJEIhMgAUECdGoiCyALKAIAQQFqNgIAIAYgAUEBazYCACAAQQxqIQAgBkEEaiEGIAchASAEQQFrIgRFDQcMAQsLIAEgB0G4nMMAELAJAAtBBCAdQaibwwAQ+QsAC0EEQQRB8PrDACgCACIAQe8HIAAbEQAAAAtBBCAaQbibwwAQ+QsAC0EEIB1ByJvDABD5CwALQQQgGkHYm8MAEPkLAAtBAiEBIAdBAkkEQEEBIQcMAQsgB0EBayILQQNxIQQgEygCACEGQQEhACAHQQJrQQNPBEAgC0F8cSELQQAhESATIQEDQCAGIAFBBGoiACgCAGohBiAAIAY2AgAgAUEIaiIAKAIAIAZqIQYgACAGNgIAIAFBDGoiACgCACAGaiEGIAAgBjYCACABQRBqIgEoAgAgBmohBiABIAY2AgAgCyARQQRqIhFHDQALIBFBAmohASARQQFqIQALIARFDQADQCATIABBAnRqIgAoAgAgBmohBiAAIAY2AgAgASIAQQFqIQEgBEEBayIEDQALCyAHQQJ0IglBBBDUDCINRQ0DIAkEQCANIBMgCfwKAAALIAoEQCACIApBAnRqIRMgAkEEaiEEIB1BBGtBAnZBAWohAUEAIQYgAiEAA0AgACgCACIAIAdPDQMgDSAAQQJ0aiILKAIAIgAgCk8NBCAOIABBAnRqIAY2AgAgCyALKAIAQQFqNgIAIAQiACAAIBNHQQJ0aiEEIAEgBkEBaiIGRw0ACwsCQCAIKAJkIgBBgICAgHhGDQAgAARAIAgoAmggAEECdEEEEJ8NCyAIKAJwIgAEQCAIKAJ0IABBAnRBBBCfDQsgCCgCfCIARQ0AIAgoAoABIABBAnRBBBCfDQsgCCAKNgJ4IAggDjYCdCAIIAo2AnAgCCAKNgJsIAggAjYCaCAIIAo2AmQgCCAFKQJANwJ8IAhBhAFqIAVByABqKAIANgIAIA0gCUEEEJ8NIBUEQCADIBpBBBCfDSAPIBpBBBCfDQsgBSgCICIABEAgBSgCJCAAQQN0QQQQnw0LIAUoAiwiAARAIAUoAjAgAEEEdEEEEJ8NCyAIKAI8IQoLIAogKEcEQCAIEF4LIC0gDDYCACAIICk7AYgBIC0gBSkDEDcCBCAtQQxqIAVBGGopAwA3AgAgBUGwAWokAAwFCyAAIAdB6JvDABCwCQALIAAgCkH4m8MAELAJAAtBBCAJQZC/wgAQ+QsACyABIBVB0JzDABCwCQALQQggCUHw+sMAKAIAIgBB7wcgABsRAAAACyAIKAIIRQRAIAgQXgsgNCAIQYwB/AoAAAsgCEGgAWokACAYQQhqIgBBCGoiAiAYQSxqKQIANwMAIABBEGoiACAYQTRqKAIANgIAIBggGCkCJDcDCAJAAkACQCAYKAIgIgFBgICAgHhGBEAgJiAYKQMINwIAICZBEGogACgCADYCACAmQQhqIAIpAwA3AgAMAQsgGEGsAWoiACAYQThqQfQA/AoAAEGUAUEEENQMIgJFDQEgAiABNgIIIAJCgYCAgBA3AgAgAiAYKQMINwIMIAJBFGogGEEQaikDADcCACACQRxqIBhBGGooAgA2AgAgAkEgaiAAQfQA/AoAACAmQbyLwwA2AgggJiACNgIEICZBAzYCAAsgGEGgAmokAAwBC0EEQZQBQfD6wwAoAgAiAEHvByAAGxEAAAALIBAoAjAhAyAQKAIsIQIgECgCKCEBICwoAgAiAARAIDMgAEECdEEEEJ8NCyAxKAIAIgAEQCAyIABBAnRBBBCfDQsgGSADNgIEIBkgAkEAIAFBA0YbNgIAIBBBQGskAAwGCyAQQQA2AjggEEEBNgIsIBBBhKzBADYCKCAQQgQ3AjAgEEEoakGMrMEAENwLAAsgAyAAQaSmwQAQ+QsAC0EBQQFBuMTBABCwCQALQQJBAkHIxMEAELAJAAtBAAsgAUGkpsEAEPkLAAsCQCAZKAIAIgEEfyAZKAIEIQBBFEEEENQMIgJFDQEgAiAANgIQIAIgATYCDCACQQA2AgggAkKBgICAEDcCACACQQhqBUEACyEAIBlBIGokACAADwtBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAALjwECBX0CfiAAIAEqAgAiBCACKQIIIgmnviIFkiIGIAQgAykCCCIKp74iB5IiCCAGIAhgGzgCCCAAIAUgBJMiBSAHIASTIgYgBSAGXxs4AgAgACAEIAlCIIinviIFkiIGIAQgCkIgiKe+IgeSIgggBiAIYBs4AgwgACAFIASTIgUgByAEkyIEIAQgBWAbOAIEC5MBAQZ9IAEqAgAgAioCACIGIAMqAgAiBZQgAioCBCIHIAMqAgQiCJSSIgQgBCAElCAGIAiUIAcgBZSTIgQgBJSSkSIIlSIFmCABKgIIIgkgBZSSIQUgACACKgIMIAcgBZQgBiABKgIEIAQgCJUiBJggCSAElJIiBJSSkjgCBCAAIAIqAgggBiAFlCAHIASUk5I4AgALlAECAX8EfSMAQUBqIgUkACAFIAMqAgAgAioCCJMiBiACKgIAIgeUIAMqAgQgAioCDJMiCCACKgIEIgmUkrytIAcgCJQgBiAJlJO8rUIghoQ3AxggBUEgaiIDIAEgBUEYaiAEEJoBIAVBCGoiAUEIaiADQQhqKAIANgIAIAUgBSkCIDcDCCAAIAEgAhC8CiAFQUBrJAALpQEBBH4gASgCACACQWhsaiIBQRRrNQIAQrfTsIUMhSEDIAFBEGsoAgAgACgCACgCACkDAEKDgICAEIUiBEIgiCIFIAN+IAFBGGs1AgBC3aHxywyFIgYgBEL/////D4MiBH6FIAMgBH4gBSAGfoVCIImFIgOnc60iBELdofHLDH4gA0IgiCIDQrfTsIUMfoUgBEK307CFDH4gA0LdofHLDH6FQiCJhQusAQEEfiAAKAIAKAIAKQMAQoSAgIAQhSIFQv////8PgyEDIAEoAgAgAkFkbGoiAEEcazUCAELdofHLDIUhBCAAQRhrNQIAQrfTsIUMhSIGIAVCIIgiBX4gAEEUaykCACADIAR+hYUgAyAGfiAEIAV+hUIgiYUiA0IgiCIEQrfTsIUMfiADQv////8PgyIDQt2h8csMfoUgBELdofHLDH4gA0K307CFDH6FQiCJhQunAQECfyMAQRBrIgIkAAJAIAEoAgQiA0UEQCAAQQA2AgAMAQsgASADQQFrNgIEIAEoAgAiASgCBCIDQQNNBEAgAkEAOgALIAJBJTsACSACQQA2AgwgAkEBOgAIIAJBCGoQxwshASAAQQI2AgAgACABNgIEDAELIABBATYCACABIANBBGs2AgQgASABKAIAIgFBBGo2AgAgACABKgAAOAIECyACQRBqJAALngECAX8CfSMAQTBrIgUkACABKgIAIQYgASoCBCEHIAUgASkCADcCFCAFIAeMOAIQIAUgBow4AgwgBUEcaiAFQQxqIAIgAxCCA0ECIQEgBCACKgIAIAUoAhwiA76TIgQgBJQgAioCBCAFKAIgIgK+kyIEIASUkpFdRQRAIAUtACQhASAAIAI2AgQgACADNgIACyAAIAE6AAggBUEwaiQAC4QFAgd/An4jAEEQayIJJAACQAJAIAAEQCAAQQhrIgooAgBBAWohByAKIAc2AgAgB0UNASAAKAIADQIgAEF/NgIAIAkgCjYCDCAJIAA2AgggCSAAQQRqIgg2AgQjAEEwayIHJAAgB0EYaiAIIAG9Ig6nIA5CIIinIAK9Ig6nIA5CIIinEPcBAkAgBygCGCIIRQ0AIAcoAhwiC0UNACAHQRBqIAgQ2gogBygCECAHKAIUEOkJIQggB0EIaiALENoKIAcoAgggBygCDBDpCSELIAhFDQAgC0UNACAHIAOtIAStQiCGhDcDICAHIAWtIAatQiCGhDcDKCAHQShqIQZBACEEIwBBIGsiAyQAIAMgB0EgaiIMKQIAIg43AwggA0EUaiAIIANBCGoQrgMCQAJAAkACQCADKAIUIg1BAUcNACADKAIYIgQgCCgCXCIFTw0BIAMoAhwiBUGAAkkEQCAIKAJYIARBCHRqIAVqLQAAQRBGIQQMAQsgBUGAAkGcqcMAELAJAAsgCyAOIAYpAgAiD0KAgICAcIN9QoCAgIBwgyAOIA99Qv////8Pg4QgBCANQX9zckEBcRCzAiEGIANBFGogCCAMEK4DAkAgAygCFEEBRgRAIAMoAhgiBCAIKAJcIgVPDQMgAygCHCIFQYACTw0BIAgoAlggBEEIdGogBWoiBCAELQAAIAZB/wFxcjoAAAsgA0EgaiQADAMLIAVBgAJBjKzDABCwCQALIAQgBUGMqcMAELAJAAsgBCAFQfyrwwAQsAkACwsgB0EwaiQAIABBADYCACAKIAooAgBBAWsiADYCACAARQRAIAlBDGoQkgsLIAlBEGokAA8LEK8NCwALELANAAuhBAIGfwJ8IwBBEGsiAyQAAkACQCAABEAgAEEIayIEKAIAQQFqIQIgBCACNgIAIAJFDQEgACgCAA0CIABBfzYCACADIAQ2AgggAyAANgIEIAMgAEEEaiICNgIAIAMgATYCDCADQQxqIQUjAEFAaiIBJAAgAUGBATYCGCABQRxqIAIoAhAiBiACKAIUIgcQgAECQCABKAIcIgJBAkYNAANAIAErAiwhCCABKwIkIQkCQCACQQFxBEAgASAJEAA2AjQgASAIEAA2AjggAUGDATYCPCABQQhqIAUgAUEYaiABQTRqIAFBOGogAUE8ahDTCiABKAIMIgJBhAFPBEAgAhACCyABKAI8IgJBhAFPBEAgAhACCyABKAI4IgJBhAFPBEAgAhACCyABKAI0IgJBhAFJDQEgAhACDAELIAEgCRAANgI0IAEgCBAANgI4IAFBggE2AjwgAUEQaiAFIAFBGGogAUE0aiABQThqIAFBPGoQ0wogASgCFCICQYQBTwRAIAIQAgsgASgCPCICQYQBTwRAIAIQAgsgASgCOCICQYQBTwRAIAIQAgsgASgCNCICQYQBSQ0AIAIQAgsgAUEcaiAGIAcQgAEgASgCHCICQQJHDQALIAEoAhgiAkGEAUkNACACEAILIAFBQGskACAAQQA2AgAgBCAEKAIAQQFrIgA2AgAgAEUEQCADQQhqEI4LCyADQRBqJAAPCxCvDQsACxCwDQALphACD38BfiMAQRBrIgkkAAJAAkAgAARAIABBCGsiCygCAEEBaiEEIAsgBDYCACAERQ0BIAAoAgANAiAAQX82AgAgCSALNgIIIAkgADYCBCAJIABBBGoiAjYCACAJIAE2AgwgCUEMaiENIwBBgAFrIgEkACABQYEBNgIQIAIoAhwiBEGAAWohDiABQRZqIQggAigCGCEPAkADQAJAAkACQAJAAkACQAJAIA9BAWsOAgECAAsDQCAEKALMASAEKAIAIgMgBCgCyAEiBkEBa3EiB0EsbGoiBSgCKCECIAIgA0EBakcEQCACIANHDQEgBCgCQCAGQX9zcSADRw0BDAQLIAQoAsABIAdBAWpNBEAgA0EAIAQoAsQBIgJrcSACaiECCyAEKAIAIgcgA0YhBiAEIAIgByAGGzYCACAGRQ0ACyABQdgAaiICQQhqIgYgBUEIaikCADcDACACQRBqIgcgBUEQaikCADcDACACQRhqIgogBUEYaikCADcDACACQSBqIgIgBUEgaikCADcDACAFIAQoAsQBIANqNgIoIAEgBSkCADcDWCAOEM0CIAhBIGogAikDADcBACAIQRhqIAopAwA3AQAgCEEQaiAHKQMANwEAIAhBCGogBikDADcBACAIIAEpA1g3AQAMBQsDQCAEKAIAIgNBAXYiB0EfcSIGQR9GDQAgBCgCBCEFIANBAmohAiADQQFxRQRAIAcgBCgCQCIKQQF2Rg0DIAIgAyAKc0E/S3IhAgsgBUUNACAEIAIgBCgCACIHIAMgB0YbNgIAIAMgB0cNAAsgBkEeRgRAA0AgBSgCACIDRQ0ACyADKAIAIQcgBCADNgIEIAQgAkF+cSAHQQBHckECajYCAAsgBSAGQSxsIgJqQQRqIQMDQCADLQAoQQFxRQ0ACyABQdgAaiIHQSBqIgogA0EgaikCADcDACAHQRhqIgwgA0EYaikCADcDACAHQRBqIhAgA0EQaikCADcDACAHQQhqIgcgA0EIaikCADcDACABIAMpAgA3A1gCQAJAIAZBHkcEQCADIAMoAigiA0ECcjYCKCADQQRxRQ0CIAZBHEsNASAFQdgAaiEGA0AgAiAGaiIDLQAAQQJxRQRAIAMgAygCACIDQQRyNgIAIANBAnFFDQQLIAJBLGoiAkH8CUcNAAsMAQtBACEDA0AgAyAFaiIGQSxqIgItAABBAnFFBEAgAiACKAIAIgJBBHI2AgAgAkECcUUNAwsgBkHYAGoiAi0AAEECcUUEQCACIAIoAgAiAkEEcjYCACACQQJxRQ0DCyADQdgAaiIDQagKRw0ACwsgBUHYCkEEEJ8NCyAIIAEpA1g3AQAgCEEgaiAKKQMANwEAIAhBGGogDCkDADcBACAIQRBqIBApAwA3AQAgCEEIaiAHKQMANwEADAQLIAEgBC0AACICOgA/IARBAToAACACQQFGDQECQAJAAkACQCAEKAIMIgJFDQAgAkEMbCEKIAQoAgghDEEAIQNBACECA0ACQCADIAxqIgYoAgAiBSgCFEHkv8MARg0AIAUgBSgCDCIHIAZBBGooAgAgBxs2AgwgBw0AIAZBCGooAgAiBgRAIAUgBjYCEAsgBCgCDCIFIAJNDQggBCgCCCADaiIGKAIAIQMgBkEEaikCACERIAUgAmtBDGxBDGsiAgRAIAYgBkEMaiAC/AoAAAsgBCAFQQFrNgIMIANFDQIgASADNgJAIAEgETcCRCAEQQA6AAAgEUKAgICAEFQiBg0FIBFCIIinIgItAC1FBEADQCACLQAsRQ0ACyACKAIAIQMgAkEANgIAIANBAXEEQCABQdgAaiIDQSBqIAJBJGopAgA3AwAgA0EYaiACQRxqKQIANwMAIANBEGogAkEUaikCADcDACADQQhqIAJBDGopAgA3AwAgASACKQIENwNYIAJBMEEEEJ8NIAEoAkAhAwwGC0GIpcEAEKUNAAsgAigCACEFIAJBADYCACAFQQFxDQNBmKXBABClDQALIAJBAWohAiAKIANBDGoiA0cNAAsLIARBADoAAAwDCyACQQE6ACwgAUHYAGoiBUEgaiACQSRqKQIANwMAIAVBGGogAkEcaikCADcDACAFQRBqIAJBFGopAgA3AwAgBUEIaiACQQxqKQIANwMAIAEgAikCBDcDWAsgCCABKQNYNwEAIAhBIGogAUHYAGoiAkEgaikDADcBACAIQRhqIAJBGGopAwA3AQAgCEEQaiACQRBqKQMANwEAIAhBCGogAkEIaikDADcBAAsgAyADKAIAIgJBAWs2AgAgAkEBRgRAIAFBQGsQhQoLIAZFDQMLIAEoAhAiBEGEAU8EQCAEEAILIAFBgAFqJAAMBAsgAUIANwJMIAFCgYCAgMAANwJEIAFB2KXBADYCQCABQT9qIAFBQGtB4KXBABCnCwALIAIgBUGopcEAEK8JAAtBNEEEENQMIgIEQCACQQA2AgggAkKBgICAEDcCACACIAgpAQA3AQwgAkEUaiAIQQhqKQEANwEAIAJBHGogCEEQaikBADcBACACQSRqIAhBGGopAQA3AQAgAkEsaiAIQSBqKQEANwEAIAEgAkEIahAGNgJYIAFBCGogDSABQRBqIAFB2ABqEO0KIAEoAgwiAkGEAU8EQCACEAILIAEoAlgiAkGEAUkNASACEAIMAQsLQQRBNEHw+sMAKAIAIgBB7wcgABsRAAAACyAAQQA2AgAgCyALKAIAQQFrIgA2AgAgAEUEQCAJQQhqEI4LCyAJQRBqJAAPCxCvDQsACxCwDQALtAECBn0BfiABKgIUIQUgASoCECEEIAEqAgwhBiABKgIIIQcgASoCBCEIIAEqAgAhCSACKQIAIQpBGEEEENQMIgFFBEBBBEEYQfD6wwAoAgAiAEHvByAAGxEAAAALIAEgBCAKp74iBJQ4AhAgASAHIASUOAIIIAEgCSAElDgCACABIAUgCkIgiKe+IgSUOAIUIAEgBiAElDgCDCABIAggBJQ4AgQgAEHQ4sIANgIEIAAgATYCAAv6AgMDfwV9AX4jAEEQayIFJAACQAJAIAAEQCAAQRBrIgYoAgBBAWohBCAGIAQ2AgAgBEUNASAAKAIADQIgAEF/NgIAIAUgBjYCDCAFIAA2AgggBSAAQRBqIgQ2AgQgA0EARyEDAkACQCAEIAG9IgynIAxCIIinEI4IIgQEQCAEKgIAIQggAhC+ASEHIAQqAhQhCSAEKgIQIQogBCoCBCELIAIQuwEhAgJAIAcgCFwNACACIAtcDQAgByAKXA0AIAIgCVsNAwsgBCACOAIUIAQgBzgCECAEIAI4AgQgBCAHOAIAIAQgBCgCuAFBAnI2ArgBIAQQgAggA0UNAiAELQDhAUEBRg0CIAQtANABRQ0BIAQgBCgCuAFBBHI2ArgBDAELQay+wQBBzQBBjL/BABD4CQALIARBADYCzAEgBEEAOgDQAQsgAEEANgIAIAYgBigCAEEBayIANgIAIABFBEAgBUEMahCQCwsgBUEQaiQADwsQrw0LAAsQsA0AC5wBAgR9AX4gACABKQIAIganvkMAAAA/lCABKgIIIgNDAAAAP5SSIgI4AgAgACAGQiCIp75DAAAAP5QgASoCDCIFQwAAAD+UkiIEOAIEIAAgAiADkyIDIAOUIAQgBZMiAyADlJIiAyACIAEqAgCTIgIgApQgBCABKgIEkyICIAKUkiICQwAAAAAgAkMAAAAAXhsiAiACIANdG5E4AggLwRADC34gfwp9IwBBEGsiGyQAAkACQCAABEAgAEEIayIdKAIAQQFqIRUgHSAVNgIAIBVFDQEgACgCAA0CIABBfzYCACAbIB02AgwgGyAANgIIIBsgAEEEaiIVNgIEIwBBIGsiFiQAIBZBEGogFSABvSIFpyAFQiCIpyACvSIFpyAFQiCIpxD3AQJAIBYoAhAiFUUNACAWKAIUIhJFDQAgFkEIaiAVENoKIBYoAgggFigCDBDpCSETIBYgEhDaCiAWKAIAIBYoAgQQ6QkhFyATRQ0AIBdFDQAgFiADrSAErUIghoQ3AxggFkEYaiESQQAhBCMAQbABayIRJAACQAJAAkAgEygCUCIDBEAgEygCTCIVIANBA3RqIScgFUEIaiEDIBMpAzhCgoCAgBCFIgVC/////w+DIQogBUIgiCELIBMqAkQiMCASKQIAIgVCIIinIiiyjJQhMSATKgJAIjIgBaciKbKMlCEzIBMpA0AiBae+QwAAAD+UITQgBUIgiKe+QwAAAD+UITUgEygCWCEqIBMoAlwhHyATKAIoISAgEygCLCEeIBMoAjQhKwNAIBUhECADIRUgESAzIDIgECkCACIFQgSGIgenIgOylCA0k5IiNjgCDCARIDMgNCAyIANBEGqylJKSIjc4AhQgESAxIDAgBUIciKdBcHGylCA1k5IiODgCECARIDEgNSAwIAdCgICAgIB+g0KAgICAgAJ8QiCIp7KUkpIiOTgCGAJAIBcoAghFBEBBACEaQQAhAwwBCwJ/AkAgNyAXKAIEIhIpAgAiBae+YEUNACA5IAVCIIinvmBFDQAgNiASQQxqKQIAIgWnvl9FDQAgEiA4IAVCIIinvl8NARoLQQALIQNBACEaIBIoAixB/////wNxRQ0AIDcgEkEYaiIEKQIAIgWnvmBFDQAgNiASQSRqKQIAIgenvl8gOCAHQiCIp75fcSA5IAVCIIinvmBxIRoLIBEgAzYCrAEgESAXNgKkASARIBo2AqABIBEgBDYCICARQQA2AhwgESARQQxqNgKoASARIBFBHGoQ4wICQCARKAIAQQFxRQRAIBEoAqABIgNBIUkNASARKAIkIANBAnRBBBCfDQwBCyARKAKgASIDQSFPBEAgESgCJCADQQJ0QQQQnw0LIBApAgBCBIYiBaciA0EBayIQIANBEWoiLE4NACAFQoCAgICAfoMiBUKAgICAEH1CIIinIhogBUKAgICAkAJ8QiCIpyIhTg0AIBogIUggGmohLQNAIAMhEiAQIBBBH3YiAyAQakEQbSADayIiQQR0ayEuIBAgKWsiA0EfdiEEIAMgAyAEakEQbSAEayIjQQR0ayEvICJB3aHxy3xzrSIFIAt+IQwgBSAKfiENICNB3aHxy3xzrSEHIAOtIQ4gEK0hDyAtIQQgGiEDA0AgAyEQIAQhAyAQQR92IgQgEGpBEG0hGAJAICtFBEBBACEEDAELIBBBBHQgGCAEayIUQQh0ayAuaiEYIB4gFEG307CFfHOtIgUgC34gDYUgBSAKfiAMhUIgiIUiBadxIQQgBUIZiEL/AINCgYKEiJCgwIABfiEIQQAhGQNAAkACQCAEICBqKQAAIgYgCIUiBUKBgoSIkKDAgAF9IAVCf4WDQoCBgoSIkKDAgH+DIgVCAFIEQANAICAgBXqnQQN2IARqIB5xQQR0ayIcQRBrKAIAICJGBEAgFCAcQQxrKAIARg0DCyAFQgF9IAWDIgVCAFINAAsLIAYgBkIBhoNCgIGChIiQoMCAf4NQDQFBACEEDAMLAkAgHEEIaygCACIEIB9JBEAgGEH/AUsNASAqIARBCHRqIBhqIgRBACAELQAAQRBHGyEEDAQLIAQgH0GcrMMAELAJAAsgGEGAAkGsrMMAELAJAAsgGUEIaiIZIARqIB5xIQQMAAsACyAQIChrIhhBH3YhFCAUIBhqQRBtIRkCQAJAAkAgFygCNEUNACAQrUIghiAPhCEIIBhBBHQgGSAUayIZQQh0ayAvaiEUIBcoAiwiHCAXKQM4QoKAgIAQhSIFQiCIIgYgGUG307CFfHOtIgl+IAVC/////w+DIgUgB36FIAUgCX4gBiAHfoVCIIiFIgWncSEQIAVCGYhC/wCDQoGChIiQoMCAAX4hCSAXKAIoISRBACElA0ACQCAQICRqKQAAIgYgCYUiBUKBgoSIkKDAgAF9IAVCf4WDQoCBgoSIkKDAgH+DIgVCAFIEQANAICQgBXqnQQN2IBBqIBxxQQR0ayImQRBrKAIAICNGBEAgGSAmQQxrKAIARg0DCyAFQgF9IAWDIgVCAFINAAsLIAYgBkIBhoNCgIGChIiQoMCAf4NCAFINAiAlQQhqIiUgEGogHHEhEAwBCwsgJkEIaygCACIQIBcoAlwiGU8NCCAUQf8BSw0JIBcoAlggEEEIdGogFGoiEC0AACEUIAQEQCAUQRBGDQIgBCAELQAAIBRyIgQ6AAAgECAQLQAAIARyOgAADAMLIBRBEEYNAiATIAgQ/QIhBCAQIBAtAAAgBEH/AXFyOgAADAILIARFDQELIBcgGK1CIIYgDoQQ/QIhECAEIAQtAAAgEEH/AXFyOgAACyADICFIIhAgA2ohBCAQDQALIBIgEiAsSCIEaiEDIBIhECAEDQALCyAVIBUgJ0ciEkEDdGohAyASDQALCyARQbABaiQADAILIBAgGUG8rMMAELAJAAsgFEGAAkHMrMMAELAJAAsLIBZBIGokACAAQQA2AgAgHSAdKAIAQQFrIgA2AgAgAEUEQCAbQQxqEJILCyAbQRBqJAAPCxCvDQsACxCwDQALxgMBBH8jAEEwayIDJAAgA0EMaiECIABBAEchBAJAAkBBgAJBwAAQ1AwiAARAIABBADoAyAEgAEKBgICAEDcDwAEgAEEBOgCcASAAQgQ3ApQBIABCADcCjAEgAEKAgICAwAA3AoQBIABBADoAgAEgAEIANwNAIABCADcDAEGAAkHAABDUDCIBRQ0CIAFBADoAyAEgAUKBgICAEDcDwAEgAUEBOgCcASABQgQ3ApQBIAFCADcCjAEgAUKAgICAwAA3AoQBIAFBADoAgAEgAUIANwNAIAFCADcDACACIAQ6ACAgAiABNgIcIAJBATYCGCACIAA2AhQgAkEBNgIQIAIgATYCDCACQQE2AgggAiAANgIEIAJBATYCAAwBCwwBC0EwQQQQ1AwiAEUEQEEEQTBB8PrDACgCACIAQe8HIAAbEQAAAAsgAEEANgIIIABCgYCAgBA3AgAgACADKQIMNwIMIABBFGogA0EUaikCADcCACAAQRxqIANBHGopAgA3AgAgAEEkaiADQSRqKQIANwIAIABBLGogA0EsaigCADYCACADQTBqJAAgAEEIag8LQcAAQYACQfD6wwAoAgAiAEHvByAAGxEAAAALrQECA38BfgJAAkACQCAABEAgAEEQayICKAIAIgNBAWohASACIAE2AgAgAUUNASAAKAIADQIgACgC/AYhASAAQQA2AvwGIAApAoAHIQQgAiADNgIAIAFBAXEEf0EUQQQQ1AwiAEUNBCAAIAQ3AgwgAEEANgIIIABCgYCAgBA3AgAgAEEIagVBAAsPCxCvDQsACxCwDQALQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAAC48BAgF/BH0jAEEQayIEJAAgBCACKgIAIgUgAyoCACIGlCACKgIEIgcgAyoCBCIIlJK8rSAFIAiUIAcgBpSTvK1CIIaENwMAIARBCGogASAEEJUHIAAgAioCDCAHIAQqAggiBpQgBSAEKgIMIgiUkpI4AgQgACACKgIIIAUgBpQgByAIlJOSOAIAIARBEGokAAuPAQIBfwR9IwBBEGsiBCQAIAQgAioCACIFIAMqAgAiBpQgAioCBCIHIAMqAgQiCJSSvK0gBSAIlCAHIAaUk7ytQiCGhDcDACAEQQhqIAEgBBDpCCAAIAIqAgwgByAEKgIIIgaUIAUgBCoCDCIIlJKSOAIEIAAgAioCCCAFIAaUIAcgCJSTkjgCACAEQRBqJAALpAEBBH4gASgCACACQQN0a0EIaykAACIDIAAoAgAoAgApAwBCOImFIgRCIIgiBSADQpeSnKrbtrXCP4UiA0IgiCIGfiAEQv////8PgyIEIANC/////w+DIgN+hSADIAV+IAQgBn6FQiCJhSIDQv////8Pg0IChSIEQt2h8csMfiADQiCIIgNCt9OwhQx+hSAEQrfTsIUMfiADQt2h8csMfoVCIImFC6gBAgF/A30jAEEgayIDJAAgASoCCCIEQwAAAABgRQRAIANBADYCGCADQQE2AgwgA0GQwcIANgIIIANCBDcCECADQQhqQfi0wwAQ3AsACyAAIAIqAgwgAioCAEMAAAAAlCIFIAIqAgRDAAAAAJQiBpKSOAIEIAAgAioCCCAFIAaTkjgCACAAIAQgASoCACIEIASUIAEqAgQiBCAElJKRkjgCCCADQSBqJAALjwECAX8EfSMAQRBrIgQkACAEIAIqAgAiBSADKgIAIgaUIAIqAgQiByADKgIEIgiUkrytIAUgCJQgByAGlJO8rUIghoQ3AwAgBEEIaiABIAQQoQMgACACKgIMIAcgBCoCCCIGlCAFIAQqAgwiCJSSkjgCBCAAIAIqAgggBSAGlCAHIAiUk5I4AgAgBEEQaiQAC44BAQF/IAAoAjAiAQRAIAAoAjQgAUEDdEEEEJ8NCyAAKAJEIgEEQCAAKAJIIAFBDGxBBBCfDQsgACgCGCIBBEAgACgCHCABQQR0QQQQnw0LIAAoAiQiAQRAIAAoAiggAUHwAWxBEBCfDQsgACgCBCIBBEAgACgCACABQQN0a0EIayABQQlsQRFqQQgQnw0LC6UBAQN/IwBBEGsiAiQAIAAtAOEBIQEgAkEIaiAAQYABaiAAENwKIAAgAikDCDcDkAEgACAAKAKIASIDNgKcASAAIAM2ApgBIAAgACoCjAE4AqABAkACQCABRQRAIAAtAKgBIgFBAXEEQCAAQQA2ApgBCyABQQJxBEAgAEEANgKcAQsgAUEgcUUNAgwBCyAAQgA3A5gBCyAAQQA2AqABCyACQRBqJAALkQEBA38jAEEgayIDJAAgACgCACIAEBwhBCADIAI2AgQgAyAENgIAIAIgBEYEQBAfIgUQESIEIAEgAhAaIQEgBUGEAU8EQCAFEAILIARBhAFPBEAgBBACCyAAIAFBABAbIAFBhAFPBEAgARACCyADQSBqJAAPCyADQQA2AgggAyADQQRqIANBCGpByLHCABCoCwALkwECCH0BfiAAIAIqAgwgAioCBCIDIAEqAgAiBCABKQIIIgunviIFkkMAAAA/lCIGlCACKgIAIgcgASoCBCIIIAtCIIinviIJkkMAAAA/lCIKlJKSOAIEIAAgAioCCCAHIAaUIAMgCpSTkjgCACAAIAEqAhAgBSAEkyIDIAOUIAkgCJMiAyADlJKRQwAAAD+UkjgCCAuWAQEEfwJAQQggACgCACIBQYCAgIB4cyABQQBOGyICQQFrQQdJDQAgAgRAIAFFDQEgACgCBCABQQEQnw0MAQsgAC0ABEEDRw0AIAAoAggiASgCACECIAFBBGooAgAiBCgCACIDBEAgAiADEQYACyAEKAIEIgMEQCACIAMgBCgCCBCfDQsgAUEMQQQQnw0LIABBDEEEEJ8NC5gBAgF/An0jAEEwayIFJAAgASoCACEGIAEqAgQhByAFIAEpAgA3AhQgBSAHjDgCECAFIAaMOAIMIAVBHGogBUEMaiACIAMgBBDSB0EDIQEgACAFKAIcQQFGBH8gACAFKQIgNwIMIAAgBSoCKDgCCCAAQQIgBSgCLCIBayABQQFrIAFBAEgbNgIEQQEFQQMLNgIAIAVBMGokAAuoAwIGfwJ+IwBBEGsiBSQAAkACQCAABEAgAEEIayIHKAIAQQFqIQQgByAENgIAIARFDQEgACgCAA0CIABBfzYCACAFIAc2AgwgBSAANgIIIAUgAEEEaiIDNgIEIwBBEGsiBCQAAkACQCADIAG9IgmnIAlCIIinEI8IIgMEQAJAIAMoAiAgAygCJCIGKAIIQQFrQXhxakEIaiAGKAKgAREEAEH/AXEOAwIDAAMLIARBCGogAxDaCiAEKAIIIAQoAgwQ5gkiA0UNAiADIAI4AhAMAgtBnL/BAEHMAEH4v8EAEPgJAAsgBCADENoKIAQoAgAhBiAEKAIEIQgjAEEgayIDJAAgA0EIaiAGIAgoAmQRAAAgA0EQaiADKAIIIgYgAygCDCgCDBEAACADKQMYIQkgAykDECEKIANBIGokACAGQQAgCkLFsq+EtvypkR2FIAlC7oG88/KWs+pGhYRQGyIDRQ0AIAMgAjgCAAsgBEEQaiQAIABBADYCACAHIAcoAgBBAWsiADYCACAARQRAIAVBDGoQkgsLIAVBEGokAA8LEK8NCwALELANAAu+BAIGfwJ+IwBBEGsiBiQAAkACQCAABEAgAEEIayIHKAIAQQFqIQQgByAENgIAIARFDQEgACgCAA0CIABBfzYCACAGIAc2AgwgBiAANgIIIAYgAEEEaiIDNgIEIwBBIGsiBCQAAkACQCADIAG9IgmnIAlCIIinEI8IIgMEQAJAAkAgAygCICADKAIkIgUoAghBAWtBeHFqQQhqIAUoAqABEQQAQf8BcUEMaw4DAwABBAsgBEEQaiADENoKIAQoAhAhBSAEKAIUIQgjAEEgayIDJAAgA0EIaiAFIAgoAmQRAAAgA0EQaiADKAIIIgUgAygCDCgCDBEAACADKQMYIQkgAykDECEKIANBIGokACAFQQAgCkKi2ouQhdGGxPIAhSAJQoTK7byrgOSjtn+FhFAbIgNFDQMgAyACOAIYDAMLIARBGGogAxDaCiAEKAIYIQUgBCgCHCEIIwBBIGsiAyQAIANBCGogBSAIKAJkEQAAIANBEGogAygCCCIFIAMoAgwoAgwRAAAgAykDGCEJIAMpAxAhCiADQSBqJAAgBUEAIApCt7K4/L6pit4whSAJQo6s2MakiLz3O4WEUBsiA0UNAiADIAI4AhgMAgtBnL/BAEHMAEH4v8EAEPgJAAsgBEEIaiADENoKIAQoAgggBCgCDBDuCSIDRQ0AIAMgAjgCCAsgBEEgaiQAIABBADYCACAHIAcoAgBBAWsiADYCACAARQRAIAZBDGoQkgsLIAZBEGokAA8LEK8NCwALELANAAuOAQEDfyAAKAIAIgUgAmoiBC0AACEGIAQgAadBGXYiBDoAACAFIAAoAgQgAkEIa3FqQQhqIAQ6AAAgACAAKAIMQQFqNgIMIAAgACgCCCAGQQFxazYCCCAFIAJBbGxqIgJBFGsiACADKQIANwIAIABBCGogA0EIaikCADcCACAAQRBqIANBEGooAgA2AgAgAguOAQEDfyAAKAIAIgUgAmoiBC0AACEGIAQgAadBGXYiBDoAACAFIAAoAgQgAkEIa3FqQQhqIAQ6AAAgACAAKAIMQQFqNgIMIAAgACgCCCAGQQFxazYCCCAFIAJBaGxqIgJBGGsiACADKQIANwIAIABBCGogA0EIaikCADcCACAAQRBqIANBEGopAgA3AgAgAguOAQEDfyMAQRBrIgIkAAJAAkAgASAAKAIgTw0AIAAoAhwgAUEDdGoiASgCAEEBRw0AIAAoAggiAyABKAIEIgRBAXYiAU0NASACIAAoAgQgAUEwbGoiADYCCCACIABBGGo2AgwgAkEIaiAEQQFxQQJ0aigCACEDCyACQRBqJAAgAw8LIAEgA0Go1MIAELAJAAudAQEDfyMAQRBrIgEkAAJAAkAgAARAIABBCGsiAygCAEEBaiECIAMgAjYCACACRQ0BIAAoAgANAiAAQX82AgAgASADNgIMIAEgADYCCCABIABBBGoiAjYCBCACQQA2AiwgAkIANwIAIABBADYCACADIAMoAgBBAWsiADYCACAARQRAIAFBDGoQ0AsLIAFBEGokAA8LEK8NCwALELANAAuqAQIDfwF+AkACQAJAIAAEQCAAQQhrIgIoAgAiA0EBaiEBIAIgATYCACABRQ0BIAAoAgAiAUF/Rg0CIAAgAUEBajYCACAAKAIEKQJQIQQgACABNgIAIAIgAzYCAEEUQQQQ1AwiAEUNAyAAIAQ3AgwgAEEANgIIIABCgYCAgBA3AgAgAEEIag8LEK8NCwALELANAAtBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAALqwECA38BfgJAAkACQCAABEAgAEEIayICKAIAIgNBAWohASACIAE2AgAgAUUNASAAKAIAIgFBf0YNAiAAIAFBAWo2AgAgACgCBCkCvAEhBCAAIAE2AgAgAiADNgIAQRRBBBDUDCIARQ0DIAAgBDcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqDwsQrw0LAAsQsA0AC0EEQRRB8PrDACgCACIAQe8HIAAbEQAAAAurAQIDfwF+AkACQAJAIAAEQCAAQQhrIgIoAgAiA0EBaiEBIAIgATYCACABRQ0BIAAoAgAiAUF/Rg0CIAAgAUEBajYCACAAKAIEKQLEASEEIAAgATYCACACIAM2AgBBFEEEENQMIgBFDQMgACAENwIMIABBADYCCCAAQoGAgIAQNwIAIABBCGoPCxCvDQsACxCwDQALQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAAC5gBAQN/AkAgASAAKAKMAk8NACAAKAKIAiABQQh0aiIDKAIAQQFHDQAgAygCBCACRw0AIANBEGohBCADKALIASIFQQFxDQAgAyAFQQFyNgLIASAAKAL4ASIDIAAoAvABRgRAIABB8AFqQdT9wQAQyQYLIAAgA0EBajYC+AEgACgC9AEgA0EDdGoiACACNgIEIAAgATYCAAsgBAuQAQEDfwJAIAEgACgCEE8NACAAKAIMIAFBoAFsaiIDKAIAQQFHDQAgAygCBCACRw0AIANBEGohBCADKAJAIgVBAXENACADIAVBAXI2AkAgACgCJCIDIAAoAhxGBEAgAEEcakHU/cEAEMkGCyAAIANBAWo2AiQgACgCICADQQN0aiIAIAI2AgQgACABNgIACyAEC34DAX8BfgJ9IwBBEGsiAyQAIAMgAikCACIEp74gASoCQCIFlY78AK0gBEIgiKe+IAEqAkQiBpWO/ACtQiCGhDcDACADIAIpAggiBKe+IAWVjfwArSAEQiCIp74gBpWN/ACtQiCGhDcDCCAAIAEgAyADQQhqEL8DIANBEGokAAuMAQEBfyACQQBOBEACfwJAIAMoAgQEQCADKAIIIgRFBEAgAg0CIAEMAwsgAygCACAEIAEgAhCzDAwCCyACDQAgAQwBCyACIAEQ1AwLIgNFBEAgACACNgIIIAAgATYCBCAAQQE2AgAPCyAAIAI2AgggACADNgIEIABBADYCAA8LIABBADYCBCAAQQE2AgALhQICBH8CfiMAQSBrIgIkACACIAA4AhQgAiAAjDgCHCACIABDAAAAAJQiADgCECACIACMOAIYIAJBCGohBCACQRBqKQIAIQYgAkEYaikCACEHQRxBBBDUDCIDRQRAQQRBHEHw+sMAKAIAIgJB7wcgAhsRAAAACyADIAE4AhggAyAGNwIQIAMgBzcCCCADQoGAgIAQNwIAIARBvN3CADYCBCAEIAM2AgAgAigCDCEEIAIoAgghBUEUQQQQ1AwiA0UEQEEEQRRB8PrDACgCACICQe8HIAIbEQAAAAsgAyAFNgIMIANBADYCCCADQoGAgIAQNwIAIAMgBDYCECACQSBqJAAgA0EIagt6AQR/IwBBEGsiASQAELcFIQNB5P7DACgCACECQeT+wwBBATYCAEHo/sMAKAIAIQBB6P7DACADNgIAIAEgADYCDCABIAI2AggCQCACRQ0AIABFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAFBDGoQhQoLIAFBEGokAAuRAQIBfwJ+AkACQCABKQMAIgYgAlQNACAGIAJ9IQIgASgCCCIBIANJBH8gAlANASACQgF9IQIgAUGAlOvcA2oFIAELIANrIgRBgJTr3ANJBEAgAiEFDAELIAJCf1ENASAEQYCU69wDayEEIAJCAXwhBQsgACAENgIIIAAgBTcDAA8LQayvwgBBGUHIr8IAEPgJAAuYAQMBfwJ9AX4jAEEgayICJAAgASoCCCIDQwAAAABgRQRAIAJBADYCGCACQQE2AgwgAkGQwcIANgIIIAJCBDcCECACQQhqQZjBwgAQ3AsACyABKQIAIQUgASoCACEEIAAgASoCBIwgA5M4AgQgACAEjCADkzgCACAAIAMgBae+kjgCCCAAIAMgBUIgiKe+kjgCDCACQSBqJAALkgEBBH8jAEEQayICJAACf0EBIAEoAgAiA0EnIAEoAgQiBSgCECIBEQMADQAaIAIgACgCAEGBAhCTAgJAIAItAA0iAEGBAU8EQCADIAIoAgAgAREDAEUNAUEBDAILIAMgAi0ADCIEIAJqIAAgBGsgBSgCDBEFAEUNAEEBDAELIANBJyABEQMACyEEIAJBEGokACAEC5oBACAAKAIAQYCAgIB4RwRAIAAQrwgLIAAoAkBBgICAgHhHBEAgAEFAaxCfCAsgACgCsAVBgICAgHhHBEAgAEGwBWoQ5wULIAAoAtwDQQJHBEAgAEHgAWoQ/gULIAAoAvQFQQJHBEAgAEH0BWoQtQYLIAAoArwEQQJHBEAgAEGABGoQ/wcLIAAoApQFQQJHBEAgAEHYBGoQxgYLC4YBAQN/AkACQCAABEAgAEEIayIDKAIAIgVBAWohBCADIAQ2AgAgBEUNASAAKAIADQJBIyACIAJB3AFxGyICQQFxBEAgACABOAIUCyACQQJxBEAgACABOAIYCyACQf8BcUEgTwRAIAAgATgCJAsgAEEANgIAIAMgBTYCAA8LEK8NCwALELANAAuGAQEDfwJAAkAgAARAIABBCGsiAygCACIFQQFqIQQgAyAENgIAIARFDQEgACgCAA0CQSMgAiACQdwBcRsiAkEBcQRAIAAgATgCDAsgAkECcQRAIAAgATgCEAsgAkH/AXFBIE8EQCAAIAE4AjQLIABBADYCACADIAU2AgAPCxCvDQsACxCwDQALhgEBA38CQAJAIAAEQCAAQQhrIgMoAgAiBUEBaiEEIAMgBDYCACAERQ0BIAAoAgANAkEjIAIgAkHcAXEbIgJBAXEEQCAAIAE4AhwLIAJBAnEEQCAAIAE4AhwLIAJB/wFxQSBPBEAgACABOAIoCyAAQQA2AgAgAyAFNgIADwsQrw0LAAsQsA0AC/8EAQl/IwBBIGsiBSQAIAUgATYCHCAFIAA2AhggBSABNgIUIAVBCGohCUEAIQAjAEEgayIEJAAgBUEUaiIKKAIIIgYgBkEBdmsiB0EDdCEDAkACQAJAIAdB/////wFLDQAgA0H8////B0sNACAKKAIEIQsCQCADRQRAQQQhAUEAIQcMAQtBBCEAIANBBBDUDCIBRQ0BCyAGBEAgASEDIAshAANAIAZBAU0NAyADIAApAgA3AgAgA0EIaiEDIAhBAWohCCAAQQhqIQAgBkECayIGDQALCyMAQTBrIgMkACADQSRqIgAgASAIEIgFIANBDGoiBiAAEN0BQQAhAAJAAkAgAygCDEGAgICAeEcEQEEkQQQQ1AwiAEUNASAAQoGAgIAQNwIAIAAgAykCDDcCCCAAIAI4AiAgAEEQaiADQRRqKQIANwIAIABBGGogBkEQaikCADcCAAsgBEHgosMANgIEIAQgADYCACADQTBqJAAMAQtBBEEkQfD6wwAoAgAiAEHvByAAGxEAAAALIAQoAgQhACAEKAIAIQMgBwRAIAEgB0EDdEEEEJ8NCyAKKAIAIgEEQCALIAFBAnRBBBCfDQsgCSADNgIAIAkgADYCBCAEQSBqJAAMAgsgACADQaSmwQAQ+QsACyAEQQA2AhggBEEBNgIMIARBhKzBADYCCCAEQgQ3AhAgBEEIakGMrMEAENwLAAsCQCAFKAIIIgEEfyAFKAIMIQNBFEEEENQMIgBFDQEgACADNgIQIAAgATYCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqBUEACyEAIAVBIGokACAADwtBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAAL+AQBCX8jAEEgayIFJAAgBSABNgIcIAUgADYCGCAFIAE2AhQgBUEIaiEJQQAhACMAQTBrIgMkACAFQRRqIgooAggiBiAGQQF2ayIIQQN0IQQCQAJAAkAgCEH/////AUsNACAEQfz///8HSw0AIAooAgQhCwJAIARFBEBBBCEBQQAhCAwBC0EEIQAgBEEEENQMIgFFDQELIAYEQCABIQQgCyEAA0AgBkEBTQ0DIAQgACkCADcCACAEQQhqIQQgB0EBaiEHIABBCGohACAGQQJrIgYNAAsLIAMgBzYCFCADIAE2AhAgAyAINgIMIwBBIGsiASQAIAFBCGoiBCADQQxqEN0BQQAhAAJAAkAgASgCCEGAgICAeEcEQEEkQQQQ1AwiAEUNASAAQoGAgIAQNwIAIAAgASkCCDcCCCAAIAI4AiAgAEEQaiABQRBqKQIANwIAIABBGGogBEEQaikCADcCAAsgA0HgosMANgIEIAMgADYCACABQSBqJAAMAQtBBEEkQfD6wwAoAgAiAEHvByAAGxEAAAALIAMoAgQhACADKAIAIQEgCigCACIEBEAgCyAEQQJ0QQQQnw0LIAkgATYCACAJIAA2AgQgA0EwaiQADAILIAAgBEGkpsEAEPkLAAsgA0EANgIoIANBATYCHCADQYSswQA2AhggA0IENwIgIANBGGpBjKzBABDcCwALAkAgBSgCCCIBBH8gBSgCDCEEQRRBBBDUDCIARQ0BIAAgBDYCECAAIAE2AgwgAEEANgIIIABCgYCAgBA3AgAgAEEIagVBAAshACAFQSBqJAAgAA8LQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAAC4IKAwh/An0CfiMAQdAEayIEJAAjAEHgAWsiACQAIABBgICA+AM2AtgBIABCgICA/IOAgMA/NwKYASAAQgA3ApABIABCzZmz8oOAgMA/NwKIASAAQoCAgPyDgIDAPzcCgAEgAELNmbP2g4CAwD83AnggAEKAgICAgICAwD83AnAgAELNmbP2g4CAwD83AmggAEKAgNichICAwD83AmAgAELNmbP2g4CAwD83AlggAEKAgICAgICAgD83AlAgAELNmbP2g4CAwD83AkggAEKAgMCbhICAgD83AkAgAELNmbP2g4CAwD83AjggAEKAgMCPhICAwD83AjAgAEKas+b0g4CAwD83AiggAEKAgICNhICAwD83AiAgAELNmbP2g4CAwD83AhggAEKAgMCPhICAwD83AhAgAEKas+b0g4CAwD83AgggAEKAgKidhICAwD83AgAgAEKUgICA0AA3AtABIABBmrPm9AM2AtwBIABCgICA/IOAgMA/NwK4ASAAQoCAgICAgIDAPzcCsAEgAELNmbP2g4CAwD83AqgBIABCgIDAl4SAgMA/NwKgASAAQs2Zs/aDgIDAPzcCyAEgAEKAgOCXhICAwD83AsABIARBCGohBSMAQdAAayIBJAAgACgC0AEhBwJ+QfD+wwAoAgBBAUYEQEGA/8MAKQMAIQpB+P7DACkDAAwBCyABQUBrIQYjAEEQayICJAAgAkEAOgAPQQFBARDUDCIDRQRAQQFBAUHw+sMAKAIAIgBB7wcgABsRAAAACyAGIAJBD2qtNwMAIAYgA603AwggA0EBQQEQnw0gAkEQaiQAQfD+wwBCATcDAEGA/8MAIAEpA0giCjcDACABKQNACyELIAFBEGpB4NXBACkDADcDACABIAs3AxhB+P7DACALQgF8NwMAIAEgCjcDICABQdjVwQApAwA3AwggAUKAgID4g4CAgD83AiwgAUFAayEGIAFBLGohA0EgQQQQ1AwiAkUEQEEEQSBB8PrDACgCACIAQe8HIAAbEQAAAAsgBkEENgIIIAYgAjYCBCAGQQQ2AgAgAiADKQIAIgqnviIIIAiSIghDAAAAv5QiCTgCGCACIAhDAAAAP5QiCDgCECACIAg4AgggAiAJOAIAIAIgCkIgiKe+IgggCJIiCUMAAAA/lCIIOAIcIAIgCDgCFCACIAlDAAAAv5QiCDgCDCACIAg4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QYMBSwRAIAEQAgsgAkEANgIYIAJBATYCDCACQaSxwgA2AgggAkIENwIQIAJBCGpBrLHCABDcCwALIAEQByICEAhBAUcEQCABQYQBTwRAIAEQAgtB0PrDAC0AACEEQdD6wwBBAToAAEHU+sMAKAIAIQFB1PrDACACNgIAAkAgBEUNACABQYQBSQ0AIAEQAgsgA0EgaiQADAELIANBADYCGCADQQE2AgwgA0H4r8IANgIIIANCBDcCECADQQhqQYCwwgAQ3AsACwtB1PrDACgCABAJIgWdIgb8ByIKQugHgCEJIAUgBqFEAAAAAICELkGiIgVE////////3z8gBaagIgW9IgdCNIinQf8PcSIBQbIITQR8Qn9CgICAgICAgICAf0KAgICAgICAeCABQf8Ha62HIAFB/wdJGyIIIAhCf4UgB4NQGyAHg78FIAUL/AciCEKAlOvcA4AhByAIIAdCgJTr3AN+facgCiAJQugHfn2nQcCEPWxqIgFB/5Pr3ANLIQIgACABQYCU69wDayABIAIbNgIIIAAgAq0gByAJfHw3AwALcAIGfQF+IAAgAioCAIsiAyABKQIAIglCIIinviIElCACKgIEiyIFIAmnviIGlJIiByACKQIIIglCIIinviIIkjgCDCAAIAMgBpQgBSAElJIiAyAJp74iBJI4AgggACAIIAeTOAIEIAAgBCADkzgCAAuSAQIEfQF+IAEqAgwhBCABKgIIIQUgASoCBCEGIAEqAgAhByACKQIAIQhBEEEEENQMIgFFBEBBBEEQQfD6wwAoAgAiAEHvByAAGxEAAAALIAEgBSAIp74iBZQ4AgggASAHIAWUOAIAIAEgBCAIQiCIp74iBJQ4AgwgASAGIASUOAIEIABBzPrCADYCBCAAIAE2AgALfgECfyMAQSBrIgIkAAJAIAAoAhwiA0EBRiABQQBHcUUEQCABQQAgA0EBRxsiASADSQ0BCyACQQA2AhggAkEBNgIMIAJB3L/CADYCCCACQgQ3AhAgAkEIakHYmMMAENwLAAsgACgCFCABai0AACEAIAJBIGokACAAQX9zQQFxC2QBBH4gAkL/////D4MiAyABQv////8PgyIEfiEFIAAgBSADIAFCIIgiBn4gBCACQiCIIgJ+IgN8IgFCIIZ8IgQ3AwAgACAEIAVUrSACIAZ+IAEgA1StQiCGIAFC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ACgCACIBQe8HIAEbEQAAAAsgASAENgIMIAFBADYCCCABQoGAgIAQNwIAIAEgAzYCECACQRBqJAAgAUEIagtiAQN+IAAoAgAoAgApAwAgASgCACACQXRsaiIAQQxrKQIAhSIDQv////8PgyIEIABBBGs1AgBC3aHxywyFIgV+IANCIIgiA0K307CFDH6FIAMgBX4gBEK307CFDH6FQiCJhQthAQJ/IwBBgAFrIgIkACACQQA2AnwgAkICNwJ0IAJCgICAgBA3AmwgAkEUaiIDQQBB2AD8CwAgAkEIaiAAKAIEIAAoAgggAyABKQIAQQEQJSACLQAQIQAgAkGAAWokACAAC2gBAX8CQCACIAEoAlwiA0kEQCABKAJQIgMgAksNASACIANB/KjDABCwCQALIAIgA0HsqMMAELAJAAsgACACNgIMIAAgATYCACAAIAEoAkwgAkEDdGo2AgggACABKAJYIAJBCHRqNgIEC3QBAX9BHEEEENQMIgJFBEBBBEEcQfD6wwAoAgAiAEHvByAAGxEAAAALIAIgASkCADcCACACQRhqIAFBGGooAgA2AgAgAkEQaiABQRBqKQIANwIAIAJBCGogAUEIaikCADcCACAAQfSfwwA2AgQgACACNgIAC1wBAX8jAEEgayIAJAAgASgCBCECIAEoAgAhASAAQQI2AgQgAEHQl8EANgIAIABCATcCDCAAQqiXwYAwNwMYIAAgAEEYajYCCCABIAIgABDLAiEBIABBIGokACABC1wBAX8jAEEgayIAJAAgASgCBCECIAEoAgAhASAAQQE2AgQgAEGYqMEANgIAIABCATcCDCAAQoCowYAwNwMYIAAgAEEYajYCCCABIAIgABDLAiEBIABBIGokACABC7UBAQF/QcwAQQQQ1AwiAEUEQEEEQcwAQfD6wwAoAgAiAEHvByAAGxEAAAALIABBATYCSCAAQoGAgICAEDcCQCAAQoSAgIAQNwI4IABCgICAifTNxIE7NwIwIABCgICA/PPNxME6NwIoIABCgICA/IOAgMA/NwIgIABCgIDAj4SAibrJADcCGCAAQr+Gu8mDgIDQwAA3AhAgAEKAgICAkJGixDw3AgggAEKBgICAEDcCACAAQQhqC4QBAQF/QcwAQQQQ1AwiAEUEQEEEQcwAQfD6wwAoAgAiAEHvByAAGxEAAAALIABBADYC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ACIAQe8HIAAbEQAAAAsgASAGIASnvpQ4AgAgASAFIARCIIinvpQ4AgQgAEG058IANgIEIAAgATYCAAvMAQEHfSAAIAEqAhQiBiIEIAQgASoCDCIHIgIgAiABKgIEIgUiAyACIANeGyADIANcGyICIAIgBF0bIAIgAlwbOAIMIAAgASoCECIDIAMgASoCCCIEIAQgASoCACICIAIgBF0bIAIgAlwbIgggAyAIXhsgCCAIXBs4AgggACAFIAUgByAFIAddGyAHIAdcGyIFIAUgBiAFIAZdGyAGIAZcGzgCBCAAIAIgAiAEIAIgBF0bIAQgBFwbIgIgAiADIAIgA10bIAMgA1wbOAIAC1wBAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQQE2AhQgA0GI38MANgIQIANCATcCHCADIANBCGqtQoCAgICQggGENwMoIAMgA0EoajYCGCADQRBqIAIQ3AsAC1ABBX0gAioCACABKgIIkyIDIAEqAgAiBJQgAioCBCABKgIMkyIFIAEqAgQiBpSSIgcgB5QgBCAFlCADIAaUkyIDIAOUkiAAKgIAIgMgA5RfC1YCA30Bf0EBIQYgACoCBCIDIAEqAgSMlCABKgIAIAAqAgAiBJSTIgVDAAAAAF4Ef0EBBSAFIAQgASoCCJQgAyABKgIMlJKVIgNDAAAAAGAgAiADYHELC1cBAX8jAEEgayIDJAAgAyAAIAEQrAMgAkEYaiADQRhqKQIANwIAIAJBEGogA0EQaikCADcCACACQQhqIANBCGopAgA3AgAgAiADKQIANwIAIANBIGokAAtQAgF/An4jAEEgayICJAAgACkDACIDQj+HIQQgASADQgBZQQFBACADIASFIAR9IAJBDGoiABCJBCIBIABqQRQgAWsQkQIhACACQSBqJAAgAAtTACMAQSBrIgAkACAAQQE2AgQgAEH8z8EANgIAIABCATcCDCAAQuTPwYDQEzcDGCAAIABBGGo2AgggASgCACABKAIEIAAQywIhASAAQSBqJAAgAQtTACMAQSBrIgAkACAAQQE2AgQgAEH4vsIANgIAIABCATcCDCAAQuC+woDAKzcDGCAAIABBGGo2AgggASgCACABKAIEIAAQywIhASAAQSBqJAAgAQtQAgF9An4gACACKgIAIgMgASkCCCIEp76SOAIIIAAgASkCACIF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EKALAAtOAQR9IAAgAS0ACDoACCAAIAIqAgwgASoCBCIDIAIqAgAiBJQgASoCACIFIAIqAgQiBpSSkjgCBCAAIAIqAgggBSAElCADIAaUk5I4AgALSQEDfUEAIQEgACAEKgIAIgYgBpQgBCoCBCIFIAWUkiIHQwAAgCheBH8gACAFIAeRIgWVOAIIIAAgBiAFlTgCBEEBBUEACzYCAAtIAQF/IAAoAgAgACgCCCIDayACSQRAIAAgAyACEOgEIAAoAgghAwsgAgRAIAAoAgQgA2ogASAC/AoAAAsgACACIANqNgIIQQALQAICfQF/AkAgASoCACIDIAAqAgAiAoxdDQAgAiADXQ0AIAEqAgQiAiAAKgIEIgNeRSACIAOMXUF/c3EhBAsgBAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAI4IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIADQIgAEECNgIMIAEgAzYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIwIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAI0IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIADQIgAEECNgIgIAEgAzYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIEIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIQIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIkIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIsIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgIwIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgI0IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgI8IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgJAIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIgIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIIIAIgBDYCAA8LEK8NCwALELANAAtFAQF/AkAgACoCACABKgIMX0UNACAAKgIEIAEqAhBfRQ0AIAAqAgwgASoCAGBFDQAgACoCECABKgIEYEUNAEEBIQILIAILOgEBfyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABBmLbDADYCCCAAQgQ3AhAgAEEIakGgtsMAENwLAAs6AQF/IwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGEwMMANgIIIABCBDcCECAAQQhqQYzAwwAQ3AsAC0gBAX8gACgCACAAKAIIIgNrIAJJBEAgACADIAIQwQYgACgCCCEDCyACBEAgACgCBCADaiABIAL8CgAACyAAIAIgA2o2AghBAAtVACABKAIAIAIoAgAgAygCACAEKAIAIAUoAgAQDyEBQeT6wwAoAgAhAkHg+sMAKAIAIQNB4PrDAEIANwIAIAAgAiABIANBAUYiARs2AgQgACABNgIAC0oBAX8jAEEQayIDJAAgAyABIAJBARCEASAAIAMpAgQ3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////////D4MgCkI0iKdB/w9xIgYbIgxCAYMhDSALUARAQQQgDlANARogBkGzCGshBkIBIQsgDVAMAQtCgICAgICAgCAgDEIBhiAMQoCAgICAgIAIUSIAGyEMQgJCASAAGyELQct3Qcx3IAAbIAZqIQYgDVALIQAgAyAGOwF4IAMgCzcDcCADQgE3A2ggAyAMNwNgIAMgADoAegJ/AkACQAJAAkACQCAAQQFNBEAgA0EgaiIGIANB4ABqIANBD2oQc0GO3sMAQQEgCkIAUyIAGyEFQY7ewwBBj97DACAAGyEHIApCP4inIQAgAygCIEUNASADQdgAaiAGQQhqKAIANgIAIAMgAykCIDcDUAwCCyAAQQJGDQNBASEGQY7ewwBBj97DACAKQgBTIgcbQY7ewwBBASAHGyAEGyEFIApCP4inIARyIQcgAEH/AXFBBEYNAiADQQM2AiggA0GT3sMANgIkIANBAjsBICADQSBqDAULIANB0ABqIANB4ABqIANBD2oQLAsgByAFIAQbIQUgACAEciEHIAMgAygCUCADKAJUIAMvAVhBACADQSBqEOIDIAMoAgQhBiADKAIADAMLIANBAjsBIAwBCyADQQM2AiggA0GQ3sMANgIkIANBAjsBIEEBIQVBACEHQQEhBiADQSBqDAELIANBATYCKCADQZbewwA2AiQgA0EgagshACADIAY2AlwgAyAANgJYIAMgBzYCVCADIAU2AlAgASADQdAAahDFAiEAIANBgAFqJAAgAA8LIAVBAEchCCABLwEOIQcjAEHwCGsiAiQAIA+9IQoCf0EDIA+ZRAAAAAAAAPB/YQ0AGkECIApCgICAgICAgPj/AIMiC0KAgICAgICA+P8AUQ0AGiAKQv////////8HgyIOQoCAgICAgIAIhCAKQgGGQv7///////8PgyAKQjSIp0H/D3EiBBsiDEIBgyENIAtQBEBBBCAOUA0BGiAEQbMIayEEQgEhCyANUAwBC0KAgICAgICAICAMQgGGIAxCgICAgICAgAhRIgAbIQxCAkIBIAAbIQtBy3dBzHcgABsgBGohBCANUAshACACIAQ7AegIIAIgCzcD4AggAkIBNwPYCCACIAw3A9AIIAIgADoA6ggCfwJAAkAgAEEBTQRAQXRBBSAEwSIAQQBIGyAAbCIFQcD9AEkNAUGd3sMAQSVBxN7D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kSAAKgIAkyIDIANDAAAAAF0bIAMgAhsLNgEBfyMAQRBrIgIkACACQQhqIAEQqAIgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACzYBAX8jAEEQayICJAAgAkEIaiABEIYDIAIoAgwhASAAIAIoAgg2AgAgACABNgIEIAJBEGokAAs2AQF/IwBBEGsiAiQAIAJBCGogARC+BCACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALNgEBfyMAQRBrIgIkACACQQhqIAEQ+QMgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACzYBAX8jAEEQayICJAAgAkEIaiABEKYEIAIoAgwhASAAIAIoAgg2AgAgACABNgIEIAJBEGokAAs8AQF/IwBBEGsiAyQAIANB55bBADYCDCADIAA2AghBACADQQhqQfS5wwAgA0EMakH0ucMAIAEgAhDhAwALOQEBfyMAQRBrIgQkACAEIAE2AgwgBCAANgIIQQAgBEEIakGo4MMAIARBDGpBqODDACACIAMQ4QMACzgBAX8gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEOcKDwsgACABEMEIDwsgACABEMAICzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBEOcBIAMoAgwhACADQSBqJAAgAEEDRwswAQF/IwBBIGsiAyQAIANBDGogACABIAJBARCxAiADKAIMIQAgA0EgaiQAIABBA0cLSwEBf0EUQQQQ1AwiAEUEQEEEQRRB8PrDACgCACIAQe8HIAAbEQAAAAsgAEKAgID8AzcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqC0cBAX9BFEEEENQMIgBFBEBBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAALIABCADcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqCzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBEOoBIAMoAgwhACADQSBqJAAgAEEDRwswAQF/IwBBIGsiAyQAIANBDGogACABIAJBARCUASADKAIMIQAgA0EgaiQAIABBA0cLLwEBfyMAQRBrIgMkACADQQhqIAAgASACQQEQciADKAIIIQAgA0EQaiQAIABBAUYLMAEBfyMAQSBrIgMkACADQQxqIAAgASACQQAQhQEgAygC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IgBBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEHQAUEQEJ8NCwswAQF/AkAgACgCACIAQX9GDQAgACAAKAIEQQFrIgE2AgQgAQ0AIABBwABBBBCfDQsLQAEBf0EMQQQQ1AwiAEUEQEEEQQxB8PrDACgCACIAQe8HIAAbEQAAAAsgAEEANgIIIABCgYCAgBA3AgAgAEEIagswAQF9QwAAAAAgACoCACABKgIAlCAAKgIEIAEqAgSUkiIDIANDAAAAAF0bIAMgAhsLKgEBfyMAQRBrIgIkACACQQRqIAAgAUEBEC0gAi0ADCEAIAJBEGokACAACyoBAX8jAEEQayICJAAgAkEEaiAAIAFBARApIAItAAwhACACQRBqJAAgAAsqAQF/IwBBEGsiAiQAIAJBBGogACABQQEQaSACLQAMIQAgAkEQaiQAIAALKgEBfyMAQRBrIgIkACACQQRqIAAgAUEBECogAi0ADCEAIAJBEGokACAACysCAX0BfiAAIAEqAgAiAyACKQIAIgSnvpQ4AgAgACADIARCIIinvpQ4AgQLKgEBfiAAIAEpAggiAqe+IAEqAgCTOAIAIAAgAkIgiKe+IAEqAgSTOAIECywBAX8jAEEQayICJAAgAiAAKAIANgIMIAJBDGogARD8AyEAIAJBEGokACAACyUAIAAgASoCACACKgIAmLytIAEqAgQgAioCBJi8rUIghoQ3AgALUQEBfyMAQRBrIgMkACADIAI2AgwgAyABNgIIIAMgADYCBCMAQRBrIgAkACAAIANBBGoiASkCADcCCCAAQQhqQYi/wwAgASgCCEEBQQAQlwcAC/wBAgJ/AX4jAEEQayICJAAgAkEBOwEMIAIgATYCCCACIAA2AgQjAEEQayIBJAAgAkEEaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCDCEDAkACQAJAAkAgAigCBA4CAAECCyADDQFBASECQQAhAwwCCyADDQAgAigCACICKAIEIQMgAigCACECDAELIABBgICAgHg2AgAgACABNgIMIABB7L7DACABKAIEIAEoAggiAC0ACCAALQAJEJcHAAsgACADNgIEIAAgAjYCACAAQdC+wwAgASgCBCABKAIIIgAtAAggAC0ACRCXBwALKAEBfyMAQSBrIgIkACACIAAgAUEBEJoBIAItAAghACACQSBqJAAgAAsoAQF/IwBBIGsiAiQAIAIgACABQQEQkgEgAi0ACCEAIAJBIGokACAACykAIABB/wFxIgBBEE0EQCAAQdeWwQBqLQAADwsgAEERQaSnwwAQsAkACyQBAX0gASoCACICIAKUIAEqAgQiAiAClJIgACoCACICIAKUXwsmAQF9IABCADcCACAAIAEqAgAiAiAClCABKgIEIgIgApSSkTgCCAsoAQF9IAAgASoCACICOAIMIAAgAjgCCCAAIAKMIgI4AgQgACACOAIACzMAIAEoAgAgACgCAC0AAEECdCIAQZyvwgBqKAIAIABBjK/CAGooAgAgASgCBCgCDBEFAAslACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAQgBSABKAIQER4ACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQEQIACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQERAACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQESAACyQAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQEZ8BAAsjACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAQgASgCEBE4AAsiACAAIAEpAgA3AgggACABKgIEjDgCBCAAIAEqAgCMOAIACzEAIAJCgYCAgCw3AhggAkKAgICApICAgMAANwIQIAIgACkCCDcCCCACIAApAgA3AgALKAEBfyAAKAIAIgFBgICAgHhyQYCAgIB4RwRAIAAoAgQgAUEBEJ8NCwshACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAEoAhARAQALHwAgACoCACABKgIAlCAAKgIEIAEqAgSUkkMAAAAAXwseAQJ9IAAqAgggACoCACIBIAAqAgQiAiABIAJfG5ILHQAgASgCAARAIABBwL7DADYCBCAAIAE2AgAPCwALJwEBfyAAKAIAIgIEQCABKAIAIAIgACgCBCABKAIEKAIMEQUADwsACyQAIAAtAABFBEAgAUGo5MMAQQUQpwIPCyABQa3kwwBBBBCnAgsfACAARQRAQaCwwgBBMhCuDQALIAAgAiABKAIQEQMACx0AIAAgASkCQDcCACAAQQhqIAFByABqKQIANwIACxwAIAAgASkCKDcCACAAQQhqIAFBMGopAgA3AgALKQAgACAALQAEIAFBLkZyOgAEIAAoAgAiACgCACABIAAoAgQoAhARAwAL2gkDD30KfwN+AkAgACEZIAIhDyABKAIsIRYgASgCMCEAIAEoAjghFCABKAI8IRUjAEEQayIYJAAgGEEEaiETIBQhAQJAIBVFDQAgASAVQQxsaiEbA0ACQAJAIAEoAgAiEiAASQRAIAFBBGooAgAiGiAATw0BIAFBCGooAgAiFyAASQ0CIBcgAEGcw8IAELAJAAsgEiAAQfzCwgAQsAkACyAaIABBjMPCABCwCQALIBYgEkEDdGoiEikCACEcIBIqAgAiAiAWIBdBA3RqIhcqAgAiA5MiBCAElCASKgIEIgYgFyoCBCIIkyIEIASUkpEhBCAXKQIAIR0gFiAaQQN0aiISKQIAIR4CQAJAAkAgEioCACIMIAKTIgIgApQgEioCBCIOIAaTIgIgApSSkSICIAMgDJMiAyADlCAIIA6TIgMgA5SSkSIGXkUEQCACIAReRQ0BIAYhAyACIQggBCECDAMLIAIgBF4NASAEIQMgAiEIIAYhAgwCCyAGIAQgBCAGXSISGyEDIAQgBiASGyEIDAELIAYgBCAEIAZdIhIbIQggAiEDIAQgBiASGyECCyAKQwAAAABDAAAAACADIAggApOSIAIgAyAIkyIEkiACIASTIAMgCCACkpKUlJQiAiACQwAAAABdGyACIAJcG5FDAACAPpQiAiAcQiCIp75Dq6qqPpQgHkIgiKe+Q6uqqj6UkiAdQiCIp75Dq6qqPpSSlJIhCiALIAIgHKe+Q6uqqj6UIB6nvkOrqqo+lJIgHae+Q6uqqj6UkpSSIQsgCSACkiEJIBsgAUEMaiIBRw0ACyAJQwAAAABbDQAgCiAJlSEKIAsgCZUhCwsgEyAKOAIIIBMgCzgCBCATIAk4AgAgGCkCCCEcAkACQAJAIBgqAgQiDkMAAAAAXARAIBUEQCAUIBVBDGxqIRIDQCAUKAIAIgEgAE8NAyAUQQRqKAIAIhUgAE8NBCAUQQhqKAIAIhMgAE8NBSAWIAFBA3RqIgEqAgAiBiAWIBNBA3RqIhMqAgAiCJMiAiAClCABKgIEIgkgEyoCBCIKkyICIAKUkpEhAwJAAkACQCAWIBVBA3RqIgEqAgAiAiAGkyILIAuUIhAgASoCBCIHIAmTIgwgDJQiEZKRIgUgCCACkyICIAKUIAogB5MiAiAClJKRIgReRQRAIAMgBV1FDQEgBCEHIAUhAiADIQUMAwsgAyAFXQ0BIAMhByAFIQIgBCEFDAILIAQgAyADIARdIgEbIQcgAyAEIAEbIQIMAQsgBCADIAMgBF0iARshAiAFIQcgAyAEIAEbIQULIA0gCCAGkyIDIAOUIBAgCyADlJKSIAogCZMiAyADlCARIAwgA5SSkpJDq6oqPpRDAAAAAEMAAAAAIAcgAiAFk5IgBSAHIAKTIgOSIAUgA5MgByACIAWSkpSUlCICIAJDAAAAAF0bIAIgAlwbkUMAAIA+lJSSIQ0gEiAUQQxqIhRHDQALC0MAAAAAQwAAgD8gDyANlCIClSACQwAAAABbGyEHQwAAAABDAACAPyAPIA6UIgKVIAJDAAAAAFsbIQULIBkgBzgCDCAZIAU4AgggGSAcNwIAIBhBEGokAAwDCyABIABBzMLCABCwCQALIBUgAEHcwsIAELAJAAsgEyAAQezCwgAQsAkACwsaAQF/IAAoAgAiAQRAIAAoAgQgAUEBEJ8NCwtSACAABEAgACABQfD6wwAoAgAiAEHvByAAGxEAAAALIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHYwMMANgIIIABCBDcCECAAQQhqIAIQ3AsACx8AIABBCGpB4KTBACkCADcCACAAQdikwQApAgA3AgALHwAgAEEIakHwpMEAKQIANwIAIABB6KTBACkCADcCAAsfACAAQQhqQYClwQApAgA3AgAgAEH4pMEAKQIANwIACx8AIABBCGpBgMrBACkCADcCACAAQfjJwQApAgA3AgALHwAgAEEIakGgysEAKQIANwIAIABBmMrBACkCADcCAAsfACAAQQhqQbDKwQApAgA3AgAgAEGoysEAKQIANwIACx8AIABBCGpBwMrBACkCADcCACAAQbjKwQApAgA3AgALHwAgAEEIakHQysEAKQIANwIAIABByMrBACkCADcCAAsfACAAQQhqQeDKwQApAgA3AgAgAEHYysEAKQIANwIACx0AIABBvOrBADYCBCAAIAE2AgAgACABKgIQOAIICx8AIABBCGpBjLTCACkCADcCACAAQYS0wgApAgA3AgALHwAgAEEIakGctMIAKQIANwIAIABBlLTCACkCADcCAAsfACAAQQhqQay0wgApAgA3AgAgAEGktMIAKQIANwIACx8AIABBCGpBvLTCACkCADcCACAAQbS0wgApAgA3AgALHwAgAEEIakHMtMIAKQIANwIAIABBxLTCACkCADcCAAsfACAAQQhqQdy0wgApAgA3AgAgAEHUtMIAKQIANwIACx8AIABBCGpB7LTCACkCADcCACAAQeS0wgApAgA3AgALHwAgAEEIakH8tMIAKQIANwIAIABB9LTCACkCADcCAAsfACAAQQhqQYy1wgApAgA3AgAgAEGEtcIAKQIANwIACx8AIABBCGpBnLXCACkCADcCACAAQZS1wgApAgA3AgALHwAgAEEIakGstcIAKQIANwIAIABBpLXCACkCADcCAAsfACAAQQhqQby1wgApAgA3AgAgAEG0tcIAKQIANwIACx8AIABBCGpBzLXCACkCADcCACAAQcS1wgApAgA3AgALHwAgAEEIakHctcIAKQIANwIAIABB1LXCACkCADcCAAsfACAAQQhqQey1wgApAgA3AgAgAEHktcIAKQIANwIACx8AIABBCGpB/LXCACkCADcCACAAQfS1wgApAgA3AgALHwAgAEEIakGMtsIAKQIANwIAIABBhLbCACkCADcCAAsfACAAQQhqQZy2wgApAgA3AgAgAEGUtsIAKQIANwIACx8AIABBCGpBrLbCACkCADcCACAAQaS2wgApAgA3AgALHwAgAEEIakG8tsIAKQIANwIAIABBtLbCACkCADcCAAsfACAAQQhqQcy2wgApAgA3AgAgAEHEtsIAKQIANwIACx8AIABBCGpB3LbCACkCADcCACAAQdS2wgApAgA3AgALHwAgAEEIakHstsIAKQIANwIAIABB5LbCACkCADcCAAsYAQJ9IAAqAgAiASAAKgIEIgIgASACXxsLHQAgAEGYg8MANgIEIAAgATYCACAAIAEqAhA4AggLoQQDDn0DfwN+IAIhCCABKgIAIgkgAUEQaiISKgIAIgqTIgIgApQgASoCBCILIBIqAgQiDJMiAiAClJKRIQQCQAJAAkAgAUEIaiITKgIAIgMgCZMiDSANlCIPIBMqAgQiBiALkyIOIA6UIhCSkSICIAogA5MiAyADlCAMIAaTIgMgA5SSkSIFXkUEQCACIAReRQ0BIAUhAyACIQYgBCECDAMLIAIgBF4NASAEIQMgAiEGIAUhAgwC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IAAgATYCAAsWAEHk+sMAIAA2AgBB4PrDAEEBNgIACxMAIABBhLnCADYCBCAAIAE2AgALEwAgAEGUucIANgIEIAAgATYCAAsTACAAQaS5wgA2AgQgACABNgIACxMAIABBtLnCADYCBCAAIAE2AgALEwAgAEHEucIANgIEIAAgATYCAAsTACAAQdS5wgA2AgQgACABNgIACxMAIABB5LnCADYCBCAAIAE2AgALEwAgAEH0ucIANgIEIAAgATYCAAsTACAAQYS6wgA2AgQgACABNgIACxMAIABBlLrCADYCBCAAIAE2AgALEwAgAEGkusIANgIEIAAgATYCAAsTACAAQbS6wgA2AgQgACABNgIACxMAIABBxLrCADYCBCAAIAE2AgALEwAgAEHUusIANgIEIAAgATYCAAsTACAAQeS6wgA2AgQgACABNgIACxMAIABB9LrCADYCBCAAIAE2AgALEwAgAEGEu8IANgIEIAAgATYCAAsTACAAQZS7wgA2AgQgACABNgIACxMAIABBpLvCADYCBCAAIAE2AgALEwAgAEG0u8IANgIEIAAgATYCAAsTACAAQcS7wgA2AgQgACABNgIACxMAIABB1LvCADYCBCAAIAE2AgALEwAgAEHku8IANgIEIAAgATYCAAsQACAAIAE2AgQgAEEDNgIACxAAIAAgATYCBCAAQQQ2AgALEAAgACABNgIEIABBAjYCAAsQACAAIAE2AgQgAEEBNgIACxAAIAAgATYCBCAAQQA2AgALIQAgAEL////39/////4ANwIIIABC////9/////9+NwIACxAAIABBADYCACAAIAE2AgQLEwAgAEGggsMANgIEIAAgATYCAAsTACAAQbyCwwA2AgQgACABNgIACxMAIABB/ILDADYCBCAAIAE2AgALEwAgAEG8g8MANgIEIAAgATYCAAsTACAAQfyDwwA2AgQgACABNgIACxAAIABBCjYCACAAIAE2AgQLEwAgAEGEh8MANgIEIAAgATYCAAsQACAAQQc2AgAgACABNgIECxMAIABBhIrDADYCBCAAIAE2AgALEAAgAEEGNgIAIAAgATYCBAsTACAAQYSNwwA2AgQgACABNgIACxAAIABBCTYCACAAIAE2AgQLEAAgAEELNgIAIAAgATYCBAsTACAAQYSQwwA2AgQgACABNgIACyEAIABC////9/f////+ADcCCCAAQv////f/////fjcCAAsUACAAQf////sHNgIIIABCADcCAAshACAAQv////f3/////gA3AgggAEL////3/////343AgALEAAgAEEINgIAIAAgATYCBAsQACAAQQU2AgAgACABNgIECxAAIABBDDYCACAAIAE2AgQLEwAgAEGItcMANgIEIAAgATYCAAsQACAAQQ02AgAgACABNgIECxMAIABBpLXDADYCBCAAIAE2AgALEAAgAEEONgIAIAAgATYCBAsTACAAQcC1wwA2AgQgACABNgIAC+kGARB/IAAoAgAhCCAAKAIEIQRBACEAIwBBEGsiCSQAQQEhDQJAIAEoAgAiCkEiIAEoAgQiDigCECIPEQMADQACQCAERQRAQQAhAQwBC0EAIARrIRAgCCEHIAQhBQNAIAUgB2ohEUEAIQECQAJAA0AgASAHaiIDLQAAIgZB/wBrQf8BcUGhAUkNASAGQSJGDQEgBkHcAEYNASAFIAFBAWoiAUcNAAsgAiAFaiECDAELIANBAWohByABIAJqIQUCfwJAIAMsAAAiBkEATgRAIAZB/wFxIQMMAQsgBy0AAEE/cSELIAZBH3EhDCADQQJqIQcgBkFfTQRAIAxBBnQgC3IhAwwBCyAHLQAAQT9xIAtBBnRyIQsgA0EDaiEHIAZBcEkEQCALIAxBDHRyIQMMAQsgBy0AACEGIANBBGohByAMQRJ0QYCA8ABxIAZBP3EgC0EGdHJyIgNBgIDEAEcNACAFDAELIAkgA0GBgAQQkwICQCAJLQANIAktAAxrQf8BcUEBRg0AAkACQAJAIAAgBUsNAAJAIABFDQAgACAETwRAIAAgBEcNAgwBCyAAIAhqLAAAQb9/TA0BCwJAIAVFDQAgBCAFTQRAIAUgEGpFDQEMAgsgAiAIaiABaiwAAEG/f0wNAQsgCiAAIAhqIAIgAGsgAWogDigCDCIAEQUARQ0BDAILIAggBCAAIAEgAmpBtOTDABDKDAALAkAgCS0ADSIFQYEBTwRAIAogCSgCACAPEQMADQIMAQsgCiAJLQAMIgYgCWogBSAGayAAEQUADQELAn9BASADQYABSQ0AGkECIANBgBBJDQAaQQNBBCADQYCABEkbCyACaiABaiEADAELDAULAn9BASADQYABSQ0AGkECIANBgBBJDQAaQQNBBCADQYCABEkbCyACaiABagshAiARIAdrIgUNAQsLAkAgACACSw0AQQAhAQJAIABFDQAgACAETwRAIAAhASAAIARHDQIMAQsgACEBIAAgCGosAABBv39MDQELIAJFBEBBACECDAILIAIgBE8EQCACIARGDQIgASEADAELIAIgCGosAABBv39KDQEgASEACyAIIAQgACACQcTkwwAQygwACyAKIAEgCGogAiABayAOKAIMEQUADQAgCkEiIA8RAwAhDQsgCUEQaiQAIA0LHAAgASgCACAAKAIAIAAoAgQgASgCBCgCDBEFAAsTACAAQcC+wwA2AgQgACABNgIACxEAIAEoAgAgASgCBCAAEMsCC2UBAX8CQCAAQQhrKAIEIgNBeHEhAgJAIAJBBEEIIANBA3EiAxsgAWpPBEAgA0EARyACIAFBJ2pLcQ0BIAAQrQIMAgtB1LrDAEEuQYS7wwAQ+QoAC0GUu8MAQS5BxLvDABD5CgALC+wBAgN9AX5BACEEAkAgAAJ+AkACQAJAAkACQCACQQFrDgIBBgALIAMgASgCFCICIAMbQQFrIQQgAiAETQ0CIAIgA00NASABKAIQIgEgA0EDdGoiAioCBCABIARBA3RqKQIAIghCIIinvpIhBSACKgIAIAinvpIiBiAGlCAFIAWUkpEhByAGIAeVvK0gBSAHlbytQiCGhAwECyABKAIUIgIgA0sNAiADIAJBnJfDABCwCQALIAMgAkGMl8MAELAJAAsgBCACQfyWwwAQsAkACyABKAIQIANBA3RqKQIACzcCBEEBIQQLIAAgBDYCAAsPAEHItsMAQS8gABDbCwALaQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQdj0wwA2AgggA0ICNwIUIAMgA0EEaq1CgICAgDCENwMoIAMgA61CgICAgDCENwMgIAMgA0EgajYCECADQQhqIAIQ3AsAC2kBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQI2AgwgA0H49MMANgIIIANCAjcCFCADIANBBGqtQoCAgIAwhDcDKCADIAOtQoCAgIAwhDcDICADIANBIGo2AhAgA0EIaiACENwLAAtpAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBrPXDADYCCCADQgI3AhQgAyADQQRqrUKAgICA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A0kNAwJ9IAUEQEMAAAAAIANBgICA6ABqIAJJDQEaCyAAIAGVixDXAwshAQJAAkACQCAEQQFrDgMBAgAECyABQy69uzOSQ9sPScCSIQAMBgsgAYwhAAwFC0PbD0lAIAFDLr27M5KTIQAMBAsgBEECdEHo+cMAaioCACEBCyABIQAMAgsgACABkiEADAELQ9sPyT8gAJghAAsgAAsHACAAKgIQCwcAIAAqAgALBwAgABC7AQsHACAAEL4BCwQAQQELBABBAQsHAEPbD8k/CwQAQQALBABBAwsHAEMAAAAACwQAQQQLBABBAgsEAEEACwQAQQALBAAgAAsHAEPbD0lACwQAQQoLBABBBwsEAEEGCwQAQQkLBABBCwsHAEP//39/CwQAQQgLBABBBQsEAEEMCwQAQQ0LBABBDgsHAEPbD0k/CwMAAQsDAAELAwABCwMAAQsLlPoDGwBBgIDAAAvdlwFjYXBhY2l0eSBvdmVyZmxvd05vIGVsZW1lbnQgYXQgaW5kZXgvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9jY2QvdG9pX2VudHJ5LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHkucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL3NvbHZlcl9ib2R5LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvcmlnaWRfYm9keS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy9hcnJheS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21hdHJpeC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21pbl9tYXgucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2JvcnJvdy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21hdHJpeF92aWV3LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvY29uc3RydWN0aW9uX3ZpZXcucnMAbGlicmFyeS9jb3JlL3NyYy9udW0vZmx0MmRlYy9zdHJhdGVneS9ncmlzdS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9saW5hbGcvbHUucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL21wbWMvY29udGV4dC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3BhcnRpdGlvbmluZy9idmgvYnZoX3RyYXZlcnNlX2J2dHQucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL21wbWMvbGlzdC5ycwBsaWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3BhcnRpdGlvbmluZy9idmgvYnZoX2luc2VydC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3V0aWxzL3BvaW50X2Nsb3VkX3N1cHBvcnRfcG9pbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L3VuaXRfbXVsdGlib2R5X2pvaW50LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2pvaW50X2NvbnN0cmFpbnQvam9pbnRfdmVsb2NpdHlfY29uc3RyYWludC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvam9pbnRfY29uc3RyYWludC9nZW5lcmljX2pvaW50X2NvbnN0cmFpbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2NvbnRhY3RfY29uc3RyYWludC9nZW5lcmljX2NvbnRhY3RfY29uc3RyYWludC5ycwBsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2N1cnJlbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9wb2ludC9wb2ludF9zZWdtZW50LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvc2VnbWVudC5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF9yZWZpdC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X3NldC5ycwBidWlsZHMvcmFwaWVyMmQvLi4vLi4vc3JjL2R5bmFtaWNzL3JpZ2lkX2JvZHlfc2V0LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnRfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvbXVsdGlib2R5X2pvaW50X3NldC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9qb2ludC9pbXB1bHNlX2pvaW50L2ltcHVsc2Vfam9pbnRfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvaW1wdWxzZV9qb2ludF9zZXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2pvaW50X2NvbnN0cmFpbnQvam9pbnRfY29uc3RyYWludHNfc2V0LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9jb250YWN0X2NvbnN0cmFpbnQvY29udGFjdF9jb25zdHJhaW50c19zZXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2RpeV9mbG9hdC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZGF0YS9tb2RpZmllZF9vYmplY3RzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2Uvb3BzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZS0xLjAuMjE5L3NyYy9kZS9pbXBscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsX3V0aWxzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvYm91bmRpbmdfdm9sdW1lL2FhYmJfdXRpbHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi91dGlscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy91dGlscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc192b3hlbHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS92b3hlbHMvdm94ZWxzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93ZWItdGltZS0xLjEuMC9zcmMvdGltZS9qcy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvdXNlcl9jaGFuZ2VzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwMC9zcmMvY29udmVydC9zbGljZXMucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9tdXRleC9ub190aHJlYWRzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvYmxhcy5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9mZmkvY19zdHIucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvaXRlci90cmFpdHMvaXRlcmF0b3IucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL25hbGdlYnJhLTAuMzQuMS9zcmMvYmFzZS9kZWZhdWx0X2FsbG9jYXRvci5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvdmVsb2NpdHlfc29sdmVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2NjZC9jY2Rfc29sdmVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdXRpbHMvY2VudGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2NvbnRyb2wvY2hhcmFjdGVyX2NvbnRyb2xsZXIucnMAYnVpbGRzL3JhcGllcjJkLy4uLy4uL3NyYy9jb250cm9sL2NoYXJhY3Rlcl9jb250cm9sbGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L3N0ZC9zcmMvc3luYy9tcG1jL3dha2VyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZGVmYXVsdF9xdWVyeV9kaXNwYXRjaGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2lzbGFuZF9tYW5hZ2VyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9qb2ludF9jb25zdHJhaW50L2dlbmVyaWNfam9pbnRfY29uc3RyYWludF9idWlsZGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9qb2ludF9jb25zdHJhaW50L2pvaW50X2NvbnN0cmFpbnRfYnVpbGRlci5ycwBidWlsZHMvcmFwaWVyMmQvLi4vLi4vc3JjL2dlb21ldHJ5L2NvbGxpZGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2NvcmUvc3JjL2NtcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2ludGVyc2VjdGlvbl90ZXN0L2ludGVyc2VjdGlvbl90ZXN0X3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvbm9ubGluZWFyX3NoYXBlX2Nhc3Qvbm9ubGluZWFyX3NoYXBlX2Nhc3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0L2NvbnRhY3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2Rpc3RhbmNlL2Rpc3RhbmNlX3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfaGFsZnNwYWNlX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdXRpbHMvdmVjX21hcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy96ZXJvLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvdm94ZWxzL3ZveGVsc19lZGl0aW9uLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvZWRpdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL2NvbnN0cnVjdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvY29udGFjdF9jb25zdHJhaW50L2NvbnRhY3Rfd2l0aF9jb3Vsb21iX2ZyaWN0aW9uLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9jYXRlZ29yaXphdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXNfY29udmV4X3BvbHlnb24ucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS9jb252ZXhfcG9seWdvbi5ycwBsaWJyYXJ5L2NvcmUvc3JjL251bS9mbHQyZGVjL3N0cmF0ZWd5L2RyYWdvbi5ycwBsaWJyYXJ5L2NvcmUvc3JjL251bS9iaWdudW0ucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19wZm1fcGZtLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY29udGFjdF9tYW5pZm9sZHMvY29udGFjdF9tYW5pZm9sZHNfaGFsZnNwYWNlX3BmbS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc19iYWxsLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfYmFsbF9iYWxsLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9iaW5jb2RlLTEuMy4zL3NyYy9pbnRlcm5hbC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3NoYXBlL3ZveGVscy92b3hlbHNfY2h1bmsucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9saW5rLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZ2prL2dqay5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9nZW9tZXRyeS9icm9hZF9waGFzZV9idmgucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS90cmltZXNoLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2dlb21ldHJ5L2ludGVyYWN0aW9uX2dyYXBoLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2RhdGEvZ3JhcGgucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2VuYS0wLjE0LjMvc3JjL3VuZG9fbG9nLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvaW5kZXhpbmcucnMAbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfb3B0aW1pemUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF90cmF2ZXJzZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL2NvbXBvbmVudHdpc2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZ2VvbWV0cnkvbmFycm93X3BoYXNlLnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvbmFycm93X3BoYXNlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvYm91bmRpbmdfdm9sdW1lL2JvdW5kaW5nX3NwaGVyZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc19zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3RyaW1lc2hfc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9wb2ludC9wb2ludF9jb21wb3NpdGVfc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc192b3hlbHNfY29tcG9zaXRlX3NoYXBlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY29udGFjdF9tYW5pZm9sZHMvY29udGFjdF9tYW5pZm9sZHNfY29tcG9zaXRlX3NoYXBlX2NvbXBvc2l0ZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX2NvbXBvc2l0ZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX3NoYXBlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvc2hhcmVkX3NoYXBlLnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS92b3hlbHNfdG9fcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS9yb3VuZF9jb252ZXhfcG9seWdvbl90b19wb2x5bGluZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX3BvbHlsaW5lL2JhbGxfdG9fcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS9jYXBzdWxlX3RvX3BvbHlsaW5lLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdHJhbnNmb3JtYXRpb24vdG9fcG9seWxpbmUvcm91bmRfY3Vib2lkX3RvX3BvbHlsaW5lLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lLnJzAGxpYnJhcnkvc3RkL3NyYy9zeXMvcGFsL3dhc20vLi4vdW5zdXBwb3J0ZWQvdGltZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9jb3JlL3NyYy90aW1lLnJzAC9ydXN0Yy8xMTU5ZTc4YzQ3NDdiMDJlZjk5NmU1NTA4MmI3MDRjMDliOTcwNTg4L2xpYnJhcnkvY29yZS9zcmMvdGltZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NhcHN1bGVfY2Fwc3VsZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF90cmlhbmdsZS5ycwBsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvdmVjX3N0b3JhZ2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF90cmVlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2xpbmFsZy9wZXJtdXRhdGlvbl9zZXF1ZW5jZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS92b3hlbHMvdm94ZWxzX25laWdoYm9yaG9vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZW5hLTAuMTQuMy9zcmMvdW5pZnkvbW9kLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTUuNC9zcmMvcmF3L21vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaGFzaGJyb3duLTAuMTYuMC9zcmMvcmF3L21vZC5ycwBsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2JpbmFyeV9oZWFwL21vZC5ycwBsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL21vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy9tb2QucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0Yy8xMTU5ZTc4YzQ3NDdiMDJlZjk5NmU1NTA4MmI3MDRjMDliOTcwNTg4L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2ZsdDJkZWMvbW9kLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvY29tcG91bmQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lL2RlYnVnX3JlbmRlcl9iYWNrZW5kLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfYmlubmVkX2J1aWxkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfcGxvY19idWlsZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L3JheS9yYXlfaGVpZ2h0ZmllbGQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19jdWJvaWRfY3Vib2lkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvY3Vib2lkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvZmVhdHVyZV9pZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvdmVjL3NwZWNfZnJvbV9pdGVyX25lc3RlZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXNfdHJpbWVzaDJkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvcG9seWdvbmFsX2ZlYXR1cmUyZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMC9zcmMvZGxtYWxsb2MucnMAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzAGxpYnJhcnkvYWxsb2Mvc3JjL3N5bmMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2FycmF5dmVjLTAuNy42L3NyYy9hcnJheXZlYy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZW5hLTAuMTQuMy9zcmMvc25hcHNob3RfdmVjLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9qcy1zeXMtMC4zLjc3L3NyYy9saWIucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL29uY2VfY2VsbC0xLjIxLjMvc3JjL2xpYi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc21hbGx2ZWMtMS4xNS4xL3NyYy9saWIucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9kYXRhL2NvYXJlbmEucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZGF0YS9hcmVuYS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2dqay92b3Jvbm9pX3NpbXBsZXgyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvaGVpZ2h0ZmllbGQyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZXBhL2VwYTIucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvbnVtL2YzMi5ycwABAQECAQEBAgEBAQICAgIDAA0tEAB5AAAANQAAACwAAABDYW5ub3QgZGVzZXJpYWxpemUgY3VzdG9tIHNoYXBlLgAAAAAAAAAAAQAAAAQAAAACAAAAYW4gYXJyYXkgd2l0aCBubyBtb3JlIHRoYW4gIGl0ZW1zAAAArEsQABsAAADHSxAABgBB6JfBAAspAQAAAAUAAAAAAAAACAAAAAQAAAAGAAAAYSB0dXBsZSBvZiBzaXplIDIAQZyYwQALYQEAAAAHAAAAihEQAGMAAACVBAAAIgAAAIoREABjAAAAmAQAABwAAABzdHJ1Y3QgVHJpTWVzaCB3aXRoIDYgZWxlbWVudHMAAERMEAAeAAAAYSB0dXBsZSBvZiBzaXplIDMAQYiZwQALBQEAAAAIAEGYmcEACwUBAAAACABBqJnBAAsFAQAAAAgAQbiZwQALBQEAAAAIAEHImcEAC9UOAQAAAAgAAABzdHJ1Y3QgQ29tcG91bmQgd2l0aCA0IGVsZW1lbnRzANBMEAAfAAAAc3RydWN0IFBvbHlsaW5lIHdpdGggMyBlbGVtZW50cwD4TBAAHwAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMiBNEAAYAAAAc3RydWN0IENvbGxpZGVyIHdpdGggMTEgZWxlbWVudHNATRAAIAAAAHN0cnVjdCBWb3hlbHMgd2l0aCA2IGVsZW1lbnRzAAAAaE0QAB0AAABzdHJ1Y3QgSGVpZ2h0RmllbGQgd2l0aCA0IGVsZW1lbnRzAACQTRAAIgAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMTYAAAC8TRAAGQAAAHN0cnVjdCBUcmlNZXNoQ29ubmVjdGVkQ29tcG9uZW50cyB3aXRoIDMgZWxlbWVudHMAAADgTRAAMQAAAHN0cnVjdCBDb252ZXhQb2x5Z29uIHdpdGggMiBlbGVtZW50cxxOEAAkAAAAc3RydWN0IEdyYXBoIHdpdGggMiBlbGVtZW50c0hOEAAcAAAAc3RydWN0IExVIHdpdGggMiBlbGVtZW50cwAAAGxOEAAZAAAAc3RydWN0IElzbGFuZE1hbmFnZXIgd2l0aCA0IGVsZW1lbnRzkE4QACQAAABzdHJ1Y3QgQnZoTm9kZVdpZGUgd2l0aCAyIGVsZW1lbnRzAAC8ThAAIgAAAHN0cnVjdCBCcm9hZFBoYXNlQnZoIHdpdGggNCBlbGVtZW50c+hOEAAkAAAAc3RydWN0IENvbnRhY3RNYW5pZm9sZERhdGEgd2l0aCA3IGVsZW1lbnRzAAAUTxAAKgAAAHN0cnVjdCBKb2ludE1vdG9yIHdpdGggNyBlbGVtZW50cwAAAEhPEAAhAAAAc3RydWN0IEdlbmVyaWNKb2ludCB3aXRoIDExIGVsZW1lbnRzdE8QACQAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDOgTxAAGAAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgNMBPEAAYAAAAc3RydWN0IEludGVncmF0aW9uUGFyYW1ldGVycyB3aXRoIDE2IGVsZW1lbnRzAAAA4E8QAC0AAABzdHJ1Y3QgTXVsdGlib2R5IHdpdGggMTggZWxlbWVudHMAAAAYUBAAIQAAAHN0cnVjdCBJbnRlcmFjdGlvbkdyYXBoIHdpdGggMSBlbGVtZW50AABEUBAAJgAAAHN0cnVjdCBJbmRleFNlcXVlbmNlIHdpdGggMiBlbGVtZW50c3RQEAAkAAAAc3RydWN0IEltcHVsc2VKb2ludCB3aXRoIDUgZWxlbWVudHMAoFAQACMAAAB0dXBsZSBzdHJ1Y3QgTW9kaWZpZWRPYmplY3RzIHdpdGggMiBlbGVtZW50c8xQEAAsAAAAc3RydWN0IE11bHRpYm9keUpvaW50IHdpdGggNCBlbGVtZW50cwAAAABREAAlAAAAc3RydWN0IEltcHVsc2VKb2ludFNldCB3aXRoIDQgZWxlbWVudHMAADBREAAmAAAAc3RydWN0IE11bHRpYm9keUpvaW50U2V0IHdpdGggNCBlbGVtZW50c2BREAAoAAAAc3RydWN0IE11bHRpYm9keVdvcmtzcGFjZSB3aXRoIDIgZWxlbWVudHMAAACQURAAKQAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgOcRREAAYAAAAc3RydWN0IFRyaU1lc2hTaGFwZUNvbnRhY3RNYW5pZm9sZHNXb3Jrc3BhY2Ugd2l0aCAzIGVsZW1lbnRz5FEQADwAAABzdHJ1Y3QgQ29udGFjdE1hbmlmb2xkIHdpdGggOCBlbGVtZW50cwAAKFIQACYAAAACzmFV3zO2O/1hdzSajbdoytIBpCh1EK2Cy9Ehd1e2D3QIQmj6tqSxyfQ3YkazU/OxIRAAdgAAAIYAAAA6AAAAsSEQAHYAAAB+AAAAQQAAAIcaEAB3AAAAXAAAACsAAABjYW5ub3QgcmVjdXJzaXZlbHkgYWNxdWlyZSBtdXRleLhSEAAgAAAAfhYQAIEAAAATAAAACQAAAAAAAAAIAAAABAAAAAkAAAAAAAAAEAAAAAQAAAAKAAAAAAAA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").buffer);}))}Sg["-".charCodeAt(0)]=62,Sg["_".charCodeAt(0)]=63; -/** - * 通过 gh-calendar API 获取 GitHub 用户贡献图数据。 - * - * API: https://gh-calendar.rschristian.dev/user/{username} - * 返回按周分组的贡献数据,支持 ?limit=N 参数限制返回周数。 - */ -/** 贡献颜色分级 */ -const INTENSITY_COLORS = [ - '#ebedf0', - '#9be9a8', - '#40c463', - '#30a14e', - '#216e39' -]; -/** - * 根据 GitHub 用户名获取贡献图数据。 - * - * @param username - GitHub 用户名 - * @param limit - 限制返回的周数,不传则返回所有可用数据 - * @returns 贡献图数据,包含每日贡献次数和等级 - * @throws 如果请求失败或用户名不存在 - */ -async function fetchContributions(username, limit) { - const params = ''; - const url = `https://gh-calendar.rschristian.dev/user/${username}${params}`; - const response = await fetch(url); - if (!response.ok) { - throw new Error(`Failed to fetch contributions for "${username}": ${response.status} ${response.statusText}`); - } - const data = await response.json(); - return data; -} - /** * A vertex in a circular doubly linked list representing a polygon ring. * `prev`/`next` are always linked (set immediately after {@link createNode}), so they're typed @@ -45261,14 +45228,116 @@ function svgPathToRapierTrimesh(path, scale = 1, tolerance = 1) { indices: new Uint32Array(indices) }; } -const font = parseBuffer(readFileSync(fileURLToPath(new URL('../public/LiberationSerif-Bold.ttf', import.meta.url))).buffer); -function getTextPaths(text, fontSize) { - const paths = font.getPaths(text, 0, 0, fontSize / SCALE); +/** Buffer / Uint8Array 可能是共享 ArrayBuffer 的一段视图,必须按实际偏移截取副本 */ +function viewToArrayBuffer(view) { + return view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength); +} +/** 从本地路径读取字体文件(相对路径按当前工作目录解析) */ +async function loadFontFromPath(fontPath) { + // node 模块按需加载:只有真正读取本地文件时才需要,浏览器环境不会引入它们 + const [{ readFileSync }, { resolve }] = await Promise.all([ + import('node:fs'), + import('node:path') + ]); + // 相对路径按当前工作目录解析:模块自身路径在打包后会被压平,不能作为参照基准 + const resolvedPath = resolve(fontPath); + try { + return viewToArrayBuffer(readFileSync(resolvedPath)); + } + catch (error) { + // 带上底层原因:读取失败可能是文件不存在,解析失败可能是不支持的文件格式 + const reason = error instanceof Error ? error.message : String(error); + throw new Error(`Failed to load font "${resolvedPath}" (only .ttf/.otf are supported): ${reason}`, { cause: error }); + } +} +/** 从 URL 下载字体文件,支持 file: 与 http(s): 协议 */ +async function loadFontFromUrl(fontUrl) { + let url; + try { + url = new URL(fontUrl); + } + catch (error) { + throw new Error(`Invalid font URL: ${fontUrl}`, { cause: error }); + } + // Node 的 fetch 不支持 file: 协议,本地文件改用 fs 读取;浏览器走标准 fetch + if (url.protocol === 'file:') { + const { fileURLToPath } = await import('node:url'); + return loadFontFromPath(fileURLToPath(url)); + } + let response; + try { + response = await fetch(url); + } + catch (error) { + const reason = error instanceof Error ? error.message : String(error); + throw new Error(`Failed to load font from "${url.href}": ${reason}`, { + cause: error + }); + } + if (!response.ok) { + throw new Error(`Failed to load font from "${url.href}": ${response.status} ${response.statusText}`); + } + return response.arrayBuffer(); +} +/** 把用户传入的字体来源归一化为 opentype.js 可解析的 ArrayBuffer */ +async function resolveFontData(font) { + if (font instanceof ArrayBuffer) + return font; + // isView 同时覆盖 Buffer(Node)与 Uint8Array(浏览器),保持对运行环境无假设 + if (ArrayBuffer.isView(font)) + return viewToArrayBuffer(font); + // http(s) 开头的字符串视为远程 URL,其余字符串视为本地路径 + if (font instanceof URL || /^https?:\/\//i.test(font)) { + return loadFontFromUrl(font); + } + return loadFontFromPath(font); +} +// 先取值再构造 URL,避免打包器把「new URL(字面量, import.meta.url)」识别为资源声明 +// 而重排内置字体的输出位置 +const BUNDLED_FONT_HREF = '../public/LiberationSerif-Bold.ttf'; +/** 内置字体:轮廓闭合规整,能稳定三角化 */ +const DEFAULT_FONT = new URL(BUNDLED_FONT_HREF, import.meta.url); +/** + * 解析文字为可渲染的轮廓路径,同时产出 SVG 用的 pathData 与物理用的三角网格。 + * + * @param font 字体来源(.ttf/.otf):本地路径、URL、URL 字符串,或 + * Buffer / ArrayBuffer(如 `files[0].arrayBuffer()` 的结果);省略时用内置字体 + */ +async function getTextPaths(text, fontSize, font = DEFAULT_FONT) { + // 加载失败的原样冒泡:loadFontFromPath / loadFontFromUrl 已给出带来源的消息 + const fontData = await resolveFontData(font); + let opentypeFont; + try { + opentypeFont = parseBuffer(fontData); + } + catch (error) { + // 带上底层原因:解析失败可能是不支持的文件格式,也可能是 opentype.js 无法处理该字体的 GSUB 表 + const reason = error instanceof Error ? error.message : String(error); + throw new Error(`Failed to load font "${describeFont(font)}" (only .ttf/.otf are supported): ${reason}`, { cause: error }); + } + // opentype.js 的表结构是懒解析的,GSUB 等高级表的问题要等到取字形时才暴露 + let paths; + try { + paths = opentypeFont.getPaths(text, 0, 0, fontSize / SCALE); + } + catch (error) { + const reason = error instanceof Error ? error.message : String(error); + throw new Error(`Failed to read glyphs from font "${describeFont(font)}": ${reason}`, { cause: error }); + } return paths.map((path) => { const bbox = path.getBoundingBox(); const pathData = path.toPathData(2); + let triangulated; + try { + triangulated = svgPathToRapierTrimesh(pathData); + } + catch (error) { + throw new Error(`Failed to triangulate a glyph from font "${describeFont(font)}". ` + + 'Some fonts contain open or self-intersecting contours that the ' + + 'triangulation algorithm cannot handle.', { cause: error }); + } return { - paths: svgPathToRapierTrimesh(pathData), + paths: triangulated, pathData: pathData, rect: { x: bbox.x1, @@ -45279,7 +45348,241 @@ function getTextPaths(text, fontSize) { }; }); } +/** 生成字体来源的展示名:URL 用 href,路径与二进制数据截取开头 */ +function describeFont(font) { + if (font instanceof URL) + return font.href; + if (typeof font === 'string') + return font; + return 'custom font data'; +} +/** + * 通过 gh-calendar API 获取 GitHub 用户贡献图数据。 + * + * API: https://gh-calendar.rschristian.dev/user/{username} + * 返回按周分组的贡献数据,支持 ?limit=N 参数限制返回周数。 + */ +/** 贡献颜色分级 */ +const INTENSITY_COLORS = [ + '#ebedf0', + '#9be9a8', + '#40c463', + '#30a14e', + '#216e39' +]; +/** + * 根据 GitHub 用户名获取贡献图数据。 + * + * @param username - GitHub 用户名 + * @param limit - 限制返回的周数,不传则返回所有可用数据 + * @returns 贡献图数据,包含每日贡献次数和等级 + * @throws 如果请求失败或用户名不存在 + */ +async function fetchContributions(username, limit) { + const params = ''; + const url = `https://gh-calendar.rschristian.dev/user/${username}${params}`; + const response = await fetch(url); + if (!response.ok) { + throw new Error(`Failed to fetch contributions for "${username}": ${response.status} ${response.statusText}`); + } + const data = await response.json(); + return data; +} + +/** + * 点 i 相对段 (s, e) 的时刻插值偏差平方。 + * 播放时相邻关键帧按时间比例线性插值,该值即 i 时刻的插值位置与真实位置的距离平方。 + * 度量含时间维:匀速直线段可整体并段,变速段会自动保留关键帧,速度随位置一同保真。 + */ +function deviationSq(p, s, e, t) { + const dx = p.x - (s.x + (e.x - s.x) * t); + const dy = p.y - (s.y + (e.y - s.y) * t); + return dx * dx + dy * dy; +} +/** + * 段 (s, e) 内各点的最大时刻插值偏差平方,与 limitSq 比较可全程避免开方。 + * 任一点超限立即返回 Infinity(提前终止,长不可行段的开销为常数级)。 + */ +function segmentMaxDeviationSq(trajectory, s, e, limitSq) { + let max = 0; + const denom = e - s; + for (let i = s + 1; i < e; i++) { + const d = deviationSq(trajectory[i], trajectory[s], trajectory[e], (i - s) / denom); + if (d > limitSq) + return Infinity; + if (d > max) + max = d; + } + return max; +} +function assertTolerance(tolerance) { + if (tolerance < 0) { + throw new Error(`tolerance must be >= 0, got ${tolerance}`); + } +} +/** 把保留标记转为输出:保序,span 为相邻保留点的原始索引差 */ +function collectResult(trajectory, keep) { + const result = []; + let prevIdx = 0; + for (let i = 0; i < keep.length; i++) { + if (!keep[i]) + continue; + result.push({ ...trajectory[i], span: i - prevIdx }); + prevIdx = i; + } + return result; +} +/** + * 轨迹压缩——动态规划最优分段: + * 在"每个原始点的时刻插值偏差都不超过 tolerance"的约束下, + * 求关键帧数全局最少的分段(等价于 Imai–Iri 最优分段问题的 DP 解法)。 + * + * 保证: + * - 首尾点必保留,返回点按原始顺序排列; + * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance; + * - 相同容差下关键帧数不多于其他策略(全局最优),输出体积最小; + * - span >= 1(首点为 0),span 总和等于原始点数 - 1。 + */ +function simplifyTrajectoryDP(trajectory, tolerance = 0) { + assertTolerance(tolerance); + const n = trajectory.length; + if (n === 0) + return []; + if (n === 1) + return [{ ...trajectory[0], span: 0 }]; + const limitSq = tolerance * tolerance; + // cost[i]:起点到 i 的最少段数;parent[i]:最优解中 i 的前一个关键帧 + const cost = new Array(n).fill(Infinity); + const parent = new Array(n).fill(-1); + cost[0] = 0; + for (let i = 1; i < n; i++) { + // j 从近到远:短段检查便宜,且尽早建立 cost[i] 上界以激活剪枝 + for (let j = i - 1; j >= 0; j--) { + // 即使段 (j, i) 可行也不可能给出更优解时,跳过段检查 + if (cost[j] + 1 >= cost[i]) + continue; + if (segmentMaxDeviationSq(trajectory, j, i, limitSq) > limitSq) + continue; + cost[i] = cost[j] + 1; + parent[i] = j; + } + } + const keep = new Array(n).fill(false); + for (let i = n - 1; i > 0; i = parent[i]) + keep[i] = true; + keep[0] = true; + return collectResult(trajectory, keep); +} +/** + * 轨迹压缩——时空版 Ramer-Douglas-Peucker: + * 递归分裂,每次在当前段内找时刻插值偏差最大的点作为新关键帧, + * 直到所有被丢弃点的偏差都落入容差。 + * + * 保证: + * - 首尾点必保留,返回点按原始顺序排列; + * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance; + * - 贪心分裂非全局最优,关键帧数一般多于动态规划; + * - span >= 1(首点为 0),span 总和等于原始点数 - 1。 + */ +function simplifyTrajectoryRDP(trajectory, tolerance = 0) { + assertTolerance(tolerance); + const n = trajectory.length; + if (n === 0) + return []; + if (n === 1) + return [{ ...trajectory[0], span: 0 }]; + const keep = new Array(n).fill(false); + keep[0] = keep[n - 1] = true; + const limitSq = tolerance * tolerance; + // 显式栈代替递归,栈内为待检查的闭区间 [start, end] + const stack = [[0, n - 1]]; + while (stack.length > 0) { + const [start, end] = stack.pop(); + if (end - start < 2) + continue; + // 找开区间内时刻插值偏差最大的点 + let maxSq = 0; + let maxIdx = -1; + for (let i = start + 1; i < end; i++) { + const d = deviationSq(trajectory[i], trajectory[start], trajectory[end], (i - start) / (end - start)); + if (d > maxSq) { + maxSq = d; + maxIdx = i; + } + } + // 最大偏差仍在容差内则整段并为一个插值段,否则在最差点处分段 + if (maxSq > limitSq) { + keep[maxIdx] = true; + stack.push([start, maxIdx], [maxIdx, end]); + } + } + return collectResult(trajectory, keep); +} +/** + * 轨迹压缩——单遍贪心最长段: + * 从当前关键帧出发不断扩展段尾,直到加入下一点会使段内某点的 + * 时刻插值偏差超出容差,此时该段尾即为下一个关键帧。 + * + * 保证: + * - 首尾点必保留,返回点按原始顺序排列; + * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance; + * - 单遍、不回溯,关键帧数通常介于 RDP 与动态规划之间; + * - span >= 1(首点为 0),span 总和等于原始点数 - 1。 + */ +function simplifyTrajectoryGreedy(trajectory, tolerance = 0) { + assertTolerance(tolerance); + const n = trajectory.length; + if (n === 0) + return []; + if (n === 1) + return [{ ...trajectory[0], span: 0 }]; + const keep = new Array(n).fill(false); + keep[0] = keep[n - 1] = true; + const limitSq = tolerance * tolerance; + let s = 0; + while (s < n - 1) { + // 插值线随段尾变化,段可行性对段尾没有单调性,只能逐步扩展并全段重查 + let e = s + 1; + while (e < n - 1 && + segmentMaxDeviationSq(trajectory, s, e + 1, limitSq) <= limitSq) { + e++; + } + keep[e] = true; + s = e; + } + return collectResult(trajectory, keep); +} +/** + * 将简化轨迹的 span 转为 SMIL animateTransform 的 keyTimes 属性值: + * 各关键帧时刻 = span 前缀和占总和的比例,首帧恒为 0、末帧恒为 1。 + * 轨迹未携带 span(未启用压缩)时返回 null,消费端回退到 SMIL 默认均分时间。 + */ +function buildKeyTimes(trajectory) { + if (trajectory.length < 2 || trajectory[0].span === undefined) + return null; + const total = trajectory.reduce((sum, p) => sum + (p.span ?? 0), 0); + const keyTimes = [0]; + let acc = 0; + for (const p of trajectory.slice(1)) { + acc += p.span ?? 0; + // SMIL 要求 keyTimes 严格递增:归一化后夹到 [prev + 1e-6, 0.999999], + // 避免极长轨迹下小数舍入把相邻值舍成相同 + const prev = keyTimes[keyTimes.length - 1]; + const t = +(acc / total).toFixed(6); + keyTimes.push(Math.min(Math.max(t, prev + 1e-6), 0.999999)); + } + // 末帧强制为 1,消除累计浮点误差 + keyTimes[keyTimes.length - 1] = 1; + return keyTimes.join(';'); +} + +/** 压缩算法名 → 实现,供 compressionAlgorithm 选项分发 */ +const COMPRESSION_ALGORITHMS = { + DP: simplifyTrajectoryDP, + RDP: simplifyTrajectoryRDP, + Greedy: simplifyTrajectoryGreedy +}; class Contribution { date; x; @@ -45287,23 +45590,16 @@ class Contribution { color; trajectory; collider; - sampleRate; - stepCounter; - constructor(contributionDay, collider, sampleRate) { + constructor(contributionDay, collider) { this.collider = collider; this.date = contributionDay.date; this.color = INTENSITY_COLORS[contributionDay.intensity]; - this.sampleRate = sampleRate; - this.stepCounter = 0; const pos = collider.translation(); this.x = pos.x; this.y = pos.y; this.trajectory = [{ x: pos.x, y: pos.y }]; } update() { - this.stepCounter++; - if (this.stepCounter % this.sampleRate !== 0) - return; const pos = this.collider.translation(); this.x = pos.x; this.y = pos.y; @@ -45320,25 +45616,28 @@ class Contribution { }; } } -async function createWord() { +async function createWord(width, height) { await Jg(); // 重力 const world = new Eg({ x: 0.0, y: -30 }); world.lengthUnit = 32; // 地面 - world.createCollider(wg.cuboid(WIDTH, 1), world.createRigidBody(BI.fixed().setTranslation(0, -1))); + world.createCollider(wg.cuboid(width, 1), world.createRigidBody(BI.fixed().setTranslation(0, -1))); // 墙壁 - world.createCollider(wg.cuboid(1, HEIGHT), world.createRigidBody(BI.fixed().setTranslation(WIDTH, 0))); - world.createCollider(wg.cuboid(1, HEIGHT), world.createRigidBody(BI.fixed().setTranslation(-1, 0))); + world.createCollider(wg.cuboid(1, height), world.createRigidBody(BI.fixed().setTranslation(width, 0))); + world.createCollider(wg.cuboid(1, height), world.createRigidBody(BI.fixed().setTranslation(-1, 0))); return world; } /** 速度小于此阈值视为静止 */ const VELOCITY_THRESHOLD = 1e-3; -async function startSimulation({ username, text = username, textTop = 50, fontSize = 80, stepTime = 8, sampleRate = 4, shape = 'circle', backgroundColor = 'transparent', textColor = 'black' }) { - const world = await createWord(); +async function startSimulation({ username, text = username, textTop = 50, fontSize = 80, stepTime = 8, shape = 'circle', backgroundColor = 'transparent', textColor = 'black', compressionTolerance = 0.5, disableCompression = false, compressionAlgorithm = 'Greedy', width = WIDTH, height = HEIGHT, size = SIZE, interval = INTERVAL, font }) { + const world = await createWord(width, height); const contributionsSet = new Set(); + // 容差从 SVG 像素换算回物理坐标单位,让压缩函数与渲染缩放解耦; + // 显式禁用压缩时保留原始轨迹,消费端回退到 SMIL 默认均分时间 + const tolerance = compressionTolerance / SCALE; // 创建用户名文字静止刚体(居中对齐),同时收集三角网格数据 - const textPaths = getTextPaths(text, fontSize); + const textPaths = await getTextPaths(text, fontSize, font); // 计算所有字形的整体包围盒(翻转 Y 轴后) let minX = Infinity, maxX = -Infinity, maxY = -Infinity; for (const { rect } of textPaths) { @@ -45353,9 +45652,9 @@ async function startSimulation({ username, text = username, textTop = 50, fontSi maxY = top; } const bboxCenterX = (minX + maxX) / 2; - const offsetX = WIDTH / 2 - bboxCenterX; + const offsetX = width / 2 - bboxCenterX; // 文字顶部距离世界顶部的距离 - const centerY = HEIGHT - textTop - maxY; + const centerY = height - textTop - maxY; const textTriangles = []; for (const { paths } of textPaths) { const { vertices, indices } = paths; @@ -45384,9 +45683,9 @@ async function startSimulation({ username, text = username, textTop = 50, fontSi } const githubContributions = await fetchContributions(username); const rowLen = githubContributions.contributions.length; - const rowWidth = SIZE * rowLen + INTERVAL * (rowLen - 1); - const left = (WIDTH - rowWidth) / 2; - const top = HEIGHT * 1; + const rowWidth = size * rowLen + interval * (rowLen - 1); + const left = (width - rowWidth) / 2; + const top = height * 1; for (let rowIndex = 0; rowIndex < rowLen; rowIndex++) { const col = githubContributions.contributions[rowIndex]; for (let j = 0; j < col.length; j++) { @@ -45396,14 +45695,14 @@ async function startSimulation({ username, text = username, textTop = 50, fontSi } const dayOfWeek = new Date(contributionDay.date).getDay(); if (contributionDay.count) { - const x = left + (INTERVAL + SIZE) * rowIndex; - const y = top + (INTERVAL + SIZE) * dayOfWeek; + const x = left + (interval + size) * rowIndex; + const y = top + (interval + size) * dayOfWeek; // 动态刚体:圆形物理模拟更丝滑,不容易穿模 const colliderDesc = shape === 'square' - ? wg.cuboid(SIZE / 2, SIZE / 2).setFriction(0.2) - : wg.ball(SIZE / 2).setFriction(0.2); + ? wg.cuboid(size / 2, size / 2).setFriction(0.2) + : wg.ball(size / 2).setFriction(0.2); const boxCollider = world.createCollider(colliderDesc, world.createRigidBody(BI.dynamic().setCcdEnabled(true).setTranslation(x, y))); - contributionsSet.add(new Contribution(contributionDay, boxCollider, sampleRate)); + contributionsSet.add(new Contribution(contributionDay, boxCollider)); } } } @@ -45439,7 +45738,15 @@ async function startSimulation({ username, text = username, textTop = 50, fontSi stepCount, time: endTime - startTime, shape, - contributions: Array.from(contributionsSet).map((contribution) => contribution.toJSON()), + contributions: Array.from(contributionsSet).map((contribution) => { + const json = contribution.toJSON(); + return !disableCompression + ? { + ...json, + trajectory: COMPRESSION_ALGORITHMS[compressionAlgorithm](json.trajectory, tolerance) + } + : json; + }), textPaths: textPaths.map(({ pathData, rect }) => ({ pathData: pathData, rect: rect @@ -45449,7 +45756,10 @@ async function startSimulation({ username, text = username, textTop = 50, fontSi centerY, stepTime, backgroundColor, - textColor + textColor, + width, + height, + size }; } @@ -45461,66 +45771,90 @@ async function startSimulation({ username, text = username, textTop = 50, fontSi * @returns 完整的 SVG 字符串 */ async function gensvg(options) { - const backgroundColor = options.backgroundColor || 'transparent'; - const textColor = options.textColor || 'black'; const result = await startSimulation(options); - const svgWidth = WIDTH * SCALE; - const svgHeight = HEIGHT * SCALE; + const svgWidth = result.width * SCALE; + const svgHeight = result.height * SCALE; // 生成每个贡献方块的 SVG 元素 const isCircle = result.shape === 'circle'; const contributionsSvg = result.contributions .map((contribution) => { // 轨迹坐标转换:物理坐标 → SVG 坐标(Y 轴翻转) const values = contribution.trajectory - .map(({ x, y }) => `${+(x * SCALE).toFixed(2)},${+((HEIGHT - y) * SCALE).toFixed(2)}`) + .map(({ x, y }) => `${+(x * SCALE).toFixed(2)},${+((result.height - y) * SCALE).toFixed(2)}`) .join(';'); + // 开启压缩后各段时间跨度不同,需要 keyTimes 还原真实节奏;未压缩时为 null,走 SMIL 默认均分 + const keyTimes = buildKeyTimes(contribution.trajectory); + const keyTimesAttr = keyTimes + ? ` + keyTimes="${keyTimes}"` + : ''; const shapeElement = isCircle ? `` + r="${(result.size / 2) * SCALE}" + fill="${contribution.color}" + />` : ``; + x="${-(result.size / 2) * SCALE}" + y="${-(result.size / 2) * SCALE}" + width="${result.size * SCALE}" + height="${result.size * SCALE}" + fill="${contribution.color}" + />`; return ` - ${shapeElement} - - `; + ${shapeElement} + + `; }) .join('\n'); // 用 path 渲染文字路径,与物理碰撞体坐标对齐 - // opentype 坐标 → SVG 坐标: svgX = (opentypeX + offsetX) * SCALE, svgY = (HEIGHT - centerY + opentypeY) * SCALE + // opentype 坐标 → SVG 坐标: svgX = (opentypeX + offsetX) * SCALE, svgY = (height - centerY + opentypeY) * SCALE const textPathsSvg = result.textPaths - .map(({ pathData }) => ` `) + .map(({ pathData }) => ` `) .join('\n'); const textGroupSvg = ` - -${textPathsSvg} - `; - const svg = ` - -${contributionsSvg} -${textGroupSvg} -`; - return svg; + + ${textPathsSvg} + `; + return ` + + ${contributionsSvg} + ${textGroupSvg} + `; +} + +/** 读取可选数字输入,未填写时返回 undefined,由库使用默认值 */ +function getOptionalNumber(name) { + const raw = getInput(name); + if (!raw) + return undefined; + const value = Number(raw); + if (Number.isNaN(value)) { + throw new Error(`Input "${name}" must be a number, got "${raw}"`); + } + return value; +} +/** 读取压缩算法输入,未填写时返回 undefined;非法值直接报错 */ +function getAlgorithm(name) { + const raw = getInput(name); + if (!raw) + return undefined; + if (raw !== 'Greedy' && raw !== 'DP' && raw !== 'RDP') { + throw new Error(`Input "${name}" must be Greedy, DP or RDP, got "${raw}"`); + } + return raw; } - /** * GitHub Action 入口:生成 GitHub 贡献图重力跌落动画 SVG。 * @@ -45529,7 +45863,9 @@ ${textGroupSvg} * - text: 显示的文字,默认为 username * - output-path: SVG 输出路径,默认为 gravity.svg * - font-size: 文字大小,默认为 80 - * - sample-rate: 轨迹采样率,默认为 4 + * - compression-tolerance: 轨迹压缩容差(SVG 像素),默认为 0.5 + * - compression-algorithm: 轨迹压缩算法(Greedy / DP / RDP),默认为 Greedy + * - width / height / size / interval / font-path: 高级自定义项,改动影响渲染效果 * * 输出: * - svg-path: 生成的 SVG 文件路径 @@ -45540,22 +45876,34 @@ async function run() { const text = getInput('text') || username; const outputPath = getInput('output-path') || 'gravity.svg'; const fontSize = parseInt(getInput('font-size') || '80', 10); - const sampleRate = parseInt(getInput('sample-rate') || '4', 10); const shape = getInput('shape') || 'circle'; const textTop = parseInt(getInput('text-top') || '50', 10); const backgroundColor = getInput('background-color') || 'transparent'; const textColor = getInput('text-color') || 'black'; + const compressionTolerance = getOptionalNumber('compression-tolerance'); + const compressionAlgorithm = getAlgorithm('compression-algorithm'); + const width = getOptionalNumber('width'); + const height = getOptionalNumber('height'); + const size = getOptionalNumber('size'); + const interval = getOptionalNumber('interval'); + const fontPath = getInput('font-path'); info(`Generating gravity SVG for user: ${username}`); - info(`Text: "${text}", Font size: ${fontSize}, Sample rate: ${sampleRate}, Shape: ${shape}, Text top: ${textTop}, Background: ${backgroundColor}, Text color: ${textColor}`); + info(`Text: "${text}", Font size: ${fontSize}, Shape: ${shape}, Text top: ${textTop}, Background: ${backgroundColor}, Text color: ${textColor}`); const svg = await gensvg({ username, text, fontSize, - sampleRate, shape, textTop, backgroundColor, - textColor + textColor, + ...(compressionTolerance !== undefined ? { compressionTolerance } : {}), + ...(compressionAlgorithm !== undefined ? { compressionAlgorithm } : {}), + ...(width !== undefined ? { width } : {}), + ...(height !== undefined ? { height } : {}), + ...(size !== undefined ? { size } : {}), + ...(interval !== undefined ? { interval } : {}), + ...(fontPath ? { font: fontPath } : {}) }); mkdirSync(dirname(outputPath), { recursive: true }); writeFileSync(outputPath, svg, 'utf-8'); diff --git a/dist/index.js.map b/dist/index.js.map index c1e87bb..4ccc011 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../node_modules/@actions/core/lib/utils.js","../node_modules/@actions/core/lib/command.js","../node_modules/@actions/core/lib/file-command.js","../node_modules/tunnel/lib/tunnel.js","../node_modules/tunnel/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/errors.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/tree.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/diagnostics.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/request.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/dispatcher.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/dispatcher-base.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/util/timers.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/connect.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/utils.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp-wasm.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/global.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/data-url.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/webidl.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/file.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/formdata.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/formdata-parser.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/body.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/client-h1.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/client-h2.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/handler/redirect-handler.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/redirect-interceptor.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/client.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/fixed-queue.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/pool-stats.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/pool-base.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/pool.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/balanced-pool.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/proxy-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/handler/retry-handler.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/retry-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/readable.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-request.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/abort-signal.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-stream.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-pipeline.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-upgrade.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-connect.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-errors.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-utils.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-interceptor.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-client.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-pool.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/pluralizer.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/pending-interceptors-formatter.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/global.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/handler/decorator-handler.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/redirect.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/retry.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/dump.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/dns.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/headers.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/response.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/dispatcher-weakref.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/request.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/progressevent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/encoding.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/filereader.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/cache.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/cachestorage.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/parse.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/events.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/frame.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/connection.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/permessage-deflate.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/receiver.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/sender.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/websocket.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/eventsource/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/eventsource/eventsource-stream.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/eventsource/eventsource.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/lib/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/lib/auth.js","../node_modules/@actions/core/lib/oidc-utils.js","../node_modules/@actions/core/lib/summary.js","../node_modules/@actions/core/node_modules/@actions/exec/node_modules/@actions/io/lib/io-util.js","../node_modules/@actions/core/node_modules/@actions/exec/node_modules/@actions/io/lib/io.js","../node_modules/@actions/core/node_modules/@actions/exec/lib/toolrunner.js","../node_modules/@actions/core/node_modules/@actions/exec/lib/exec.js","../node_modules/@actions/core/lib/platform.js","../node_modules/@actions/core/lib/core.js","../node_modules/@dimforge/rapier2d-compat/rapier.mjs","../src/github-contributions.ts","../node_modules/earcut/src/earcut.js","../node_modules/opentype.js/dist/opentype.mjs","../node_modules/points-on-curve/lib/index.js","../node_modules/path-data-parser/lib/parser.js","../node_modules/path-data-parser/lib/absolutize.js","../node_modules/path-data-parser/lib/normalize.js","../node_modules/points-on-path/lib/index.js","../src/utils/index.ts","../src/parseTextPath.ts","../src/physics.ts","../src/gensvg.ts","../src/main.ts","../src/index.ts"],"sourcesContent":["// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nexport function toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nexport function toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\n//# sourceMappingURL=utils.js.map","import * as os from 'os';\nimport { toCommandValue } from './utils.js';\n/**\n * Issues a command to the GitHub Actions runner\n *\n * @param command - The command name to issue\n * @param properties - Additional properties for the command (key-value pairs)\n * @param message - The message to include with the command\n * @remarks\n * This function outputs a specially formatted string to stdout that the Actions\n * runner interprets as a command. These commands can control workflow behavior,\n * set outputs, create annotations, mask values, and more.\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * @example\n * ```typescript\n * // Issue a warning annotation\n * issueCommand('warning', {}, 'This is a warning message');\n * // Output: ::warning::This is a warning message\n *\n * // Set an environment variable\n * issueCommand('set-env', { name: 'MY_VAR' }, 'some value');\n * // Output: ::set-env name=MY_VAR::some value\n *\n * // Add a secret mask\n * issueCommand('add-mask', {}, 'secretValue123');\n * // Output: ::add-mask::secretValue123\n * ```\n *\n * @internal\n * This is an internal utility function that powers the public API functions\n * such as setSecret, warning, error, and exportVariable.\n */\nexport function issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexport function issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","// For internal use, subject to change.\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as crypto from 'crypto';\nimport * as fs from 'fs';\nimport * as os from 'os';\nimport { toCommandValue } from './utils.js';\nexport function issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexport function prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${crypto.randomUUID()}`;\n const convertedValue = toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\n//# sourceMappingURL=file-command.js.map","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","module.exports = require('./lib/tunnel');\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 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 kBody: Symbol('abstracted request body'),\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 kResume: Symbol('resume'),\n kOnError: Symbol('on error'),\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 kHTTP2Session: Symbol('http2Session'),\n kHTTP2SessionState: Symbol('http2Session state'),\n kRetryHandlerDefaultRetry: Symbol('retry agent default retry'),\n kConstruct: Symbol('constructable'),\n kListeners: Symbol('listeners'),\n kHTTPContext: Symbol('http context'),\n kMaxConcurrentStreams: Symbol('max concurrent streams'),\n kNoProxyAgent: Symbol('no proxy agent'),\n kHttpProxyAgent: Symbol('http proxy agent'),\n kHttpsProxyAgent: Symbol('https proxy agent')\n}\n","'use strict'\n\nconst kUndiciError = Symbol.for('undici.error.UND_ERR')\nclass UndiciError extends Error {\n constructor (message) {\n super(message)\n this.name = 'UndiciError'\n this.code = 'UND_ERR'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kUndiciError] === true\n }\n\n [kUndiciError] = true\n}\n\nconst kConnectTimeoutError = Symbol.for('undici.error.UND_ERR_CONNECT_TIMEOUT')\nclass ConnectTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ConnectTimeoutError'\n this.message = message || 'Connect Timeout Error'\n this.code = 'UND_ERR_CONNECT_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kConnectTimeoutError] === true\n }\n\n [kConnectTimeoutError] = true\n}\n\nconst kHeadersTimeoutError = Symbol.for('undici.error.UND_ERR_HEADERS_TIMEOUT')\nclass HeadersTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'HeadersTimeoutError'\n this.message = message || 'Headers Timeout Error'\n this.code = 'UND_ERR_HEADERS_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHeadersTimeoutError] === true\n }\n\n [kHeadersTimeoutError] = true\n}\n\nconst kHeadersOverflowError = Symbol.for('undici.error.UND_ERR_HEADERS_OVERFLOW')\nclass HeadersOverflowError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'HeadersOverflowError'\n this.message = message || 'Headers Overflow Error'\n this.code = 'UND_ERR_HEADERS_OVERFLOW'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHeadersOverflowError] === true\n }\n\n [kHeadersOverflowError] = true\n}\n\nconst kBodyTimeoutError = Symbol.for('undici.error.UND_ERR_BODY_TIMEOUT')\nclass BodyTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'BodyTimeoutError'\n this.message = message || 'Body Timeout Error'\n this.code = 'UND_ERR_BODY_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kBodyTimeoutError] === true\n }\n\n [kBodyTimeoutError] = true\n}\n\nconst kResponseStatusCodeError = Symbol.for('undici.error.UND_ERR_RESPONSE_STATUS_CODE')\nclass ResponseStatusCodeError extends UndiciError {\n constructor (message, statusCode, headers, body) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseStatusCodeError] === true\n }\n\n [kResponseStatusCodeError] = true\n}\n\nconst kInvalidArgumentError = Symbol.for('undici.error.UND_ERR_INVALID_ARG')\nclass InvalidArgumentError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InvalidArgumentError'\n this.message = message || 'Invalid Argument Error'\n this.code = 'UND_ERR_INVALID_ARG'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInvalidArgumentError] === true\n }\n\n [kInvalidArgumentError] = true\n}\n\nconst kInvalidReturnValueError = Symbol.for('undici.error.UND_ERR_INVALID_RETURN_VALUE')\nclass InvalidReturnValueError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InvalidReturnValueError'\n this.message = message || 'Invalid Return Value Error'\n this.code = 'UND_ERR_INVALID_RETURN_VALUE'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInvalidReturnValueError] === true\n }\n\n [kInvalidReturnValueError] = true\n}\n\nconst kAbortError = Symbol.for('undici.error.UND_ERR_ABORT')\nclass AbortError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'AbortError'\n this.message = message || 'The operation was aborted'\n this.code = 'UND_ERR_ABORT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kAbortError] === true\n }\n\n [kAbortError] = true\n}\n\nconst kRequestAbortedError = Symbol.for('undici.error.UND_ERR_ABORTED')\nclass RequestAbortedError extends AbortError {\n constructor (message) {\n super(message)\n this.name = 'AbortError'\n this.message = message || 'Request aborted'\n this.code = 'UND_ERR_ABORTED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestAbortedError] === true\n }\n\n [kRequestAbortedError] = true\n}\n\nconst kInformationalError = Symbol.for('undici.error.UND_ERR_INFO')\nclass InformationalError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InformationalError'\n this.message = message || 'Request information'\n this.code = 'UND_ERR_INFO'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInformationalError] === true\n }\n\n [kInformationalError] = true\n}\n\nconst kRequestContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH')\nclass RequestContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestContentLengthMismatchError] === true\n }\n\n [kRequestContentLengthMismatchError] = true\n}\n\nconst kResponseContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH')\nclass ResponseContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseContentLengthMismatchError] === true\n }\n\n [kResponseContentLengthMismatchError] = true\n}\n\nconst kClientDestroyedError = Symbol.for('undici.error.UND_ERR_DESTROYED')\nclass ClientDestroyedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ClientDestroyedError'\n this.message = message || 'The client is destroyed'\n this.code = 'UND_ERR_DESTROYED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kClientDestroyedError] === true\n }\n\n [kClientDestroyedError] = true\n}\n\nconst kClientClosedError = Symbol.for('undici.error.UND_ERR_CLOSED')\nclass ClientClosedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ClientClosedError'\n this.message = message || 'The client is closed'\n this.code = 'UND_ERR_CLOSED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kClientClosedError] === true\n }\n\n [kClientClosedError] = true\n}\n\nconst kSocketError = Symbol.for('undici.error.UND_ERR_SOCKET')\nclass SocketError extends UndiciError {\n constructor (message, socket) {\n super(message)\n this.name = 'SocketError'\n this.message = message || 'Socket error'\n this.code = 'UND_ERR_SOCKET'\n this.socket = socket\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kSocketError] === true\n }\n\n [kSocketError] = true\n}\n\nconst kNotSupportedError = Symbol.for('undici.error.UND_ERR_NOT_SUPPORTED')\nclass NotSupportedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'NotSupportedError'\n this.message = message || 'Not supported error'\n this.code = 'UND_ERR_NOT_SUPPORTED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kNotSupportedError] === true\n }\n\n [kNotSupportedError] = true\n}\n\nconst kBalancedPoolMissingUpstreamError = Symbol.for('undici.error.UND_ERR_BPL_MISSING_UPSTREAM')\nclass BalancedPoolMissingUpstreamError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kBalancedPoolMissingUpstreamError] === true\n }\n\n [kBalancedPoolMissingUpstreamError] = true\n}\n\nconst kHTTPParserError = Symbol.for('undici.error.UND_ERR_HTTP_PARSER')\nclass HTTPParserError extends Error {\n constructor (message, code, data) {\n super(message)\n this.name = 'HTTPParserError'\n this.code = code ? `HPE_${code}` : undefined\n this.data = data ? data.toString() : undefined\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHTTPParserError] === true\n }\n\n [kHTTPParserError] = true\n}\n\nconst kResponseExceededMaxSizeError = Symbol.for('undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE')\nclass ResponseExceededMaxSizeError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseExceededMaxSizeError] === true\n }\n\n [kResponseExceededMaxSizeError] = true\n}\n\nconst kRequestRetryError = Symbol.for('undici.error.UND_ERR_REQ_RETRY')\nclass RequestRetryError extends UndiciError {\n constructor (message, code, { headers, data }) {\n super(message)\n this.name = 'RequestRetryError'\n this.message = message || 'Request retry error'\n this.code = 'UND_ERR_REQ_RETRY'\n this.statusCode = code\n this.data = data\n this.headers = headers\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestRetryError] === true\n }\n\n [kRequestRetryError] = true\n}\n\nconst kResponseError = Symbol.for('undici.error.UND_ERR_RESPONSE')\nclass ResponseError extends UndiciError {\n constructor (message, code, { headers, data }) {\n super(message)\n this.name = 'ResponseError'\n this.message = message || 'Response error'\n this.code = 'UND_ERR_RESPONSE'\n this.statusCode = code\n this.data = data\n this.headers = headers\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseError] === true\n }\n\n [kResponseError] = true\n}\n\nconst kSecureProxyConnectionError = Symbol.for('undici.error.UND_ERR_PRX_TLS')\nclass SecureProxyConnectionError extends UndiciError {\n constructor (cause, message, options) {\n super(message, { cause, ...(options ?? {}) })\n this.name = 'SecureProxyConnectionError'\n this.message = message || 'Secure Proxy Connection failed'\n this.code = 'UND_ERR_PRX_TLS'\n this.cause = cause\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kSecureProxyConnectionError] === true\n }\n\n [kSecureProxyConnectionError] = true\n}\n\nmodule.exports = {\n AbortError,\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 RequestRetryError,\n ResponseError,\n SecureProxyConnectionError\n}\n","'use strict'\n\n/** @type {Record} */\nconst headerNameLowerCasedRecord = {}\n\n// https://developer.mozilla.org/docs/Web/HTTP/Headers\nconst wellknownHeaderNames = [\n 'Accept',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Ranges',\n 'Access-Control-Allow-Credentials',\n 'Access-Control-Allow-Headers',\n 'Access-Control-Allow-Methods',\n 'Access-Control-Allow-Origin',\n 'Access-Control-Expose-Headers',\n 'Access-Control-Max-Age',\n 'Access-Control-Request-Headers',\n 'Access-Control-Request-Method',\n 'Age',\n 'Allow',\n 'Alt-Svc',\n 'Alt-Used',\n 'Authorization',\n 'Cache-Control',\n 'Clear-Site-Data',\n 'Connection',\n 'Content-Disposition',\n 'Content-Encoding',\n 'Content-Language',\n 'Content-Length',\n 'Content-Location',\n 'Content-Range',\n 'Content-Security-Policy',\n 'Content-Security-Policy-Report-Only',\n 'Content-Type',\n 'Cookie',\n 'Cross-Origin-Embedder-Policy',\n 'Cross-Origin-Opener-Policy',\n 'Cross-Origin-Resource-Policy',\n 'Date',\n 'Device-Memory',\n 'Downlink',\n 'ECT',\n 'ETag',\n 'Expect',\n 'Expect-CT',\n 'Expires',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Keep-Alive',\n 'Last-Modified',\n 'Link',\n 'Location',\n 'Max-Forwards',\n 'Origin',\n 'Permissions-Policy',\n 'Pragma',\n 'Proxy-Authenticate',\n 'Proxy-Authorization',\n 'RTT',\n 'Range',\n 'Referer',\n 'Referrer-Policy',\n 'Refresh',\n 'Retry-After',\n 'Sec-WebSocket-Accept',\n 'Sec-WebSocket-Extensions',\n 'Sec-WebSocket-Key',\n 'Sec-WebSocket-Protocol',\n 'Sec-WebSocket-Version',\n 'Server',\n 'Server-Timing',\n 'Service-Worker-Allowed',\n 'Service-Worker-Navigation-Preload',\n 'Set-Cookie',\n 'SourceMap',\n 'Strict-Transport-Security',\n 'Supports-Loading-Mode',\n 'TE',\n 'Timing-Allow-Origin',\n 'Trailer',\n 'Transfer-Encoding',\n 'Upgrade',\n 'Upgrade-Insecure-Requests',\n 'User-Agent',\n 'Vary',\n 'Via',\n 'WWW-Authenticate',\n 'X-Content-Type-Options',\n 'X-DNS-Prefetch-Control',\n 'X-Frame-Options',\n 'X-Permitted-Cross-Domain-Policies',\n 'X-Powered-By',\n 'X-Requested-With',\n 'X-XSS-Protection'\n]\n\nfor (let i = 0; i < wellknownHeaderNames.length; ++i) {\n const key = wellknownHeaderNames[i]\n const lowerCasedKey = key.toLowerCase()\n headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] =\n lowerCasedKey\n}\n\n// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`.\nObject.setPrototypeOf(headerNameLowerCasedRecord, null)\n\nmodule.exports = {\n wellknownHeaderNames,\n headerNameLowerCasedRecord\n}\n","'use strict'\n\nconst {\n wellknownHeaderNames,\n headerNameLowerCasedRecord\n} = require('./constants')\n\nclass TstNode {\n /** @type {any} */\n value = null\n /** @type {null | TstNode} */\n left = null\n /** @type {null | TstNode} */\n middle = null\n /** @type {null | TstNode} */\n right = null\n /** @type {number} */\n code\n /**\n * @param {string} key\n * @param {any} value\n * @param {number} index\n */\n constructor (key, value, index) {\n if (index === undefined || index >= key.length) {\n throw new TypeError('Unreachable')\n }\n const code = this.code = key.charCodeAt(index)\n // check code is ascii string\n if (code > 0x7F) {\n throw new TypeError('key must be ascii string')\n }\n if (key.length !== ++index) {\n this.middle = new TstNode(key, value, index)\n } else {\n this.value = value\n }\n }\n\n /**\n * @param {string} key\n * @param {any} value\n */\n add (key, value) {\n const length = key.length\n if (length === 0) {\n throw new TypeError('Unreachable')\n }\n let index = 0\n let node = this\n while (true) {\n const code = key.charCodeAt(index)\n // check code is ascii string\n if (code > 0x7F) {\n throw new TypeError('key must be ascii string')\n }\n if (node.code === code) {\n if (length === ++index) {\n node.value = value\n break\n } else if (node.middle !== null) {\n node = node.middle\n } else {\n node.middle = new TstNode(key, value, index)\n break\n }\n } else if (node.code < code) {\n if (node.left !== null) {\n node = node.left\n } else {\n node.left = new TstNode(key, value, index)\n break\n }\n } else if (node.right !== null) {\n node = node.right\n } else {\n node.right = new TstNode(key, value, index)\n break\n }\n }\n }\n\n /**\n * @param {Uint8Array} key\n * @return {TstNode | null}\n */\n search (key) {\n const keylength = key.length\n let index = 0\n let node = this\n while (node !== null && index < keylength) {\n let code = key[index]\n // A-Z\n // First check if it is bigger than 0x5a.\n // Lowercase letters have higher char codes than uppercase ones.\n // Also we assume that headers will mostly contain lowercase characters.\n if (code <= 0x5a && code >= 0x41) {\n // Lowercase for uppercase.\n code |= 32\n }\n while (node !== null) {\n if (code === node.code) {\n if (keylength === ++index) {\n // Returns Node since it is the last key.\n return node\n }\n node = node.middle\n break\n }\n node = node.code < code ? node.left : node.right\n }\n }\n return null\n }\n}\n\nclass TernarySearchTree {\n /** @type {TstNode | null} */\n node = null\n\n /**\n * @param {string} key\n * @param {any} value\n * */\n insert (key, value) {\n if (this.node === null) {\n this.node = new TstNode(key, value, 0)\n } else {\n this.node.add(key, value)\n }\n }\n\n /**\n * @param {Uint8Array} key\n * @return {any}\n */\n lookup (key) {\n return this.node?.search(key)?.value ?? null\n }\n}\n\nconst tree = new TernarySearchTree()\n\nfor (let i = 0; i < wellknownHeaderNames.length; ++i) {\n const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]]\n tree.insert(key, key)\n}\n\nmodule.exports = {\n TernarySearchTree,\n tree\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { kDestroyed, kBodyUsed, kListeners, kBody } = require('./symbols')\nconst { IncomingMessage } = require('node:http')\nconst stream = require('node:stream')\nconst net = require('node:net')\nconst { Blob } = require('node:buffer')\nconst nodeUtil = require('node:util')\nconst { stringify } = require('node:querystring')\nconst { EventEmitter: EE } = require('node:events')\nconst { InvalidArgumentError } = require('./errors')\nconst { headerNameLowerCasedRecord } = require('./constants')\nconst { tree } = require('./tree')\n\nconst [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))\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\nfunction wrapRequestBody (body) {\n if (isStream(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 (bodyLength(body) === 0) {\n body\n .on('data', function () {\n assert(false)\n })\n }\n\n if (typeof body.readableDidRead !== 'boolean') {\n body[kBodyUsed] = false\n EE.prototype.on.call(body, 'data', function () {\n this[kBodyUsed] = true\n })\n }\n\n return body\n } else if (body && typeof 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 return new BodyAsyncIterable(body)\n } else if (\n body &&\n typeof body !== 'string' &&\n !ArrayBuffer.isView(body) &&\n isIterable(body)\n ) {\n // TODO: Should we allow re-using iterable if !this.opts.idempotent\n // or through some other flag?\n return new BodyAsyncIterable(body)\n } else {\n return body\n }\n}\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 if (object === null) {\n return false\n } else if (object instanceof Blob) {\n return true\n } else if (typeof object !== 'object') {\n return false\n } else {\n const sTag = object[Symbol.toStringTag]\n\n return (sTag === 'Blob' || sTag === 'File') && (\n ('stream' in object && typeof object.stream === 'function') ||\n ('arrayBuffer' in object && typeof object.arrayBuffer === 'function')\n )\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 isValidPort (port) {\n const value = parseInt(port, 10)\n return (\n value === Number(port) &&\n value >= 0 &&\n value <= 65535\n )\n}\n\nfunction isHttpOrHttpsPrefixed (value) {\n return (\n value != null &&\n value[0] === 'h' &&\n value[1] === 't' &&\n value[2] === 't' &&\n value[3] === 'p' &&\n (\n value[4] === ':' ||\n (\n value[4] === 's' &&\n value[5] === ':'\n )\n )\n )\n}\n\nfunction parseURL (url) {\n if (typeof url === 'string') {\n url = new URL(url)\n\n if (!isHttpOrHttpsPrefixed(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 instanceof URL)) {\n if (url.port != null && url.port !== '' && isValidPort(url.port) === false) {\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 (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\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[origin.length - 1] === '/') {\n origin = origin.slice(0, origin.length - 1)\n }\n\n if (path && path[0] !== '/') {\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 return new URL(`${origin}${path}`)\n }\n\n if (!isHttpOrHttpsPrefixed(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\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.substring(1, idx)\n }\n\n const idx = host.indexOf(':')\n if (idx === -1) return host\n\n return host.substring(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(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.objectMode === false && 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 (body) {\n return body && !!(body.destroyed || body[kDestroyed] || (stream.isDestroyed?.(body)))\n}\n\nfunction destroy (stream, err) {\n if (stream == null || !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\n stream.destroy(err)\n } else if (err) {\n queueMicrotask(() => {\n stream.emit('error', err)\n })\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\n/**\n * Retrieves a header name and returns its lowercase value.\n * @param {string | Buffer} value Header name\n * @returns {string}\n */\nfunction headerNameToString (value) {\n return typeof value === 'string'\n ? headerNameLowerCasedRecord[value] ?? value.toLowerCase()\n : tree.lookup(value) ?? value.toString('latin1').toLowerCase()\n}\n\n/**\n * Receive the buffer as a string and return its lowercase value.\n * @param {Buffer} value Header name\n * @returns {string}\n */\nfunction bufferToLowerCasedHeaderName (value) {\n return tree.lookup(value) ?? value.toString('latin1').toLowerCase()\n}\n\n/**\n * @param {Record | (Buffer | string | (Buffer | string)[])[]} headers\n * @param {Record} [obj]\n * @returns {Record}\n */\nfunction parseHeaders (headers, obj) {\n if (obj === undefined) obj = {}\n for (let i = 0; i < headers.length; i += 2) {\n const key = headerNameToString(headers[i])\n let val = obj[key]\n\n if (val) {\n if (typeof val === 'string') {\n val = [val]\n obj[key] = val\n }\n val.push(headers[i + 1].toString('utf8'))\n } else {\n const headersValue = headers[i + 1]\n if (typeof headersValue === 'string') {\n obj[key] = headersValue\n } else {\n obj[key] = Array.isArray(headersValue) ? headersValue.map(x => x.toString('utf8')) : headersValue.toString('utf8')\n }\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 len = headers.length\n const ret = new Array(len)\n\n let hasContentLength = false\n let contentDispositionIdx = -1\n let key\n let val\n let kLen = 0\n\n for (let n = 0; n < headers.length; n += 2) {\n key = headers[n]\n val = headers[n + 1]\n\n typeof key !== 'string' && (key = key.toString())\n typeof val !== 'string' && (val = val.toString('utf8'))\n\n kLen = key.length\n if (kLen === 14 && key[7] === '-' && (key === 'content-length' || key.toLowerCase() === 'content-length')) {\n hasContentLength = true\n } else if (kLen === 19 && key[7] === '-' && (key === 'content-disposition' || key.toLowerCase() === 'content-disposition')) {\n contentDispositionIdx = n + 1\n }\n ret[n] = key\n ret[n + 1] = val\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 // TODO (fix): Why is body[kBodyUsed] needed?\n return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]))\n}\n\nfunction isErrored (body) {\n return !!(body && stream.isErrored(body))\n}\n\nfunction isReadable (body) {\n return !!(body && stream.isReadable(body))\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\n/** @type {globalThis['ReadableStream']} */\nfunction ReadableStreamFrom (iterable) {\n // We cannot use ReadableStream.from here because it does not return a byte stream.\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 controller.byobRequest?.respond(0)\n })\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value)\n if (buf.byteLength) {\n controller.enqueue(new Uint8Array(buf))\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: 'bytes'\n }\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 addAbortListener (signal, listener) {\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 = typeof String.prototype.toWellFormed === 'function'\nconst hasIsWellFormed = typeof String.prototype.isWellFormed === 'function'\n\n/**\n * @param {string} val\n */\nfunction toUSVString (val) {\n return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val)\n}\n\n/**\n * @param {string} val\n */\n// TODO: move this to webidl\nfunction isUSVString (val) {\n return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`\n}\n\n/**\n * @see https://tools.ietf.org/html/rfc7230#section-3.2.6\n * @param {number} c\n */\nfunction isTokenCharCode (c) {\n switch (c) {\n case 0x22:\n case 0x28:\n case 0x29:\n case 0x2c:\n case 0x2f:\n case 0x3a:\n case 0x3b:\n case 0x3c:\n case 0x3d:\n case 0x3e:\n case 0x3f:\n case 0x40:\n case 0x5b:\n case 0x5c:\n case 0x5d:\n case 0x7b:\n case 0x7d:\n // DQUOTE and \"(),/:;<=>?@[\\]{}\"\n return false\n default:\n // VCHAR %x21-7E\n return c >= 0x21 && c <= 0x7e\n }\n}\n\n/**\n * @param {string} characters\n */\nfunction isValidHTTPToken (characters) {\n if (characters.length === 0) {\n return false\n }\n for (let i = 0; i < characters.length; ++i) {\n if (!isTokenCharCode(characters.charCodeAt(i))) {\n return false\n }\n }\n return true\n}\n\n// headerCharRegex have been lifted from\n// https://github.com/nodejs/node/blob/main/lib/_http_common.js\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/**\n * @param {string} characters\n */\nfunction isValidHeaderValue (characters) {\n return !headerCharRegex.test(characters)\n}\n\n// Parsed accordingly to RFC 9110\n// https://www.rfc-editor.org/rfc/rfc9110#field.content-range\nfunction parseRangeHeader (range) {\n if (range == null || range === '') return { start: 0, end: null, size: null }\n\n const m = range ? range.match(/^bytes (\\d+)-(\\d+)\\/(\\d+)?$/) : null\n return m\n ? {\n start: parseInt(m[1]),\n end: m[2] ? parseInt(m[2]) : null,\n size: m[3] ? parseInt(m[3]) : null\n }\n : null\n}\n\nfunction addListener (obj, name, listener) {\n const listeners = (obj[kListeners] ??= [])\n listeners.push([name, listener])\n obj.on(name, listener)\n return obj\n}\n\nfunction removeAllListeners (obj) {\n for (const [name, listener] of obj[kListeners] ?? []) {\n obj.removeListener(name, listener)\n }\n obj[kListeners] = null\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\nconst kEnumerableProperty = Object.create(null)\nkEnumerableProperty.enumerable = true\n\nconst normalizedMethodRecordsBase = {\n delete: 'DELETE',\n DELETE: 'DELETE',\n get: 'GET',\n GET: 'GET',\n head: 'HEAD',\n HEAD: 'HEAD',\n options: 'OPTIONS',\n OPTIONS: 'OPTIONS',\n post: 'POST',\n POST: 'POST',\n put: 'PUT',\n PUT: 'PUT'\n}\n\nconst normalizedMethodRecords = {\n ...normalizedMethodRecordsBase,\n patch: 'patch',\n PATCH: 'PATCH'\n}\n\n// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`.\nObject.setPrototypeOf(normalizedMethodRecordsBase, null)\nObject.setPrototypeOf(normalizedMethodRecords, null)\n\nmodule.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isUSVString,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n headerNameToString,\n bufferToLowerCasedHeaderName,\n addListener,\n removeAllListeners,\n errorRequest,\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 addAbortListener,\n isValidHTTPToken,\n isValidHeaderValue,\n isTokenCharCode,\n parseRangeHeader,\n normalizedMethodRecordsBase,\n normalizedMethodRecords,\n isValidPort,\n isHttpOrHttpsPrefixed,\n nodeMajor,\n nodeMinor,\n safeHTTPMethods: ['GET', 'HEAD', 'OPTIONS', 'TRACE'],\n wrapRequestBody\n}\n","'use strict'\nconst diagnosticsChannel = require('node:diagnostics_channel')\nconst util = require('node:util')\n\nconst undiciDebugLog = util.debuglog('undici')\nconst fetchDebuglog = util.debuglog('fetch')\nconst websocketDebuglog = util.debuglog('websocket')\nlet isClientSet = false\nconst channels = {\n // Client\n beforeConnect: diagnosticsChannel.channel('undici:client:beforeConnect'),\n connected: diagnosticsChannel.channel('undici:client:connected'),\n connectError: diagnosticsChannel.channel('undici:client:connectError'),\n sendHeaders: diagnosticsChannel.channel('undici:client:sendHeaders'),\n // Request\n create: diagnosticsChannel.channel('undici:request:create'),\n bodySent: diagnosticsChannel.channel('undici:request:bodySent'),\n headers: diagnosticsChannel.channel('undici:request:headers'),\n trailers: diagnosticsChannel.channel('undici:request:trailers'),\n error: diagnosticsChannel.channel('undici:request:error'),\n // WebSocket\n open: diagnosticsChannel.channel('undici:websocket:open'),\n close: diagnosticsChannel.channel('undici:websocket:close'),\n socketError: diagnosticsChannel.channel('undici:websocket:socket_error'),\n ping: diagnosticsChannel.channel('undici:websocket:ping'),\n pong: diagnosticsChannel.channel('undici:websocket:pong')\n}\n\nif (undiciDebugLog.enabled || fetchDebuglog.enabled) {\n const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog\n\n // Track all Client events\n diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connecting to %s using %s%s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connected').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connected to %s using %s%s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host },\n error\n } = evt\n debuglog(\n 'connection to %s using %s%s errored - %s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version,\n error.message\n )\n })\n\n diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('sending request to %s %s/%s', method, origin, path)\n })\n\n // Track Request events\n diagnosticsChannel.channel('undici:request:headers').subscribe(evt => {\n const {\n request: { method, path, origin },\n response: { statusCode }\n } = evt\n debuglog(\n 'received response to %s %s/%s - HTTP %d',\n method,\n origin,\n path,\n statusCode\n )\n })\n\n diagnosticsChannel.channel('undici:request:trailers').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('trailers received from %s %s/%s', method, origin, path)\n })\n\n diagnosticsChannel.channel('undici:request:error').subscribe(evt => {\n const {\n request: { method, path, origin },\n error\n } = evt\n debuglog(\n 'request to %s %s/%s errored - %s',\n method,\n origin,\n path,\n error.message\n )\n })\n\n isClientSet = true\n}\n\nif (websocketDebuglog.enabled) {\n if (!isClientSet) {\n const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog\n diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connecting to %s%s using %s%s',\n host,\n port ? `:${port}` : '',\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connected').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connected to %s%s using %s%s',\n host,\n port ? `:${port}` : '',\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host },\n error\n } = evt\n debuglog(\n 'connection to %s%s using %s%s errored - %s',\n host,\n port ? `:${port}` : '',\n protocol,\n version,\n error.message\n )\n })\n\n diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('sending request to %s %s/%s', method, origin, path)\n })\n }\n\n // Track all WebSocket events\n diagnosticsChannel.channel('undici:websocket:open').subscribe(evt => {\n const {\n address: { address, port }\n } = evt\n websocketDebuglog('connection opened %s%s', address, port ? `:${port}` : '')\n })\n\n diagnosticsChannel.channel('undici:websocket:close').subscribe(evt => {\n const { websocket, code, reason } = evt\n websocketDebuglog(\n 'closed connection to %s - %s %s',\n websocket.url,\n code,\n reason\n )\n })\n\n diagnosticsChannel.channel('undici:websocket:socket_error').subscribe(err => {\n websocketDebuglog('connection errored - %s', err.message)\n })\n\n diagnosticsChannel.channel('undici:websocket:ping').subscribe(evt => {\n websocketDebuglog('ping received')\n })\n\n diagnosticsChannel.channel('undici:websocket:pong').subscribe(evt => {\n websocketDebuglog('pong received')\n })\n}\n\nmodule.exports = {\n channels\n}\n","'use strict'\n\nconst {\n InvalidArgumentError,\n NotSupportedError\n} = require('./errors')\nconst assert = require('node:assert')\nconst {\n isValidHTTPToken,\n isValidHeaderValue,\n isStream,\n destroy,\n isBuffer,\n isFormDataLike,\n isIterable,\n isBlobLike,\n buildURL,\n validateHandler,\n getServerName,\n normalizedMethodRecords\n} = require('./util')\nconst { channels } = require('./diagnostics.js')\nconst { headerNameLowerCasedRecord } = require('./constants')\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\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 expectContinue,\n servername\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.test(path)) {\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 (normalizedMethodRecords[method] === undefined && !isValidHTTPToken(method)) {\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 if (expectContinue != null && typeof expectContinue !== 'boolean') {\n throw new InvalidArgumentError('invalid expectContinue')\n }\n\n this.headersTimeout = headersTimeout\n\n this.bodyTimeout = bodyTimeout\n\n this.throwOnError = throwOnError === true\n\n this.method = method\n\n this.abort = null\n\n if (body == null) {\n this.body = null\n } else if (isStream(body)) {\n this.body = body\n\n const rState = this.body._readableState\n if (!rState || !rState.autoDestroy) {\n this.endHandler = function autoDestroy () {\n destroy(this)\n }\n this.body.on('end', this.endHandler)\n }\n\n this.errorHandler = err => {\n if (this.abort) {\n this.abort(err)\n } else {\n this.error = err\n }\n }\n this.body.on('error', this.errorHandler)\n } else if (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 (isFormDataLike(body) || isIterable(body) || 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 ? 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 // Only for H2\n this.expectContinue = expectContinue != null ? expectContinue : false\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 if (headers[Symbol.iterator]) {\n for (const header of headers) {\n if (!Array.isArray(header) || header.length !== 2) {\n throw new InvalidArgumentError('headers must be in key-value pair format')\n }\n processHeader(this, header[0], header[1])\n }\n } else {\n const keys = Object.keys(headers)\n for (let i = 0; i < keys.length; ++i) {\n processHeader(this, keys[i], headers[keys[i]])\n }\n }\n } else if (headers != null) {\n throw new InvalidArgumentError('headers must be an object or an array')\n }\n\n validateHandler(handler, method, upgrade)\n\n this.servername = servername || 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 return this[kHandler].onBodySent(chunk)\n } catch (err) {\n this.abort(err)\n }\n }\n }\n\n onRequestSent () {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this })\n }\n\n if (this[kHandler].onRequestSent) {\n try {\n return this[kHandler].onRequestSent()\n } catch (err) {\n this.abort(err)\n }\n }\n }\n\n onConnect (abort) {\n assert(!this.aborted)\n assert(!this.completed)\n\n if (this.error) {\n abort(this.error)\n } else {\n this.abort = abort\n return this[kHandler].onConnect(abort)\n }\n }\n\n onResponseStarted () {\n return this[kHandler].onResponseStarted?.()\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 try {\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText)\n } catch (err) {\n this.abort(err)\n }\n }\n\n onData (chunk) {\n assert(!this.aborted)\n assert(!this.completed)\n\n try {\n return this[kHandler].onData(chunk)\n } catch (err) {\n this.abort(err)\n return false\n }\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 this.onFinally()\n\n assert(!this.aborted)\n\n this.completed = true\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers })\n }\n\n try {\n return this[kHandler].onComplete(trailers)\n } catch (err) {\n // TODO (fix): This might be a bad idea?\n this.onError(err)\n }\n }\n\n onError (error) {\n this.onFinally()\n\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\n return this[kHandler].onError(error)\n }\n\n onFinally () {\n if (this.errorHandler) {\n this.body.off('error', this.errorHandler)\n this.errorHandler = null\n }\n\n if (this.endHandler) {\n this.body.off('end', this.endHandler)\n this.endHandler = null\n }\n }\n\n addHeader (key, value) {\n processHeader(this, key, value)\n return this\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 let headerName = headerNameLowerCasedRecord[key]\n\n if (headerName === undefined) {\n headerName = key.toLowerCase()\n if (headerNameLowerCasedRecord[headerName] === undefined && !isValidHTTPToken(headerName)) {\n throw new InvalidArgumentError('invalid header key')\n }\n }\n\n if (Array.isArray(val)) {\n const arr = []\n for (let i = 0; i < val.length; i++) {\n if (typeof val[i] === 'string') {\n if (!isValidHeaderValue(val[i])) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n arr.push(val[i])\n } else if (val[i] === null) {\n arr.push('')\n } else if (typeof val[i] === 'object') {\n throw new InvalidArgumentError(`invalid ${key} header`)\n } else {\n arr.push(`${val[i]}`)\n }\n }\n val = arr\n } else if (typeof val === 'string') {\n if (!isValidHeaderValue(val)) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n } else if (val === null) {\n val = ''\n } else {\n val = `${val}`\n }\n\n if (request.host === null && headerName === 'host') {\n if (typeof val !== 'string') {\n throw new InvalidArgumentError('invalid host header')\n }\n // Consumed by Client\n request.host = val\n } else if (request.contentLength === null && headerName === 'content-length') {\n request.contentLength = parseInt(val, 10)\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError('invalid content-length header')\n }\n } else if (request.contentType === null && headerName === 'content-type') {\n request.contentType = val\n request.headers.push(key, val)\n } else if (headerName === 'transfer-encoding' || headerName === 'keep-alive' || headerName === 'upgrade') {\n throw new InvalidArgumentError(`invalid ${headerName} header`)\n } else if (headerName === 'connection') {\n const value = typeof val === 'string' ? val.toLowerCase() : null\n if (value !== 'close' && value !== 'keep-alive') {\n throw new InvalidArgumentError('invalid connection header')\n }\n\n if (value === 'close') {\n request.reset = true\n }\n } else if (headerName === 'expect') {\n throw new NotSupportedError('expect header not supported')\n } else {\n request.headers.push(key, val)\n }\n}\n\nmodule.exports = Request\n","'use strict'\nconst EventEmitter = require('node: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 compose (...args) {\n // So we handle [interceptor1, interceptor2] or interceptor1, interceptor2, ...\n const interceptors = Array.isArray(args[0]) ? args[0] : args\n let dispatch = this.dispatch.bind(this)\n\n for (const interceptor of interceptors) {\n if (interceptor == null) {\n continue\n }\n\n if (typeof interceptor !== 'function') {\n throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`)\n }\n\n dispatch = interceptor(dispatch)\n\n if (dispatch == null || typeof dispatch !== 'function' || dispatch.length !== 2) {\n throw new TypeError('invalid interceptor')\n }\n }\n\n return new ComposedDispatcher(this, dispatch)\n }\n}\n\nclass ComposedDispatcher extends Dispatcher {\n #dispatcher = null\n #dispatch = null\n\n constructor (dispatcher, dispatch) {\n super()\n this.#dispatcher = dispatcher\n this.#dispatch = dispatch\n }\n\n dispatch (...args) {\n this.#dispatch(...args)\n }\n\n close (...args) {\n return this.#dispatcher.close(...args)\n }\n\n destroy (...args) {\n return this.#dispatcher.destroy(...args)\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, kClosed, kDestroyed, kDispatch, kInterceptors } = require('../core/symbols')\n\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\n/**\n * This module offers an optimized timer implementation designed for scenarios\n * where high precision is not critical.\n *\n * The timer achieves faster performance by using a low-resolution approach,\n * with an accuracy target of within 500ms. This makes it particularly useful\n * for timers with delays of 1 second or more, where exact timing is less\n * crucial.\n *\n * It's important to note that Node.js timers are inherently imprecise, as\n * delays can occur due to the event loop being blocked by other operations.\n * Consequently, timers may trigger later than their scheduled time.\n */\n\n/**\n * The fastNow variable contains the internal fast timer clock value.\n *\n * @type {number}\n */\nlet fastNow = 0\n\n/**\n * RESOLUTION_MS represents the target resolution time in milliseconds.\n *\n * @type {number}\n * @default 1000\n */\nconst RESOLUTION_MS = 1e3\n\n/**\n * TICK_MS defines the desired interval in milliseconds between each tick.\n * The target value is set to half the resolution time, minus 1 ms, to account\n * for potential event loop overhead.\n *\n * @type {number}\n * @default 499\n */\nconst TICK_MS = (RESOLUTION_MS >> 1) - 1\n\n/**\n * fastNowTimeout is a Node.js timer used to manage and process\n * the FastTimers stored in the `fastTimers` array.\n *\n * @type {NodeJS.Timeout}\n */\nlet fastNowTimeout\n\n/**\n * The kFastTimer symbol is used to identify FastTimer instances.\n *\n * @type {Symbol}\n */\nconst kFastTimer = Symbol('kFastTimer')\n\n/**\n * The fastTimers array contains all active FastTimers.\n *\n * @type {FastTimer[]}\n */\nconst fastTimers = []\n\n/**\n * These constants represent the various states of a FastTimer.\n */\n\n/**\n * The `NOT_IN_LIST` constant indicates that the FastTimer is not included\n * in the `fastTimers` array. Timers with this status will not be processed\n * during the next tick by the `onTick` function.\n *\n * A FastTimer can be re-added to the `fastTimers` array by invoking the\n * `refresh` method on the FastTimer instance.\n *\n * @type {-2}\n */\nconst NOT_IN_LIST = -2\n\n/**\n * The `TO_BE_CLEARED` constant indicates that the FastTimer is scheduled\n * for removal from the `fastTimers` array. A FastTimer in this state will\n * be removed in the next tick by the `onTick` function and will no longer\n * be processed.\n *\n * This status is also set when the `clear` method is called on the FastTimer instance.\n *\n * @type {-1}\n */\nconst TO_BE_CLEARED = -1\n\n/**\n * The `PENDING` constant signifies that the FastTimer is awaiting processing\n * in the next tick by the `onTick` function. Timers with this status will have\n * their `_idleStart` value set and their status updated to `ACTIVE` in the next tick.\n *\n * @type {0}\n */\nconst PENDING = 0\n\n/**\n * The `ACTIVE` constant indicates that the FastTimer is active and waiting\n * for its timer to expire. During the next tick, the `onTick` function will\n * check if the timer has expired, and if so, it will execute the associated callback.\n *\n * @type {1}\n */\nconst ACTIVE = 1\n\n/**\n * The onTick function processes the fastTimers array.\n *\n * @returns {void}\n */\nfunction onTick () {\n /**\n * Increment the fastNow value by the TICK_MS value, despite the actual time\n * that has passed since the last tick. This approach ensures independence\n * from the system clock and delays caused by a blocked event loop.\n *\n * @type {number}\n */\n fastNow += TICK_MS\n\n /**\n * The `idx` variable is used to iterate over the `fastTimers` array.\n * Expired timers are removed by replacing them with the last element in the array.\n * Consequently, `idx` is only incremented when the current element is not removed.\n *\n * @type {number}\n */\n let idx = 0\n\n /**\n * The len variable will contain the length of the fastTimers array\n * and will be decremented when a FastTimer should be removed from the\n * fastTimers array.\n *\n * @type {number}\n */\n let len = fastTimers.length\n\n while (idx < len) {\n /**\n * @type {FastTimer}\n */\n const timer = fastTimers[idx]\n\n // If the timer is in the ACTIVE state and the timer has expired, it will\n // be processed in the next tick.\n if (timer._state === PENDING) {\n // Set the _idleStart value to the fastNow value minus the TICK_MS value\n // to account for the time the timer was in the PENDING state.\n timer._idleStart = fastNow - TICK_MS\n timer._state = ACTIVE\n } else if (\n timer._state === ACTIVE &&\n fastNow >= timer._idleStart + timer._idleTimeout\n ) {\n timer._state = TO_BE_CLEARED\n timer._idleStart = -1\n timer._onTimeout(timer._timerArg)\n }\n\n if (timer._state === TO_BE_CLEARED) {\n timer._state = NOT_IN_LIST\n\n // Move the last element to the current index and decrement len if it is\n // not the only element in the array.\n if (--len !== 0) {\n fastTimers[idx] = fastTimers[len]\n }\n } else {\n ++idx\n }\n }\n\n // Set the length of the fastTimers array to the new length and thus\n // removing the excess FastTimers elements from the array.\n fastTimers.length = len\n\n // If there are still active FastTimers in the array, refresh the Timer.\n // If there are no active FastTimers, the timer will be refreshed again\n // when a new FastTimer is instantiated.\n if (fastTimers.length !== 0) {\n refreshTimeout()\n }\n}\n\nfunction refreshTimeout () {\n // If the fastNowTimeout is already set, refresh it.\n if (fastNowTimeout) {\n fastNowTimeout.refresh()\n // fastNowTimeout is not instantiated yet, create a new Timer.\n } else {\n clearTimeout(fastNowTimeout)\n fastNowTimeout = setTimeout(onTick, TICK_MS)\n\n // If the Timer has an unref method, call it to allow the process to exit if\n // there are no other active handles.\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref()\n }\n }\n}\n\n/**\n * The `FastTimer` class is a data structure designed to store and manage\n * timer information.\n */\nclass FastTimer {\n [kFastTimer] = true\n\n /**\n * The state of the timer, which can be one of the following:\n * - NOT_IN_LIST (-2)\n * - TO_BE_CLEARED (-1)\n * - PENDING (0)\n * - ACTIVE (1)\n *\n * @type {-2|-1|0|1}\n * @private\n */\n _state = NOT_IN_LIST\n\n /**\n * The number of milliseconds to wait before calling the callback.\n *\n * @type {number}\n * @private\n */\n _idleTimeout = -1\n\n /**\n * The time in milliseconds when the timer was started. This value is used to\n * calculate when the timer should expire.\n *\n * @type {number}\n * @default -1\n * @private\n */\n _idleStart = -1\n\n /**\n * The function to be executed when the timer expires.\n * @type {Function}\n * @private\n */\n _onTimeout\n\n /**\n * The argument to be passed to the callback when the timer expires.\n *\n * @type {*}\n * @private\n */\n _timerArg\n\n /**\n * @constructor\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should wait\n * before the specified function or code is executed.\n * @param {*} arg\n */\n constructor (callback, delay, arg) {\n this._onTimeout = callback\n this._idleTimeout = delay\n this._timerArg = arg\n\n this.refresh()\n }\n\n /**\n * Sets the timer's start time to the current time, and reschedules the timer\n * to call its callback at the previously specified duration adjusted to the\n * current time.\n * Using this on a timer that has already called its callback will reactivate\n * the timer.\n *\n * @returns {void}\n */\n refresh () {\n // In the special case that the timer is not in the list of active timers,\n // add it back to the array to be processed in the next tick by the onTick\n // function.\n if (this._state === NOT_IN_LIST) {\n fastTimers.push(this)\n }\n\n // If the timer is the only active timer, refresh the fastNowTimeout for\n // better resolution.\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout()\n }\n\n // Setting the state to PENDING will cause the timer to be reset in the\n // next tick by the onTick function.\n this._state = PENDING\n }\n\n /**\n * The `clear` method cancels the timer, preventing it from executing.\n *\n * @returns {void}\n * @private\n */\n clear () {\n // Set the state to TO_BE_CLEARED to mark the timer for removal in the next\n // tick by the onTick function.\n this._state = TO_BE_CLEARED\n\n // Reset the _idleStart value to -1 to indicate that the timer is no longer\n // active.\n this._idleStart = -1\n }\n}\n\n/**\n * This module exports a setTimeout and clearTimeout function that can be\n * used as a drop-in replacement for the native functions.\n */\nmodule.exports = {\n /**\n * The setTimeout() method sets a timer which executes a function once the\n * timer expires.\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should\n * wait before the specified function or code is executed.\n * @param {*} [arg] An optional argument to be passed to the callback function\n * when the timer expires.\n * @returns {NodeJS.Timeout|FastTimer}\n */\n setTimeout (callback, delay, arg) {\n // If the delay is less than or equal to the RESOLUTION_MS value return a\n // native Node.js Timer instance.\n return delay <= RESOLUTION_MS\n ? setTimeout(callback, delay, arg)\n : new FastTimer(callback, delay, arg)\n },\n /**\n * The clearTimeout method cancels an instantiated Timer previously created\n * by calling setTimeout.\n *\n * @param {NodeJS.Timeout|FastTimer} timeout\n */\n clearTimeout (timeout) {\n // If the timeout is a FastTimer, call its own clear method.\n if (timeout[kFastTimer]) {\n /**\n * @type {FastTimer}\n */\n timeout.clear()\n // Otherwise it is an instance of a native NodeJS.Timeout, so call the\n // Node.js native clearTimeout function.\n } else {\n clearTimeout(timeout)\n }\n },\n /**\n * The setFastTimeout() method sets a fastTimer which executes a function once\n * the timer expires.\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should\n * wait before the specified function or code is executed.\n * @param {*} [arg] An optional argument to be passed to the callback function\n * when the timer expires.\n * @returns {FastTimer}\n */\n setFastTimeout (callback, delay, arg) {\n return new FastTimer(callback, delay, arg)\n },\n /**\n * The clearTimeout method cancels an instantiated FastTimer previously\n * created by calling setFastTimeout.\n *\n * @param {FastTimer} timeout\n */\n clearFastTimeout (timeout) {\n timeout.clear()\n },\n /**\n * The now method returns the value of the internal fast timer clock.\n *\n * @returns {number}\n */\n now () {\n return fastNow\n },\n /**\n * Trigger the onTick function to process the fastTimers array.\n * Exported for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n * @param {number} [delay=0] The delay in milliseconds to add to the now value.\n */\n tick (delay = 0) {\n fastNow += delay - RESOLUTION_MS + 1\n onTick()\n onTick()\n },\n /**\n * Reset FastTimers.\n * Exported for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n */\n reset () {\n fastNow = 0\n fastTimers.length = 0\n clearTimeout(fastNowTimeout)\n fastNowTimeout = null\n },\n /**\n * Exporting for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n */\n kFastTimer\n}\n","'use strict'\n\nconst net = require('node:net')\nconst assert = require('node:assert')\nconst util = require('./util')\nconst { InvalidArgumentError, ConnectTimeoutError } = require('./errors')\nconst timers = require('../util/timers')\n\nfunction noop () {}\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\n// FIXME: remove workaround when the Node bug is fixed\n// https://github.com/nodejs/node/issues/49344#issuecomment-1741776308\nif (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {\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 ({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...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 allowH2 = allowH2 != null ? allowH2 : false\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('node:tls')\n }\n servername = servername || options.servername || util.getServerName(host) || null\n\n const sessionKey = servername || hostname\n assert(sessionKey)\n\n const session = customSession || sessionCache.get(sessionKey) || null\n\n port = port || 443\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 // TODO(HTTP/2): Add support for h2c\n ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'],\n socket: httpSocket, // upgrade socket connection\n port,\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\n port = port || 80\n\n socket = net.connect({\n highWaterMark: 64 * 1024, // Same as nodejs fs streams.\n ...options,\n localAddress,\n port,\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 clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port })\n\n socket\n .setNoDelay(true)\n .once(protocol === 'https:' ? 'secureConnect' : 'connect', function () {\n queueMicrotask(clearConnectTimeout)\n\n if (callback) {\n const cb = callback\n callback = null\n cb(null, this)\n }\n })\n .on('error', function (err) {\n queueMicrotask(clearConnectTimeout)\n\n if (callback) {\n const cb = callback\n callback = null\n cb(err)\n }\n })\n\n return socket\n }\n}\n\n/**\n * @param {WeakRef} socketWeakRef\n * @param {object} opts\n * @param {number} opts.timeout\n * @param {string} opts.hostname\n * @param {number} opts.port\n * @returns {() => void}\n */\nconst setupConnectTimeout = process.platform === 'win32'\n ? (socketWeakRef, opts) => {\n if (!opts.timeout) {\n return noop\n }\n\n let s1 = null\n let s2 = null\n const fastTimer = timers.setFastTimeout(() => {\n // setImmediate is added to make sure that we prioritize socket error events over timeouts\n s1 = setImmediate(() => {\n // Windows needs an extra setImmediate probably due to implementation differences in the socket logic\n s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts))\n })\n }, opts.timeout)\n return () => {\n timers.clearFastTimeout(fastTimer)\n clearImmediate(s1)\n clearImmediate(s2)\n }\n }\n : (socketWeakRef, opts) => {\n if (!opts.timeout) {\n return noop\n }\n\n let s1 = null\n const fastTimer = timers.setFastTimeout(() => {\n // setImmediate is added to make sure that we prioritize socket error events over timeouts\n s1 = setImmediate(() => {\n onConnectTimeout(socketWeakRef.deref(), opts)\n })\n }, opts.timeout)\n return () => {\n timers.clearFastTimeout(fastTimer)\n clearImmediate(s1)\n }\n }\n\n/**\n * @param {net.Socket} socket\n * @param {object} opts\n * @param {number} opts.timeout\n * @param {string} opts.hostname\n * @param {number} opts.port\n */\nfunction onConnectTimeout (socket, opts) {\n // The socket could be already garbage collected\n if (socket == null) {\n return\n }\n\n let message = 'Connect Timeout Error'\n if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {\n message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`\n } else {\n message += ` (attempted address: ${opts.hostname}:${opts.port},`\n }\n\n message += ` timeout: ${opts.timeout}ms)`\n\n util.destroy(socket, new ConnectTimeoutError(message))\n}\n\nmodule.exports = buildConnector\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.enumToMap = void 0;\nfunction enumToMap(obj) {\n const res = {};\n Object.keys(obj).forEach((key) => {\n const value = obj[key];\n if (typeof value === 'number') {\n res[key] = value;\n }\n });\n return res;\n}\nexports.enumToMap = enumToMap;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;\nconst utils_1 = require(\"./utils\");\n// C headers\nvar ERROR;\n(function (ERROR) {\n ERROR[ERROR[\"OK\"] = 0] = \"OK\";\n ERROR[ERROR[\"INTERNAL\"] = 1] = \"INTERNAL\";\n ERROR[ERROR[\"STRICT\"] = 2] = \"STRICT\";\n ERROR[ERROR[\"LF_EXPECTED\"] = 3] = \"LF_EXPECTED\";\n ERROR[ERROR[\"UNEXPECTED_CONTENT_LENGTH\"] = 4] = \"UNEXPECTED_CONTENT_LENGTH\";\n ERROR[ERROR[\"CLOSED_CONNECTION\"] = 5] = \"CLOSED_CONNECTION\";\n ERROR[ERROR[\"INVALID_METHOD\"] = 6] = \"INVALID_METHOD\";\n ERROR[ERROR[\"INVALID_URL\"] = 7] = \"INVALID_URL\";\n ERROR[ERROR[\"INVALID_CONSTANT\"] = 8] = \"INVALID_CONSTANT\";\n ERROR[ERROR[\"INVALID_VERSION\"] = 9] = \"INVALID_VERSION\";\n ERROR[ERROR[\"INVALID_HEADER_TOKEN\"] = 10] = \"INVALID_HEADER_TOKEN\";\n ERROR[ERROR[\"INVALID_CONTENT_LENGTH\"] = 11] = \"INVALID_CONTENT_LENGTH\";\n ERROR[ERROR[\"INVALID_CHUNK_SIZE\"] = 12] = \"INVALID_CHUNK_SIZE\";\n ERROR[ERROR[\"INVALID_STATUS\"] = 13] = \"INVALID_STATUS\";\n ERROR[ERROR[\"INVALID_EOF_STATE\"] = 14] = \"INVALID_EOF_STATE\";\n ERROR[ERROR[\"INVALID_TRANSFER_ENCODING\"] = 15] = \"INVALID_TRANSFER_ENCODING\";\n ERROR[ERROR[\"CB_MESSAGE_BEGIN\"] = 16] = \"CB_MESSAGE_BEGIN\";\n ERROR[ERROR[\"CB_HEADERS_COMPLETE\"] = 17] = \"CB_HEADERS_COMPLETE\";\n ERROR[ERROR[\"CB_MESSAGE_COMPLETE\"] = 18] = \"CB_MESSAGE_COMPLETE\";\n ERROR[ERROR[\"CB_CHUNK_HEADER\"] = 19] = \"CB_CHUNK_HEADER\";\n ERROR[ERROR[\"CB_CHUNK_COMPLETE\"] = 20] = \"CB_CHUNK_COMPLETE\";\n ERROR[ERROR[\"PAUSED\"] = 21] = \"PAUSED\";\n ERROR[ERROR[\"PAUSED_UPGRADE\"] = 22] = \"PAUSED_UPGRADE\";\n ERROR[ERROR[\"PAUSED_H2_UPGRADE\"] = 23] = \"PAUSED_H2_UPGRADE\";\n ERROR[ERROR[\"USER\"] = 24] = \"USER\";\n})(ERROR = exports.ERROR || (exports.ERROR = {}));\nvar TYPE;\n(function (TYPE) {\n TYPE[TYPE[\"BOTH\"] = 0] = \"BOTH\";\n TYPE[TYPE[\"REQUEST\"] = 1] = \"REQUEST\";\n TYPE[TYPE[\"RESPONSE\"] = 2] = \"RESPONSE\";\n})(TYPE = exports.TYPE || (exports.TYPE = {}));\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"CONNECTION_KEEP_ALIVE\"] = 1] = \"CONNECTION_KEEP_ALIVE\";\n FLAGS[FLAGS[\"CONNECTION_CLOSE\"] = 2] = \"CONNECTION_CLOSE\";\n FLAGS[FLAGS[\"CONNECTION_UPGRADE\"] = 4] = \"CONNECTION_UPGRADE\";\n FLAGS[FLAGS[\"CHUNKED\"] = 8] = \"CHUNKED\";\n FLAGS[FLAGS[\"UPGRADE\"] = 16] = \"UPGRADE\";\n FLAGS[FLAGS[\"CONTENT_LENGTH\"] = 32] = \"CONTENT_LENGTH\";\n FLAGS[FLAGS[\"SKIPBODY\"] = 64] = \"SKIPBODY\";\n FLAGS[FLAGS[\"TRAILING\"] = 128] = \"TRAILING\";\n // 1 << 8 is unused\n FLAGS[FLAGS[\"TRANSFER_ENCODING\"] = 512] = \"TRANSFER_ENCODING\";\n})(FLAGS = exports.FLAGS || (exports.FLAGS = {}));\nvar LENIENT_FLAGS;\n(function (LENIENT_FLAGS) {\n LENIENT_FLAGS[LENIENT_FLAGS[\"HEADERS\"] = 1] = \"HEADERS\";\n LENIENT_FLAGS[LENIENT_FLAGS[\"CHUNKED_LENGTH\"] = 2] = \"CHUNKED_LENGTH\";\n LENIENT_FLAGS[LENIENT_FLAGS[\"KEEP_ALIVE\"] = 4] = \"KEEP_ALIVE\";\n})(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}));\nvar METHODS;\n(function (METHODS) {\n METHODS[METHODS[\"DELETE\"] = 0] = \"DELETE\";\n METHODS[METHODS[\"GET\"] = 1] = \"GET\";\n METHODS[METHODS[\"HEAD\"] = 2] = \"HEAD\";\n METHODS[METHODS[\"POST\"] = 3] = \"POST\";\n METHODS[METHODS[\"PUT\"] = 4] = \"PUT\";\n /* pathological */\n METHODS[METHODS[\"CONNECT\"] = 5] = \"CONNECT\";\n METHODS[METHODS[\"OPTIONS\"] = 6] = \"OPTIONS\";\n METHODS[METHODS[\"TRACE\"] = 7] = \"TRACE\";\n /* WebDAV */\n METHODS[METHODS[\"COPY\"] = 8] = \"COPY\";\n METHODS[METHODS[\"LOCK\"] = 9] = \"LOCK\";\n METHODS[METHODS[\"MKCOL\"] = 10] = \"MKCOL\";\n METHODS[METHODS[\"MOVE\"] = 11] = \"MOVE\";\n METHODS[METHODS[\"PROPFIND\"] = 12] = \"PROPFIND\";\n METHODS[METHODS[\"PROPPATCH\"] = 13] = \"PROPPATCH\";\n METHODS[METHODS[\"SEARCH\"] = 14] = \"SEARCH\";\n METHODS[METHODS[\"UNLOCK\"] = 15] = \"UNLOCK\";\n METHODS[METHODS[\"BIND\"] = 16] = \"BIND\";\n METHODS[METHODS[\"REBIND\"] = 17] = \"REBIND\";\n METHODS[METHODS[\"UNBIND\"] = 18] = \"UNBIND\";\n METHODS[METHODS[\"ACL\"] = 19] = \"ACL\";\n /* subversion */\n METHODS[METHODS[\"REPORT\"] = 20] = \"REPORT\";\n METHODS[METHODS[\"MKACTIVITY\"] = 21] = \"MKACTIVITY\";\n METHODS[METHODS[\"CHECKOUT\"] = 22] = \"CHECKOUT\";\n METHODS[METHODS[\"MERGE\"] = 23] = \"MERGE\";\n /* upnp */\n METHODS[METHODS[\"M-SEARCH\"] = 24] = \"M-SEARCH\";\n METHODS[METHODS[\"NOTIFY\"] = 25] = \"NOTIFY\";\n METHODS[METHODS[\"SUBSCRIBE\"] = 26] = \"SUBSCRIBE\";\n METHODS[METHODS[\"UNSUBSCRIBE\"] = 27] = \"UNSUBSCRIBE\";\n /* RFC-5789 */\n METHODS[METHODS[\"PATCH\"] = 28] = \"PATCH\";\n METHODS[METHODS[\"PURGE\"] = 29] = \"PURGE\";\n /* CalDAV */\n METHODS[METHODS[\"MKCALENDAR\"] = 30] = \"MKCALENDAR\";\n /* RFC-2068, section 19.6.1.2 */\n METHODS[METHODS[\"LINK\"] = 31] = \"LINK\";\n METHODS[METHODS[\"UNLINK\"] = 32] = \"UNLINK\";\n /* icecast */\n METHODS[METHODS[\"SOURCE\"] = 33] = \"SOURCE\";\n /* RFC-7540, section 11.6 */\n METHODS[METHODS[\"PRI\"] = 34] = \"PRI\";\n /* RFC-2326 RTSP */\n METHODS[METHODS[\"DESCRIBE\"] = 35] = \"DESCRIBE\";\n METHODS[METHODS[\"ANNOUNCE\"] = 36] = \"ANNOUNCE\";\n METHODS[METHODS[\"SETUP\"] = 37] = \"SETUP\";\n METHODS[METHODS[\"PLAY\"] = 38] = \"PLAY\";\n METHODS[METHODS[\"PAUSE\"] = 39] = \"PAUSE\";\n METHODS[METHODS[\"TEARDOWN\"] = 40] = \"TEARDOWN\";\n METHODS[METHODS[\"GET_PARAMETER\"] = 41] = \"GET_PARAMETER\";\n METHODS[METHODS[\"SET_PARAMETER\"] = 42] = \"SET_PARAMETER\";\n METHODS[METHODS[\"REDIRECT\"] = 43] = \"REDIRECT\";\n METHODS[METHODS[\"RECORD\"] = 44] = \"RECORD\";\n /* RAOP */\n METHODS[METHODS[\"FLUSH\"] = 45] = \"FLUSH\";\n})(METHODS = exports.METHODS || (exports.METHODS = {}));\nexports.METHODS_HTTP = [\n METHODS.DELETE,\n METHODS.GET,\n METHODS.HEAD,\n METHODS.POST,\n METHODS.PUT,\n METHODS.CONNECT,\n METHODS.OPTIONS,\n METHODS.TRACE,\n METHODS.COPY,\n METHODS.LOCK,\n METHODS.MKCOL,\n METHODS.MOVE,\n METHODS.PROPFIND,\n METHODS.PROPPATCH,\n METHODS.SEARCH,\n METHODS.UNLOCK,\n METHODS.BIND,\n METHODS.REBIND,\n METHODS.UNBIND,\n METHODS.ACL,\n METHODS.REPORT,\n METHODS.MKACTIVITY,\n METHODS.CHECKOUT,\n METHODS.MERGE,\n METHODS['M-SEARCH'],\n METHODS.NOTIFY,\n METHODS.SUBSCRIBE,\n METHODS.UNSUBSCRIBE,\n METHODS.PATCH,\n METHODS.PURGE,\n METHODS.MKCALENDAR,\n METHODS.LINK,\n METHODS.UNLINK,\n METHODS.PRI,\n // TODO(indutny): should we allow it with HTTP?\n METHODS.SOURCE,\n];\nexports.METHODS_ICE = [\n METHODS.SOURCE,\n];\nexports.METHODS_RTSP = [\n METHODS.OPTIONS,\n METHODS.DESCRIBE,\n METHODS.ANNOUNCE,\n METHODS.SETUP,\n METHODS.PLAY,\n METHODS.PAUSE,\n METHODS.TEARDOWN,\n METHODS.GET_PARAMETER,\n METHODS.SET_PARAMETER,\n METHODS.REDIRECT,\n METHODS.RECORD,\n METHODS.FLUSH,\n // For AirPlay\n METHODS.GET,\n METHODS.POST,\n];\nexports.METHOD_MAP = utils_1.enumToMap(METHODS);\nexports.H_METHOD_MAP = {};\nObject.keys(exports.METHOD_MAP).forEach((key) => {\n if (/^H/.test(key)) {\n exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key];\n }\n});\nvar FINISH;\n(function (FINISH) {\n FINISH[FINISH[\"SAFE\"] = 0] = \"SAFE\";\n FINISH[FINISH[\"SAFE_WITH_CB\"] = 1] = \"SAFE_WITH_CB\";\n FINISH[FINISH[\"UNSAFE\"] = 2] = \"UNSAFE\";\n})(FINISH = exports.FINISH || (exports.FINISH = {}));\nexports.ALPHA = [];\nfor (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) {\n // Upper case\n exports.ALPHA.push(String.fromCharCode(i));\n // Lower case\n exports.ALPHA.push(String.fromCharCode(i + 0x20));\n}\nexports.NUM_MAP = {\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,\n 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\n};\nexports.HEX_MAP = {\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,\n 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\n A: 0XA, B: 0XB, C: 0XC, D: 0XD, E: 0XE, F: 0XF,\n a: 0xa, b: 0xb, c: 0xc, d: 0xd, e: 0xe, f: 0xf,\n};\nexports.NUM = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n];\nexports.ALPHANUM = exports.ALPHA.concat(exports.NUM);\nexports.MARK = ['-', '_', '.', '!', '~', '*', '\\'', '(', ')'];\nexports.USERINFO_CHARS = exports.ALPHANUM\n .concat(exports.MARK)\n .concat(['%', ';', ':', '&', '=', '+', '$', ',']);\n// TODO(indutny): use RFC\nexports.STRICT_URL_CHAR = [\n '!', '\"', '$', '%', '&', '\\'',\n '(', ')', '*', '+', ',', '-', '.', '/',\n ':', ';', '<', '=', '>',\n '@', '[', '\\\\', ']', '^', '_',\n '`',\n '{', '|', '}', '~',\n].concat(exports.ALPHANUM);\nexports.URL_CHAR = exports.STRICT_URL_CHAR\n .concat(['\\t', '\\f']);\n// All characters with 0x80 bit set to 1\nfor (let i = 0x80; i <= 0xff; i++) {\n exports.URL_CHAR.push(i);\n}\nexports.HEX = exports.NUM.concat(['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']);\n/* Tokens as defined by rfc 2616. Also lowercases them.\n * token = 1*\n * separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n * | \",\" | \";\" | \":\" | \"\\\" | <\">\n * | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n * | \"{\" | \"}\" | SP | HT\n */\nexports.STRICT_TOKEN = [\n '!', '#', '$', '%', '&', '\\'',\n '*', '+', '-', '.',\n '^', '_', '`',\n '|', '~',\n].concat(exports.ALPHANUM);\nexports.TOKEN = exports.STRICT_TOKEN.concat([' ']);\n/*\n * Verify that a char is a valid visible (printable) US-ASCII\n * character or %x80-FF\n */\nexports.HEADER_CHARS = ['\\t'];\nfor (let i = 32; i <= 255; i++) {\n if (i !== 127) {\n exports.HEADER_CHARS.push(i);\n }\n}\n// ',' = \\x44\nexports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);\nexports.MAJOR = exports.NUM_MAP;\nexports.MINOR = exports.MAJOR;\nvar HEADER_STATE;\n(function (HEADER_STATE) {\n HEADER_STATE[HEADER_STATE[\"GENERAL\"] = 0] = \"GENERAL\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION\"] = 1] = \"CONNECTION\";\n HEADER_STATE[HEADER_STATE[\"CONTENT_LENGTH\"] = 2] = \"CONTENT_LENGTH\";\n HEADER_STATE[HEADER_STATE[\"TRANSFER_ENCODING\"] = 3] = \"TRANSFER_ENCODING\";\n HEADER_STATE[HEADER_STATE[\"UPGRADE\"] = 4] = \"UPGRADE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_KEEP_ALIVE\"] = 5] = \"CONNECTION_KEEP_ALIVE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_CLOSE\"] = 6] = \"CONNECTION_CLOSE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_UPGRADE\"] = 7] = \"CONNECTION_UPGRADE\";\n HEADER_STATE[HEADER_STATE[\"TRANSFER_ENCODING_CHUNKED\"] = 8] = \"TRANSFER_ENCODING_CHUNKED\";\n})(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}));\nexports.SPECIAL_HEADERS = {\n 'connection': HEADER_STATE.CONNECTION,\n 'content-length': HEADER_STATE.CONTENT_LENGTH,\n 'proxy-connection': HEADER_STATE.CONNECTION,\n 'transfer-encoding': HEADER_STATE.TRANSFER_ENCODING,\n 'upgrade': HEADER_STATE.UPGRADE,\n};\n//# sourceMappingURL=constants.js.map","'use strict'\n\nconst { Buffer } = require('node:buffer')\n\nmodule.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK07MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv', 'base64')\n","'use strict'\n\nconst { Buffer } = require('node:buffer')\n\nmodule.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK77MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==', 'base64')\n","'use strict'\n\nconst corsSafeListedMethods = /** @type {const} */ (['GET', 'HEAD', 'POST'])\nconst corsSafeListedMethodsSet = new Set(corsSafeListedMethods)\n\nconst nullBodyStatus = /** @type {const} */ ([101, 204, 205, 304])\n\nconst redirectStatus = /** @type {const} */ ([301, 302, 303, 307, 308])\nconst redirectStatusSet = new Set(redirectStatus)\n\n/**\n * @see https://fetch.spec.whatwg.org/#block-bad-port\n */\nconst badPorts = /** @type {const} */ ([\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', '4190', '5060', '5061', '6000', '6566', '6665', '6666', '6667', '6668', '6669', '6679',\n '6697', '10080'\n])\nconst badPortsSet = new Set(badPorts)\n\n/**\n * @see https://w3c.github.io/webappsec-referrer-policy/#referrer-policies\n */\nconst referrerPolicy = /** @type {const} */ ([\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])\nconst referrerPolicySet = new Set(referrerPolicy)\n\nconst requestRedirect = /** @type {const} */ (['follow', 'manual', 'error'])\n\nconst safeMethods = /** @type {const} */ (['GET', 'HEAD', 'OPTIONS', 'TRACE'])\nconst safeMethodsSet = new Set(safeMethods)\n\nconst requestMode = /** @type {const} */ (['navigate', 'same-origin', 'no-cors', 'cors'])\n\nconst requestCredentials = /** @type {const} */ (['omit', 'same-origin', 'include'])\n\nconst requestCache = /** @type {const} */ ([\n 'default',\n 'no-store',\n 'reload',\n 'no-cache',\n 'force-cache',\n 'only-if-cached'\n])\n\n/**\n * @see https://fetch.spec.whatwg.org/#request-body-header-name\n */\nconst requestBodyHeader = /** @type {const} */ ([\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/**\n * @see https://fetch.spec.whatwg.org/#enumdef-requestduplex\n */\nconst requestDuplex = /** @type {const} */ ([\n 'half'\n])\n\n/**\n * @see http://fetch.spec.whatwg.org/#forbidden-method\n */\nconst forbiddenMethods = /** @type {const} */ (['CONNECT', 'TRACE', 'TRACK'])\nconst forbiddenMethodsSet = new Set(forbiddenMethods)\n\nconst subresource = /** @type {const} */ ([\n 'audio',\n 'audioworklet',\n 'font',\n 'image',\n 'manifest',\n 'paintworklet',\n 'script',\n 'style',\n 'track',\n 'video',\n 'xslt',\n ''\n])\nconst subresourceSet = new Set(subresource)\n\nmodule.exports = {\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 subresourceSet,\n badPortsSet,\n redirectStatusSet,\n corsSafeListedMethodsSet,\n safeMethodsSet,\n forbiddenMethodsSet,\n referrerPolicySet\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 (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 assert = require('node:assert')\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\nconst ASCII_WHITESPACE_REPLACE_REGEX = /[\\u0009\\u000A\\u000C\\u000D\\u0020]/g // 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’s 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 if (!excludeFragment) {\n return url.href\n }\n\n const href = url.href\n const hashLength = url.hash.length\n\n const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength)\n\n if (!hashLength && href.endsWith('#')) {\n return serialized.slice(0, -1)\n }\n\n return serialized\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’t 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/**\n * @param {number} byte\n */\nfunction isHexCharByte (byte) {\n // 0-9 A-F a-f\n return (byte >= 0x30 && byte <= 0x39) || (byte >= 0x41 && byte <= 0x46) || (byte >= 0x61 && byte <= 0x66)\n}\n\n/**\n * @param {number} byte\n */\nfunction hexByteToNumber (byte) {\n return (\n // 0-9\n byte >= 0x30 && byte <= 0x39\n ? (byte - 48)\n // Convert to uppercase\n // ((byte & 0xDF) - 65) + 10\n : ((byte & 0xDF) - 55)\n )\n}\n\n// https://url.spec.whatwg.org/#percent-decode\n/** @param {Uint8Array} input */\nfunction percentDecode (input) {\n const length = input.length\n // 1. Let output be an empty byte sequence.\n /** @type {Uint8Array} */\n const output = new Uint8Array(length)\n let j = 0\n // 2. For each byte byte in input:\n for (let i = 0; i < 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[j++] = 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 !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))\n ) {\n output[j++] = 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 // 2. Append a byte whose value is bytePoint to output.\n output[j++] = (hexByteToNumber(input[i + 1]) << 4) | hexByteToNumber(input[i + 2])\n\n // 3. Skip the next two bytes in input.\n i += 2\n }\n }\n\n // 3. Return output.\n return length === j ? output : output.subarray(0, j)\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} */\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’s parameters[parameterName] does not exist\n // then set mimeType’s 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(ASCII_WHITESPACE_REPLACE_REGEX, '') // eslint-disable-line\n\n let dataLength = data.length\n // 2. If data’s code point length divides by 4 leaving\n // no remainder, then:\n if (dataLength % 4 === 0) {\n // 1. If data ends with one or two U+003D (=) code points,\n // then remove them from data.\n if (data.charCodeAt(dataLength - 1) === 0x003D) {\n --dataLength\n if (data.charCodeAt(dataLength - 1) === 0x003D) {\n --dataLength\n }\n }\n }\n\n // 3. If data’s code point length divides by 4 leaving\n // a remainder of 1, then return failure.\n if (dataLength % 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.length === dataLength ? data : data.substring(0, dataLength))) {\n return 'failure'\n }\n\n const buffer = Buffer.from(data, 'base64')\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength)\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’s\n // type, U+002F (/), and mimeType’s subtype.\n let serialization = essence\n\n // 2. For each name → value of mimeType’s 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 occurrence 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 {number} char\n */\nfunction isHTTPWhiteSpace (char) {\n // \"\\r\\n\\t \"\n return char === 0x00d || char === 0x00a || char === 0x009 || char === 0x020\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} str\n * @param {boolean} [leading=true]\n * @param {boolean} [trailing=true]\n */\nfunction removeHTTPWhitespace (str, leading = true, trailing = true) {\n return removeChars(str, leading, trailing, isHTTPWhiteSpace)\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n * @param {number} char\n */\nfunction isASCIIWhitespace (char) {\n // \"\\r\\n\\t\\f \"\n return char === 0x00d || char === 0x00a || char === 0x009 || char === 0x00c || char === 0x020\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace\n * @param {string} str\n * @param {boolean} [leading=true]\n * @param {boolean} [trailing=true]\n */\nfunction removeASCIIWhitespace (str, leading = true, trailing = true) {\n return removeChars(str, leading, trailing, isASCIIWhitespace)\n}\n\n/**\n * @param {string} str\n * @param {boolean} leading\n * @param {boolean} trailing\n * @param {(charCode: number) => boolean} predicate\n * @returns\n */\nfunction removeChars (str, leading, trailing, predicate) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n while (lead < str.length && predicate(str.charCodeAt(lead))) lead++\n }\n\n if (trailing) {\n while (trail > 0 && predicate(str.charCodeAt(trail))) trail--\n }\n\n return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1)\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-decode\n * @param {Uint8Array} input\n * @returns {string}\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’s length and whose code points have the same values\n // as the values of input’s bytes, in the same order.\n const length = input.length\n if ((2 << 15) - 1 > length) {\n return String.fromCharCode.apply(null, input)\n }\n let result = ''; let i = 0\n let addition = (2 << 15) - 1\n while (i < length) {\n if (i + addition > length) {\n addition = length - i\n }\n result += String.fromCharCode.apply(null, input.subarray(i, i += addition))\n }\n return result\n}\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#minimize-a-supported-mime-type\n * @param {Exclude, 'failure'>} mimeType\n */\nfunction minimizeSupportedMimeType (mimeType) {\n switch (mimeType.essence) {\n case 'application/ecmascript':\n case 'application/javascript':\n case 'application/x-ecmascript':\n case 'application/x-javascript':\n case 'text/ecmascript':\n case 'text/javascript':\n case 'text/javascript1.0':\n case 'text/javascript1.1':\n case 'text/javascript1.2':\n case 'text/javascript1.3':\n case 'text/javascript1.4':\n case 'text/javascript1.5':\n case 'text/jscript':\n case 'text/livescript':\n case 'text/x-ecmascript':\n case 'text/x-javascript':\n // 1. If mimeType is a JavaScript MIME type, then return \"text/javascript\".\n return 'text/javascript'\n case 'application/json':\n case 'text/json':\n // 2. If mimeType is a JSON MIME type, then return \"application/json\".\n return 'application/json'\n case 'image/svg+xml':\n // 3. If mimeType’s essence is \"image/svg+xml\", then return \"image/svg+xml\".\n return 'image/svg+xml'\n case 'text/xml':\n case 'application/xml':\n // 4. If mimeType is an XML MIME type, then return \"application/xml\".\n return 'application/xml'\n }\n\n // 2. If mimeType is a JSON MIME type, then return \"application/json\".\n if (mimeType.subtype.endsWith('+json')) {\n return 'application/json'\n }\n\n // 4. If mimeType is an XML MIME type, then return \"application/xml\".\n if (mimeType.subtype.endsWith('+xml')) {\n return 'application/xml'\n }\n\n // 5. If mimeType is supported by the user agent, then return mimeType’s essence.\n // Technically, node doesn't support any mimetypes.\n\n // 6. Return the empty string.\n return ''\n}\n\nmodule.exports = {\n dataURLProcessor,\n URLSerializer,\n collectASequenceOfCodePoints,\n collectASequenceOfCodePointsFast,\n stringPercentDecode,\n parseMIMEType,\n collectAnHTTPQuotedString,\n serializeAMimeType,\n removeChars,\n removeHTTPWhitespace,\n minimizeSupportedMimeType,\n HTTP_TOKEN_CODEPOINTS,\n isomorphicDecode\n}\n","'use strict'\n\nconst { types, inspect } = require('node:util')\nconst { markAsUncloneable } = require('node:worker_threads')\nconst { toUSVString } = require('../../core/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) {\n if (opts?.strict !== false) {\n if (!(V instanceof I)) {\n const err = new TypeError('Illegal invocation')\n err.code = 'ERR_INVALID_THIS' // node compat.\n throw err\n }\n } else {\n if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {\n const err = new TypeError('Illegal invocation')\n err.code = 'ERR_INVALID_THIS' // node compat.\n throw err\n }\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 header: 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\nwebidl.util.markAsUncloneable = markAsUncloneable || (() => {})\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 − 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 −2^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 − 1.\n upperBound = Math.pow(2, bitLength) - 1\n } else {\n // 3. Otherwise:\n\n // 1. Let lowerBound be -2^bitLength − 1.\n lowerBound = Math.pow(-2, bitLength) - 1\n\n // 2. Let upperBound be 2^bitLength − 1 − 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 −0, 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, +∞, or −∞, 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 ${webidl.util.Stringify(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 −0.\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, +∞, or −∞, 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 ≥ 2^bitLength − 1,\n // then return x − 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 × r.\n if (n < 0) {\n return -1 * r\n }\n\n // 3. Otherwise, return r.\n return r\n}\n\nwebidl.util.Stringify = function (V) {\n const type = webidl.util.Type(V)\n\n switch (type) {\n case 'Symbol':\n return `Symbol(${V.description})`\n case 'Object':\n return inspect(V)\n case 'String':\n return `\"${V}\"`\n default:\n return `${V}`\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-sequence\nwebidl.sequenceConverter = function (converter) {\n return (V, prefix, argument, Iterable) => {\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: prefix,\n message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`\n })\n }\n\n // 2. Let method be ? GetMethod(V, @@iterator).\n /** @type {Generator} */\n const method = typeof Iterable === 'function' ? Iterable() : V?.[Symbol.iterator]?.()\n const seq = []\n let index = 0\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: prefix,\n message: `${argument} is not iterable.`\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, prefix, `${argument}[${index++}]`))\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, prefix, argument) => {\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: prefix,\n message: `${argument} (\"${webidl.util.Type(O)}\") is not an Object.`\n })\n }\n\n // 2. Let result be a new empty instance of record.\n const result = {}\n\n if (!types.isProxy(O)) {\n // 1. Let desc be ? O.[[GetOwnProperty]](key).\n const keys = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(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, prefix, argument)\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], prefix, argument)\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, prefix, argument)\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], prefix, argument)\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, prefix, argument, opts) => {\n if (opts?.strict !== false && !(V instanceof i)) {\n throw webidl.errors.exception({\n header: prefix,\n message: `Expected ${argument} (\"${webidl.util.Stringify(V)}\") to be an instance of ${i.name}.`\n })\n }\n\n return V\n }\n}\n\nwebidl.dictionaryConverter = function (converters) {\n return (dictionary, prefix, argument) => {\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: prefix,\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 (!Object.hasOwn(dictionary, key)) {\n throw webidl.errors.exception({\n header: prefix,\n message: `Missing required key \"${key}\".`\n })\n }\n }\n\n let value = dictionary[key]\n const hasDefault = Object.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 ??= 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, prefix, `${argument}.${key}`)\n\n if (\n options.allowedValues &&\n !options.allowedValues.includes(value)\n ) {\n throw webidl.errors.exception({\n header: prefix,\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, prefix, argument) => {\n if (V === null) {\n return V\n }\n\n return converter(V, prefix, argument)\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-DOMString\nwebidl.converters.DOMString = function (V, prefix, argument, 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 webidl.errors.exception({\n header: prefix,\n message: `${argument} is a symbol, which cannot be converted to a DOMString.`\n })\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, prefix, argument) {\n // 1. Let x be ? ToString(V).\n // Note: DOMString converter perform ? ToString(V)\n const x = webidl.converters.DOMString(V, prefix, argument)\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 if (x.charCodeAt(index) > 255) {\n throw new TypeError(\n 'Cannot convert argument to a ByteString because the character at ' +\n `index ${index} has a value of ${x.charCodeAt(index)} 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\n// TODO: rewrite this so we can control the errors thrown\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, prefix, argument) {\n // 1. Let x be ? ConvertToInt(V, 64, \"signed\").\n const x = webidl.util.ConvertToInt(V, 64, 'signed', undefined, prefix, argument)\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, prefix, argument) {\n // 1. Let x be ? ConvertToInt(V, 64, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 64, 'unsigned', undefined, prefix, argument)\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, prefix, argument) {\n // 1. Let x be ? ConvertToInt(V, 32, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 32, 'unsigned', undefined, prefix, argument)\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, prefix, argument, opts) {\n // 1. Let x be ? ConvertToInt(V, 16, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts, prefix, argument)\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, prefix, argument, 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,\n argument: `${argument} (\"${webidl.util.Stringify(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 if (V.resizable || V.growable) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'Received a resizable ArrayBuffer.'\n })\n }\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, prefix, name, 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’s 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,\n argument: `${name} (\"${webidl.util.Stringify(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 if (V.buffer.resizable || V.buffer.growable) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'Received a resizable ArrayBuffer.'\n })\n }\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, prefix, name, 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: prefix,\n message: `${name} 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 if (V.buffer.resizable || V.buffer.growable) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'Received a resizable ArrayBuffer.'\n })\n }\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, prefix, name, opts) {\n if (types.isAnyArrayBuffer(V)) {\n return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false })\n }\n\n if (types.isTypedArray(V)) {\n return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false })\n }\n\n if (types.isDataView(V)) {\n return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false })\n }\n\n throw webidl.errors.conversionFailed({\n prefix,\n argument: `${name} (\"${webidl.util.Stringify(V)}\")`,\n types: ['BufferSource']\n })\n}\n\nwebidl.converters['sequence'] = webidl.sequenceConverter(\n webidl.converters.ByteString\n)\n\nwebidl.converters['sequence>'] = webidl.sequenceConverter(\n webidl.converters['sequence']\n)\n\nwebidl.converters['record'] = webidl.recordConverter(\n webidl.converters.ByteString,\n webidl.converters.ByteString\n)\n\nmodule.exports = {\n webidl\n}\n","'use strict'\n\nconst { Transform } = require('node:stream')\nconst zlib = require('node:zlib')\nconst { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require('./constants')\nconst { getGlobalOrigin } = require('./global')\nconst { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require('./data-url')\nconst { performance } = require('node:perf_hooks')\nconst { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require('../../core/util')\nconst assert = require('node:assert')\nconst { isUint8Array } = require('node:util/types')\nconst { webidl } = require('./webidl')\n\nlet supportedHashes = []\n\n// https://nodejs.org/api/crypto.html#determining-if-crypto-support-is-unavailable\n/** @type {import('crypto')} */\nlet crypto\ntry {\n crypto = require('node:crypto')\n const possibleRelevantHashes = ['sha256', 'sha384', 'sha512']\n supportedHashes = crypto.getHashes().filter((hash) => possibleRelevantHashes.includes(hash))\n/* c8 ignore next 3 */\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’s URL list and null if response’s 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’s status is not a redirect status, then return null.\n if (!redirectStatusSet.has(response.status)) {\n return null\n }\n\n // 2. Let location be the result of extracting header list values given\n // `Location` and response’s header list.\n let location = response.headersList.get('location', true)\n\n // 3. If location is a header value, then set location to the result of\n // parsing location with response’s URL.\n if (location !== null && isValidHeaderValue(location)) {\n if (!isValidEncodedURL(location)) {\n // Some websites respond location header in UTF-8 form without encoding them as ASCII\n // and major browsers redirect them to correctly UTF-8 encoded addresses.\n // Here, we handle that behavior in the same way.\n location = normalizeBinaryStringToUtf8(location)\n }\n location = new URL(location, responseURL(response))\n }\n\n // 4. If location is a URL whose fragment is null, then set location’s\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/**\n * @see https://www.rfc-editor.org/rfc/rfc1738#section-2.2\n * @param {string} url\n * @returns {boolean}\n */\nfunction isValidEncodedURL (url) {\n for (let i = 0; i < url.length; ++i) {\n const code = url.charCodeAt(i)\n\n if (\n code > 0x7E || // Non-US-ASCII + DEL\n code < 0x20 // Control characters NUL - US\n ) {\n return false\n }\n }\n return true\n}\n\n/**\n * If string contains non-ASCII characters, assumes it's UTF-8 encoded and decodes it.\n * Since UTF-8 is a superset of ASCII, this will work for ASCII strings as well.\n * @param {string} value\n * @returns {string}\n */\nfunction normalizeBinaryStringToUtf8 (value) {\n return Buffer.from(value, 'binary').toString('utf8')\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’s current URL.\n const url = requestCurrentURL(request)\n\n // 2. If url’s scheme is an HTTP(S) scheme and url’s port is a bad port,\n // then return blocked.\n if (urlIsHttpHttpsScheme(url) && badPortsSet.has(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\n/**\n * @see https://fetch.spec.whatwg.org/#header-name\n * @param {string} potentialValue\n */\nconst isValidHeaderName = isValidHTTPToken\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 return (\n potentialValue[0] === '\\t' ||\n potentialValue[0] === ' ' ||\n potentialValue[potentialValue.length - 1] === '\\t' ||\n potentialValue[potentialValue.length - 1] === ' ' ||\n potentialValue.includes('\\n') ||\n potentialValue.includes('\\r') ||\n potentialValue.includes('\\0')\n ) === false\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’s referrer policy according to the Referrer-Policy\n // header (if any) in actualResponse.\n\n // 1. Let policy be the result of executing § 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’s 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', true) ?? '').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.has(token)) {\n policy = token\n break\n }\n }\n }\n\n // 2. If policy is not the empty string, then set request’s 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’s 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’s value to r’s mode.\n header = httpRequest.mode\n\n // 4. Set a structured field value `Sec-Fetch-Mode`/header in r’s header list.\n httpRequest.headersList.set('sec-fetch-mode', header, true)\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\n // with request.\n // TODO: implement \"byte-serializing a request origin\"\n let serializedOrigin = request.origin\n\n // - \"'client' is changed to an origin during fetching.\"\n // This doesn't happen in undici (in most cases) because undici, by default,\n // has no concept of origin.\n // - request.origin can also be set to request.client.origin (client being\n // an environment settings object), which is undefined without using\n // setGlobalOrigin.\n if (serializedOrigin === 'client' || serializedOrigin === undefined) {\n return\n }\n\n // 2. If request’s response tainting is \"cors\" or request’s mode is \"websocket\",\n // then append (`Origin`, serializedOrigin) to request’s header list.\n // 3. Otherwise, if request’s method is neither `GET` nor `HEAD`, then:\n if (request.responseTainting === 'cors' || request.mode === 'websocket') {\n request.headersList.append('origin', serializedOrigin, true)\n } else if (request.method !== 'GET' && request.method !== 'HEAD') {\n // 1. Switch on request’s 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’s origin is a tuple origin, its scheme is \"https\", and\n // request’s current URL’s scheme is not \"https\", then set\n // 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’s origin is not same origin with request’s current URL’s\n // 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 // 2. Append (`Origin`, serializedOrigin) to request’s header list.\n request.headersList.append('origin', serializedOrigin, true)\n }\n}\n\n// https://w3c.github.io/hr-time/#dfn-coarsen-time\nfunction coarsenTime (timestamp, crossOriginIsolatedCapability) {\n // TODO\n return timestamp\n}\n\n// https://fetch.spec.whatwg.org/#clamp-and-coarsen-connection-timing-info\nfunction clampAndCoarsenConnectionTimingInfo (connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {\n if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {\n return {\n domainLookupStartTime: defaultStartTime,\n domainLookupEndTime: defaultStartTime,\n connectionStartTime: defaultStartTime,\n connectionEndTime: defaultStartTime,\n secureConnectionStartTime: defaultStartTime,\n ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol\n }\n }\n\n return {\n domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),\n domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),\n connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),\n connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),\n secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),\n ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol\n }\n}\n\n// https://w3c.github.io/hr-time/#dfn-coarsened-shared-current-time\nfunction coarsenedSharedCurrentTime (crossOriginIsolatedCapability) {\n return coarsenTime(performance.now(), crossOriginIsolatedCapability)\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’s client.\n\n let referrerSource = null\n\n // 3. Switch on request’s 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’s referrer.\n referrerSource = request.referrer\n }\n\n // 4. Let request’s 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’s 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’s\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’s 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’s 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 url = new URL(url)\n\n // 2. If url’s 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’s username to the empty string.\n url.username = ''\n\n // 4. Set url’s password to the empty string.\n url.password = ''\n\n // 5. Set url’s fragment to null.\n url.hash = ''\n\n // 6. If the origin-only flag is true, then:\n if (originOnly) {\n // 1. Set url’s path to « the empty string ».\n url.pathname = ''\n\n // 2. Set url’s 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 response is not eligible for integrity validation, return false.\n // TODO\n\n // 4. If parsedMetadata is the empty set, return true.\n if (parsedMetadata.length === 0) {\n return true\n }\n\n // 5. Let metadata be the result of getting the strongest\n // metadata from parsedMetadata.\n const strongest = getStrongestMetadata(parsedMetadata)\n const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest)\n\n // 6. 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 // See https://github.com/web-platform-tests/wpt/commit/e4c5cc7a5e48093220528dfdd1c4012dc3837a0e\n // \"be liberal with padding\". This is annoying, and it's not even in the spec.\n\n // 3. Let actualValue be the result of applying algorithm to bytes.\n let actualValue = crypto.createHash(algorithm).update(bytes).digest('base64')\n\n if (actualValue[actualValue.length - 1] === '=') {\n if (actualValue[actualValue.length - 2] === '=') {\n actualValue = actualValue.slice(0, -2)\n } else {\n actualValue = actualValue.slice(0, -1)\n }\n }\n\n // 4. If actualValue is a case-sensitive match for expectedValue,\n // return true.\n if (compareBase64Mixed(actualValue, expectedValue)) {\n return true\n }\n }\n\n // 7. 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 = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\\s|$)( +[!-~]*)?)?/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 // 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 (\n parsedToken === null ||\n parsedToken.groups === undefined ||\n parsedToken.groups.algo === undefined\n ) {\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.toLowerCase()\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)) {\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/**\n * @param {{ algo: 'sha256' | 'sha384' | 'sha512' }[]} metadataList\n */\nfunction getStrongestMetadata (metadataList) {\n // Let algorithm be the algo component of the first item in metadataList.\n // Can be sha256\n let algorithm = metadataList[0].algo\n // If the algorithm is sha512, then it is the strongest\n // and we can return immediately\n if (algorithm[3] === '5') {\n return algorithm\n }\n\n for (let i = 1; i < metadataList.length; ++i) {\n const metadata = metadataList[i]\n // If the algorithm is sha512, then it is the strongest\n // and we can break the loop immediately\n if (metadata.algo[3] === '5') {\n algorithm = 'sha512'\n break\n // If the algorithm is sha384, then a potential sha256 or sha384 is ignored\n } else if (algorithm[3] === '3') {\n continue\n // algorithm is sha256, check if algorithm is sha384 and if so, set it as\n // the strongest\n } else if (metadata.algo[3] === '3') {\n algorithm = 'sha384'\n }\n }\n return algorithm\n}\n\nfunction filterMetadataListByAlgorithm (metadataList, algorithm) {\n if (metadataList.length === 1) {\n return metadataList\n }\n\n let pos = 0\n for (let i = 0; i < metadataList.length; ++i) {\n if (metadataList[i].algo === algorithm) {\n metadataList[pos++] = metadataList[i]\n }\n }\n\n metadataList.length = pos\n\n return metadataList\n}\n\n/**\n * Compares two base64 strings, allowing for base64url\n * in the second string.\n *\n* @param {string} actualValue always base64\n * @param {string} expectedValue base64 or base64url\n * @returns {boolean}\n */\nfunction compareBase64Mixed (actualValue, expectedValue) {\n if (actualValue.length !== expectedValue.length) {\n return false\n }\n for (let i = 0; i < actualValue.length; ++i) {\n if (actualValue[i] !== expectedValue[i]) {\n if (\n (actualValue[i] === '+' && expectedValue[i] === '-') ||\n (actualValue[i] === '/' && expectedValue[i] === '_')\n ) {\n continue\n }\n return false\n }\n }\n\n return true\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/**\n * @see https://fetch.spec.whatwg.org/#concept-method-normalize\n * @param {string} method\n */\nfunction normalizeMethod (method) {\n return normalizedMethodRecordsBase[method.toLowerCase()] ?? 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, « value »).\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 {string} name name of the instance\n * @param {symbol} kInternalIterator\n * @param {string | number} [keyIndex]\n * @param {string | number} [valueIndex]\n */\nfunction createIterator (name, kInternalIterator, keyIndex = 0, valueIndex = 1) {\n class FastIterableIterator {\n /** @type {any} */\n #target\n /** @type {'key' | 'value' | 'key+value'} */\n #kind\n /** @type {number} */\n #index\n\n /**\n * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object\n * @param {unknown} target\n * @param {'key' | 'value' | 'key+value'} kind\n */\n constructor (target, kind) {\n this.#target = target\n this.#kind = kind\n this.#index = 0\n }\n\n next () {\n // 1. Let interface be the interface for which the iterator prototype object exists.\n // 2. Let thisValue be the this value.\n // 3. Let object be ? ToObject(thisValue).\n // 4. If object is a platform object, then perform a security\n // check, passing:\n // 5. If object is not a default iterator object for interface,\n // then throw a TypeError.\n if (typeof this !== 'object' || this === null || !(#target in this)) {\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’s index.\n // 7. Let kind be object’s kind.\n // 8. Let values be object’s target's value pairs to iterate over.\n const index = this.#index\n const values = this.#target[kInternalIterator]\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 {\n value: undefined,\n done: true\n }\n }\n\n // 11. Let pair be the entry in values at index index.\n const { [keyIndex]: key, [valueIndex]: value } = values[index]\n\n // 12. Set object’s index to index + 1.\n this.#index = index + 1\n\n // 13. Return the iterator result for pair and kind.\n\n // https://webidl.spec.whatwg.org/#iterator-result\n\n // 1. Let result be a value determined by the value of kind:\n let result\n switch (this.#kind) {\n case 'key':\n // 1. Let idlKey be pair’s key.\n // 2. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 3. result is key.\n result = key\n break\n case 'value':\n // 1. Let idlValue be pair’s value.\n // 2. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 3. result is value.\n result = value\n break\n case 'key+value':\n // 1. Let idlKey be pair’s key.\n // 2. Let idlValue be pair’s 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 = [key, value]\n break\n }\n\n // 2. Return CreateIterResultObject(result, false).\n return {\n value: result,\n done: false\n }\n }\n }\n\n // https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object\n // @ts-ignore\n delete FastIterableIterator.prototype.constructor\n\n Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype)\n\n Object.defineProperties(FastIterableIterator.prototype, {\n [Symbol.toStringTag]: {\n writable: false,\n enumerable: false,\n configurable: true,\n value: `${name} Iterator`\n },\n next: { writable: true, enumerable: true, configurable: true }\n })\n\n /**\n * @param {unknown} target\n * @param {'key' | 'value' | 'key+value'} kind\n * @returns {IterableIterator}\n */\n return function (target, kind) {\n return new FastIterableIterator(target, kind)\n }\n}\n\n/**\n * @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object\n * @param {string} name name of the instance\n * @param {any} object class\n * @param {symbol} kInternalIterator\n * @param {string | number} [keyIndex]\n * @param {string | number} [valueIndex]\n */\nfunction iteratorMixin (name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {\n const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex)\n\n const properties = {\n keys: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function keys () {\n webidl.brandCheck(this, object)\n return makeIterator(this, 'key')\n }\n },\n values: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function values () {\n webidl.brandCheck(this, object)\n return makeIterator(this, 'value')\n }\n },\n entries: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function entries () {\n webidl.brandCheck(this, object)\n return makeIterator(this, 'key+value')\n }\n },\n forEach: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function forEach (callbackfn, thisArg = globalThis) {\n webidl.brandCheck(this, object)\n webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`)\n if (typeof callbackfn !== 'function') {\n throw new TypeError(\n `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`\n )\n }\n for (const { 0: key, 1: value } of makeIterator(this, 'key+value')) {\n callbackfn.call(thisArg, value, key, this)\n }\n }\n }\n }\n\n return Object.defineProperties(object.prototype, {\n ...properties,\n [Symbol.iterator]: {\n writable: true,\n enumerable: false,\n configurable: true,\n value: properties.entries.value\n }\n })\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#body-fully-read\n */\nasync function 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 = processBody\n\n // 3. Let errorSteps be to queue a fetch task to run processBodyError,\n // with taskDestination.\n const errorSteps = processBodyError\n\n // 4. Let reader be the result of getting a reader for body’s 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 try {\n successSteps(await readAllBytes(reader))\n } catch (e) {\n errorSteps(e)\n }\n}\n\nfunction isReadableStreamLike (stream) {\n return stream instanceof ReadableStream || (\n stream[Symbol.toStringTag] === 'ReadableStream' &&\n typeof stream.tee === 'function'\n )\n}\n\n/**\n * @param {ReadableStreamController} controller\n */\nfunction readableStreamClose (controller) {\n try {\n controller.close()\n controller.byobRequest?.respond(0)\n } catch (err) {\n // TODO: add comment explaining why this error occurs.\n if (!err.message.includes('Controller is already closed') && !err.message.includes('ReadableStream is already closed')) {\n throw err\n }\n }\n}\n\nconst invalidIsomorphicEncodeValueRegex = /[^\\x00-\\xFF]/ // eslint-disable-line\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 assert(!invalidIsomorphicEncodeValueRegex.test(input))\n\n // 2. Return a byte sequence whose length is equal to input’s code\n // point length and whose bytes have the same values as the\n // values of input’s 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 */\nasync function readAllBytes (reader) {\n const bytes = []\n let byteLength = 0\n\n while (true) {\n const { done, value: chunk } = await reader.read()\n\n if (done) {\n // 1. Call successSteps with bytes.\n return Buffer.concat(bytes, byteLength)\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 throw new TypeError('Received non-Uint8Array chunk')\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 * @returns {boolean}\n */\nfunction urlHasHttpsScheme (url) {\n return (\n (\n typeof url === 'string' &&\n url[5] === ':' &&\n url[0] === 'h' &&\n url[1] === 't' &&\n url[2] === 't' &&\n url[3] === 'p' &&\n url[4] === 's'\n ) ||\n url.protocol === 'https:'\n )\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 * @see https://fetch.spec.whatwg.org/#simple-range-header-value\n * @param {string} value\n * @param {boolean} allowWhitespace\n */\nfunction simpleRangeHeaderValue (value, allowWhitespace) {\n // 1. Let data be the isomorphic decoding of value.\n // Note: isomorphic decoding takes a sequence of bytes (ie. a Uint8Array) and turns it into a string,\n // nothing more. We obviously don't need to do that if value is a string already.\n const data = value\n\n // 2. If data does not start with \"bytes\", then return failure.\n if (!data.startsWith('bytes')) {\n return 'failure'\n }\n\n // 3. Let position be a position variable for data, initially pointing at the 5th code point of data.\n const position = { position: 5 }\n\n // 4. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space,\n // from data given position.\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 5. If the code point at position within data is not U+003D (=), then return failure.\n if (data.charCodeAt(position.position) !== 0x3D) {\n return 'failure'\n }\n\n // 6. Advance position by 1.\n position.position++\n\n // 7. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space, from\n // data given position.\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 8. Let rangeStart be the result of collecting a sequence of code points that are ASCII digits,\n // from data given position.\n const rangeStart = collectASequenceOfCodePoints(\n (char) => {\n const code = char.charCodeAt(0)\n\n return code >= 0x30 && code <= 0x39\n },\n data,\n position\n )\n\n // 9. Let rangeStartValue be rangeStart, interpreted as decimal number, if rangeStart is not the\n // empty string; otherwise null.\n const rangeStartValue = rangeStart.length ? Number(rangeStart) : null\n\n // 10. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space,\n // from data given position.\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 11. If the code point at position within data is not U+002D (-), then return failure.\n if (data.charCodeAt(position.position) !== 0x2D) {\n return 'failure'\n }\n\n // 12. Advance position by 1.\n position.position++\n\n // 13. If allowWhitespace is true, collect a sequence of code points that are HTTP tab\n // or space, from data given position.\n // Note from Khafra: its the same step as in #8 again lol\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 14. Let rangeEnd be the result of collecting a sequence of code points that are\n // ASCII digits, from data given position.\n // Note from Khafra: you wouldn't guess it, but this is also the same step as #8\n const rangeEnd = collectASequenceOfCodePoints(\n (char) => {\n const code = char.charCodeAt(0)\n\n return code >= 0x30 && code <= 0x39\n },\n data,\n position\n )\n\n // 15. Let rangeEndValue be rangeEnd, interpreted as decimal number, if rangeEnd\n // is not the empty string; otherwise null.\n // Note from Khafra: THE SAME STEP, AGAIN!!!\n // Note: why interpret as a decimal if we only collect ascii digits?\n const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null\n\n // 16. If position is not past the end of data, then return failure.\n if (position.position < data.length) {\n return 'failure'\n }\n\n // 17. If rangeEndValue and rangeStartValue are null, then return failure.\n if (rangeEndValue === null && rangeStartValue === null) {\n return 'failure'\n }\n\n // 18. If rangeStartValue and rangeEndValue are numbers, and rangeStartValue is\n // greater than rangeEndValue, then return failure.\n // Note: ... when can they not be numbers?\n if (rangeStartValue > rangeEndValue) {\n return 'failure'\n }\n\n // 19. Return (rangeStartValue, rangeEndValue).\n return { rangeStartValue, rangeEndValue }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#build-a-content-range\n * @param {number} rangeStart\n * @param {number} rangeEnd\n * @param {number} fullLength\n */\nfunction buildContentRange (rangeStart, rangeEnd, fullLength) {\n // 1. Let contentRange be `bytes `.\n let contentRange = 'bytes '\n\n // 2. Append rangeStart, serialized and isomorphic encoded, to contentRange.\n contentRange += isomorphicEncode(`${rangeStart}`)\n\n // 3. Append 0x2D (-) to contentRange.\n contentRange += '-'\n\n // 4. Append rangeEnd, serialized and isomorphic encoded to contentRange.\n contentRange += isomorphicEncode(`${rangeEnd}`)\n\n // 5. Append 0x2F (/) to contentRange.\n contentRange += '/'\n\n // 6. Append fullLength, serialized and isomorphic encoded to contentRange.\n contentRange += isomorphicEncode(`${fullLength}`)\n\n // 7. Return contentRange.\n return contentRange\n}\n\n// A Stream, which pipes the response to zlib.createInflate() or\n// zlib.createInflateRaw() depending on the first byte of the Buffer.\n// If the lower byte of the first byte is 0x08, then the stream is\n// interpreted as a zlib stream, otherwise it's interpreted as a\n// raw deflate stream.\nclass InflateStream extends Transform {\n #zlibOptions\n\n /** @param {zlib.ZlibOptions} [zlibOptions] */\n constructor (zlibOptions) {\n super()\n this.#zlibOptions = zlibOptions\n }\n\n _transform (chunk, encoding, callback) {\n if (!this._inflateStream) {\n if (chunk.length === 0) {\n callback()\n return\n }\n this._inflateStream = (chunk[0] & 0x0F) === 0x08\n ? zlib.createInflate(this.#zlibOptions)\n : zlib.createInflateRaw(this.#zlibOptions)\n\n this._inflateStream.on('data', this.push.bind(this))\n this._inflateStream.on('end', () => this.push(null))\n this._inflateStream.on('error', (err) => this.destroy(err))\n }\n\n this._inflateStream.write(chunk, encoding, callback)\n }\n\n _final (callback) {\n if (this._inflateStream) {\n this._inflateStream.end()\n this._inflateStream = null\n }\n callback()\n }\n}\n\n/**\n * @param {zlib.ZlibOptions} [zlibOptions]\n * @returns {InflateStream}\n */\nfunction createInflate (zlibOptions) {\n return new InflateStream(zlibOptions)\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-header-extract-mime-type\n * @param {import('./headers').HeadersList} headers\n */\nfunction extractMimeType (headers) {\n // 1. Let charset be null.\n let charset = null\n\n // 2. Let essence be null.\n let essence = null\n\n // 3. Let mimeType be null.\n let mimeType = null\n\n // 4. Let values be the result of getting, decoding, and splitting `Content-Type` from headers.\n const values = getDecodeSplit('content-type', headers)\n\n // 5. If values is null, then return failure.\n if (values === null) {\n return 'failure'\n }\n\n // 6. For each value of values:\n for (const value of values) {\n // 6.1. Let temporaryMimeType be the result of parsing value.\n const temporaryMimeType = parseMIMEType(value)\n\n // 6.2. If temporaryMimeType is failure or its essence is \"*/*\", then continue.\n if (temporaryMimeType === 'failure' || temporaryMimeType.essence === '*/*') {\n continue\n }\n\n // 6.3. Set mimeType to temporaryMimeType.\n mimeType = temporaryMimeType\n\n // 6.4. If mimeType’s essence is not essence, then:\n if (mimeType.essence !== essence) {\n // 6.4.1. Set charset to null.\n charset = null\n\n // 6.4.2. If mimeType’s parameters[\"charset\"] exists, then set charset to\n // mimeType’s parameters[\"charset\"].\n if (mimeType.parameters.has('charset')) {\n charset = mimeType.parameters.get('charset')\n }\n\n // 6.4.3. Set essence to mimeType’s essence.\n essence = mimeType.essence\n } else if (!mimeType.parameters.has('charset') && charset !== null) {\n // 6.5. Otherwise, if mimeType’s parameters[\"charset\"] does not exist, and\n // charset is non-null, set mimeType’s parameters[\"charset\"] to charset.\n mimeType.parameters.set('charset', charset)\n }\n }\n\n // 7. If mimeType is null, then return failure.\n if (mimeType == null) {\n return 'failure'\n }\n\n // 8. Return mimeType.\n return mimeType\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#header-value-get-decode-and-split\n * @param {string|null} value\n */\nfunction gettingDecodingSplitting (value) {\n // 1. Let input be the result of isomorphic decoding value.\n const input = value\n\n // 2. Let position be a position variable for input, initially pointing at the start of input.\n const position = { position: 0 }\n\n // 3. Let values be a list of strings, initially empty.\n const values = []\n\n // 4. Let temporaryValue be the empty string.\n let temporaryValue = ''\n\n // 5. While position is not past the end of input:\n while (position.position < input.length) {\n // 5.1. Append the result of collecting a sequence of code points that are not U+0022 (\")\n // or U+002C (,) from input, given position, to temporaryValue.\n temporaryValue += collectASequenceOfCodePoints(\n (char) => char !== '\"' && char !== ',',\n input,\n position\n )\n\n // 5.2. If position is not past the end of input, then:\n if (position.position < input.length) {\n // 5.2.1. If the code point at position within input is U+0022 (\"), then:\n if (input.charCodeAt(position.position) === 0x22) {\n // 5.2.1.1. Append the result of collecting an HTTP quoted string from input, given position, to temporaryValue.\n temporaryValue += collectAnHTTPQuotedString(\n input,\n position\n )\n\n // 5.2.1.2. If position is not past the end of input, then continue.\n if (position.position < input.length) {\n continue\n }\n } else {\n // 5.2.2. Otherwise:\n\n // 5.2.2.1. Assert: the code point at position within input is U+002C (,).\n assert(input.charCodeAt(position.position) === 0x2C)\n\n // 5.2.2.2. Advance position by 1.\n position.position++\n }\n }\n\n // 5.3. Remove all HTTP tab or space from the start and end of temporaryValue.\n temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 0x9 || char === 0x20)\n\n // 5.4. Append temporaryValue to values.\n values.push(temporaryValue)\n\n // 5.6. Set temporaryValue to the empty string.\n temporaryValue = ''\n }\n\n // 6. Return values.\n return values\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-get-decode-split\n * @param {string} name lowercase header name\n * @param {import('./headers').HeadersList} list\n */\nfunction getDecodeSplit (name, list) {\n // 1. Let value be the result of getting name from list.\n const value = list.get(name, true)\n\n // 2. If value is null, then return null.\n if (value === null) {\n return null\n }\n\n // 3. Return the result of getting, decoding, and splitting value.\n return gettingDecodingSplitting(value)\n}\n\nconst textDecoder = new TextDecoder()\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’s\n // decoder, ioQueue, output, and \"replacement\".\n const output = textDecoder.decode(buffer)\n\n // 4. Return output.\n return output\n}\n\nclass EnvironmentSettingsObjectBase {\n get baseUrl () {\n return getGlobalOrigin()\n }\n\n get origin () {\n return this.baseUrl?.origin\n }\n\n policyContainer = makePolicyContainer()\n}\n\nclass EnvironmentSettingsObject {\n settingsObject = new EnvironmentSettingsObjectBase()\n}\n\nconst environmentSettingsObject = new EnvironmentSettingsObject()\n\nmodule.exports = {\n isAborted,\n isCancelled,\n isValidEncodedURL,\n createDeferredPromise,\n ReadableStreamFrom,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n clampAndCoarsenConnectionTimingInfo,\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 iteratorMixin,\n createIterator,\n isValidHeaderName,\n isValidHeaderValue,\n isErrorLike,\n fullyReadBody,\n bytesMatch,\n isReadableStreamLike,\n readableStreamClose,\n isomorphicEncode,\n urlIsLocal,\n urlHasHttpsScheme,\n urlIsHttpHttpsScheme,\n readAllBytes,\n simpleRangeHeaderValue,\n buildContentRange,\n parseMetadata,\n createInflate,\n extractMimeType,\n getDecodeSplit,\n utf8DecodeBytes,\n environmentSettingsObject\n}\n","'use strict'\n\nmodule.exports = {\n kUrl: Symbol('url'),\n kHeaders: Symbol('headers'),\n kSignal: Symbol('signal'),\n kState: Symbol('state'),\n kDispatcher: Symbol('dispatcher')\n}\n","'use strict'\n\nconst { Blob, File } = require('node:buffer')\nconst { kState } = require('./symbols')\nconst { webidl } = require('./webidl')\n\n// TODO(@KhafraDev): remove\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\nwebidl.converters.Blob = webidl.interfaceConverter(Blob)\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 (object instanceof File) ||\n (\n object &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n object[Symbol.toStringTag] === 'File'\n )\n )\n}\n\nmodule.exports = { FileLike, isFileLike }\n","'use strict'\n\nconst { isBlobLike, iteratorMixin } = require('./util')\nconst { kState } = require('./symbols')\nconst { kEnumerableProperty } = require('../../core/util')\nconst { FileLike, isFileLike } = require('./file')\nconst { webidl } = require('./webidl')\nconst { File: NativeFile } = require('node:buffer')\nconst nodeUtil = require('node:util')\n\n/** @type {globalThis['File']} */\nconst File = globalThis.File ?? NativeFile\n\n// https://xhr.spec.whatwg.org/#formdata\nclass FormData {\n constructor (form) {\n webidl.util.markAsUncloneable(this)\n\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 const prefix = 'FormData.append'\n webidl.argumentLengthCheck(arguments, 2, prefix)\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, prefix, 'name')\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, prefix, 'value', { strict: false })\n : webidl.converters.USVString(value, prefix, 'value')\n filename = arguments.length === 3\n ? webidl.converters.USVString(filename, prefix, '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’s entry list.\n this[kState].push(entry)\n }\n\n delete (name) {\n webidl.brandCheck(this, FormData)\n\n const prefix = 'FormData.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // The delete(name) method steps are to remove all entries whose name\n // is name from this’s entry list.\n this[kState] = this[kState].filter(entry => entry.name !== name)\n }\n\n get (name) {\n webidl.brandCheck(this, FormData)\n\n const prefix = 'FormData.get'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // 1. If there is no entry whose name is name in this’s 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’s entry list.\n return this[kState][idx].value\n }\n\n getAll (name) {\n webidl.brandCheck(this, FormData)\n\n const prefix = 'FormData.getAll'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // 1. If there is no entry whose name is name in this’s 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’s 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 const prefix = 'FormData.has'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // The has(name) method steps are to return true if there is an entry\n // whose name is name in this’s 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 const prefix = 'FormData.set'\n webidl.argumentLengthCheck(arguments, 2, prefix)\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, prefix, 'name')\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, prefix, 'name', { strict: false })\n : webidl.converters.USVString(value, prefix, 'name')\n filename = arguments.length === 3\n ? webidl.converters.USVString(filename, prefix, 'name')\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’s 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’s entry list.\n this[kState].push(entry)\n }\n }\n\n [nodeUtil.inspect.custom] (depth, options) {\n const state = this[kState].reduce((a, b) => {\n if (a[b.name]) {\n if (Array.isArray(a[b.name])) {\n a[b.name].push(b.value)\n } else {\n a[b.name] = [a[b.name], b.value]\n }\n } else {\n a[b.name] = b.value\n }\n\n return a\n }, { __proto__: null })\n\n options.depth ??= depth\n options.colors ??= true\n\n const output = nodeUtil.formatWithOptions(options, state)\n\n // remove [Object null prototype]\n return `FormData ${output.slice(output.indexOf(']') + 2)}`\n }\n}\n\niteratorMixin('FormData', FormData, kState, 'name', 'value')\n\nObject.defineProperties(FormData.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n getAll: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\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 // Note: This operation was done by the webidl converter USVString.\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 // Note: This operation was done by the webidl converter USVString.\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 = value instanceof NativeFile\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, makeEntry }\n","'use strict'\n\nconst { isUSVString, bufferToLowerCasedHeaderName } = require('../../core/util')\nconst { utf8DecodeBytes } = require('./util')\nconst { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require('./data-url')\nconst { isFileLike } = require('./file')\nconst { makeEntry } = require('./formdata')\nconst assert = require('node:assert')\nconst { File: NodeFile } = require('node:buffer')\n\nconst File = globalThis.File ?? NodeFile\n\nconst formDataNameBuffer = Buffer.from('form-data; name=\"')\nconst filenameBuffer = Buffer.from('; filename')\nconst dd = Buffer.from('--')\nconst ddcrlf = Buffer.from('--\\r\\n')\n\n/**\n * @param {string} chars\n */\nfunction isAsciiString (chars) {\n for (let i = 0; i < chars.length; ++i) {\n if ((chars.charCodeAt(i) & ~0x7F) !== 0) {\n return false\n }\n }\n return true\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-boundary\n * @param {string} boundary\n */\nfunction validateBoundary (boundary) {\n const length = boundary.length\n\n // - its length is greater or equal to 27 and lesser or equal to 70, and\n if (length < 27 || length > 70) {\n return false\n }\n\n // - it is composed by bytes in the ranges 0x30 to 0x39, 0x41 to 0x5A, or\n // 0x61 to 0x7A, inclusive (ASCII alphanumeric), or which are 0x27 ('),\n // 0x2D (-) or 0x5F (_).\n for (let i = 0; i < length; ++i) {\n const cp = boundary.charCodeAt(i)\n\n if (!(\n (cp >= 0x30 && cp <= 0x39) ||\n (cp >= 0x41 && cp <= 0x5a) ||\n (cp >= 0x61 && cp <= 0x7a) ||\n cp === 0x27 ||\n cp === 0x2d ||\n cp === 0x5f\n )) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-parser\n * @param {Buffer} input\n * @param {ReturnType} mimeType\n */\nfunction multipartFormDataParser (input, mimeType) {\n // 1. Assert: mimeType’s essence is \"multipart/form-data\".\n assert(mimeType !== 'failure' && mimeType.essence === 'multipart/form-data')\n\n const boundaryString = mimeType.parameters.get('boundary')\n\n // 2. If mimeType’s parameters[\"boundary\"] does not exist, return failure.\n // Otherwise, let boundary be the result of UTF-8 decoding mimeType’s\n // parameters[\"boundary\"].\n if (boundaryString === undefined) {\n return 'failure'\n }\n\n const boundary = Buffer.from(`--${boundaryString}`, 'utf8')\n\n // 3. Let entry list be an empty entry list.\n const entryList = []\n\n // 4. Let position be a pointer to a byte in input, initially pointing at\n // the first byte.\n const position = { position: 0 }\n\n // Note: undici addition, allows leading and trailing CRLFs.\n while (input[position.position] === 0x0d && input[position.position + 1] === 0x0a) {\n position.position += 2\n }\n\n let trailing = input.length\n\n while (input[trailing - 1] === 0x0a && input[trailing - 2] === 0x0d) {\n trailing -= 2\n }\n\n if (trailing !== input.length) {\n input = input.subarray(0, trailing)\n }\n\n // 5. While true:\n while (true) {\n // 5.1. If position points to a sequence of bytes starting with 0x2D 0x2D\n // (`--`) followed by boundary, advance position by 2 + the length of\n // boundary. Otherwise, return failure.\n // Note: boundary is padded with 2 dashes already, no need to add 2.\n if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {\n position.position += boundary.length\n } else {\n return 'failure'\n }\n\n // 5.2. If position points to the sequence of bytes 0x2D 0x2D 0x0D 0x0A\n // (`--` followed by CR LF) followed by the end of input, return entry list.\n // Note: a body does NOT need to end with CRLF. It can end with --.\n if (\n (position.position === input.length - 2 && bufferStartsWith(input, dd, position)) ||\n (position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position))\n ) {\n return entryList\n }\n\n // 5.3. If position does not point to a sequence of bytes starting with 0x0D\n // 0x0A (CR LF), return failure.\n if (input[position.position] !== 0x0d || input[position.position + 1] !== 0x0a) {\n return 'failure'\n }\n\n // 5.4. Advance position by 2. (This skips past the newline.)\n position.position += 2\n\n // 5.5. Let name, filename and contentType be the result of parsing\n // multipart/form-data headers on input and position, if the result\n // is not failure. Otherwise, return failure.\n const result = parseMultipartFormDataHeaders(input, position)\n\n if (result === 'failure') {\n return 'failure'\n }\n\n let { name, filename, contentType, encoding } = result\n\n // 5.6. Advance position by 2. (This skips past the empty line that marks\n // the end of the headers.)\n position.position += 2\n\n // 5.7. Let body be the empty byte sequence.\n let body\n\n // 5.8. Body loop: While position is not past the end of input:\n // TODO: the steps here are completely wrong\n {\n const boundaryIndex = input.indexOf(boundary.subarray(2), position.position)\n\n if (boundaryIndex === -1) {\n return 'failure'\n }\n\n body = input.subarray(position.position, boundaryIndex - 4)\n\n position.position += body.length\n\n // Note: position must be advanced by the body's length before being\n // decoded, otherwise the parsing will fail.\n if (encoding === 'base64') {\n body = Buffer.from(body.toString(), 'base64')\n }\n }\n\n // 5.9. If position does not point to a sequence of bytes starting with\n // 0x0D 0x0A (CR LF), return failure. Otherwise, advance position by 2.\n if (input[position.position] !== 0x0d || input[position.position + 1] !== 0x0a) {\n return 'failure'\n } else {\n position.position += 2\n }\n\n // 5.10. If filename is not null:\n let value\n\n if (filename !== null) {\n // 5.10.1. If contentType is null, set contentType to \"text/plain\".\n contentType ??= 'text/plain'\n\n // 5.10.2. If contentType is not an ASCII string, set contentType to the empty string.\n\n // Note: `buffer.isAscii` can be used at zero-cost, but converting a string to a buffer is a high overhead.\n // Content-Type is a relatively small string, so it is faster to use `String#charCodeAt`.\n if (!isAsciiString(contentType)) {\n contentType = ''\n }\n\n // 5.10.3. Let value be a new File object with name filename, type contentType, and body body.\n value = new File([body], filename, { type: contentType })\n } else {\n // 5.11. Otherwise:\n\n // 5.11.1. Let value be the UTF-8 decoding without BOM of body.\n value = utf8DecodeBytes(Buffer.from(body))\n }\n\n // 5.12. Assert: name is a scalar value string and value is either a scalar value string or a File object.\n assert(isUSVString(name))\n assert((typeof value === 'string' && isUSVString(value)) || isFileLike(value))\n\n // 5.13. Create an entry with name and value, and append it to entry list.\n entryList.push(makeEntry(name, value, filename))\n }\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#parse-multipart-form-data-headers\n * @param {Buffer} input\n * @param {{ position: number }} position\n */\nfunction parseMultipartFormDataHeaders (input, position) {\n // 1. Let name, filename and contentType be null.\n let name = null\n let filename = null\n let contentType = null\n let encoding = null\n\n // 2. While true:\n while (true) {\n // 2.1. If position points to a sequence of bytes starting with 0x0D 0x0A (CR LF):\n if (input[position.position] === 0x0d && input[position.position + 1] === 0x0a) {\n // 2.1.1. If name is null, return failure.\n if (name === null) {\n return 'failure'\n }\n\n // 2.1.2. Return name, filename and contentType.\n return { name, filename, contentType, encoding }\n }\n\n // 2.2. Let header name be the result of collecting a sequence of bytes that are\n // not 0x0A (LF), 0x0D (CR) or 0x3A (:), given position.\n let headerName = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d && char !== 0x3a,\n input,\n position\n )\n\n // 2.3. Remove any HTTP tab or space bytes from the start or end of header name.\n headerName = removeChars(headerName, true, true, (char) => char === 0x9 || char === 0x20)\n\n // 2.4. If header name does not match the field-name token production, return failure.\n if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {\n return 'failure'\n }\n\n // 2.5. If the byte at position is not 0x3A (:), return failure.\n if (input[position.position] !== 0x3a) {\n return 'failure'\n }\n\n // 2.6. Advance position by 1.\n position.position++\n\n // 2.7. Collect a sequence of bytes that are HTTP tab or space bytes given position.\n // (Do nothing with those bytes.)\n collectASequenceOfBytes(\n (char) => char === 0x20 || char === 0x09,\n input,\n position\n )\n\n // 2.8. Byte-lowercase header name and switch on the result:\n switch (bufferToLowerCasedHeaderName(headerName)) {\n case 'content-disposition': {\n // 1. Set name and filename to null.\n name = filename = null\n\n // 2. If position does not point to a sequence of bytes starting with\n // `form-data; name=\"`, return failure.\n if (!bufferStartsWith(input, formDataNameBuffer, position)) {\n return 'failure'\n }\n\n // 3. Advance position so it points at the byte after the next 0x22 (\")\n // byte (the one in the sequence of bytes matched above).\n position.position += 17\n\n // 4. Set name to the result of parsing a multipart/form-data name given\n // input and position, if the result is not failure. Otherwise, return\n // failure.\n name = parseMultipartFormDataName(input, position)\n\n if (name === null) {\n return 'failure'\n }\n\n // 5. If position points to a sequence of bytes starting with `; filename=\"`:\n if (bufferStartsWith(input, filenameBuffer, position)) {\n // Note: undici also handles filename*\n let check = position.position + filenameBuffer.length\n\n if (input[check] === 0x2a) {\n position.position += 1\n check += 1\n }\n\n if (input[check] !== 0x3d || input[check + 1] !== 0x22) { // =\"\n return 'failure'\n }\n\n // 1. Advance position so it points at the byte after the next 0x22 (\") byte\n // (the one in the sequence of bytes matched above).\n position.position += 12\n\n // 2. Set filename to the result of parsing a multipart/form-data name given\n // input and position, if the result is not failure. Otherwise, return failure.\n filename = parseMultipartFormDataName(input, position)\n\n if (filename === null) {\n return 'failure'\n }\n }\n\n break\n }\n case 'content-type': {\n // 1. Let header value be the result of collecting a sequence of bytes that are\n // not 0x0A (LF) or 0x0D (CR), given position.\n let headerValue = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d,\n input,\n position\n )\n\n // 2. Remove any HTTP tab or space bytes from the end of header value.\n headerValue = removeChars(headerValue, false, true, (char) => char === 0x9 || char === 0x20)\n\n // 3. Set contentType to the isomorphic decoding of header value.\n contentType = isomorphicDecode(headerValue)\n\n break\n }\n case 'content-transfer-encoding': {\n let headerValue = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d,\n input,\n position\n )\n\n headerValue = removeChars(headerValue, false, true, (char) => char === 0x9 || char === 0x20)\n\n encoding = isomorphicDecode(headerValue)\n\n break\n }\n default: {\n // Collect a sequence of bytes that are not 0x0A (LF) or 0x0D (CR), given position.\n // (Do nothing with those bytes.)\n collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d,\n input,\n position\n )\n }\n }\n\n // 2.9. If position does not point to a sequence of bytes starting with 0x0D 0x0A\n // (CR LF), return failure. Otherwise, advance position by 2 (past the newline).\n if (input[position.position] !== 0x0d && input[position.position + 1] !== 0x0a) {\n return 'failure'\n } else {\n position.position += 2\n }\n }\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#parse-a-multipart-form-data-name\n * @param {Buffer} input\n * @param {{ position: number }} position\n */\nfunction parseMultipartFormDataName (input, position) {\n // 1. Assert: The byte at (position - 1) is 0x22 (\").\n assert(input[position.position - 1] === 0x22)\n\n // 2. Let name be the result of collecting a sequence of bytes that are not 0x0A (LF), 0x0D (CR) or 0x22 (\"), given position.\n /** @type {string | Buffer} */\n let name = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d && char !== 0x22,\n input,\n position\n )\n\n // 3. If the byte at position is not 0x22 (\"), return failure. Otherwise, advance position by 1.\n if (input[position.position] !== 0x22) {\n return null // name could be 'failure'\n } else {\n position.position++\n }\n\n // 4. Replace any occurrence of the following subsequences in name with the given byte:\n // - `%0A`: 0x0A (LF)\n // - `%0D`: 0x0D (CR)\n // - `%22`: 0x22 (\")\n name = new TextDecoder().decode(name)\n .replace(/%0A/ig, '\\n')\n .replace(/%0D/ig, '\\r')\n .replace(/%22/g, '\"')\n\n // 5. Return the UTF-8 decoding without BOM of name.\n return name\n}\n\n/**\n * @param {(char: number) => boolean} condition\n * @param {Buffer} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfBytes (condition, input, position) {\n let start = position.position\n\n while (start < input.length && condition(input[start])) {\n ++start\n }\n\n return input.subarray(position.position, (position.position = start))\n}\n\n/**\n * @param {Buffer} buf\n * @param {boolean} leading\n * @param {boolean} trailing\n * @param {(charCode: number) => boolean} predicate\n * @returns {Buffer}\n */\nfunction removeChars (buf, leading, trailing, predicate) {\n let lead = 0\n let trail = buf.length - 1\n\n if (leading) {\n while (lead < buf.length && predicate(buf[lead])) lead++\n }\n\n if (trailing) {\n while (trail > 0 && predicate(buf[trail])) trail--\n }\n\n return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1)\n}\n\n/**\n * Checks if {@param buffer} starts with {@param start}\n * @param {Buffer} buffer\n * @param {Buffer} start\n * @param {{ position: number }} position\n */\nfunction bufferStartsWith (buffer, start, position) {\n if (buffer.length < start.length) {\n return false\n }\n\n for (let i = 0; i < start.length; i++) {\n if (start[i] !== buffer[position.position + i]) {\n return false\n }\n }\n\n return true\n}\n\nmodule.exports = {\n multipartFormDataParser,\n validateBoundary\n}\n","'use strict'\n\nconst util = require('../../core/util')\nconst {\n ReadableStreamFrom,\n isBlobLike,\n isReadableStreamLike,\n readableStreamClose,\n createDeferredPromise,\n fullyReadBody,\n extractMimeType,\n utf8DecodeBytes\n} = require('./util')\nconst { FormData } = require('./formdata')\nconst { kState } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { Blob } = require('node:buffer')\nconst assert = require('node:assert')\nconst { isErrored, isDisturbed } = require('node:stream')\nconst { isArrayBuffer } = require('node:util/types')\nconst { serializeAMimeType } = require('./data-url')\nconst { multipartFormDataParser } = require('./formdata-parser')\nlet random\n\ntry {\n const crypto = require('node:crypto')\n random = (max) => crypto.randomInt(0, max)\n} catch {\n random = (max) => Math.floor(Math.random(max))\n}\n\nconst textEncoder = new TextEncoder()\nfunction noop () {}\n\nconst hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf('v18') !== 0\nlet streamRegistry\n\nif (hasFinalizationRegistry) {\n streamRegistry = new FinalizationRegistry((weakRef) => {\n const stream = weakRef.deref()\n if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {\n stream.cancel('Response object has been garbage collected').catch(noop)\n }\n })\n}\n\n// https://fetch.spec.whatwg.org/#concept-bodyinit-extract\nfunction extractBody (object, keepalive = false) {\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’s get stream.\n stream = object.stream()\n } else {\n // 4. Otherwise, set stream to a new ReadableStream object, and set\n // up stream with byte reading support.\n stream = new ReadableStream({\n async pull (controller) {\n const buffer = typeof source === 'string' ? textEncoder.encode(source) : source\n\n if (buffer.byteLength) {\n controller.enqueue(buffer)\n }\n\n queueMicrotask(() => readableStreamClose(controller))\n },\n start () {},\n type: 'bytes'\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’s 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${`${random(1e11)}`.padStart(11, '0')}`\n const prefix = `--${boundary}\\r\\nContent-Disposition: form-data`\n\n /*! formdata-polyfill. MIT License. Jimmy Wärting */\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’s 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 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 = textEncoder.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 = textEncoder.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 // CRLF is appended to the body to function with legacy servers and match other implementations.\n // https://github.com/curl/curl/blob/3434c6b46e682452973972e8313613dfa58cd690/lib/mime.c#L1029-L1030\n // https://github.com/form-data/form-data/issues/63\n const chunk = textEncoder.encode(`--${boundary}--\\r\\n`)\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’s size.\n length = object.size\n\n // If object’s 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’s 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 controller.byobRequest?.respond(0)\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 const buffer = new Uint8Array(value)\n if (buffer.byteLength) {\n controller.enqueue(buffer)\n }\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: 'bytes'\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 // 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 (instance, body) {\n // To clone a body body, run these steps:\n\n // https://fetch.spec.whatwg.org/#concept-body-clone\n\n // 1. Let « out1, out2 » be the result of teeing body’s stream.\n const [out1, out2] = body.stream.tee()\n\n // 2. Set body’s 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: out2,\n length: body.length,\n source: body.source\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’s\n // MIME type.\n return consumeBody(this, (bytes) => {\n let mimeType = bodyMimeType(this)\n\n if (mimeType === null) {\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 consumeBody(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 consumeBody(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 consumeBody(this, parseJSONFromBytes, instance)\n },\n\n formData () {\n // The formData() method steps are to return the result of running\n // consume body with this and the following step given a byte sequence bytes:\n return consumeBody(this, (value) => {\n // 1. Let mimeType be the result of get the MIME type with this.\n const mimeType = bodyMimeType(this)\n\n // 2. If mimeType is non-null, then switch on mimeType’s essence and run\n // the corresponding steps:\n if (mimeType !== null) {\n switch (mimeType.essence) {\n case 'multipart/form-data': {\n // 1. ... [long step]\n const parsed = multipartFormDataParser(value, mimeType)\n\n // 2. If that fails for some reason, then throw a TypeError.\n if (parsed === 'failure') {\n throw new TypeError('Failed to parse body as FormData.')\n }\n\n // 3. Return a new FormData object, appending each entry,\n // resulting from the parsing operation, to its entry list.\n const fd = new FormData()\n fd[kState] = parsed\n\n return fd\n }\n case 'application/x-www-form-urlencoded': {\n // 1. Let entries be the result of parsing bytes.\n const entries = new URLSearchParams(value.toString())\n\n // 2. If entries is failure, then throw a TypeError.\n\n // 3. Return a new FormData object whose entry list is entries.\n const fd = new FormData()\n\n for (const [name, value] of entries) {\n fd.append(name, value)\n }\n\n return fd\n }\n }\n }\n\n // 3. Throw a TypeError.\n throw new TypeError(\n 'Content-Type was not one of \"multipart/form-data\" or \"application/x-www-form-urlencoded\".'\n )\n }, instance)\n },\n\n bytes () {\n // The bytes() method steps are to return the result of running consume body\n // with this and the following step given a byte sequence bytes: return the\n // result of creating a Uint8Array from bytes in this’s relevant realm.\n return consumeBody(this, (bytes) => {\n return new Uint8Array(bytes)\n }, instance)\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 consumeBody (object, convertBytesToJSValue, instance) {\n webidl.brandCheck(object, instance)\n\n // 1. If object is unusable, then return a promise rejected\n // with a TypeError.\n if (bodyUnusable(object)) {\n throw new TypeError('Body is unusable: Body has already been read')\n }\n\n throwIfAborted(object[kState])\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’s body is null, then run successSteps with an\n // empty byte sequence.\n if (object[kState].body == null) {\n successSteps(Buffer.allocUnsafe(0))\n return promise.promise\n }\n\n // 6. Otherwise, fully read object’s body given successSteps,\n // errorSteps, and object’s relevant global object.\n await 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 (object) {\n const body = object[kState].body\n\n // An object including the Body interface mixin is\n // said to be unusable if its body is non-null and\n // its body’s stream is disturbed or locked.\n return body != null && (body.stream.locked || util.isDisturbed(body.stream))\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} requestOrResponse\n */\nfunction bodyMimeType (requestOrResponse) {\n // 1. Let headers be null.\n // 2. If requestOrResponse is a Request object, then set headers to requestOrResponse’s request’s header list.\n // 3. Otherwise, set headers to requestOrResponse’s response’s header list.\n /** @type {import('./headers').HeadersList} */\n const headers = requestOrResponse[kState].headersList\n\n // 4. Let mimeType be the result of extracting a MIME type from headers.\n const mimeType = extractMimeType(headers)\n\n // 5. If mimeType is failure, then return null.\n if (mimeType === 'failure') {\n return null\n }\n\n // 6. Return mimeType.\n return mimeType\n}\n\nmodule.exports = {\n extractBody,\n safelyExtractBody,\n cloneBody,\n mixinBody,\n streamRegistry,\n hasFinalizationRegistry,\n bodyUnusable\n}\n","'use strict'\n\n/* global WebAssembly */\n\nconst assert = require('node:assert')\nconst util = require('../core/util.js')\nconst { channels } = require('../core/diagnostics.js')\nconst timers = require('../util/timers.js')\nconst {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n RequestAbortedError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError\n} = require('../core/errors.js')\nconst {\n kUrl,\n kReset,\n kClient,\n kParser,\n kBlocking,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\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 kMaxRequests,\n kCounter,\n kMaxResponseSize,\n kOnError,\n kResume,\n kHTTPContext\n} = require('../core/symbols.js')\n\nconst constants = require('../llhttp/constants.js')\nconst EMPTY_BUF = Buffer.alloc(0)\nconst FastBuffer = Buffer[Symbol.species]\nconst addListener = util.addListener\nconst removeAllListeners = util.removeAllListeners\n\nlet extractBody\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(require('../llhttp/llhttp_simd-wasm.js'))\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(llhttpWasmData || require('../llhttp/llhttp-wasm.js'))\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(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(currentParser.ptr === p)\n return currentParser.onMessageBegin() || 0\n },\n wasm_on_header_field: (p, at, len) => {\n assert(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(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(currentParser.ptr === p)\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0\n },\n wasm_on_body: (p, at, len) => {\n assert(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(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 USE_NATIVE_TIMER = 0\nconst USE_FAST_TIMER = 1\n\n// Use fast timers for headers and body to take eventual event loop\n// latency into account.\nconst TIMEOUT_HEADERS = 2 | USE_FAST_TIMER\nconst TIMEOUT_BODY = 4 | USE_FAST_TIMER\n\n// Use native timers to ignore event loop latency for keep-alive\n// handling.\nconst TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER\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 (delay, type) {\n // If the existing timer and the new timer are of different timer type\n // (fast or native) or have different delay, we need to clear the existing\n // timer and set a new one.\n if (\n delay !== this.timeoutValue ||\n (type & USE_FAST_TIMER) ^ (this.timeoutType & USE_FAST_TIMER)\n ) {\n // If a timeout is already set, clear it with clearTimeout of the fast\n // timer implementation, as it can clear fast and native timers.\n if (this.timeout) {\n timers.clearTimeout(this.timeout)\n this.timeout = null\n }\n\n if (delay) {\n if (type & USE_FAST_TIMER) {\n this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this))\n } else {\n this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this))\n this.timeout.unref()\n }\n }\n\n this.timeoutValue = delay\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 this.timeoutType = type\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 this.timeout && 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 request.onResponseStarted()\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) {\n const headerName = util.bufferToLowerCasedHeaderName(key)\n if (headerName === 'keep-alive') {\n this.keepAlive += buf.toString()\n } else if (headerName === 'connection') {\n this.connection += buf.toString()\n }\n } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === '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 assert(client[kSocket] === socket)\n assert(!socket.destroyed)\n assert(!this.paused)\n assert((headers.length & 1) === 0)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n assert(request.upgrade || request.method === 'CONNECT')\n\n this.statusCode = null\n this.statusText = ''\n this.shouldKeepAlive = null\n\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\n removeAllListeners(socket)\n\n client[kSocket] = null\n client[kHTTPContext] = null // TODO (fix): This is hacky...\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 client[kResume]()\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(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 & 1) === 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 const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false\n\n if (request.aborted) {\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 client[kResume]()\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(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 if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED\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 assert(statusCode >= 100)\n assert((this.headers.length & 1) === 0)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n this.statusCode = null\n this.statusText = ''\n this.bytesRead = 0\n this.contentLength = ''\n this.keepAlive = ''\n this.connection = ''\n\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 request.onComplete(headers)\n\n client[kQueue][client[kRunningIdx]++] = null\n\n if (socket[kWriting]) {\n assert(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] == null || 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(() => client[kResume]())\n } else {\n client[kResume]()\n }\n }\n}\n\nfunction onParserTimeout (parser) {\n const { socket, timeoutType, client, paused } = parser.deref()\n\n /* istanbul ignore else */\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!paused, 'cannot be paused while waiting for headers')\n util.destroy(socket, new HeadersTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!paused) {\n util.destroy(socket, new BodyTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])\n util.destroy(socket, new InformationalError('socket idle timeout'))\n }\n}\n\nasync function connectH1 (client, socket) {\n client[kSocket] = socket\n\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise\n llhttpPromise = null\n }\n\n socket[kNoRef] = false\n socket[kWriting] = false\n socket[kReset] = false\n socket[kBlocking] = false\n socket[kParser] = new Parser(client, socket, llhttpInstance)\n\n addListener(socket, 'error', function (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n const parser = this[kParser]\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 this[kClient][kOnError](err)\n })\n addListener(socket, 'readable', function () {\n const parser = this[kParser]\n\n if (parser) {\n parser.readMore()\n }\n })\n addListener(socket, 'end', function () {\n const parser = this[kParser]\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 addListener(socket, 'close', function () {\n const client = this[kClient]\n const parser = this[kParser]\n\n if (parser) {\n if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n parser.onMessageComplete()\n }\n\n this[kParser].destroy()\n this[kParser] = null\n }\n\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n client[kHTTPContext] = null // TODO (fix): This is hacky...\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 util.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 util.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 client[kResume]()\n })\n\n let closed = false\n socket.on('close', () => {\n closed = true\n })\n\n return {\n version: 'h1',\n defaultPipelining: 1,\n write (...args) {\n return writeH1(client, ...args)\n },\n resume () {\n resumeH1(client)\n },\n destroy (err, callback) {\n if (closed) {\n queueMicrotask(callback)\n } else {\n socket.destroy(err).on('close', callback)\n }\n },\n get destroyed () {\n return socket.destroyed\n },\n busy (request) {\n if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {\n return true\n }\n\n if (request) {\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 true\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 true\n }\n\n if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 &&\n (util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(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 true\n }\n }\n\n return false\n }\n }\n}\n\nfunction resumeH1 (client) {\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_KEEP_ALIVE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE)\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\n// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2\nfunction shouldSendContentLength (method) {\n return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'\n}\n\nfunction writeH1 (client, request) {\n const { method, path, host, upgrade, blocking, reset } = request\n\n let { body, headers, contentLength } = 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 method === 'QUERY' ||\n method === 'PROPFIND' ||\n method === 'PROPPATCH'\n )\n\n if (util.isFormDataLike(body)) {\n if (!extractBody) {\n extractBody = require('../web/fetch/body.js').extractBody\n }\n\n const [bodyStream, contentType] = extractBody(body)\n if (request.contentType == null) {\n headers.push('content-type', contentType)\n }\n body = bodyStream.stream\n contentLength = bodyStream.length\n } else if (util.isBlobLike(body) && request.contentType == null && body.type) {\n headers.push('content-type', body.type)\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 const bodyLength = util.bodyLength(body)\n\n contentLength = bodyLength ?? contentLength\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 // https://github.com/nodejs/undici/issues/2046\n // A user agent may send a Content-Length header with 0 value, this should be allowed.\n if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n util.errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n const socket = client[kSocket]\n\n const abort = (err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n util.errorRequest(client, request, err || new RequestAbortedError())\n\n util.destroy(body)\n util.destroy(socket, new InformationalError('aborted'))\n }\n\n try {\n request.onConnect(abort)\n } catch (err) {\n util.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 (Array.isArray(headers)) {\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0]\n const val = headers[n + 1]\n\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n header += `${key}: ${val[i]}\\r\\n`\n }\n } else {\n header += `${key}: ${val}\\r\\n`\n }\n }\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 || bodyLength === 0) {\n writeBuffer(abort, null, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isBuffer(body)) {\n writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload)\n } else {\n writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload)\n }\n } else if (util.isStream(body)) {\n writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isIterable(body)) {\n writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else {\n assert(false)\n }\n\n return true\n}\n\nfunction writeStream (abort, 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({ abort, 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 onClose = function () {\n // 'close' might be emitted *before* 'error' for\n // broken streams. Wait a tick to avoid this case.\n queueMicrotask(() => {\n // It's only safe to remove 'error' listener after\n // 'close'.\n body.removeListener('error', onFinished)\n })\n\n if (!finished) {\n const err = new RequestAbortedError()\n queueMicrotask(() => onFinished(err))\n }\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('close', onClose)\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', onClose)\n\n if (body.resume) {\n body.resume()\n }\n\n socket\n .on('drain', onDrain)\n .on('error', onFinished)\n\n if (body.errorEmitted ?? body.errored) {\n setImmediate(() => onFinished(body.errored))\n } else if (body.endEmitted ?? body.readableEnded) {\n setImmediate(() => onFinished(null))\n }\n\n if (body.closeEmitted ?? body.closed) {\n setImmediate(onClose)\n }\n}\n\nfunction writeBuffer (abort, body, client, request, socket, contentLength, header, expectsPayload) {\n try {\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 } 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\n if (!expectsPayload && request.reset !== false) {\n socket[kReset] = true\n }\n }\n request.onRequestSent()\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeBlob (abort, 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 && request.reset !== false) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeIterable (abort, 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({ abort, 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 ({ abort, 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 this.abort = abort\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 && request.reset !== false) {\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 client[kResume]()\n }\n\n destroy (err) {\n const { socket, client, abort } = this\n\n socket[kWriting] = false\n\n if (err) {\n assert(client[kRunning] <= 1, 'pipeline should only contain this request')\n abort(err)\n }\n }\n}\n\nmodule.exports = connectH1\n","'use strict'\n\nconst assert = require('node:assert')\nconst { pipeline } = require('node:stream')\nconst util = require('../core/util.js')\nconst {\n RequestContentLengthMismatchError,\n RequestAbortedError,\n SocketError,\n InformationalError\n} = require('../core/errors.js')\nconst {\n kUrl,\n kReset,\n kClient,\n kRunning,\n kPending,\n kQueue,\n kPendingIdx,\n kRunningIdx,\n kError,\n kSocket,\n kStrictContentLength,\n kOnError,\n kMaxConcurrentStreams,\n kHTTP2Session,\n kResume,\n kSize,\n kHTTPContext\n} = require('../core/symbols.js')\n\nconst kOpenStreams = Symbol('open streams')\n\nlet extractBody\n\n// Experimental\nlet h2ExperimentalWarned = false\n\n/** @type {import('http2')} */\nlet http2\ntry {\n http2 = require('node:http2')\n} catch {\n // @ts-ignore\n http2 = { constants: {} }\n}\n\nconst {\n constants: {\n HTTP2_HEADER_AUTHORITY,\n HTTP2_HEADER_METHOD,\n HTTP2_HEADER_PATH,\n HTTP2_HEADER_SCHEME,\n HTTP2_HEADER_CONTENT_LENGTH,\n HTTP2_HEADER_EXPECT,\n HTTP2_HEADER_STATUS\n }\n} = http2\n\nfunction parseH2Headers (headers) {\n const result = []\n\n for (const [name, value] of Object.entries(headers)) {\n // h2 may concat the header value by array\n // e.g. Set-Cookie\n if (Array.isArray(value)) {\n for (const subvalue of value) {\n // we need to provide each header value of header name\n // because the headers handler expect name-value pair\n result.push(Buffer.from(name), Buffer.from(subvalue))\n }\n } else {\n result.push(Buffer.from(name), Buffer.from(value))\n }\n }\n\n return result\n}\n\nasync function connectH2 (client, socket) {\n client[kSocket] = socket\n\n if (!h2ExperimentalWarned) {\n h2ExperimentalWarned = true\n process.emitWarning('H2 support is experimental, expect them to change at any time.', {\n code: 'UNDICI-H2'\n })\n }\n\n const session = http2.connect(client[kUrl], {\n createConnection: () => socket,\n peerMaxConcurrentStreams: client[kMaxConcurrentStreams]\n })\n\n session[kOpenStreams] = 0\n session[kClient] = client\n session[kSocket] = socket\n\n util.addListener(session, 'error', onHttp2SessionError)\n util.addListener(session, 'frameError', onHttp2FrameError)\n util.addListener(session, 'end', onHttp2SessionEnd)\n util.addListener(session, 'goaway', onHTTP2GoAway)\n util.addListener(session, 'close', function () {\n const { [kClient]: client } = this\n const { [kSocket]: socket } = client\n\n const err = this[kSocket][kError] || this[kError] || new SocketError('closed', util.getSocketInfo(socket))\n\n client[kHTTP2Session] = 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 util.errorRequest(client, request, err)\n }\n }\n })\n\n session.unref()\n\n client[kHTTP2Session] = session\n socket[kHTTP2Session] = session\n\n util.addListener(socket, 'error', function (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n this[kError] = err\n\n this[kClient][kOnError](err)\n })\n\n util.addListener(socket, 'end', function () {\n util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))\n })\n\n util.addListener(socket, 'close', function () {\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n\n if (this[kHTTP2Session] != null) {\n this[kHTTP2Session].destroy(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 client[kResume]()\n })\n\n let closed = false\n socket.on('close', () => {\n closed = true\n })\n\n return {\n version: 'h2',\n defaultPipelining: Infinity,\n write (...args) {\n return writeH2(client, ...args)\n },\n resume () {\n resumeH2(client)\n },\n destroy (err, callback) {\n if (closed) {\n queueMicrotask(callback)\n } else {\n // Destroying the socket will trigger the session close\n socket.destroy(err).on('close', callback)\n }\n },\n get destroyed () {\n return socket.destroyed\n },\n busy () {\n return false\n }\n }\n}\n\nfunction resumeH2 (client) {\n const socket = client[kSocket]\n\n if (socket?.destroyed === false) {\n if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {\n socket.unref()\n client[kHTTP2Session].unref()\n } else {\n socket.ref()\n client[kHTTP2Session].ref()\n }\n }\n}\n\nfunction onHttp2SessionError (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n this[kSocket][kError] = err\n this[kClient][kOnError](err)\n}\n\nfunction onHttp2FrameError (type, code, id) {\n if (id === 0) {\n const err = new InformationalError(`HTTP/2: \"frameError\" received - type ${type}, code ${code}`)\n this[kSocket][kError] = err\n this[kClient][kOnError](err)\n }\n}\n\nfunction onHttp2SessionEnd () {\n const err = new SocketError('other side closed', util.getSocketInfo(this[kSocket]))\n this.destroy(err)\n util.destroy(this[kSocket], err)\n}\n\n/**\n * This is the root cause of #3011\n * We need to handle GOAWAY frames properly, and trigger the session close\n * along with the socket right away\n */\nfunction onHTTP2GoAway (code) {\n // We cannot recover, so best to close the session and the socket\n const err = this[kError] || new SocketError(`HTTP/2: \"GOAWAY\" frame received with code ${code}`, util.getSocketInfo(this))\n const client = this[kClient]\n\n client[kSocket] = null\n client[kHTTPContext] = null\n\n if (this[kHTTP2Session] != null) {\n this[kHTTP2Session].destroy(err)\n this[kHTTP2Session] = null\n }\n\n util.destroy(this[kSocket], err)\n\n // Fail head of pipeline.\n if (client[kRunningIdx] < client[kQueue].length) {\n const request = client[kQueue][client[kRunningIdx]]\n client[kQueue][client[kRunningIdx]++] = null\n util.errorRequest(client, request, err)\n client[kPendingIdx] = client[kRunningIdx]\n }\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n client[kResume]()\n}\n\n// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2\nfunction shouldSendContentLength (method) {\n return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'\n}\n\nfunction writeH2 (client, request) {\n const session = client[kHTTP2Session]\n const { method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request\n let { body } = request\n\n if (upgrade) {\n util.errorRequest(client, request, new Error('Upgrade not supported for H2'))\n return false\n }\n\n const headers = {}\n for (let n = 0; n < reqHeaders.length; n += 2) {\n const key = reqHeaders[n + 0]\n const val = reqHeaders[n + 1]\n\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n if (headers[key]) {\n headers[key] += `,${val[i]}`\n } else {\n headers[key] = val[i]\n }\n }\n } else {\n headers[key] = val\n }\n }\n\n /** @type {import('node:http2').ClientHttp2Stream} */\n let stream\n\n const { hostname, port } = client[kUrl]\n\n headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ''}`\n headers[HTTP2_HEADER_METHOD] = method\n\n const abort = (err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n err = err || new RequestAbortedError()\n\n util.errorRequest(client, request, err)\n\n if (stream != null) {\n util.destroy(stream, err)\n }\n\n // We do not destroy the socket as we can continue using the session\n // the stream get's destroyed and the session remains to create new streams\n util.destroy(body, err)\n client[kQueue][client[kRunningIdx]++] = null\n client[kResume]()\n }\n\n try {\n // We are already connected, streams are pending.\n // We can call on connect, and wait for abort\n request.onConnect(abort)\n } catch (err) {\n util.errorRequest(client, request, err)\n }\n\n if (request.aborted) {\n return false\n }\n\n if (method === 'CONNECT') {\n session.ref()\n // We are already connected, streams are pending, first request\n // will create a new stream. We trigger a request to create the stream and wait until\n // `ready` event is triggered\n // We disabled endStream to allow the user to write to the stream\n stream = session.request(headers, { endStream: false, signal })\n\n if (stream.id && !stream.pending) {\n request.onUpgrade(null, null, stream)\n ++session[kOpenStreams]\n client[kQueue][client[kRunningIdx]++] = null\n } else {\n stream.once('ready', () => {\n request.onUpgrade(null, null, stream)\n ++session[kOpenStreams]\n client[kQueue][client[kRunningIdx]++] = null\n })\n }\n\n stream.once('close', () => {\n session[kOpenStreams] -= 1\n if (session[kOpenStreams] === 0) session.unref()\n })\n\n return true\n }\n\n // https://tools.ietf.org/html/rfc7540#section-8.3\n // :path and :scheme headers must be omitted when sending CONNECT\n\n headers[HTTP2_HEADER_PATH] = path\n headers[HTTP2_HEADER_SCHEME] = 'https'\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 (util.isFormDataLike(body)) {\n extractBody ??= require('../web/fetch/body.js').extractBody\n\n const [bodyStream, contentType] = extractBody(body)\n headers['content-type'] = contentType\n\n body = bodyStream.stream\n contentLength = bodyStream.length\n }\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 // https://github.com/nodejs/undici/issues/2046\n // A user agent may send a Content-Length header with 0 value, this should be allowed.\n if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n util.errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n if (contentLength != null) {\n assert(body, 'no body must not have content length')\n headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`\n }\n\n session.ref()\n\n const shouldEndStream = method === 'GET' || method === 'HEAD' || body === null\n if (expectContinue) {\n headers[HTTP2_HEADER_EXPECT] = '100-continue'\n stream = session.request(headers, { endStream: shouldEndStream, signal })\n\n stream.once('continue', writeBodyH2)\n } else {\n stream = session.request(headers, {\n endStream: shouldEndStream,\n signal\n })\n writeBodyH2()\n }\n\n // Increment counter as we have new streams open\n ++session[kOpenStreams]\n\n stream.once('response', headers => {\n const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers\n request.onResponseStarted()\n\n // Due to the stream nature, it is possible we face a race condition\n // where the stream has been assigned, but the request has been aborted\n // the request remains in-flight and headers hasn't been received yet\n // for those scenarios, best effort is to destroy the stream immediately\n // as there's no value to keep it open.\n if (request.aborted) {\n const err = new RequestAbortedError()\n util.errorRequest(client, request, err)\n util.destroy(stream, err)\n return\n }\n\n if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), '') === false) {\n stream.pause()\n }\n\n stream.on('data', (chunk) => {\n if (request.onData(chunk) === false) {\n stream.pause()\n }\n })\n })\n\n stream.once('end', () => {\n // When state is null, it means we haven't consumed body and the stream still do not have\n // a state.\n // Present specially when using pipeline or stream\n if (stream.state?.state == null || stream.state.state < 6) {\n request.onComplete([])\n }\n\n if (session[kOpenStreams] === 0) {\n // Stream is closed or half-closed-remote (6), decrement counter and cleanup\n // It does not have sense to continue working with the stream as we do not\n // have yet RST_STREAM support on client-side\n\n session.unref()\n }\n\n abort(new InformationalError('HTTP/2: stream half-closed (remote)'))\n client[kQueue][client[kRunningIdx]++] = null\n client[kPendingIdx] = client[kRunningIdx]\n client[kResume]()\n })\n\n stream.once('close', () => {\n session[kOpenStreams] -= 1\n if (session[kOpenStreams] === 0) {\n session.unref()\n }\n })\n\n stream.once('error', function (err) {\n abort(err)\n })\n\n stream.once('frameError', (type, code) => {\n abort(new InformationalError(`HTTP/2: \"frameError\" received - type ${type}, code ${code}`))\n })\n\n // stream.on('aborted', () => {\n // // TODO(HTTP/2): Support aborted\n // })\n\n // stream.on('timeout', () => {\n // // TODO(HTTP/2): Support timeout\n // })\n\n // stream.on('push', headers => {\n // // TODO(HTTP/2): Support push\n // })\n\n // stream.on('trailers', headers => {\n // // TODO(HTTP/2): Support trailers\n // })\n\n return true\n\n function writeBodyH2 () {\n /* istanbul ignore else: assertion */\n if (!body || contentLength === 0) {\n writeBuffer(\n abort,\n stream,\n null,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else if (util.isBuffer(body)) {\n writeBuffer(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable(\n abort,\n stream,\n body.stream(),\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else {\n writeBlob(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n }\n } else if (util.isStream(body)) {\n writeStream(\n abort,\n client[kSocket],\n expectsPayload,\n stream,\n body,\n client,\n request,\n contentLength\n )\n } else if (util.isIterable(body)) {\n writeIterable(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else {\n assert(false)\n }\n }\n}\n\nfunction writeBuffer (abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {\n try {\n if (body != null && util.isBuffer(body)) {\n assert(contentLength === body.byteLength, 'buffer body must have content length')\n h2stream.cork()\n h2stream.write(body)\n h2stream.uncork()\n h2stream.end()\n\n request.onBodySent(body)\n }\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n request.onRequestSent()\n client[kResume]()\n } catch (error) {\n abort(error)\n }\n}\n\nfunction writeStream (abort, socket, expectsPayload, h2stream, body, client, request, contentLength) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')\n\n // For HTTP/2, is enough to pipe the stream\n const pipe = pipeline(\n body,\n h2stream,\n (err) => {\n if (err) {\n util.destroy(pipe, err)\n abort(err)\n } else {\n util.removeAllListeners(pipe)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n }\n }\n )\n\n util.addListener(pipe, 'data', onPipeData)\n\n function onPipeData (chunk) {\n request.onBodySent(chunk)\n }\n}\n\nasync function writeBlob (abort, h2stream, body, client, request, socket, contentLength, 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 h2stream.cork()\n h2stream.write(buffer)\n h2stream.uncork()\n h2stream.end()\n\n request.onBodySent(buffer)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeIterable (abort, h2stream, body, client, request, socket, contentLength, 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 h2stream\n .on('close', onDrain)\n .on('drain', onDrain)\n\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 const res = h2stream.write(chunk)\n request.onBodySent(chunk)\n if (!res) {\n await waitForDrain()\n }\n }\n\n h2stream.end()\n\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n } finally {\n h2stream\n .off('close', onDrain)\n .off('drain', onDrain)\n }\n}\n\nmodule.exports = connectH2\n","'use strict'\n\nconst util = require('../core/util')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('node:assert')\nconst { InvalidArgumentError } = require('../core/errors')\nconst EE = require('node: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 this.redirectionLimitReached = false\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.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {\n if (this.request) {\n this.request.abort(new Error('max redirects'))\n }\n\n this.redirectionLimitReached = true\n this.abort(new Error('max redirects'))\n return\n }\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 explicitly 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 information.\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].length === 8 && util.headerNameToString(headers[i]) === '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 if (header.length === 4) {\n return util.headerNameToString(header) === 'host'\n }\n if (removeContent && util.headerNameToString(header).startsWith('content-')) {\n return true\n }\n if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {\n const name = util.headerNameToString(header)\n return name === 'authorization' || name === 'cookie' || name === 'proxy-authorization'\n }\n return false\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/redirect-handler')\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","// @ts-check\n\n'use strict'\n\nconst assert = require('node:assert')\nconst net = require('node:net')\nconst http = require('node:http')\nconst util = require('../core/util.js')\nconst { channels } = require('../core/diagnostics.js')\nconst Request = require('../core/request.js')\nconst DispatcherBase = require('./dispatcher-base')\nconst {\n InvalidArgumentError,\n InformationalError,\n ClientDestroyedError\n} = require('../core/errors.js')\nconst buildConnector = require('../core/connect.js')\nconst {\n kUrl,\n kServerName,\n kClient,\n kBusy,\n kConnect,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\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 kOnError,\n kHTTPContext,\n kMaxConcurrentStreams,\n kResume\n} = require('../core/symbols.js')\nconst connectH1 = require('./client-h1.js')\nconst connectH2 = require('./client-h2.js')\nlet deprecatedInterceptorWarned = false\n\nconst kClosedResolve = Symbol('kClosedResolve')\n\nconst noop = () => {}\n\nfunction getPipelining (client) {\n return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1\n}\n\n/**\n * @type {import('../../types/client.js').default}\n */\nclass Client extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import('../../types/client.js').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 // h2\n maxConcurrentStreams,\n allowH2\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 // h2\n if (allowH2 != null && typeof allowH2 !== 'boolean') {\n throw new InvalidArgumentError('allowH2 must be a valid boolean value')\n }\n\n if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1)) {\n throw new InvalidArgumentError('maxConcurrentStreams must be a positive integer, greater than 0')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n allowH2,\n socketPath,\n timeout: connectTimeout,\n ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n if (interceptors?.Client && Array.isArray(interceptors.Client)) {\n this[kInterceptors] = interceptors.Client\n if (!deprecatedInterceptorWarned) {\n deprecatedInterceptorWarned = true\n process.emitWarning('Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.', {\n code: 'UNDICI-CLIENT-INTERCEPTOR-DEPRECATED'\n })\n }\n } else {\n this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })]\n }\n\n this[kUrl] = util.parseOrigin(url)\n this[kConnector] = connect\n this[kPipelining] = pipelining != null ? pipelining : 1\n this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : 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 this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100 // Max peerConcurrentStreams for a Node h2 server\n this[kHTTPContext] = null\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 this[kResume] = (sync) => resume(this, sync)\n this[kOnError] = (err) => onError(this, err)\n }\n\n get pipelining () {\n return this[kPipelining]\n }\n\n set pipelining (value) {\n this[kPipelining] = value\n this[kResume](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[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed\n }\n\n get [kBusy] () {\n return Boolean(\n this[kHTTPContext]?.busy(null) ||\n (this[kSize] >= (getPipelining(this) || 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 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 queueMicrotask(() => resume(this))\n } else {\n this[kResume](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 // TODO: for H2 we need to gracefully flush the remaining enqueued\n // request and close each stream.\n return new Promise((resolve) => {\n if (this[kSize]) {\n this[kClosedResolve] = resolve\n } else {\n resolve(null)\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 util.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(null)\n }\n\n if (this[kHTTPContext]) {\n this[kHTTPContext].destroy(err, callback)\n this[kHTTPContext] = null\n } else {\n queueMicrotask(callback)\n }\n\n this[kResume]()\n })\n }\n}\n\nconst createRedirectInterceptor = require('../interceptor/redirect-interceptor.js')\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\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n util.errorRequest(client, request, err)\n }\n assert(client[kSize] === 0)\n }\n}\n\n/**\n * @param {Client} client\n * @returns\n */\nasync function connect (client) {\n assert(!client[kConnecting])\n assert(!client[kHTTPContext])\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.substring(1, idx)\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 version: client[kHTTPContext]?.version,\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', noop), new ClientDestroyedError())\n return\n }\n\n assert(socket)\n\n try {\n client[kHTTPContext] = socket.alpnProtocol === 'h2'\n ? await connectH2(client, socket)\n : await connectH1(client, socket)\n } catch (err) {\n socket.destroy().on('error', noop)\n throw err\n }\n\n client[kConnecting] = false\n\n socket[kCounter] = 0\n socket[kMaxRequests] = client[kMaxRequests]\n socket[kClient] = client\n socket[kError] = null\n\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n version: client[kHTTPContext]?.version,\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 version: client[kHTTPContext]?.version,\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 util.errorRequest(client, request, err)\n }\n } else {\n onError(client, err)\n }\n\n client.emit('connectionError', client[kUrl], [client], err)\n }\n\n client[kResume]()\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 if (client[kHTTPContext]) {\n client[kHTTPContext].resume()\n }\n\n if (client[kBusy]) {\n client[kNeedDrain] = 2\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1\n queueMicrotask(() => 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] >= (getPipelining(client) || 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 client[kHTTPContext]?.destroy(new InformationalError('servername changed'), () => {\n client[kHTTPContext] = null\n resume(client)\n })\n }\n\n if (client[kConnecting]) {\n return\n }\n\n if (!client[kHTTPContext]) {\n connect(client)\n return\n }\n\n if (client[kHTTPContext].destroyed) {\n return\n }\n\n if (client[kHTTPContext].busy(request)) {\n return\n }\n\n if (!request.aborted && client[kHTTPContext].write(request)) {\n client[kPendingIdx]++\n } else {\n client[kQueue].splice(client[kPendingIdx], 1)\n }\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('./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 await Promise.all(this[kClients].map(c => c.close()))\n } else {\n await 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 await 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 queueMicrotask(() => {\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 allowH2,\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 allowH2,\n socketPath,\n timeout: connectTimeout,\n ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = 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, allowH2 }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kFactory] = factory\n\n this.on('connectionError', (origin, targets, error) => {\n // If a connection error occurs, we remove the client from the pool,\n // and emit a connectionError event. They will not be re-used.\n // Fixes https://github.com/nodejs/undici/issues/3895\n for (const target of targets) {\n // Do not use kRemoveClient here, as it will close the client,\n // but the client cannot be closed in this state.\n const idx = this[kClients].indexOf(target)\n if (idx !== -1) {\n this[kClients].splice(idx, 1)\n }\n }\n })\n }\n\n [kGetDispatcher] () {\n for (const client of this[kClients]) {\n if (!client[kNeedDrain]) {\n return client\n }\n }\n\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n const dispatcher = this[kFactory](this[kUrl], this[kOptions])\n this[kAddClient](dispatcher)\n return dispatcher\n }\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\n/**\n * Calculate the greatest common divisor of two numbers by\n * using the Euclidean algorithm.\n *\n * @param {number} a\n * @param {number} b\n * @returns {number}\n */\nfunction getGreatestCommonDivisor (a, b) {\n if (a === 0) return b\n\n while (b !== 0) {\n const t = b\n b = a % b\n a = t\n }\n return a\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?.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 let result = 0\n for (let i = 0; i < this[kClients].length; i++) {\n result = getGreatestCommonDivisor(this[kClients][i][kWeight], result)\n }\n\n this[kGreatestCommonDivisor] = result\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\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/redirect-interceptor')\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 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?.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\n this[kOnDrain] = (origin, targets) => {\n this.emit('drain', origin, [this, ...targets])\n }\n\n this[kOnConnect] = (origin, targets) => {\n this.emit('connect', origin, [this, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n this.emit('disconnect', origin, [this, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n this.emit('connectionError', origin, [this, ...targets], err)\n }\n }\n\n get [kRunning] () {\n let ret = 0\n for (const client of this[kClients].values()) {\n ret += client[kRunning]\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 let dispatcher = this[kClients].get(key)\n\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 introduces a tiny memory leak, as dispatchers are never removed from the map.\n // TODO(mcollina): remove te timer when the client/pool do not have any more\n // active connections.\n this[kClients].set(key, dispatcher)\n }\n\n return dispatcher.dispatch(opts, handler)\n }\n\n async [kClose] () {\n const closePromises = []\n for (const client of this[kClients].values()) {\n closePromises.push(client.close())\n }\n this[kClients].clear()\n\n await Promise.all(closePromises)\n }\n\n async [kDestroy] (err) {\n const destroyPromises = []\n for (const client of this[kClients].values()) {\n destroyPromises.push(client.destroy(err))\n }\n this[kClients].clear()\n\n await Promise.all(destroyPromises)\n }\n}\n\nmodule.exports = Agent\n","'use strict'\n\nconst { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require('../core/symbols')\nconst { URL } = require('node:url')\nconst Agent = require('./agent')\nconst Pool = require('./pool')\nconst DispatcherBase = require('./dispatcher-base')\nconst { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require('../core/errors')\nconst buildConnector = require('../core/connect')\nconst Client = require('./client')\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')\nconst kTunnelProxy = Symbol('tunnel proxy')\n\nfunction defaultProtocolPort (protocol) {\n return protocol === 'https:' ? 443 : 80\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nconst noop = () => {}\n\nfunction defaultAgentFactory (origin, opts) {\n if (opts.connections === 1) {\n return new Client(origin, opts)\n }\n return new Pool(origin, opts)\n}\n\nclass Http1ProxyWrapper extends DispatcherBase {\n #client\n\n constructor (proxyUrl, { headers = {}, connect, factory }) {\n super()\n if (!proxyUrl) {\n throw new InvalidArgumentError('Proxy URL is mandatory')\n }\n\n this[kProxyHeaders] = headers\n if (factory) {\n this.#client = factory(proxyUrl, { connect })\n } else {\n this.#client = new Client(proxyUrl, { connect })\n }\n }\n\n [kDispatch] (opts, handler) {\n const onHeaders = handler.onHeaders\n handler.onHeaders = function (statusCode, data, resume) {\n if (statusCode === 407) {\n if (typeof handler.onError === 'function') {\n handler.onError(new InvalidArgumentError('Proxy Authentication Required (407)'))\n }\n return\n }\n if (onHeaders) onHeaders.call(this, statusCode, data, resume)\n }\n\n // Rewrite request as an HTTP1 Proxy request, without tunneling.\n const {\n origin,\n path = '/',\n headers = {}\n } = opts\n\n opts.path = origin + path\n\n if (!('host' in headers) && !('Host' in headers)) {\n const { host } = new URL(origin)\n headers.host = host\n }\n opts.headers = { ...this[kProxyHeaders], ...headers }\n\n return this.#client[kDispatch](opts, handler)\n }\n\n async [kClose] () {\n return this.#client.close()\n }\n\n async [kDestroy] (err) {\n return this.#client.destroy(err)\n }\n}\n\nclass ProxyAgent extends DispatcherBase {\n constructor (opts) {\n super()\n\n if (!opts || (typeof opts === 'object' && !(opts instanceof URL) && !opts.uri)) {\n throw new InvalidArgumentError('Proxy uri is mandatory')\n }\n\n const { clientFactory = defaultFactory } = opts\n if (typeof clientFactory !== 'function') {\n throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')\n }\n\n const { proxyTunnel = true } = opts\n\n const url = this.#getUrl(opts)\n const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url\n\n this[kProxy] = { uri: href, protocol }\n this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent)\n ? opts.interceptors.ProxyAgent\n : []\n this[kRequestTls] = opts.requestTls\n this[kProxyTls] = opts.proxyTls\n this[kProxyHeaders] = opts.headers || {}\n this[kTunnelProxy] = proxyTunnel\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 } else if (username && password) {\n this[kProxyHeaders]['proxy-authorization'] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString('base64')}`\n }\n\n const connect = buildConnector({ ...opts.proxyTls })\n this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })\n\n const agentFactory = opts.factory || defaultAgentFactory\n const factory = (origin, options) => {\n const { protocol } = new URL(origin)\n if (!this[kTunnelProxy] && protocol === 'http:' && this[kProxy].protocol === 'http:') {\n return new Http1ProxyWrapper(this[kProxy].uri, {\n headers: this[kProxyHeaders],\n connect,\n factory: agentFactory\n })\n }\n return agentFactory(origin, options)\n }\n this[kClient] = clientFactory(url, { connect })\n this[kAgent] = new Agent({\n ...opts,\n factory,\n connect: async (opts, callback) => {\n let requestedPath = opts.host\n if (!opts.port) {\n requestedPath += `:${defaultProtocolPort(opts.protocol)}`\n }\n try {\n const { socket, statusCode } = await this[kClient].connect({\n origin,\n port,\n path: requestedPath,\n signal: opts.signal,\n headers: {\n ...this[kProxyHeaders],\n host: opts.host\n },\n servername: this[kProxyTls]?.servername || proxyHostname\n })\n if (statusCode !== 200) {\n socket.on('error', noop).destroy()\n callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 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 if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {\n // Throw a custom error to avoid loop in client.js#connect\n callback(new SecureProxyConnectionError(err))\n } else {\n callback(err)\n }\n }\n }\n })\n }\n\n dispatch (opts, handler) {\n const headers = buildHeaders(opts.headers)\n throwIfProxyAuthIsSent(headers)\n\n if (headers && !('host' in headers) && !('Host' in headers)) {\n const { host } = new URL(opts.origin)\n headers.host = host\n }\n\n return this[kAgent].dispatch(\n {\n ...opts,\n headers\n },\n handler\n )\n }\n\n /**\n * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts\n * @returns {URL}\n */\n #getUrl (opts) {\n if (typeof opts === 'string') {\n return new URL(opts)\n } else if (opts instanceof URL) {\n return opts\n } else {\n return new URL(opts.uri)\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} headers\n * @returns {Record}\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} */\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} 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\nconst DispatcherBase = require('./dispatcher-base')\nconst { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require('../core/symbols')\nconst ProxyAgent = require('./proxy-agent')\nconst Agent = require('./agent')\n\nconst DEFAULT_PORTS = {\n 'http:': 80,\n 'https:': 443\n}\n\nlet experimentalWarned = false\n\nclass EnvHttpProxyAgent extends DispatcherBase {\n #noProxyValue = null\n #noProxyEntries = null\n #opts = null\n\n constructor (opts = {}) {\n super()\n this.#opts = opts\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('EnvHttpProxyAgent is experimental, expect them to change at any time.', {\n code: 'UNDICI-EHPA'\n })\n }\n\n const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts\n\n this[kNoProxyAgent] = new Agent(agentOpts)\n\n const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY\n if (HTTP_PROXY) {\n this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY })\n } else {\n this[kHttpProxyAgent] = this[kNoProxyAgent]\n }\n\n const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY\n if (HTTPS_PROXY) {\n this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY })\n } else {\n this[kHttpsProxyAgent] = this[kHttpProxyAgent]\n }\n\n this.#parseNoProxy()\n }\n\n [kDispatch] (opts, handler) {\n const url = new URL(opts.origin)\n const agent = this.#getProxyAgentForUrl(url)\n return agent.dispatch(opts, handler)\n }\n\n async [kClose] () {\n await this[kNoProxyAgent].close()\n if (!this[kHttpProxyAgent][kClosed]) {\n await this[kHttpProxyAgent].close()\n }\n if (!this[kHttpsProxyAgent][kClosed]) {\n await this[kHttpsProxyAgent].close()\n }\n }\n\n async [kDestroy] (err) {\n await this[kNoProxyAgent].destroy(err)\n if (!this[kHttpProxyAgent][kDestroyed]) {\n await this[kHttpProxyAgent].destroy(err)\n }\n if (!this[kHttpsProxyAgent][kDestroyed]) {\n await this[kHttpsProxyAgent].destroy(err)\n }\n }\n\n #getProxyAgentForUrl (url) {\n let { protocol, host: hostname, port } = url\n\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '').toLowerCase()\n port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0\n if (!this.#shouldProxy(hostname, port)) {\n return this[kNoProxyAgent]\n }\n if (protocol === 'https:') {\n return this[kHttpsProxyAgent]\n }\n return this[kHttpProxyAgent]\n }\n\n #shouldProxy (hostname, port) {\n if (this.#noProxyChanged) {\n this.#parseNoProxy()\n }\n\n if (this.#noProxyEntries.length === 0) {\n return true // Always proxy if NO_PROXY is not set or empty.\n }\n if (this.#noProxyValue === '*') {\n return false // Never proxy if wildcard is set.\n }\n\n for (let i = 0; i < this.#noProxyEntries.length; i++) {\n const entry = this.#noProxyEntries[i]\n if (entry.port && entry.port !== port) {\n continue // Skip if ports don't match.\n }\n if (!/^[.*]/.test(entry.hostname)) {\n // No wildcards, so don't proxy only if there is not an exact match.\n if (hostname === entry.hostname) {\n return false\n }\n } else {\n // Don't proxy if the hostname ends with the no_proxy host.\n if (hostname.endsWith(entry.hostname.replace(/^\\*/, ''))) {\n return false\n }\n }\n }\n\n return true\n }\n\n #parseNoProxy () {\n const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv\n const noProxySplit = noProxyValue.split(/[,\\s]/)\n const noProxyEntries = []\n\n for (let i = 0; i < noProxySplit.length; i++) {\n const entry = noProxySplit[i]\n if (!entry) {\n continue\n }\n const parsed = entry.match(/^(.+):(\\d+)$/)\n noProxyEntries.push({\n hostname: (parsed ? parsed[1] : entry).toLowerCase(),\n port: parsed ? Number.parseInt(parsed[2], 10) : 0\n })\n }\n\n this.#noProxyValue = noProxyValue\n this.#noProxyEntries = noProxyEntries\n }\n\n get #noProxyChanged () {\n if (this.#opts.noProxy !== undefined) {\n return false\n }\n return this.#noProxyValue !== this.#noProxyEnv\n }\n\n get #noProxyEnv () {\n return process.env.no_proxy ?? process.env.NO_PROXY ?? ''\n }\n}\n\nmodule.exports = EnvHttpProxyAgent\n","'use strict'\nconst assert = require('node:assert')\n\nconst { kRetryHandlerDefaultRetry } = require('../core/symbols')\nconst { RequestRetryError } = require('../core/errors')\nconst {\n isDisturbed,\n parseHeaders,\n parseRangeHeader,\n wrapRequestBody\n} = require('../core/util')\n\nfunction calculateRetryAfterHeader (retryAfter) {\n const current = Date.now()\n return new Date(retryAfter).getTime() - current\n}\n\nclass RetryHandler {\n constructor (opts, handlers) {\n const { retryOptions, ...dispatchOpts } = opts\n const {\n // Retry scoped\n retry: retryFn,\n maxRetries,\n maxTimeout,\n minTimeout,\n timeoutFactor,\n // Response scoped\n methods,\n errorCodes,\n retryAfter,\n statusCodes\n } = retryOptions ?? {}\n\n this.dispatch = handlers.dispatch\n this.handler = handlers.handler\n this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) }\n this.abort = null\n this.aborted = false\n this.retryOpts = {\n retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry],\n retryAfter: retryAfter ?? true,\n maxTimeout: maxTimeout ?? 30 * 1000, // 30s,\n minTimeout: minTimeout ?? 500, // .5s\n timeoutFactor: timeoutFactor ?? 2,\n maxRetries: maxRetries ?? 5,\n // What errors we should retry\n methods: methods ?? ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'],\n // Indicates which errors to retry\n statusCodes: statusCodes ?? [500, 502, 503, 504, 429],\n // List of errors to retry\n errorCodes: errorCodes ?? [\n 'ECONNRESET',\n 'ECONNREFUSED',\n 'ENOTFOUND',\n 'ENETDOWN',\n 'ENETUNREACH',\n 'EHOSTDOWN',\n 'EHOSTUNREACH',\n 'EPIPE',\n 'UND_ERR_SOCKET'\n ]\n }\n\n this.retryCount = 0\n this.retryCountCheckpoint = 0\n this.start = 0\n this.end = null\n this.etag = null\n this.resume = null\n\n // Handle possible onConnect duplication\n this.handler.onConnect(reason => {\n this.aborted = true\n if (this.abort) {\n this.abort(reason)\n } else {\n this.reason = reason\n }\n })\n }\n\n onRequestSent () {\n if (this.handler.onRequestSent) {\n this.handler.onRequestSent()\n }\n }\n\n onUpgrade (statusCode, headers, socket) {\n if (this.handler.onUpgrade) {\n this.handler.onUpgrade(statusCode, headers, socket)\n }\n }\n\n onConnect (abort) {\n if (this.aborted) {\n abort(this.reason)\n } else {\n this.abort = abort\n }\n }\n\n onBodySent (chunk) {\n if (this.handler.onBodySent) return this.handler.onBodySent(chunk)\n }\n\n static [kRetryHandlerDefaultRetry] (err, { state, opts }, cb) {\n const { statusCode, code, headers } = err\n const { method, retryOptions } = opts\n const {\n maxRetries,\n minTimeout,\n maxTimeout,\n timeoutFactor,\n statusCodes,\n errorCodes,\n methods\n } = retryOptions\n const { counter } = state\n\n // Any code that is not a Undici's originated and allowed to retry\n if (code && code !== 'UND_ERR_REQ_RETRY' && !errorCodes.includes(code)) {\n cb(err)\n return\n }\n\n // If a set of method are provided and the current method is not in the list\n if (Array.isArray(methods) && !methods.includes(method)) {\n cb(err)\n return\n }\n\n // If a set of status code are provided and the current status code is not in the list\n if (\n statusCode != null &&\n Array.isArray(statusCodes) &&\n !statusCodes.includes(statusCode)\n ) {\n cb(err)\n return\n }\n\n // If we reached the max number of retries\n if (counter > maxRetries) {\n cb(err)\n return\n }\n\n let retryAfterHeader = headers?.['retry-after']\n if (retryAfterHeader) {\n retryAfterHeader = Number(retryAfterHeader)\n retryAfterHeader = Number.isNaN(retryAfterHeader)\n ? calculateRetryAfterHeader(retryAfterHeader)\n : retryAfterHeader * 1e3 // Retry-After is in seconds\n }\n\n const retryTimeout =\n retryAfterHeader > 0\n ? Math.min(retryAfterHeader, maxTimeout)\n : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout)\n\n setTimeout(() => cb(null), retryTimeout)\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const headers = parseHeaders(rawHeaders)\n\n this.retryCount += 1\n\n if (statusCode >= 300) {\n if (this.retryOpts.statusCodes.includes(statusCode) === false) {\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n } else {\n this.abort(\n new RequestRetryError('Request failed', statusCode, {\n headers,\n data: {\n count: this.retryCount\n }\n })\n )\n return false\n }\n }\n\n // Checkpoint for resume from where we left it\n if (this.resume != null) {\n this.resume = null\n\n // Only Partial Content 206 supposed to provide Content-Range,\n // any other status code that partially consumed the payload\n // should not be retry because it would result in downstream\n // wrongly concatanete multiple responses.\n if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {\n this.abort(\n new RequestRetryError('server does not support the range header and the payload was partially consumed', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n const contentRange = parseRangeHeader(headers['content-range'])\n // If no content range\n if (!contentRange) {\n this.abort(\n new RequestRetryError('Content-Range mismatch', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n // Let's start with a weak etag check\n if (this.etag != null && this.etag !== headers.etag) {\n this.abort(\n new RequestRetryError('ETag mismatch', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n const { start, size, end = size - 1 } = contentRange\n\n assert(this.start === start, 'content-range mismatch')\n assert(this.end == null || this.end === end, 'content-range mismatch')\n\n this.resume = resume\n return true\n }\n\n if (this.end == null) {\n if (statusCode === 206) {\n // First time we receive 206\n const range = parseRangeHeader(headers['content-range'])\n\n if (range == null) {\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n const { start, size, end = size - 1 } = range\n assert(\n start != null && Number.isFinite(start),\n 'content-range mismatch'\n )\n assert(end != null && Number.isFinite(end), 'invalid content-length')\n\n this.start = start\n this.end = end\n }\n\n // We make our best to checkpoint the body for further range headers\n if (this.end == null) {\n const contentLength = headers['content-length']\n this.end = contentLength != null ? Number(contentLength) - 1 : null\n }\n\n assert(Number.isFinite(this.start))\n assert(\n this.end == null || Number.isFinite(this.end),\n 'invalid content-length'\n )\n\n this.resume = resume\n this.etag = headers.etag != null ? headers.etag : null\n\n // Weak etags are not useful for comparison nor cache\n // for instance not safe to assume if the response is byte-per-byte\n // equal\n if (this.etag != null && this.etag.startsWith('W/')) {\n this.etag = null\n }\n\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n const err = new RequestRetryError('Request failed', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n\n this.abort(err)\n\n return false\n }\n\n onData (chunk) {\n this.start += chunk.length\n\n return this.handler.onData(chunk)\n }\n\n onComplete (rawTrailers) {\n this.retryCount = 0\n return this.handler.onComplete(rawTrailers)\n }\n\n onError (err) {\n if (this.aborted || isDisturbed(this.opts.body)) {\n return this.handler.onError(err)\n }\n\n // We reconcile in case of a mix between network errors\n // and server error response\n if (this.retryCount - this.retryCountCheckpoint > 0) {\n // We count the difference between the last checkpoint and the current retry count\n this.retryCount =\n this.retryCountCheckpoint +\n (this.retryCount - this.retryCountCheckpoint)\n } else {\n this.retryCount += 1\n }\n\n this.retryOpts.retry(\n err,\n {\n state: { counter: this.retryCount },\n opts: { retryOptions: this.retryOpts, ...this.opts }\n },\n onRetry.bind(this)\n )\n\n function onRetry (err) {\n if (err != null || this.aborted || isDisturbed(this.opts.body)) {\n return this.handler.onError(err)\n }\n\n if (this.start !== 0) {\n const headers = { range: `bytes=${this.start}-${this.end ?? ''}` }\n\n // Weak etag check - weak etags will make comparison algorithms never match\n if (this.etag != null) {\n headers['if-match'] = this.etag\n }\n\n this.opts = {\n ...this.opts,\n headers: {\n ...this.opts.headers,\n ...headers\n }\n }\n }\n\n try {\n this.retryCountCheckpoint = this.retryCount\n this.dispatch(this.opts, this)\n } catch (err) {\n this.handler.onError(err)\n }\n }\n }\n}\n\nmodule.exports = RetryHandler\n","'use strict'\n\nconst Dispatcher = require('./dispatcher')\nconst RetryHandler = require('../handler/retry-handler')\n\nclass RetryAgent extends Dispatcher {\n #agent = null\n #options = null\n constructor (agent, options = {}) {\n super(options)\n this.#agent = agent\n this.#options = options\n }\n\n dispatch (opts, handler) {\n const retry = new RetryHandler({\n ...opts,\n retryOptions: this.#options\n }, {\n dispatch: this.#agent.dispatch.bind(this.#agent),\n handler\n })\n return this.#agent.dispatch(opts, retry)\n }\n\n close () {\n return this.#agent.close()\n }\n\n destroy () {\n return this.#agent.destroy()\n }\n}\n\nmodule.exports = RetryAgent\n","// Ported from https://github.com/nodejs/undici/pull/907\n\n'use strict'\n\nconst assert = require('node:assert')\nconst { Readable } = require('node:stream')\nconst { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require('../core/errors')\nconst util = require('../core/util')\nconst { ReadableStreamFrom } = require('../core/util')\n\nconst kConsume = Symbol('kConsume')\nconst kReading = Symbol('kReading')\nconst kBody = Symbol('kBody')\nconst kAbort = Symbol('kAbort')\nconst kContentType = Symbol('kContentType')\nconst kContentLength = Symbol('kContentLength')\n\nconst noop = () => {}\n\nclass BodyReadable extends Readable {\n constructor ({\n resume,\n abort,\n contentType = '',\n contentLength,\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 this[kContentLength] = contentLength\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 (!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 _destroy (err, callback) {\n // Workaround for Node \"bug\". If the stream is destroyed in same\n // tick as it is created, then a user who is waiting for a\n // promise (i.e micro tick) for installing a 'error' listener will\n // never get a chance and will always encounter an unhandled exception.\n if (!this[kReading]) {\n setImmediate(() => {\n callback(err)\n })\n } else {\n callback(err)\n }\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) {\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-bytes\n async bytes () {\n return consume(this, 'bytes')\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 = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024\n const signal = opts?.signal\n\n if (signal != null && (typeof signal !== 'object' || !('aborted' in signal))) {\n throw new InvalidArgumentError('signal must be an AbortSignal')\n }\n\n signal?.throwIfAborted()\n\n if (this._readableState.closeEmitted) {\n return null\n }\n\n return await new Promise((resolve, reject) => {\n if (this[kContentLength] > limit) {\n this.destroy(new AbortError())\n }\n\n const onAbort = () => {\n this.destroy(signal.reason ?? new AbortError())\n }\n signal?.addEventListener('abort', onAbort)\n\n this\n .on('close', function () {\n signal?.removeEventListener('abort', onAbort)\n if (signal?.aborted) {\n reject(signal.reason ?? new AbortError())\n } else {\n resolve(null)\n }\n })\n .on('error', noop)\n .on('data', function (chunk) {\n limit -= chunk.length\n if (limit <= 0) {\n this.destroy()\n }\n })\n .resume()\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 assert(!stream[kConsume])\n\n return new Promise((resolve, reject) => {\n if (isUnusable(stream)) {\n const rState = stream._readableState\n if (rState.destroyed && rState.closeEmitted === false) {\n stream\n .on('error', err => {\n reject(err)\n })\n .on('close', () => {\n reject(new TypeError('unusable'))\n })\n } else {\n reject(rState.errored ?? new TypeError('unusable'))\n }\n } else {\n queueMicrotask(() => {\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 consumeStart(stream[kConsume])\n })\n }\n })\n}\n\nfunction consumeStart (consume) {\n if (consume.body === null) {\n return\n }\n\n const { _readableState: state } = consume.stream\n\n if (state.bufferIndex) {\n const start = state.bufferIndex\n const end = state.buffer.length\n for (let n = start; n < end; n++) {\n consumePush(consume, state.buffer[n])\n }\n } else {\n for (const chunk of state.buffer) {\n consumePush(consume, chunk)\n }\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\n/**\n * @param {Buffer[]} chunks\n * @param {number} length\n */\nfunction chunksDecode (chunks, length) {\n if (chunks.length === 0 || length === 0) {\n return ''\n }\n const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length)\n const bufferLength = buffer.length\n\n // Skip BOM.\n const start =\n bufferLength > 2 &&\n buffer[0] === 0xef &&\n buffer[1] === 0xbb &&\n buffer[2] === 0xbf\n ? 3\n : 0\n return buffer.utf8Slice(start, bufferLength)\n}\n\n/**\n * @param {Buffer[]} chunks\n * @param {number} length\n * @returns {Uint8Array}\n */\nfunction chunksConcat (chunks, length) {\n if (chunks.length === 0 || length === 0) {\n return new Uint8Array(0)\n }\n if (chunks.length === 1) {\n // fast-path\n return new Uint8Array(chunks[0])\n }\n const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer)\n\n let offset = 0\n for (let i = 0; i < chunks.length; ++i) {\n const chunk = chunks[i]\n buffer.set(chunk, offset)\n offset += chunk.length\n }\n\n return buffer\n}\n\nfunction consumeEnd (consume) {\n const { type, body, resolve, stream, length } = consume\n\n try {\n if (type === 'text') {\n resolve(chunksDecode(body, length))\n } else if (type === 'json') {\n resolve(JSON.parse(chunksDecode(body, length)))\n } else if (type === 'arrayBuffer') {\n resolve(chunksConcat(body, length).buffer)\n } else if (type === 'blob') {\n resolve(new Blob(body, { type: stream[kContentType] }))\n } else if (type === 'bytes') {\n resolve(chunksConcat(body, length))\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\nmodule.exports = { Readable: BodyReadable, chunksDecode }\n","const assert = require('node:assert')\nconst {\n ResponseStatusCodeError\n} = require('../core/errors')\n\nconst { chunksDecode } = require('./readable')\nconst CHUNK_LIMIT = 128 * 1024\n\nasync function getResolveErrorBodyCallback ({ callback, body, contentType, statusCode, statusMessage, headers }) {\n assert(body)\n\n let chunks = []\n let length = 0\n\n try {\n for await (const chunk of body) {\n chunks.push(chunk)\n length += chunk.length\n if (length > CHUNK_LIMIT) {\n chunks = []\n length = 0\n break\n }\n }\n } catch {\n chunks = []\n length = 0\n // Do nothing....\n }\n\n const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`\n\n if (statusCode === 204 || !contentType || !length) {\n queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)))\n return\n }\n\n const stackTraceLimit = Error.stackTraceLimit\n Error.stackTraceLimit = 0\n let payload\n\n try {\n if (isContentTypeApplicationJson(contentType)) {\n payload = JSON.parse(chunksDecode(chunks, length))\n } else if (isContentTypeText(contentType)) {\n payload = chunksDecode(chunks, length)\n }\n } catch {\n // process in a callback to avoid throwing in the microtask queue\n } finally {\n Error.stackTraceLimit = stackTraceLimit\n }\n queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)))\n}\n\nconst isContentTypeApplicationJson = (contentType) => {\n return (\n contentType.length > 15 &&\n contentType[11] === '/' &&\n contentType[0] === 'a' &&\n contentType[1] === 'p' &&\n contentType[2] === 'p' &&\n contentType[3] === 'l' &&\n contentType[4] === 'i' &&\n contentType[5] === 'c' &&\n contentType[6] === 'a' &&\n contentType[7] === 't' &&\n contentType[8] === 'i' &&\n contentType[9] === 'o' &&\n contentType[10] === 'n' &&\n contentType[12] === 'j' &&\n contentType[13] === 's' &&\n contentType[14] === 'o' &&\n contentType[15] === 'n'\n )\n}\n\nconst isContentTypeText = (contentType) => {\n return (\n contentType.length > 4 &&\n contentType[4] === '/' &&\n contentType[0] === 't' &&\n contentType[1] === 'e' &&\n contentType[2] === 'x' &&\n contentType[3] === 't'\n )\n}\n\nmodule.exports = {\n getResolveErrorBodyCallback,\n isContentTypeApplicationJson,\n isContentTypeText\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { Readable } = require('./readable')\nconst { InvalidArgumentError, RequestAbortedError } = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('node:async_hooks')\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.method = method\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 this.signal = signal\n this.reason = null\n this.removeAbortListener = null\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n if (this.signal) {\n if (this.signal.aborted) {\n this.reason = this.signal.reason ?? new RequestAbortedError()\n } else {\n this.removeAbortListener = util.addAbortListener(this.signal, () => {\n this.reason = this.signal.reason ?? new RequestAbortedError()\n if (this.res) {\n util.destroy(this.res.on('error', util.nop), this.reason)\n } else if (this.abort) {\n this.abort(this.reason)\n }\n\n if (this.removeAbortListener) {\n this.res?.off('close', this.removeAbortListener)\n this.removeAbortListener()\n this.removeAbortListener = null\n }\n })\n }\n }\n }\n\n onConnect (abort, context) {\n if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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 contentLength = parsedHeaders['content-length']\n const res = new Readable({\n resume,\n abort,\n contentType,\n contentLength: this.method !== 'HEAD' && contentLength\n ? Number(contentLength)\n : null,\n highWaterMark\n })\n\n if (this.removeAbortListener) {\n res.on('close', this.removeAbortListener)\n }\n\n this.callback = null\n this.res = res\n if (callback !== null) {\n if (this.throwOnError && statusCode >= 400) {\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body: res, 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: res,\n context\n })\n }\n }\n }\n\n onData (chunk) {\n return this.res.push(chunk)\n }\n\n onComplete (trailers) {\n util.parseHeaders(trailers, this.trailers)\n this.res.push(null)\n }\n\n onError (err) {\n const { res, callback, body, opaque } = 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 if (this.removeAbortListener) {\n res?.off('close', this.removeAbortListener)\n this.removeAbortListener()\n this.removeAbortListener = null\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?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = request\nmodule.exports.RequestHandler = RequestHandler\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(self[kSignal]?.reason)\n } else {\n self.reason = self[kSignal]?.reason ?? new RequestAbortedError()\n }\n removeSignal(self)\n}\n\nfunction addSignal (self, signal) {\n self.reason = null\n\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 assert = require('node:assert')\nconst { finished, PassThrough } = require('node:stream')\nconst { InvalidArgumentError, InvalidReturnValueError } = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('node: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.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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 if (factory === null) {\n return\n }\n\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?.needDrain\n\n return needDrain !== true\n }\n\n onData (chunk) {\n const { res } = this\n\n return res ? res.write(chunk) : true\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n if (!res) {\n return\n }\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?.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('node:stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { AsyncResource } = require('node:async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('node: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?.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 if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(!res, 'pipeline cannot be retried')\n assert(!ret.destroyed)\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, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('node:async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('node: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.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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 assert(statusCode === 101)\n\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 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?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = upgrade\n","'use strict'\n\nconst assert = require('node:assert')\nconst { AsyncResource } = require('node:async_hooks')\nconst { InvalidArgumentError, SocketError } = require('../core/errors')\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.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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\n let headers = rawHeaders\n // Indicates is an HTTP2Session\n if (headers != null) {\n headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n }\n\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?.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\nconst kMockNotMatchedError = Symbol.for('undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED')\n\n/**\n * The request does not match any registered mock dispatches.\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kMockNotMatchedError] === true\n }\n\n [kMockNotMatchedError] = true\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 } = require('../core/util')\nconst { STATUS_CODES } = require('node:http')\nconst {\n types: {\n isPromise\n }\n} = require('node: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} 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 (data instanceof Uint8Array) {\n return data\n } else if (data instanceof ArrayBuffer) {\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}' on path '${resolvedPath}'`)\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}' on path '${resolvedPath}'`)\n }\n\n // Match headers\n matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers))\n if (matchedMockDispatches.length === 0) {\n const headers = typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers\n throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`)\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 const keys = Object.keys(data)\n const result = []\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n const value = data[key]\n const name = Buffer.from(`${key}`)\n if (Array.isArray(value)) {\n for (let j = 0; j < value.length; ++j) {\n result.push(name, Buffer.from(`${value[j]}`))\n }\n } else {\n result.push(name, Buffer.from(`${value}`))\n }\n }\n return result\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.onConnect?.(err => handler.onError(err), null)\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 buildHeadersFromArray\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/web/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 (replyParameters) {\n if (typeof replyParameters.statusCode === 'undefined') {\n throw new InvalidArgumentError('statusCode must be defined')\n }\n if (typeof replyParameters.responseOptions !== 'object' || replyParameters.responseOptions === null) {\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 (replyOptionsCallbackOrStatusCode) {\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 replyOptionsCallbackOrStatusCode === '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 = replyOptionsCallbackOrStatusCode(opts)\n\n // Check if it is in the right format\n if (typeof resolvedData !== 'object' || resolvedData === null) {\n throw new InvalidArgumentError('reply options callback must return an object')\n }\n\n const replyParameters = { data: '', responseOptions: {}, ...resolvedData }\n this.validateReplyParameters(replyParameters)\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(replyParameters)\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 replyParameters = {\n statusCode: replyOptionsCallbackOrStatusCode,\n data: arguments[1] === undefined ? '' : arguments[1],\n responseOptions: arguments[2] === undefined ? {} : arguments[2]\n }\n this.validateReplyParameters(replyParameters)\n\n // Send in-already provided data like usual\n const dispatchData = this.createMockScopeDispatchData(replyParameters)\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('node:util')\nconst Client = require('../dispatcher/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('node:util')\nconst Pool = require('../dispatcher/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('node:stream')\nconst { Console } = require('node:console')\n\nconst PERSISTENT = process.versions.icu ? '✅' : 'Y '\nconst NOT_PERSISTENT = process.versions.icu ? '❌' : 'N '\n\n/**\n * Gets the output of `console.table(…)` 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 ? PERSISTENT : NOT_PERSISTENT,\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('../dispatcher/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/dispatcher')\nconst Pluralizer = require('./pluralizer')\nconst PendingInterceptorsFormatter = require('./pending-interceptors-formatter')\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?.agent && typeof opts.agent.dispatch !== 'function')) {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n const agent = 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, 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 client = this[kClients].get(origin)\n if (client) {\n return client\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, nonExplicitDispatcher] of Array.from(this[kClients])) {\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[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\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('./dispatcher/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 #handler\n\n constructor (handler) {\n if (typeof handler !== 'object' || handler === null) {\n throw new TypeError('handler must be an object')\n }\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 onResponseStarted (...args) {\n return this.#handler.onResponseStarted?.(...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","'use strict'\nconst RedirectHandler = require('../handler/redirect-handler')\n\nmodule.exports = opts => {\n const globalMaxRedirections = opts?.maxRedirections\n return dispatch => {\n return function redirectInterceptor (opts, handler) {\n const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts\n\n if (!maxRedirections) {\n return dispatch(opts, handler)\n }\n\n const redirectHandler = new RedirectHandler(\n dispatch,\n maxRedirections,\n opts,\n handler\n )\n\n return dispatch(baseOpts, redirectHandler)\n }\n }\n}\n","'use strict'\nconst RetryHandler = require('../handler/retry-handler')\n\nmodule.exports = globalOpts => {\n return dispatch => {\n return function retryInterceptor (opts, handler) {\n return dispatch(\n opts,\n new RetryHandler(\n { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },\n {\n handler,\n dispatch\n }\n )\n )\n }\n }\n}\n","'use strict'\n\nconst util = require('../core/util')\nconst { InvalidArgumentError, RequestAbortedError } = require('../core/errors')\nconst DecoratorHandler = require('../handler/decorator-handler')\n\nclass DumpHandler extends DecoratorHandler {\n #maxSize = 1024 * 1024\n #abort = null\n #dumped = false\n #aborted = false\n #size = 0\n #reason = null\n #handler = null\n\n constructor ({ maxSize }, handler) {\n super(handler)\n\n if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {\n throw new InvalidArgumentError('maxSize must be a number greater than 0')\n }\n\n this.#maxSize = maxSize ?? this.#maxSize\n this.#handler = handler\n }\n\n onConnect (abort) {\n this.#abort = abort\n\n this.#handler.onConnect(this.#customAbort.bind(this))\n }\n\n #customAbort (reason) {\n this.#aborted = true\n this.#reason = reason\n }\n\n // TODO: will require adjustment after new hooks are out\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const headers = util.parseHeaders(rawHeaders)\n const contentLength = headers['content-length']\n\n if (contentLength != null && contentLength > this.#maxSize) {\n throw new RequestAbortedError(\n `Response size (${contentLength}) larger than maxSize (${\n this.#maxSize\n })`\n )\n }\n\n if (this.#aborted) {\n return true\n }\n\n return this.#handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n onError (err) {\n if (this.#dumped) {\n return\n }\n\n err = this.#reason ?? err\n\n this.#handler.onError(err)\n }\n\n onData (chunk) {\n this.#size = this.#size + chunk.length\n\n if (this.#size >= this.#maxSize) {\n this.#dumped = true\n\n if (this.#aborted) {\n this.#handler.onError(this.#reason)\n } else {\n this.#handler.onComplete([])\n }\n }\n\n return true\n }\n\n onComplete (trailers) {\n if (this.#dumped) {\n return\n }\n\n if (this.#aborted) {\n this.#handler.onError(this.reason)\n return\n }\n\n this.#handler.onComplete(trailers)\n }\n}\n\nfunction createDumpInterceptor (\n { maxSize: defaultMaxSize } = {\n maxSize: 1024 * 1024\n }\n) {\n return dispatch => {\n return function Intercept (opts, handler) {\n const { dumpMaxSize = defaultMaxSize } =\n opts\n\n const dumpHandler = new DumpHandler(\n { maxSize: dumpMaxSize },\n handler\n )\n\n return dispatch(opts, dumpHandler)\n }\n }\n}\n\nmodule.exports = createDumpInterceptor\n","'use strict'\nconst { isIP } = require('node:net')\nconst { lookup } = require('node:dns')\nconst DecoratorHandler = require('../handler/decorator-handler')\nconst { InvalidArgumentError, InformationalError } = require('../core/errors')\nconst maxInt = Math.pow(2, 31) - 1\n\nclass DNSInstance {\n #maxTTL = 0\n #maxItems = 0\n #records = new Map()\n dualStack = true\n affinity = null\n lookup = null\n pick = null\n\n constructor (opts) {\n this.#maxTTL = opts.maxTTL\n this.#maxItems = opts.maxItems\n this.dualStack = opts.dualStack\n this.affinity = opts.affinity\n this.lookup = opts.lookup ?? this.#defaultLookup\n this.pick = opts.pick ?? this.#defaultPick\n }\n\n get full () {\n return this.#records.size === this.#maxItems\n }\n\n runLookup (origin, opts, cb) {\n const ips = this.#records.get(origin.hostname)\n\n // If full, we just return the origin\n if (ips == null && this.full) {\n cb(null, origin.origin)\n return\n }\n\n const newOpts = {\n affinity: this.affinity,\n dualStack: this.dualStack,\n lookup: this.lookup,\n pick: this.pick,\n ...opts.dns,\n maxTTL: this.#maxTTL,\n maxItems: this.#maxItems\n }\n\n // If no IPs we lookup\n if (ips == null) {\n this.lookup(origin, newOpts, (err, addresses) => {\n if (err || addresses == null || addresses.length === 0) {\n cb(err ?? new InformationalError('No DNS entries found'))\n return\n }\n\n this.setRecords(origin, addresses)\n const records = this.#records.get(origin.hostname)\n\n const ip = this.pick(\n origin,\n records,\n newOpts.affinity\n )\n\n let port\n if (typeof ip.port === 'number') {\n port = `:${ip.port}`\n } else if (origin.port !== '') {\n port = `:${origin.port}`\n } else {\n port = ''\n }\n\n cb(\n null,\n `${origin.protocol}//${\n ip.family === 6 ? `[${ip.address}]` : ip.address\n }${port}`\n )\n })\n } else {\n // If there's IPs we pick\n const ip = this.pick(\n origin,\n ips,\n newOpts.affinity\n )\n\n // If no IPs we lookup - deleting old records\n if (ip == null) {\n this.#records.delete(origin.hostname)\n this.runLookup(origin, opts, cb)\n return\n }\n\n let port\n if (typeof ip.port === 'number') {\n port = `:${ip.port}`\n } else if (origin.port !== '') {\n port = `:${origin.port}`\n } else {\n port = ''\n }\n\n cb(\n null,\n `${origin.protocol}//${\n ip.family === 6 ? `[${ip.address}]` : ip.address\n }${port}`\n )\n }\n }\n\n #defaultLookup (origin, opts, cb) {\n lookup(\n origin.hostname,\n {\n all: true,\n family: this.dualStack === false ? this.affinity : 0,\n order: 'ipv4first'\n },\n (err, addresses) => {\n if (err) {\n return cb(err)\n }\n\n const results = new Map()\n\n for (const addr of addresses) {\n // On linux we found duplicates, we attempt to remove them with\n // the latest record\n results.set(`${addr.address}:${addr.family}`, addr)\n }\n\n cb(null, results.values())\n }\n )\n }\n\n #defaultPick (origin, hostnameRecords, affinity) {\n let ip = null\n const { records, offset } = hostnameRecords\n\n let family\n if (this.dualStack) {\n if (affinity == null) {\n // Balance between ip families\n if (offset == null || offset === maxInt) {\n hostnameRecords.offset = 0\n affinity = 4\n } else {\n hostnameRecords.offset++\n affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4\n }\n }\n\n if (records[affinity] != null && records[affinity].ips.length > 0) {\n family = records[affinity]\n } else {\n family = records[affinity === 4 ? 6 : 4]\n }\n } else {\n family = records[affinity]\n }\n\n // If no IPs we return null\n if (family == null || family.ips.length === 0) {\n return ip\n }\n\n if (family.offset == null || family.offset === maxInt) {\n family.offset = 0\n } else {\n family.offset++\n }\n\n const position = family.offset % family.ips.length\n ip = family.ips[position] ?? null\n\n if (ip == null) {\n return ip\n }\n\n if (Date.now() - ip.timestamp > ip.ttl) { // record TTL is already in ms\n // We delete expired records\n // It is possible that they have different TTL, so we manage them individually\n family.ips.splice(position, 1)\n return this.pick(origin, hostnameRecords, affinity)\n }\n\n return ip\n }\n\n setRecords (origin, addresses) {\n const timestamp = Date.now()\n const records = { records: { 4: null, 6: null } }\n for (const record of addresses) {\n record.timestamp = timestamp\n if (typeof record.ttl === 'number') {\n // The record TTL is expected to be in ms\n record.ttl = Math.min(record.ttl, this.#maxTTL)\n } else {\n record.ttl = this.#maxTTL\n }\n\n const familyRecords = records.records[record.family] ?? { ips: [] }\n\n familyRecords.ips.push(record)\n records.records[record.family] = familyRecords\n }\n\n this.#records.set(origin.hostname, records)\n }\n\n getHandler (meta, opts) {\n return new DNSDispatchHandler(this, meta, opts)\n }\n}\n\nclass DNSDispatchHandler extends DecoratorHandler {\n #state = null\n #opts = null\n #dispatch = null\n #handler = null\n #origin = null\n\n constructor (state, { origin, handler, dispatch }, opts) {\n super(handler)\n this.#origin = origin\n this.#handler = handler\n this.#opts = { ...opts }\n this.#state = state\n this.#dispatch = dispatch\n }\n\n onError (err) {\n switch (err.code) {\n case 'ETIMEDOUT':\n case 'ECONNREFUSED': {\n if (this.#state.dualStack) {\n // We delete the record and retry\n this.#state.runLookup(this.#origin, this.#opts, (err, newOrigin) => {\n if (err) {\n return this.#handler.onError(err)\n }\n\n const dispatchOpts = {\n ...this.#opts,\n origin: newOrigin\n }\n\n this.#dispatch(dispatchOpts, this)\n })\n\n // if dual-stack disabled, we error out\n return\n }\n\n this.#handler.onError(err)\n return\n }\n case 'ENOTFOUND':\n this.#state.deleteRecord(this.#origin)\n // eslint-disable-next-line no-fallthrough\n default:\n this.#handler.onError(err)\n break\n }\n }\n}\n\nmodule.exports = interceptorOpts => {\n if (\n interceptorOpts?.maxTTL != null &&\n (typeof interceptorOpts?.maxTTL !== 'number' || interceptorOpts?.maxTTL < 0)\n ) {\n throw new InvalidArgumentError('Invalid maxTTL. Must be a positive number')\n }\n\n if (\n interceptorOpts?.maxItems != null &&\n (typeof interceptorOpts?.maxItems !== 'number' ||\n interceptorOpts?.maxItems < 1)\n ) {\n throw new InvalidArgumentError(\n 'Invalid maxItems. Must be a positive number and greater than zero'\n )\n }\n\n if (\n interceptorOpts?.affinity != null &&\n interceptorOpts?.affinity !== 4 &&\n interceptorOpts?.affinity !== 6\n ) {\n throw new InvalidArgumentError('Invalid affinity. Must be either 4 or 6')\n }\n\n if (\n interceptorOpts?.dualStack != null &&\n typeof interceptorOpts?.dualStack !== 'boolean'\n ) {\n throw new InvalidArgumentError('Invalid dualStack. Must be a boolean')\n }\n\n if (\n interceptorOpts?.lookup != null &&\n typeof interceptorOpts?.lookup !== 'function'\n ) {\n throw new InvalidArgumentError('Invalid lookup. Must be a function')\n }\n\n if (\n interceptorOpts?.pick != null &&\n typeof interceptorOpts?.pick !== 'function'\n ) {\n throw new InvalidArgumentError('Invalid pick. Must be a function')\n }\n\n const dualStack = interceptorOpts?.dualStack ?? true\n let affinity\n if (dualStack) {\n affinity = interceptorOpts?.affinity ?? null\n } else {\n affinity = interceptorOpts?.affinity ?? 4\n }\n\n const opts = {\n maxTTL: interceptorOpts?.maxTTL ?? 10e3, // Expressed in ms\n lookup: interceptorOpts?.lookup ?? null,\n pick: interceptorOpts?.pick ?? null,\n dualStack,\n affinity,\n maxItems: interceptorOpts?.maxItems ?? Infinity\n }\n\n const instance = new DNSInstance(opts)\n\n return dispatch => {\n return function dnsInterceptor (origDispatchOpts, handler) {\n const origin =\n origDispatchOpts.origin.constructor === URL\n ? origDispatchOpts.origin\n : new URL(origDispatchOpts.origin)\n\n if (isIP(origin.hostname) !== 0) {\n return dispatch(origDispatchOpts, handler)\n }\n\n instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {\n if (err) {\n return handler.onError(err)\n }\n\n let dispatchOpts = null\n dispatchOpts = {\n ...origDispatchOpts,\n servername: origin.hostname, // For SNI on TLS\n origin: newOrigin,\n headers: {\n host: origin.hostname,\n ...origDispatchOpts.headers\n }\n }\n\n dispatch(\n dispatchOpts,\n instance.getHandler({ origin, dispatch, handler }, origDispatchOpts)\n )\n })\n\n return true\n }\n }\n}\n","// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst { kConstruct } = require('../../core/symbols')\nconst { kEnumerableProperty } = require('../../core/util')\nconst {\n iteratorMixin,\n isValidHeaderName,\n isValidHeaderValue\n} = require('./util')\nconst { webidl } = require('./webidl')\nconst assert = require('node:assert')\nconst util = require('node:util')\n\nconst kHeadersMap = Symbol('headers map')\nconst kHeadersSortedMap = Symbol('headers map sorted')\n\n/**\n * @param {number} code\n */\nfunction isHTTPWhiteSpaceCharCode (code) {\n return code === 0x00a || code === 0x00d || code === 0x009 || code === 0x020\n}\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 let i = 0; let j = potentialValue.length\n\n while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j\n while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i\n\n return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j)\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 (let i = 0; i < object.length; ++i) {\n const header = object[i]\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’s first item, header’s second item) to headers.\n appendHeader(headers, 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 → value in object,\n // append (key, value) to headers\n const keys = Object.keys(object)\n for (let i = 0; i < keys.length; ++i) {\n appendHeader(headers, keys[i], object[keys[i]])\n }\n } else {\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence>', 'record']\n })\n }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-headers-append\n */\nfunction appendHeader (headers, name, value) {\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’s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if headers’s guard is \"request\" and name is a\n // forbidden header name, return.\n // 5. Otherwise, if headers’s guard is \"request-no-cors\":\n // TODO\n // Note: undici does not implement forbidden header names\n if (getHeadersGuard(headers) === 'immutable') {\n throw new TypeError('immutable')\n }\n\n // 6. Otherwise, if headers’s guard is \"response\" and name is a\n // forbidden response-header name, return.\n\n // 7. Append (name, value) to headers’s header list.\n return getHeadersList(headers).append(name, value, false)\n\n // 8. If headers’s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from headers\n}\n\nfunction compareHeaderName (a, b) {\n return a[0] < b[0] ? -1 : 1\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 === null ? null : [...init.cookies]\n } else {\n this[kHeadersMap] = new Map(init)\n this[kHeadersSortedMap] = null\n }\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#header-list-contains\n * @param {string} name\n * @param {boolean} isLowerCase\n */\n contains (name, isLowerCase) {\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\n return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase())\n }\n\n clear () {\n this[kHeadersMap].clear()\n this[kHeadersSortedMap] = null\n this.cookies = null\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-append\n * @param {string} name\n * @param {string} value\n * @param {boolean} isLowerCase\n */\n append (name, value, isLowerCase) {\n this[kHeadersSortedMap] = null\n\n // 1. If list contains name, then set name to the first such\n // header’s name.\n const lowercaseName = isLowerCase ? name : 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 ??= []).push(value)\n }\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-set\n * @param {string} name\n * @param {string} value\n * @param {boolean} isLowerCase\n */\n set (name, value, isLowerCase) {\n this[kHeadersSortedMap] = null\n const lowercaseName = isLowerCase ? name : 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 this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-delete\n * @param {string} name\n * @param {boolean} isLowerCase\n */\n delete (name, isLowerCase) {\n this[kHeadersSortedMap] = null\n if (!isLowerCase) name = name.toLowerCase()\n\n if (name === 'set-cookie') {\n this.cookies = null\n }\n\n this[kHeadersMap].delete(name)\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-get\n * @param {string} name\n * @param {boolean} isLowerCase\n * @returns {string | null}\n */\n get (name, isLowerCase) {\n // 1. If list does not contain name, then return null.\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(isLowerCase ? name : name.toLowerCase())?.value ?? null\n }\n\n * [Symbol.iterator] () {\n // use the lowercased name\n for (const { 0: name, 1: { value } } of this[kHeadersMap]) {\n yield [name, value]\n }\n }\n\n get entries () {\n const headers = {}\n\n if (this[kHeadersMap].size !== 0) {\n for (const { name, value } of this[kHeadersMap].values()) {\n headers[name] = value\n }\n }\n\n return headers\n }\n\n rawValues () {\n return this[kHeadersMap].values()\n }\n\n get entriesList () {\n const headers = []\n\n if (this[kHeadersMap].size !== 0) {\n for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {\n if (lowerName === 'set-cookie') {\n for (const cookie of this.cookies) {\n headers.push([name, cookie])\n }\n } else {\n headers.push([name, value])\n }\n }\n }\n\n return headers\n }\n\n // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set\n toSortedArray () {\n const size = this[kHeadersMap].size\n const array = new Array(size)\n // In most cases, you will use the fast-path.\n // fast-path: Use binary insertion sort for small arrays.\n if (size <= 32) {\n if (size === 0) {\n // If empty, it is an empty array. To avoid the first index assignment.\n return array\n }\n // Improve performance by unrolling loop and avoiding double-loop.\n // Double-loop-less version of the binary insertion sort.\n const iterator = this[kHeadersMap][Symbol.iterator]()\n const firstValue = iterator.next().value\n // set [name, value] to first index.\n array[0] = [firstValue[0], firstValue[1].value]\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n // 3.2.2. Assert: value is non-null.\n assert(firstValue[1].value !== null)\n for (\n let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value;\n i < size;\n ++i\n ) {\n // get next value\n value = iterator.next().value\n // set [name, value] to current index.\n x = array[i] = [value[0], value[1].value]\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n // 3.2.2. Assert: value is non-null.\n assert(x[1] !== null)\n left = 0\n right = i\n // binary search\n while (left < right) {\n // middle index\n pivot = left + ((right - left) >> 1)\n // compare header name\n if (array[pivot][0] <= x[0]) {\n left = pivot + 1\n } else {\n right = pivot\n }\n }\n if (i !== pivot) {\n j = i\n while (j > left) {\n array[j] = array[--j]\n }\n array[left] = x\n }\n }\n /* c8 ignore next 4 */\n if (!iterator.next().done) {\n // This is for debugging and will never be called.\n throw new TypeError('Unreachable')\n }\n return array\n } else {\n // This case would be a rare occurrence.\n // slow-path: fallback\n let i = 0\n for (const { 0: name, 1: { value } } of this[kHeadersMap]) {\n array[i++] = [name, value]\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n // 3.2.2. Assert: value is non-null.\n assert(value !== null)\n }\n return array.sort(compareHeaderName)\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#headers-class\nclass Headers {\n #guard\n #headersList\n\n constructor (init = undefined) {\n webidl.util.markAsUncloneable(this)\n\n if (init === kConstruct) {\n return\n }\n\n this.#headersList = new HeadersList()\n\n // The new Headers(init) constructor steps are:\n\n // 1. Set this’s guard to \"none\".\n this.#guard = 'none'\n\n // 2. If init is given, then fill this with init.\n if (init !== undefined) {\n init = webidl.converters.HeadersInit(init, 'Headers contructor', '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, 'Headers.append')\n\n const prefix = 'Headers.append'\n name = webidl.converters.ByteString(name, prefix, 'name')\n value = webidl.converters.ByteString(value, prefix, 'value')\n\n return appendHeader(this, 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, 'Headers.delete')\n\n const prefix = 'Headers.delete'\n name = webidl.converters.ByteString(name, prefix, '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’s guard is \"immutable\", then throw a TypeError.\n // 3. Otherwise, if this’s guard is \"request\" and name is a\n // forbidden header name, return.\n // 4. Otherwise, if this’s 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’s 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.#guard === 'immutable') {\n throw new TypeError('immutable')\n }\n\n // 6. If this’s header list does not contain name, then\n // return.\n if (!this.#headersList.contains(name, false)) {\n return\n }\n\n // 7. Delete name from this’s header list.\n // 8. If this’s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this.\n this.#headersList.delete(name, false)\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, 'Headers.get')\n\n const prefix = 'Headers.get'\n name = webidl.converters.ByteString(name, prefix, '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,\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return the result of getting name from this’s header\n // list.\n return this.#headersList.get(name, false)\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, 'Headers.has')\n\n const prefix = 'Headers.has'\n name = webidl.converters.ByteString(name, prefix, '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,\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return true if this’s header list contains name;\n // otherwise false.\n return this.#headersList.contains(name, false)\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, 'Headers.set')\n\n const prefix = 'Headers.set'\n name = webidl.converters.ByteString(name, prefix, 'name')\n value = webidl.converters.ByteString(value, prefix, '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,\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix,\n value,\n type: 'header value'\n })\n }\n\n // 3. If this’s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if this’s guard is \"request\" and name is a\n // forbidden header name, return.\n // 5. Otherwise, if this’s guard is \"request-no-cors\" and\n // name/value is not a no-CORS-safelisted request-header,\n // return.\n // 6. Otherwise, if this’s 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.#guard === 'immutable') {\n throw new TypeError('immutable')\n }\n\n // 7. Set (name, value) in this’s header list.\n // 8. If this’s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this\n this.#headersList.set(name, value, false)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie\n getSetCookie () {\n webidl.brandCheck(this, Headers)\n\n // 1. If this’s header list does not contain `Set-Cookie`, then return « ».\n // 2. Return the values of all headers in this’s header list whose name is\n // a byte-case-insensitive match for `Set-Cookie`, in order.\n\n const list = this.#headersList.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.#headersList[kHeadersSortedMap]) {\n return this.#headersList[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.#headersList.toSortedArray()\n\n const cookies = this.#headersList.cookies\n\n // fast-path\n if (cookies === null || cookies.length === 1) {\n // Note: The non-null assertion of value has already been done by `HeadersList#toSortedArray`\n return (this.#headersList[kHeadersSortedMap] = names)\n }\n\n // 3. For each name of names:\n for (let i = 0; i < names.length; ++i) {\n const { 0: name, 1: value } = names[i]\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 (let j = 0; j < cookies.length; ++j) {\n headers.push([name, cookies[j]])\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 // Note: This operation was done by `HeadersList#toSortedArray`.\n\n // 3. Append (name, value) to headers.\n headers.push([name, value])\n }\n }\n\n // 4. Return headers.\n return (this.#headersList[kHeadersSortedMap] = headers)\n }\n\n [util.inspect.custom] (depth, options) {\n options.depth ??= depth\n\n return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`\n }\n\n static getHeadersGuard (o) {\n return o.#guard\n }\n\n static setHeadersGuard (o, guard) {\n o.#guard = guard\n }\n\n static getHeadersList (o) {\n return o.#headersList\n }\n\n static setHeadersList (o, list) {\n o.#headersList = list\n }\n}\n\nconst { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers\nReflect.deleteProperty(Headers, 'getHeadersGuard')\nReflect.deleteProperty(Headers, 'setHeadersGuard')\nReflect.deleteProperty(Headers, 'getHeadersList')\nReflect.deleteProperty(Headers, 'setHeadersList')\n\niteratorMixin('Headers', Headers, kHeadersSortedMap, 0, 1)\n\nObject.defineProperties(Headers.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\n getSetCookie: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Headers',\n configurable: true\n },\n [util.inspect.custom]: {\n enumerable: false\n }\n})\n\nwebidl.converters.HeadersInit = function (V, prefix, argument) {\n if (webidl.util.Type(V) === 'Object') {\n const iterator = Reflect.get(V, Symbol.iterator)\n\n // A work-around to ensure we send the properly-cased Headers when V is a Headers object.\n // Read https://github.com/nodejs/undici/pull/3159#issuecomment-2075537226 before touching, please.\n if (!util.types.isProxy(V) && iterator === Headers.prototype.entries) { // Headers object\n try {\n return getHeadersList(V).entriesList\n } catch {\n // fall-through\n }\n }\n\n if (typeof iterator === 'function') {\n return webidl.converters['sequence>'](V, prefix, argument, iterator.bind(V))\n }\n\n return webidl.converters['record'](V, prefix, argument)\n }\n\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence>', 'record']\n })\n}\n\nmodule.exports = {\n fill,\n // for test.\n compareHeaderName,\n Headers,\n HeadersList,\n getHeadersGuard,\n setHeadersGuard,\n setHeadersList,\n getHeadersList\n}\n","'use strict'\n\nconst { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require('./headers')\nconst { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require('./body')\nconst util = require('../../core/util')\nconst nodeUtil = require('node:util')\nconst { kEnumerableProperty } = util\nconst {\n isValidReasonPhrase,\n isCancelled,\n isAborted,\n isBlobLike,\n serializeJavascriptValueToJSONString,\n isErrorLike,\n isomorphicEncode,\n environmentSettingsObject: relevantRealm\n} = require('./util')\nconst {\n redirectStatusSet,\n nullBodyStatus\n} = require('./constants')\nconst { kState, kHeaders } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { FormData } = require('./formdata')\nconst { URLSerializer } = require('./data-url')\nconst { kConstruct } = require('../../core/symbols')\nconst assert = require('node:assert')\nconst { types } = require('node:util')\n\nconst textEncoder = new TextEncoder('utf-8')\n\n// https://fetch.spec.whatwg.org/#response-class\nclass Response {\n // Creates network error Response.\n static error () {\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’s\n // relevant Realm.\n const responseObject = fromInnerResponse(makeNetworkError(), 'immutable')\n\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response-json\n static json (data, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, '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 = textEncoder.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’s relevant Realm.\n const responseObject = fromInnerResponse(makeResponse({}), 'response')\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 webidl.argumentLengthCheck(arguments, 1, '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’s 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, relevantRealm.settingsObject.baseUrl)\n } catch (err) {\n throw new TypeError(`Failed to parse URL from ${url}`, { cause: err })\n }\n\n // 3. If status is not a redirect status, then throw a RangeError.\n if (!redirectStatusSet.has(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’s relevant Realm.\n const responseObject = fromInnerResponse(makeResponse({}), 'immutable')\n\n // 5. Set responseObject’s response’s 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’s response’s header list.\n responseObject[kState].headersList.append('location', value, true)\n\n // 8. Return responseObject.\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response\n constructor (body = null, init = {}) {\n webidl.util.markAsUncloneable(this)\n if (body === kConstruct) {\n return\n }\n\n if (body !== null) {\n body = webidl.converters.BodyInit(body)\n }\n\n init = webidl.converters.ResponseInit(init)\n\n // 1. Set this’s response to a new response.\n this[kState] = makeResponse({})\n\n // 2. Set this’s headers to a new Headers object with this’s relevant\n // Realm, whose header list is this’s response’s header list and guard\n // is \"response\".\n this[kHeaders] = new Headers(kConstruct)\n setHeadersGuard(this[kHeaders], 'response')\n setHeadersList(this[kHeaders], this[kState].headersList)\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’s type, e.g., \"cors\".\n get type () {\n webidl.brandCheck(this, Response)\n\n // The type getter steps are to return this’s response’s type.\n return this[kState].type\n }\n\n // Returns response’s 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’s\n // response’s URL is null; otherwise this’s response’s 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’s response’s URL\n // list has more than one item; otherwise false.\n return this[kState].urlList.length > 1\n }\n\n // Returns response’s status.\n get status () {\n webidl.brandCheck(this, Response)\n\n // The status getter steps are to return this’s response’s status.\n return this[kState].status\n }\n\n // Returns whether response’s 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’s response’s status is an\n // ok status; otherwise false.\n return this[kState].status >= 200 && this[kState].status <= 299\n }\n\n // Returns response’s status message.\n get statusText () {\n webidl.brandCheck(this, Response)\n\n // The statusText getter steps are to return this’s response’s status\n // message.\n return this[kState].statusText\n }\n\n // Returns response’s headers as Headers.\n get headers () {\n webidl.brandCheck(this, Response)\n\n // The headers getter steps are to return this’s 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 (bodyUnusable(this)) {\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’s response.\n const clonedResponse = cloneResponse(this[kState])\n\n // Note: To re-register because of a new stream.\n if (hasFinalizationRegistry && this[kState].body?.stream) {\n streamRegistry.register(this, new WeakRef(this[kState].body.stream))\n }\n\n // 3. Return the result of creating a Response object, given\n // clonedResponse, this’s headers’s guard, and this’s relevant Realm.\n return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]))\n }\n\n [nodeUtil.inspect.custom] (depth, options) {\n if (options.depth === null) {\n options.depth = 2\n }\n\n options.colors ??= true\n\n const properties = {\n status: this.status,\n statusText: this.statusText,\n headers: this.headers,\n body: this.body,\n bodyUsed: this.bodyUsed,\n ok: this.ok,\n redirected: this.redirected,\n type: this.type,\n url: this.url\n }\n\n return `Response ${nodeUtil.formatWithOptions(options, properties)}`\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’s\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’s body is non-null, then set newResponse’s body to the\n // result of cloning response’s body.\n if (response.body != null) {\n newResponse.body = cloneBody(newResponse, 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\n// @see https://fetch.spec.whatwg.org/#concept-network-error\nfunction isNetworkError (response) {\n return (\n // A network error is a response whose type is \"error\",\n response.type === 'error' &&\n // status is 0\n response.status === 0\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’s 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’s 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’s header\n // list whose name is not a CORS-safelisted response-header name, given\n // internal response’s 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, err = null) {\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(Object.assign(new DOMException('The operation was aborted.', 'AbortError'), { cause: err }))\n : makeNetworkError(Object.assign(new DOMException('Request was cancelled.'), { cause: err }))\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’s response’s status to init[\"status\"].\n if ('status' in init && init.status != null) {\n response[kState].status = init.status\n }\n\n // 4. Set response’s response’s 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’s 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', true)) {\n response[kState].headersList.append('content-type', body.type, true)\n }\n }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#response-create\n * @param {any} innerResponse\n * @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard\n * @returns {Response}\n */\nfunction fromInnerResponse (innerResponse, guard) {\n const response = new Response(kConstruct)\n response[kState] = innerResponse\n response[kHeaders] = new Headers(kConstruct)\n setHeadersList(response[kHeaders], innerResponse.headersList)\n setHeadersGuard(response[kHeaders], guard)\n\n if (hasFinalizationRegistry && innerResponse.body?.stream) {\n // If the target (response) is reclaimed, the cleanup callback may be called at some point with\n // the held value provided for it (innerResponse.body.stream). The held value can be any value:\n // a primitive or an object, even undefined. If the held value is an object, the registry keeps\n // a strong reference to it (so it can pass it to the cleanup callback later). Reworded from\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n streamRegistry.register(response, new WeakRef(innerResponse.body.stream))\n }\n\n return response\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, prefix, name) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V, prefix, name)\n }\n\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, prefix, name, { strict: false })\n }\n\n if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {\n return webidl.converters.BufferSource(V, prefix, name)\n }\n\n if (util.isFormDataLike(V)) {\n return webidl.converters.FormData(V, prefix, name, { strict: false })\n }\n\n if (V instanceof URLSearchParams) {\n return webidl.converters.URLSearchParams(V, prefix, name)\n }\n\n return webidl.converters.DOMString(V, prefix, name)\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit\nwebidl.converters.BodyInit = function (V, prefix, argument) {\n if (V instanceof ReadableStream) {\n return webidl.converters.ReadableStream(V, prefix, argument)\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, prefix, argument)\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 isNetworkError,\n makeNetworkError,\n makeResponse,\n makeAppropriateNetworkError,\n filterResponse,\n Response,\n cloneResponse,\n fromInnerResponse\n}\n","'use strict'\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 if (dispatcher.on) {\n dispatcher.on('disconnect', () => {\n if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {\n this.finalizer(key)\n }\n })\n }\n }\n\n unregister (key) {}\n}\n\nmodule.exports = function () {\n // FIXME: remove workaround when the Node bug is backported to v18\n // https://github.com/nodejs/node/issues/49344#issuecomment-1741776308\n if (process.env.NODE_V8_COVERAGE && process.version.startsWith('v18')) {\n process._rawDebug('Using compatibility WeakRef and FinalizationRegistry')\n return {\n WeakRef: CompatWeakRef,\n FinalizationRegistry: CompatFinalizer\n }\n }\n return { WeakRef, FinalizationRegistry }\n}\n","/* globals AbortController */\n\n'use strict'\n\nconst { extractBody, mixinBody, cloneBody, bodyUnusable } = require('./body')\nconst { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require('./headers')\nconst { FinalizationRegistry } = require('./dispatcher-weakref')()\nconst util = require('../../core/util')\nconst nodeUtil = require('node:util')\nconst {\n isValidHTTPToken,\n sameOrigin,\n environmentSettingsObject\n} = require('./util')\nconst {\n forbiddenMethodsSet,\n corsSafeListedMethodsSet,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n requestDuplex\n} = require('./constants')\nconst { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util\nconst { kHeaders, kSignal, kState, kDispatcher } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { URLSerializer } = require('./data-url')\nconst { kConstruct } = require('../../core/symbols')\nconst assert = require('node:assert')\nconst { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('node:events')\n\nconst kAbortController = Symbol('abortController')\n\nconst requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {\n signal.removeEventListener('abort', abort)\n})\n\nconst dependentControllerMap = new WeakMap()\n\nfunction buildAbort (acRef) {\n return abort\n\n function abort () {\n const ac = acRef.deref()\n if (ac !== undefined) {\n // Currently, there is a problem with FinalizationRegistry.\n // https://github.com/nodejs/node/issues/49344\n // https://github.com/nodejs/node/issues/47748\n // In the case of abort, the first step is to unregister from it.\n // If the controller can refer to it, it is still registered.\n // It will be removed in the future.\n requestFinalizer.unregister(abort)\n\n // Unsubscribe a listener.\n // FinalizationRegistry will no longer be called, so this must be done.\n this.removeEventListener('abort', abort)\n\n ac.abort(this.reason)\n\n const controllerList = dependentControllerMap.get(ac.signal)\n\n if (controllerList !== undefined) {\n if (controllerList.size !== 0) {\n for (const ref of controllerList) {\n const ctrl = ref.deref()\n if (ctrl !== undefined) {\n ctrl.abort(this.reason)\n }\n }\n controllerList.clear()\n }\n dependentControllerMap.delete(ac.signal)\n }\n }\n }\n}\n\nlet patchMethodWarning = false\n\n// https://fetch.spec.whatwg.org/#request-class\nclass Request {\n // https://fetch.spec.whatwg.org/#dom-request\n constructor (input, init = {}) {\n webidl.util.markAsUncloneable(this)\n if (input === kConstruct) {\n return\n }\n\n const prefix = 'Request constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n input = webidl.converters.RequestInfo(input, prefix, 'input')\n init = webidl.converters.RequestInit(init, prefix, 'init')\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’s relevant settings object’s API base URL.\n const baseUrl = environmentSettingsObject.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 this[kDispatcher] = init.dispatcher\n\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 this[kDispatcher] = init.dispatcher || input[kDispatcher]\n\n // 6. Otherwise:\n\n // 7. Assert: input is a Request object.\n assert(input instanceof Request)\n\n // 8. Set request to input’s request.\n request = input[kState]\n\n // 9. Set signal to input’s signal.\n signal = input[kSignal]\n }\n\n // 7. Let origin be this’s relevant settings object’s origin.\n const origin = environmentSettingsObject.settingsObject.origin\n\n // 8. Let window be \"client\".\n let window = 'client'\n\n // 9. If request’s window is an environment settings object and its origin\n // is same origin with origin, then set window to request’s 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’s URL.\n // undici implementation note: this is set as the first item in request's urlList in makeRequest\n // method request’s method.\n method: request.method,\n // header list A copy of request’s 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’s relevant settings object.\n client: environmentSettingsObject.settingsObject,\n // window window.\n window,\n // priority request’s priority.\n priority: request.priority,\n // origin request’s 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’s referrer.\n referrer: request.referrer,\n // referrer policy request’s referrer policy.\n referrerPolicy: request.referrerPolicy,\n // mode request’s mode.\n mode: request.mode,\n // credentials mode request’s credentials mode.\n credentials: request.credentials,\n // cache mode request’s cache mode.\n cache: request.cache,\n // redirect mode request’s redirect mode.\n redirect: request.redirect,\n // integrity metadata request’s integrity metadata.\n integrity: request.integrity,\n // keepalive request’s keepalive.\n keepalive: request.keepalive,\n // reload-navigation flag request’s reload-navigation flag.\n reloadNavigation: request.reloadNavigation,\n // history-navigation flag request’s history-navigation flag.\n historyNavigation: request.historyNavigation,\n // URL list A clone of request’s URL list.\n urlList: [...request.urlList]\n })\n\n const initHasKey = Object.keys(init).length !== 0\n\n // 13. If init is not empty, then:\n if (initHasKey) {\n // 1. If request’s 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’s reload-navigation flag.\n request.reloadNavigation = false\n\n // 3. Unset request’s history-navigation flag.\n request.historyNavigation = false\n\n // 4. Set request’s origin to \"client\".\n request.origin = 'client'\n\n // 5. Set request’s referrer to \"client\"\n request.referrer = 'client'\n\n // 6. Set request’s referrer policy to the empty string.\n request.referrerPolicy = ''\n\n // 7. Set request’s URL to request’s current URL.\n request.url = request.urlList[request.urlList.length - 1]\n\n // 8. Set request’s URL list to « request’s URL ».\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’s 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’s scheme is \"about\" and path is the string \"client\"\n // - parsedReferrer’s origin is not same origin with origin\n // then set request’s referrer to \"client\".\n if (\n (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client') ||\n (origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl))\n ) {\n request.referrer = 'client'\n } else {\n // 4. Otherwise, set request’s referrer to parsedReferrer.\n request.referrer = parsedReferrer\n }\n }\n }\n\n // 15. If init[\"referrerPolicy\"] exists, then set request’s 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’s mode to mode.\n if (mode != null) {\n request.mode = mode\n }\n\n // 19. If init[\"credentials\"] exists, then set request’s 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’s cache mode to it.\n if (init.cache !== undefined) {\n request.cache = init.cache\n }\n\n // 21. If request’s cache mode is \"only-if-cached\" and request’s 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’s 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’s integrity metadata to it.\n if (init.integrity != null) {\n request.integrity = String(init.integrity)\n }\n\n // 24. If init[\"keepalive\"] exists, then set request’s 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 const mayBeNormalized = normalizedMethodRecords[method]\n\n if (mayBeNormalized !== undefined) {\n // Note: Bypass validation DELETE, GET, HEAD, OPTIONS, POST, PUT, PATCH and these lowercase ones\n request.method = mayBeNormalized\n } else {\n // 2. If method is not a method or method is a forbidden method, then\n // throw a TypeError.\n if (!isValidHTTPToken(method)) {\n throw new TypeError(`'${method}' is not a valid HTTP method.`)\n }\n\n const upperCase = method.toUpperCase()\n\n if (forbiddenMethodsSet.has(upperCase)) {\n throw new TypeError(`'${method}' HTTP method is unsupported.`)\n }\n\n // 3. Normalize method.\n // https://fetch.spec.whatwg.org/#concept-method-normalize\n // Note: must be in uppercase\n method = normalizedMethodRecordsBase[upperCase] ?? method\n\n // 4. Set request’s method to method.\n request.method = method\n }\n\n if (!patchMethodWarning && request.method === 'patch') {\n process.emitWarning('Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.', {\n code: 'UNDICI-FETCH-patch'\n })\n\n patchMethodWarning = true\n }\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’s request to request.\n this[kState] = request\n\n // 28. Set this’s signal to a new AbortSignal object with this’s 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\n // 29. If signal is not null, then make this’s 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 = buildAbort(acRef)\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(1500, signal)\n } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) {\n setMaxListeners(1500, signal)\n }\n } catch {}\n\n util.addAbortListener(signal, abort)\n // The third argument must be a registry key to be unregistered.\n // Without it, you cannot unregister.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n // abort is used as the unregister key. (because it is unique)\n requestFinalizer.register(ac, { signal, abort }, abort)\n }\n }\n\n // 30. Set this’s headers to a new Headers object with this’s relevant\n // Realm, whose header list is request’s header list and guard is\n // \"request\".\n this[kHeaders] = new Headers(kConstruct)\n setHeadersList(this[kHeaders], request.headersList)\n setHeadersGuard(this[kHeaders], 'request')\n\n // 31. If this’s request’s mode is \"no-cors\", then:\n if (mode === 'no-cors') {\n // 1. If this’s request’s method is not a CORS-safelisted method,\n // then throw a TypeError.\n if (!corsSafeListedMethodsSet.has(request.method)) {\n throw new TypeError(\n `'${request.method} is unsupported in no-cors mode.`\n )\n }\n\n // 2. Set this’s headers’s guard to \"request-no-cors\".\n setHeadersGuard(this[kHeaders], 'request-no-cors')\n }\n\n // 32. If init is not empty, then:\n if (initHasKey) {\n /** @type {HeadersList} */\n const headersList = getHeadersList(this[kHeaders])\n // 1. Let headers be a copy of this’s headers and its associated header\n // list.\n // 2. If init[\"headers\"] exists, then set headers to init[\"headers\"].\n const headers = init.headers !== undefined ? init.headers : new HeadersList(headersList)\n\n // 3. Empty this’s headers’s header list.\n headersList.clear()\n\n // 4. If headers is a Headers object, then for each header in its header\n // list, append header’s name/header’s value to this’s headers.\n if (headers instanceof HeadersList) {\n for (const { name, value } of headers.rawValues()) {\n headersList.append(name, value, false)\n }\n // Note: Copy the `set-cookie` meta-data.\n headersList.cookies = headers.cookies\n } else {\n // 5. Otherwise, fill this’s headers with headers.\n fillHeaders(this[kHeaders], headers)\n }\n }\n\n // 33. Let inputBody be input’s request’s 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’s 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’s 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’s headers’s header list does\n // not contain `Content-Type`, then append `Content-Type`/Content-Type to\n // this’s headers.\n if (contentType && !getHeadersList(this[kHeaders]).contains('content-type', true)) {\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’s 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’s request’s 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’s request’s 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 (bodyUnusable(input)) {\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 // 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’s request’s body to finalBody.\n this[kState].body = finalBody\n }\n\n // Returns request’s 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’s request’s 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’s request’s 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’s 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’s request’s 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’s 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’s request’s 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’s request’s referrer is \"client\", then return\n // \"about:client\".\n if (this[kState].referrer === 'client') {\n return 'about:client'\n }\n\n // Return this’s request’s 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’s\n // referrer.\n get referrerPolicy () {\n webidl.brandCheck(this, Request)\n\n // The referrerPolicy getter steps are to return this’s request’s 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’s request’s 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’s request’s 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’s cache when fetching.\n get cache () {\n webidl.brandCheck(this, Request)\n\n // The cache getter steps are to return this’s request’s 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’s request’s redirect mode.\n return this[kState].redirect\n }\n\n // Returns request’s 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’s request’s 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’s request’s 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’s\n // request’s 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-forward navigation).\n get isHistoryNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isHistoryNavigation getter steps are to return true if this’s request’s\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’s 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 (bodyUnusable(this)) {\n throw new TypeError('unusable')\n }\n\n // 2. Let clonedRequest be the result of cloning this’s request.\n const clonedRequest = cloneRequest(this[kState])\n\n // 3. Let clonedRequestObject be the result of creating a Request object,\n // given clonedRequest, this’s headers’s guard, and this’s relevant Realm.\n // 4. Make clonedRequestObject’s signal follow this’s signal.\n const ac = new AbortController()\n if (this.signal.aborted) {\n ac.abort(this.signal.reason)\n } else {\n let list = dependentControllerMap.get(this.signal)\n if (list === undefined) {\n list = new Set()\n dependentControllerMap.set(this.signal, list)\n }\n const acRef = new WeakRef(ac)\n list.add(acRef)\n util.addAbortListener(\n ac.signal,\n buildAbort(acRef)\n )\n }\n\n // 4. Return clonedRequestObject.\n return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]))\n }\n\n [nodeUtil.inspect.custom] (depth, options) {\n if (options.depth === null) {\n options.depth = 2\n }\n\n options.colors ??= true\n\n const properties = {\n method: this.method,\n url: this.url,\n headers: this.headers,\n destination: this.destination,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n mode: this.mode,\n credentials: this.credentials,\n cache: this.cache,\n redirect: this.redirect,\n integrity: this.integrity,\n keepalive: this.keepalive,\n isReloadNavigation: this.isReloadNavigation,\n isHistoryNavigation: this.isHistoryNavigation,\n signal: this.signal\n }\n\n return `Request ${nodeUtil.formatWithOptions(options, properties)}`\n }\n}\n\nmixinBody(Request)\n\n// https://fetch.spec.whatwg.org/#requests\nfunction makeRequest (init) {\n return {\n method: init.method ?? 'GET',\n localURLsOnly: init.localURLsOnly ?? false,\n unsafeRequest: init.unsafeRequest ?? false,\n body: init.body ?? null,\n client: init.client ?? null,\n reservedClient: init.reservedClient ?? null,\n replacesClientId: init.replacesClientId ?? '',\n window: init.window ?? 'client',\n keepalive: init.keepalive ?? false,\n serviceWorkers: init.serviceWorkers ?? 'all',\n initiator: init.initiator ?? '',\n destination: init.destination ?? '',\n priority: init.priority ?? null,\n origin: init.origin ?? 'client',\n policyContainer: init.policyContainer ?? 'client',\n referrer: init.referrer ?? 'client',\n referrerPolicy: init.referrerPolicy ?? '',\n mode: init.mode ?? 'no-cors',\n useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,\n credentials: init.credentials ?? 'same-origin',\n useCredentials: init.useCredentials ?? false,\n cache: init.cache ?? 'default',\n redirect: init.redirect ?? 'follow',\n integrity: init.integrity ?? '',\n cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? '',\n parserMetadata: init.parserMetadata ?? '',\n reloadNavigation: init.reloadNavigation ?? false,\n historyNavigation: init.historyNavigation ?? false,\n userActivation: init.userActivation ?? false,\n taintedOrigin: init.taintedOrigin ?? false,\n redirectCount: init.redirectCount ?? 0,\n responseTainting: init.responseTainting ?? 'basic',\n preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,\n done: init.done ?? false,\n timingAllowFailed: init.timingAllowFailed ?? false,\n urlList: init.urlList,\n url: init.urlList[0],\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList()\n }\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’s body is non-null, set newRequest’s body to the\n // result of cloning request’s body.\n if (request.body != null) {\n newRequest.body = cloneBody(newRequest, request.body)\n }\n\n // 3. Return newRequest.\n return newRequest\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#request-create\n * @param {any} innerRequest\n * @param {AbortSignal} signal\n * @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard\n * @returns {Request}\n */\nfunction fromInnerRequest (innerRequest, signal, guard) {\n const request = new Request(kConstruct)\n request[kState] = innerRequest\n request[kSignal] = signal\n request[kHeaders] = new Headers(kConstruct)\n setHeadersList(request[kHeaders], innerRequest.headersList)\n setHeadersGuard(request[kHeaders], guard)\n return request\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, prefix, argument) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V, prefix, argument)\n }\n\n if (V instanceof Request) {\n return webidl.converters.Request(V, prefix, argument)\n }\n\n return webidl.converters.USVString(V, prefix, argument)\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 'RequestInit',\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 key: 'dispatcher', // undici specific option\n converter: webidl.converters.any\n }\n])\n\nmodule.exports = { Request, makeRequest, fromInnerRequest, cloneRequest }\n","// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst {\n makeNetworkError,\n makeAppropriateNetworkError,\n filterResponse,\n makeResponse,\n fromInnerResponse\n} = require('./response')\nconst { HeadersList } = require('./headers')\nconst { Request, cloneRequest } = require('./request')\nconst zlib = require('node: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 clampAndCoarsenConnectionTimingInfo,\n simpleRangeHeaderValue,\n buildContentRange,\n createInflate,\n extractMimeType\n} = require('./util')\nconst { kState, kDispatcher } = require('./symbols')\nconst assert = require('node:assert')\nconst { safelyExtractBody, extractBody } = require('./body')\nconst {\n redirectStatusSet,\n nullBodyStatus,\n safeMethodsSet,\n requestBodyHeader,\n subresourceSet\n} = require('./constants')\nconst EE = require('node:events')\nconst { Readable, pipeline, finished } = require('node:stream')\nconst { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require('../../core/util')\nconst { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require('./data-url')\nconst { getGlobalDispatcher } = require('../../global')\nconst { webidl } = require('./webidl')\nconst { STATUS_CODES } = require('node:http')\nconst GET_OR_HEAD = ['GET', 'HEAD']\n\nconst defaultUserAgent = typeof __UNDICI_IS_NODE__ !== 'undefined' || typeof esbuildDetection !== 'undefined'\n ? 'node'\n : 'undici'\n\n/** @type {import('buffer').resolveObjectURL} */\nlet resolveObjectURL\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 }\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’s 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’s serialized abort reason to serializedError.\n this.serializedAbortReason = error\n\n this.connection?.destroy(error)\n this.emit('terminated', error)\n }\n}\n\nfunction handleFetchDone (response) {\n finalizeAndReportTiming(response, 'fetch')\n}\n\n// https://fetch.spec.whatwg.org/#fetch-method\nfunction fetch (input, init = undefined) {\n webidl.argumentLengthCheck(arguments, 1, 'globalThis.fetch')\n\n // 1. Let p be a new promise.\n let 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’s request.\n const request = requestObject[kState]\n\n // 4. If requestObject’s signal’s aborted flag is set, then:\n if (requestObject.signal.aborted) {\n // 1. Abort the fetch() call with p, request, null, and\n // requestObject’s signal’s 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’s client’s global object.\n const globalObject = request.client.globalObject\n\n // 6. If globalObject is a ServiceWorkerGlobalScope object, then set\n // request’s 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’s relevant Realm.\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’s 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’s signal’s abort reason.\n controller.abort(requestObject.signal.reason)\n\n const realResponse = responseObject?.deref()\n\n // 4. Abort the fetch() call with p, request, responseObject,\n // and requestObject’s signal’s abort reason.\n abortFetch(p, request, realResponse, 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 // see function handleFetchDone\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’s 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’s 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(new TypeError('fetch failed', { cause: response.error }))\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 WeakRef(fromInnerResponse(response, 'immutable'))\n\n // 5. Resolve p with responseObject.\n p.resolve(responseObject.deref())\n p = null\n }\n\n controller = fetching({\n request,\n processResponseEndOfBody: handleFetchDone,\n processResponse,\n dispatcher: requestObject[kDispatcher] // 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’s URL list is null or empty, then return.\n if (!response.urlList?.length) {\n return\n }\n\n // 3. Let originalURL be response’s URL list[0].\n const originalURL = response.urlList[0]\n\n // 4. Let timingInfo be response’s timing info.\n let timingInfo = response.timingInfo\n\n // 5. Let cacheState be response’s cache state.\n let cacheState = response.cacheState\n\n // 6. If originalURL’s 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’s timing allow passed flag is not set, then:\n if (!response.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’s end time to the coarsened shared current time\n // given global’s relevant settings object’s cross-origin isolated\n // capability.\n // TODO: given global’s relevant settings object’s cross-origin isolated\n // capability?\n timingInfo.endTime = coarsenedSharedCurrentTime()\n\n // 10. Set response’s 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.href,\n initiatorType,\n globalThis,\n cacheState\n )\n}\n\n// https://w3c.github.io/resource-timing/#dfn-mark-resource-timing\nconst markResourceTiming = performance.markResourceTiming\n\n// https://fetch.spec.whatwg.org/#abort-fetch\nfunction abortFetch (p, request, responseObject, error) {\n // 1. Reject promise with error.\n if (p) {\n // We might have already resolved the promise at this stage\n p.reject(error)\n }\n\n // 2. If request’s body is not null and is readable, then cancel request’s\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’s response.\n const response = responseObject[kState]\n\n // 5. If response’s body is not null and is readable, then error response’s\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 = getGlobalDispatcher() // undici\n}) {\n // Ensure that the dispatcher is set accordingly\n assert(dispatcher)\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’s client is non-null, then:\n if (request.client != null) {\n // 1. Set taskDestination to request’s client’s global object.\n taskDestination = request.client.globalObject\n\n // 2. Set crossOriginIsolatedCapability to request’s client’s 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 currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability)\n const timingInfo = createOpaqueTimingInfo({\n startTime: currentTime\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’s body is a byte sequence, then set request’s body to\n // request’s 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’s window is \"client\", then set request’s window to request’s\n // client, if request’s client’s 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’s origin is \"client\", then set request’s origin to request’s\n // client’s origin.\n if (request.origin === 'client') {\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’s policy container is \"client\", then:\n if (request.policyContainer === 'client') {\n // 1. If request’s client is non-null, then set request’s policy\n // container to a clone of request’s client’s policy container. [HTML]\n if (request.client != null) {\n request.policyContainer = clonePolicyContainer(\n request.client.policyContainer\n )\n } else {\n // 2. Otherwise, set request’s policy container to a new policy\n // container.\n request.policyContainer = makePolicyContainer()\n }\n }\n\n // 12. If request’s header list does not contain `Accept`, then:\n if (!request.headersList.contains('accept', true)) {\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’s 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’s header list.\n request.headersList.append('accept', value, true)\n }\n\n // 13. If request’s header list does not contain `Accept-Language`, then\n // user agents should append `Accept-Language`/an appropriate value to\n // request’s header list.\n if (!request.headersList.contains('accept-language', true)) {\n request.headersList.append('accept-language', '*', true)\n }\n\n // 14. If request’s priority is null, then use request’s initiator and\n // destination appropriately in setting request’s 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 (subresourceSet.has(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’s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. If request’s local-URLs-only flag is set and request’s 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’s referrer policy is the empty string, then set request’s\n // referrer policy to request’s policy container’s referrer policy.\n if (request.referrerPolicy === '') {\n request.referrerPolicy = request.policyContainer.referrerPolicy\n }\n\n // 8. If request’s referrer is not \"no-referrer\", then set request’s\n // referrer to the result of invoking determine request’s referrer.\n if (request.referrer !== 'no-referrer') {\n request.referrer = determineRequestsReferrer(request)\n }\n\n // 9. Set request’s current URL’s scheme to \"https\" if all of the following\n // conditions are true:\n // - request’s current URL’s scheme is \"http\"\n // - request’s current URL’s host is a domain\n // - Matching request’s current URL’s 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’s current URL’s origin is same origin with request’s origin,\n // and request’s response tainting is \"basic\"\n (sameOrigin(currentURL, request.url) && request.responseTainting === 'basic') ||\n // request’s current URL’s scheme is \"data\"\n (currentURL.protocol === 'data:') ||\n // - request’s mode is \"navigate\" or \"websocket\"\n (request.mode === 'navigate' || request.mode === 'websocket')\n ) {\n // 1. Set request’s 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’s 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’s mode is \"no-cors\"\n if (request.mode === 'no-cors') {\n // 1. If request’s 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’s 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’s current URL’s 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’s use-CORS-preflight flag is set\n // - request’s unsafe-request flag is set and either request’s method is\n // not a CORS-safelisted method or CORS-unsafe request-header names with\n // request’s header list is not empty\n // 1. Set request’s 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’s 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’s 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’s header list.\n // TODO\n // 2. If request’s credentials mode is not \"include\" and headerNames\n // contains `*`, then set response’s CORS-exposed header-name list to\n // all unique header names in response’s header list.\n // TODO\n // 3. Otherwise, if headerNames is not null or failure, then set\n // response’s 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’s 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’s internal response otherwise.\n let internalResponse =\n response.status === 0 ? response : response.internalResponse\n\n // 15. If internalResponse’s URL list is empty, then set it to a clone of\n // request’s URL list.\n if (internalResponse.urlList.length === 0) {\n internalResponse.urlList.push(...request.urlList)\n }\n\n // 16. If request’s timing allow failed flag is unset, then set\n // internalResponse’s 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’s type is \"opaque\", internalResponse’s status is 206,\n // internalResponse’s range-requested flag is set, and request’s 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', true)\n ) {\n response = internalResponse = makeNetworkError()\n }\n\n // 19. If response is not a network error and either request’s method is\n // `HEAD` or `CONNECT`, or internalResponse’s status is a null body status,\n // set internalResponse’s 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’s 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’s response tainting is \"opaque\", or response’s 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’s 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’s 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’s 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\nfunction 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 Promise.resolve(makeAppropriateNetworkError(fetchParams))\n }\n\n // 2. Let request be fetchParams’s request.\n const { request } = fetchParams\n\n const { protocol: scheme } = requestCurrentURL(request)\n\n // 3. Switch on request’s current URL’s scheme and run the associated steps:\n switch (scheme) {\n case 'about:': {\n // If request’s current URL’s path is the string \"blank\", then return a new response\n // whose status message is `OK`, header list is « (`Content-Type`, `text/html;charset=utf-8`) »,\n // and body is the empty byte sequence as a body.\n\n // Otherwise, return a network error.\n return Promise.resolve(makeNetworkError('about scheme is not supported'))\n }\n case 'blob:': {\n if (!resolveObjectURL) {\n resolveObjectURL = require('node:buffer').resolveObjectURL\n }\n\n // 1. Let blobURLEntry be request’s current URL’s 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 Promise.resolve(makeNetworkError('NetworkError when attempting to fetch resource.'))\n }\n\n const blob = resolveObjectURL(blobURLEntry.toString())\n\n // 2. If request’s method is not `GET`, blobURLEntry is null, or blobURLEntry’s\n // object is not a Blob object, then return a network error.\n if (request.method !== 'GET' || !isBlobLike(blob)) {\n return Promise.resolve(makeNetworkError('invalid method'))\n }\n\n // 3. Let blob be blobURLEntry’s object.\n // Note: done above\n\n // 4. Let response be a new response.\n const response = makeResponse()\n\n // 5. Let fullLength be blob’s size.\n const fullLength = blob.size\n\n // 6. Let serializedFullLength be fullLength, serialized and isomorphic encoded.\n const serializedFullLength = isomorphicEncode(`${fullLength}`)\n\n // 7. Let type be blob’s type.\n const type = blob.type\n\n // 8. If request’s header list does not contain `Range`:\n // 9. Otherwise:\n if (!request.headersList.contains('range', true)) {\n // 1. Let bodyWithType be the result of safely extracting blob.\n // Note: in the FileAPI a blob \"object\" is a Blob *or* a MediaSource.\n // In node, this can only ever be a Blob. Therefore we can safely\n // use extractBody directly.\n const bodyWithType = extractBody(blob)\n\n // 2. Set response’s status message to `OK`.\n response.statusText = 'OK'\n\n // 3. Set response’s body to bodyWithType’s body.\n response.body = bodyWithType[0]\n\n // 4. Set response’s header list to « (`Content-Length`, serializedFullLength), (`Content-Type`, type) ».\n response.headersList.set('content-length', serializedFullLength, true)\n response.headersList.set('content-type', type, true)\n } else {\n // 1. Set response’s range-requested flag.\n response.rangeRequested = true\n\n // 2. Let rangeHeader be the result of getting `Range` from request’s header list.\n const rangeHeader = request.headersList.get('range', true)\n\n // 3. Let rangeValue be the result of parsing a single range header value given rangeHeader and true.\n const rangeValue = simpleRangeHeaderValue(rangeHeader, true)\n\n // 4. If rangeValue is failure, then return a network error.\n if (rangeValue === 'failure') {\n return Promise.resolve(makeNetworkError('failed to fetch the data URL'))\n }\n\n // 5. Let (rangeStart, rangeEnd) be rangeValue.\n let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue\n\n // 6. If rangeStart is null:\n // 7. Otherwise:\n if (rangeStart === null) {\n // 1. Set rangeStart to fullLength − rangeEnd.\n rangeStart = fullLength - rangeEnd\n\n // 2. Set rangeEnd to rangeStart + rangeEnd − 1.\n rangeEnd = rangeStart + rangeEnd - 1\n } else {\n // 1. If rangeStart is greater than or equal to fullLength, then return a network error.\n if (rangeStart >= fullLength) {\n return Promise.resolve(makeNetworkError('Range start is greater than the blob\\'s size.'))\n }\n\n // 2. If rangeEnd is null or rangeEnd is greater than or equal to fullLength, then set\n // rangeEnd to fullLength − 1.\n if (rangeEnd === null || rangeEnd >= fullLength) {\n rangeEnd = fullLength - 1\n }\n }\n\n // 8. Let slicedBlob be the result of invoking slice blob given blob, rangeStart,\n // rangeEnd + 1, and type.\n const slicedBlob = blob.slice(rangeStart, rangeEnd, type)\n\n // 9. Let slicedBodyWithType be the result of safely extracting slicedBlob.\n // Note: same reason as mentioned above as to why we use extractBody\n const slicedBodyWithType = extractBody(slicedBlob)\n\n // 10. Set response’s body to slicedBodyWithType’s body.\n response.body = slicedBodyWithType[0]\n\n // 11. Let serializedSlicedLength be slicedBlob’s size, serialized and isomorphic encoded.\n const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`)\n\n // 12. Let contentRange be the result of invoking build a content range given rangeStart,\n // rangeEnd, and fullLength.\n const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength)\n\n // 13. Set response’s status to 206.\n response.status = 206\n\n // 14. Set response’s status message to `Partial Content`.\n response.statusText = 'Partial Content'\n\n // 15. Set response’s header list to « (`Content-Length`, serializedSlicedLength),\n // (`Content-Type`, type), (`Content-Range`, contentRange) ».\n response.headersList.set('content-length', serializedSlicedLength, true)\n response.headersList.set('content-type', type, true)\n response.headersList.set('content-range', contentRange, true)\n }\n\n // 10. Return response.\n return Promise.resolve(response)\n }\n case 'data:': {\n // 1. Let dataURLStruct be the result of running the\n // data: URL processor on request’s 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 Promise.resolve(makeNetworkError('failed to fetch the data URL'))\n }\n\n // 3. Let mimeType be dataURLStruct’s MIME type, serialized.\n const mimeType = serializeAMimeType(dataURLStruct.mimeType)\n\n // 4. Return a response whose status message is `OK`,\n // header list is « (`Content-Type`, mimeType) »,\n // and body is dataURLStruct’s body as a body.\n return Promise.resolve(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 Promise.resolve(makeNetworkError('not implemented... yet...'))\n }\n case 'http:':\n case 'https:': {\n // Return the result of running HTTP fetch given fetchParams.\n\n return httpFetch(fetchParams)\n .catch((err) => makeNetworkError(err))\n }\n default: {\n return Promise.resolve(makeNetworkError('unknown scheme'))\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#finalize-response\nfunction finalizeResponse (fetchParams, response) {\n // 1. Set fetchParams’s request’s done flag.\n fetchParams.request.done = true\n\n // 2, If fetchParams’s process response done is not null, then queue a fetch\n // task to run fetchParams’s process response done given response, with\n // fetchParams’s task destination.\n if (fetchParams.processResponseDone != null) {\n queueMicrotask(() => fetchParams.processResponseDone(response))\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-finale\nfunction fetchFinale (fetchParams, response) {\n // 1. Let timingInfo be fetchParams’s timing info.\n let timingInfo = fetchParams.timingInfo\n\n // 2. If response is not a network error and fetchParams’s request’s client is a secure context,\n // then set timingInfo’s server-timing headers to the result of getting, decoding, and splitting\n // `Server-Timing` from response’s internal response’s header list.\n // TODO\n\n // 3. Let processResponseEndOfBody be the following steps:\n const processResponseEndOfBody = () => {\n // 1. Let unsafeEndTime be the unsafe shared current time.\n const unsafeEndTime = Date.now() // ?\n\n // 2. If fetchParams’s request’s destination is \"document\", then set fetchParams’s controller’s\n // full timing info to fetchParams’s timing info.\n if (fetchParams.request.destination === 'document') {\n fetchParams.controller.fullTimingInfo = timingInfo\n }\n\n // 3. Set fetchParams’s controller’s report timing steps to the following steps given a global object global:\n fetchParams.controller.reportTimingSteps = () => {\n // 1. If fetchParams’s request’s URL’s scheme is not an HTTP(S) scheme, then return.\n if (fetchParams.request.url.protocol !== 'https:') {\n return\n }\n\n // 2. Set timingInfo’s end time to the relative high resolution time given unsafeEndTime and global.\n timingInfo.endTime = unsafeEndTime\n\n // 3. Let cacheState be response’s cache state.\n let cacheState = response.cacheState\n\n // 4. Let bodyInfo be response’s body info.\n const bodyInfo = response.bodyInfo\n\n // 5. If response’s timing allow passed flag is not set, then set timingInfo to the result of creating an\n // opaque timing info for timingInfo and set cacheState to the empty string.\n if (!response.timingAllowPassed) {\n timingInfo = createOpaqueTimingInfo(timingInfo)\n\n cacheState = ''\n }\n\n // 6. Let responseStatus be 0.\n let responseStatus = 0\n\n // 7. If fetchParams’s request’s mode is not \"navigate\" or response’s has-cross-origin-redirects is false:\n if (fetchParams.request.mode !== 'navigator' || !response.hasCrossOriginRedirects) {\n // 1. Set responseStatus to response’s status.\n responseStatus = response.status\n\n // 2. Let mimeType be the result of extracting a MIME type from response’s header list.\n const mimeType = extractMimeType(response.headersList)\n\n // 3. If mimeType is not failure, then set bodyInfo’s content type to the result of minimizing a supported MIME type given mimeType.\n if (mimeType !== 'failure') {\n bodyInfo.contentType = minimizeSupportedMimeType(mimeType)\n }\n }\n\n // 8. If fetchParams’s request’s initiator type is non-null, then mark resource timing given timingInfo,\n // fetchParams’s request’s URL, fetchParams’s request’s initiator type, global, cacheState, bodyInfo,\n // and responseStatus.\n if (fetchParams.request.initiatorType != null) {\n // TODO: update markresourcetiming\n markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus)\n }\n }\n\n // 4. Let processResponseEndOfBodyTask be the following steps:\n const processResponseEndOfBodyTask = () => {\n // 1. Set fetchParams’s request’s done flag.\n fetchParams.request.done = true\n\n // 2. If fetchParams’s process response end-of-body is non-null, then run fetchParams’s process\n // response end-of-body given response.\n if (fetchParams.processResponseEndOfBody != null) {\n queueMicrotask(() => fetchParams.processResponseEndOfBody(response))\n }\n\n // 3. If fetchParams’s request’s initiator type is non-null and fetchParams’s request’s client’s\n // global object is fetchParams’s task destination, then run fetchParams’s controller’s report\n // timing steps given fetchParams’s request’s client’s global object.\n if (fetchParams.request.initiatorType != null) {\n fetchParams.controller.reportTimingSteps()\n }\n }\n\n // 5. Queue a fetch task to run processResponseEndOfBodyTask with fetchParams’s task destination\n queueMicrotask(() => processResponseEndOfBodyTask())\n }\n\n // 4. If fetchParams’s process response is non-null, then queue a fetch task to run fetchParams’s\n // process response given response, with fetchParams’s task destination.\n if (fetchParams.processResponse != null) {\n queueMicrotask(() => {\n fetchParams.processResponse(response)\n fetchParams.processResponse = null\n })\n }\n\n // 5. Let internalResponse be response, if response is a network error; otherwise response’s internal response.\n const internalResponse = response.type === 'error' ? response : (response.internalResponse ?? response)\n\n // 6. If internalResponse’s body is null, then run processResponseEndOfBody.\n // 7. Otherwise:\n if (internalResponse.body == null) {\n processResponseEndOfBody()\n } else {\n // mcollina: all the following steps of the specs are skipped.\n // The internal transform stream is not needed.\n // See https://github.com/nodejs/undici/pull/3093#issuecomment-2050198541\n\n // 1. Let transformStream be a new TransformStream.\n // 2. Let identityTransformAlgorithm be an algorithm which, given chunk, enqueues chunk in transformStream.\n // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm and flushAlgorithm\n // set to processResponseEndOfBody.\n // 4. Set internalResponse’s body’s stream to the result of internalResponse’s body’s stream piped through transformStream.\n\n finished(internalResponse.body.stream, () => {\n processResponseEndOfBody()\n })\n }\n}\n\n// https://fetch.spec.whatwg.org/#http-fetch\nasync function httpFetch (fetchParams) {\n // 1. Let request be fetchParams’s 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’s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 5. If request’s 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’s redirect mode is \"follow\", then set request’s\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’s 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’s timing allow failed flag.\n if (TAOCheck(request, response) === 'failure') {\n request.timingAllowFailed = true\n }\n }\n\n // 7. If either request’s response tainting or response’s type\n // is \"opaque\", and the cross-origin resource policy check with\n // request’s origin, request’s client, request’s 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’s status is a redirect status, then:\n if (redirectStatusSet.has(actualResponse.status)) {\n // 1. If actualResponse’s status is not 303, request’s 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(undefined, false)\n }\n\n // 2. Switch on request’s 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’s 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\nfunction httpRedirectFetch (fetchParams, response) {\n // 1. Let request be fetchParams’s request.\n const request = fetchParams.request\n\n // 2. Let actualResponse be response, if response is not a filtered response,\n // and response’s internal response otherwise.\n const actualResponse = response.internalResponse\n ? response.internalResponse\n : response\n\n // 3. Let locationURL be actualResponse’s location URL given request’s current\n // URL’s 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 Promise.resolve(makeNetworkError(err))\n }\n\n // 6. If locationURL’s scheme is not an HTTP(S) scheme, then return a network\n // error.\n if (!urlIsHttpHttpsScheme(locationURL)) {\n return Promise.resolve(makeNetworkError('URL scheme must be a HTTP(S) scheme'))\n }\n\n // 7. If request’s redirect count is 20, then return a network error.\n if (request.redirectCount === 20) {\n return Promise.resolve(makeNetworkError('redirect count exceeded'))\n }\n\n // 8. Increase request’s redirect count by 1.\n request.redirectCount += 1\n\n // 9. If request’s mode is \"cors\", locationURL includes credentials, and\n // request’s origin is not same origin with locationURL’s 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 Promise.resolve(makeNetworkError('cross origin not allowed for request mode \"cors\"'))\n }\n\n // 10. If request’s 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 Promise.resolve(makeNetworkError(\n 'URL cannot contain credentials for request mode \"cors\"'\n ))\n }\n\n // 11. If actualResponse’s status is not 303, request’s body is non-null,\n // and request’s body’s 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 Promise.resolve(makeNetworkError())\n }\n\n // 12. If one of the following is true\n // - actualResponse’s status is 301 or 302 and request’s method is `POST`\n // - actualResponse’s status is 303 and request’s method is not `GET` or `HEAD`\n if (\n ([301, 302].includes(actualResponse.status) && request.method === 'POST') ||\n (actualResponse.status === 303 &&\n !GET_OR_HEAD.includes(request.method))\n ) {\n // then:\n // 1. Set request’s method to `GET` and request’s 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’s header list.\n for (const headerName of requestBodyHeader) {\n request.headersList.delete(headerName)\n }\n }\n\n // 13. If request’s current URL’s origin is not same origin with locationURL’s\n // origin, then for each headerName of CORS non-wildcard request-header name,\n // delete headerName from request’s 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', true)\n\n // https://fetch.spec.whatwg.org/#authentication-entries\n request.headersList.delete('proxy-authorization', true)\n\n // \"Cookie\" and \"Host\" are forbidden request-headers, which undici doesn't implement.\n request.headersList.delete('cookie', true)\n request.headersList.delete('host', true)\n }\n\n // 14. If request’s body is non-null, then set request’s body to the first return\n // value of safely extracting request’s body’s 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’s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 16. Set timingInfo’s redirect end time and post-redirect start time to the\n // coarsened shared current time given fetchParams’s cross-origin isolated\n // capability.\n timingInfo.redirectEndTime = timingInfo.postRedirectStartTime =\n coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n\n // 17. If timingInfo’s redirect start time is 0, then set timingInfo’s\n // redirect start time to timingInfo’s start time.\n if (timingInfo.redirectStartTime === 0) {\n timingInfo.redirectStartTime = timingInfo.startTime\n }\n\n // 18. Append locationURL to request’s URL list.\n request.urlList.push(locationURL)\n\n // 19. Invoke set request’s 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’s 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’s window is \"no-window\" and request’s 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 = cloneRequest(request)\n\n // 2. Set httpFetchParams to a copy of fetchParams.\n httpFetchParams = { ...fetchParams }\n\n // 3. Set httpFetchParams’s 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’s body’s length, if httpRequest’s\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’s body is null and httpRequest’s 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’s header\n // list.\n if (contentLengthHeaderValue != null) {\n httpRequest.headersList.append('content-length', contentLengthHeaderValue, true)\n }\n\n // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`,\n // contentLengthHeaderValue) to httpRequest’s header list.\n\n // 10. If contentLength is non-null and httpRequest’s 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’s referrer is a URL, then append\n // `Referer`/httpRequest’s referrer, serialized and isomorphic encoded,\n // to httpRequest’s header list.\n if (httpRequest.referrer instanceof URL) {\n httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href), true)\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’s header list does not contain `User-Agent`, then\n // user agents should append `User-Agent`/default `User-Agent` value to\n // httpRequest’s header list.\n if (!httpRequest.headersList.contains('user-agent', true)) {\n httpRequest.headersList.append('user-agent', defaultUserAgent)\n }\n\n // 15. If httpRequest’s cache mode is \"default\" and httpRequest’s header\n // list contains `If-Modified-Since`, `If-None-Match`,\n // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set\n // httpRequest’s cache mode to \"no-store\".\n if (\n httpRequest.cache === 'default' &&\n (httpRequest.headersList.contains('if-modified-since', true) ||\n httpRequest.headersList.contains('if-none-match', true) ||\n httpRequest.headersList.contains('if-unmodified-since', true) ||\n httpRequest.headersList.contains('if-match', true) ||\n httpRequest.headersList.contains('if-range', true))\n ) {\n httpRequest.cache = 'no-store'\n }\n\n // 16. If httpRequest’s cache mode is \"no-cache\", httpRequest’s prevent\n // no-cache cache-control header modification flag is unset, and\n // httpRequest’s header list does not contain `Cache-Control`, then append\n // `Cache-Control`/`max-age=0` to httpRequest’s header list.\n if (\n httpRequest.cache === 'no-cache' &&\n !httpRequest.preventNoCacheCacheControlHeaderModification &&\n !httpRequest.headersList.contains('cache-control', true)\n ) {\n httpRequest.headersList.append('cache-control', 'max-age=0', true)\n }\n\n // 17. If httpRequest’s cache mode is \"no-store\" or \"reload\", then:\n if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') {\n // 1. If httpRequest’s header list does not contain `Pragma`, then append\n // `Pragma`/`no-cache` to httpRequest’s header list.\n if (!httpRequest.headersList.contains('pragma', true)) {\n httpRequest.headersList.append('pragma', 'no-cache', true)\n }\n\n // 2. If httpRequest’s header list does not contain `Cache-Control`,\n // then append `Cache-Control`/`no-cache` to httpRequest’s header list.\n if (!httpRequest.headersList.contains('cache-control', true)) {\n httpRequest.headersList.append('cache-control', 'no-cache', true)\n }\n }\n\n // 18. If httpRequest’s header list contains `Range`, then append\n // `Accept-Encoding`/`identity` to httpRequest’s header list.\n if (httpRequest.headersList.contains('range', true)) {\n httpRequest.headersList.append('accept-encoding', 'identity', true)\n }\n\n // 19. Modify httpRequest’s header list per HTTP. Do not append a given\n // header if httpRequest’s header list contains that header’s name.\n // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129\n if (!httpRequest.headersList.contains('accept-encoding', true)) {\n if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {\n httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate', true)\n } else {\n httpRequest.headersList.append('accept-encoding', 'gzip, deflate', true)\n }\n }\n\n httpRequest.headersList.delete('host', true)\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’s header list does not contain `Authorization`, then:\n // TODO: credentials\n }\n\n // 21. If there’s 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’s cache mode to\n // \"no-store\".\n if (httpCache == null) {\n httpRequest.cache = 'no-store'\n }\n\n // 24. If httpRequest’s cache mode is neither \"no-store\" nor \"reload\",\n // then:\n if (httpRequest.cache !== 'no-store' && httpRequest.cache !== '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’s cache mode is \"only-if-cached\", then return a\n // network error.\n if (httpRequest.cache === '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’s method is unsafe and forwardResponse’s 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 !safeMethodsSet.has(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’s 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’s URL list to a clone of httpRequest’s URL list.\n response.urlList = [...httpRequest.urlList]\n\n // 12. If httpRequest’s header list contains `Range`, then set response’s\n // range-requested flag.\n if (httpRequest.headersList.contains('range', true)) {\n response.rangeRequested = true\n }\n\n // 13. Set response’s request-includes-credentials to includeCredentials.\n response.requestIncludesCredentials = includeCredentials\n\n // 14. If response’s status is 401, httpRequest’s response tainting is not\n // \"cors\", includeCredentials is true, and request’s window is an environment\n // settings object, then:\n // TODO\n\n // 15. If response’s status is 407, then:\n if (response.status === 407) {\n // 1. If request’s 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’s 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’s status is 421\n response.status === 421 &&\n // isNewConnectionFetch is false\n !isNewConnectionFetch &&\n // request’s body is null, or request’s body is non-null and request’s body’s 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, abort = true) {\n if (!this.destroyed) {\n this.destroyed = true\n if (abort) {\n this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError'))\n }\n }\n }\n }\n\n // 1. Let request be fetchParams’s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let timingInfo be fetchParams’s 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’s 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’s mode:\n if (request.mode === 'websocket') {\n // Let connection be the result of obtaining a WebSocket connection,\n // given request’s current URL.\n // TODO\n } else {\n // Let connection be the result of obtaining a connection, given\n // networkPartitionKey, request’s current URL’s 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’s final connection timing info to the result of\n // calling clamp and coarsen connection timing info with connection’s\n // timing info, timingInfo’s post-redirect start time, and fetchParams’s\n // cross-origin isolated capability.\n\n // 3. If connection is not an HTTP/2 connection, request’s body is non-null,\n // and request’s body’s source is null, then append (`Transfer-Encoding`,\n // `chunked`) to request’s header list.\n\n // 4. Set timingInfo’s final network-request start time to the coarsened\n // shared current time given fetchParams’s 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’s body is non-null, and request’s body’s source is null,\n // then the user agent may have a buffer of up to 64 kibibytes and store\n // a part of request’s body in that buffer. If the user agent reads from\n // request’s body beyond that buffer’s size and the user agent needs to\n // resend request, then instead return a network error.\n\n // - Set timingInfo’s final network-response start time to the coarsened\n // shared current time given fetchParams’s cross-origin isolated capability,\n // immediately after the user agent’s 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’s final network-response start time above.\n\n // - If request’s 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’s window is an environment settings object, make the\n // dialog available in request’s window.\n\n // 2. Otherwise, return a network error.\n\n // To transmit request’s body body, run these steps:\n let requestBody = null\n // 1. If body is null and fetchParams’s process request end-of-body is\n // non-null, then queue a fetch task given fetchParams’s process request\n // end-of-body and fetchParams’s 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’s process request body is non-null, then run\n // fetchParams’s process request body given bytes’s 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’s process request end-of-body is non-null,\n // then run fetchParams’s 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’s 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’s body given processBodyChunk, processEndOfBody,\n // processBodyError, and fetchParams’s 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, err)\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 = async () => {\n await fetchParams.controller.resume()\n }\n\n // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams’s\n // controller with reason, given reason.\n const cancelAlgorithm = (reason) => {\n // If the aborted fetch was already terminated, then we do not\n // need to do anything.\n if (!isCancelled(fetchParams)) {\n fetchParams.controller.abort(reason)\n }\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 byte reading support with pullAlgorithm set to pullAlgorithm,\n // cancelAlgorithm set to cancelAlgorithm.\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 type: 'bytes'\n }\n )\n\n // 17. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. Set response’s body to a new body whose stream is stream.\n response.body = { stream, source: null, length: null }\n\n // 2. If response is not a network error and request’s 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’s header list, if any, and request’s 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.onAborted = onAborted\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’s 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’s decoded body size by bytes’s length.\n timingInfo.decodedBodySize += bytes?.byteLength ?? 0\n\n // 6. If bytes is failure, then terminate fetchParams’s 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 const buffer = new Uint8Array(bytes)\n if (buffer.byteLength) {\n fetchParams.controller.controller.enqueue(buffer)\n }\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’t need more data ask the user agent to suspend\n // the ongoing fetch.\n if (fetchParams.controller.controller.desiredSize <= 0) {\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’s 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’s\n // controller’s 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 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: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : 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 // Set timingInfo’s final connection timing info to the result of calling clamp and coarsen\n // connection timing info with connection’s timing info, timingInfo’s post-redirect start\n // time, and fetchParams’s cross-origin isolated capability.\n // TODO: implement connection timing\n timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(undefined, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability)\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 // Set timingInfo’s final network-request start time to the coarsened shared current time given\n // fetchParams’s cross-origin isolated capability.\n timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n },\n\n onResponseStarted () {\n // Set timingInfo’s final network-response start time to the coarsened shared current\n // time given fetchParams’s cross-origin isolated capability, immediately after the\n // user agent’s HTTP parser receives the first byte of the response (e.g., frame header\n // bytes for HTTP/2 or response status line for HTTP/1.x).\n timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n },\n\n onHeaders (status, rawHeaders, resume, statusText) {\n if (status < 200) {\n return\n }\n\n let location = ''\n\n const headersList = new HeadersList()\n\n for (let i = 0; i < rawHeaders.length; i += 2) {\n headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString('latin1'), true)\n }\n location = headersList.get('location', true)\n\n this.body = new Readable({ read: resume })\n\n const decoders = []\n\n const willFollow = location && request.redirect === 'follow' &&\n redirectStatusSet.has(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 // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1\n const contentEncoding = headersList.get('content-encoding', true)\n // \"All content-coding values are case-insensitive...\"\n /** @type {string[]} */\n const codings = contentEncoding ? contentEncoding.toLowerCase().split(',') : []\n\n // Limit the number of content-encodings to prevent resource exhaustion.\n // CVE fix similar to urllib3 (GHSA-gm62-xv2j-4w53) and curl (CVE-2022-32206).\n const maxContentEncodings = 5\n if (codings.length > maxContentEncodings) {\n reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`))\n return true\n }\n\n for (let i = codings.length - 1; i >= 0; --i) {\n const coding = codings[i].trim()\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(createInflate({\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n }))\n } else if (coding === 'br') {\n decoders.push(zlib.createBrotliDecompress({\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n }))\n } else {\n decoders.length = 0\n break\n }\n }\n }\n\n const onError = this.onError.bind(this)\n\n resolve({\n status,\n statusText,\n headersList,\n body: decoders.length\n ? pipeline(this.body, ...decoders, (err) => {\n if (err) {\n this.onError(err)\n }\n }).on('error', onError)\n : this.body.on('error', onError)\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’s\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’s header list.\n // See pullAlgorithm.\n\n // 3. Increase timingInfo’s encoded body size by bytes’s 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 if (fetchParams.controller.onAborted) {\n fetchParams.controller.off('terminated', fetchParams.controller.onAborted)\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, rawHeaders, socket) {\n if (status !== 101) {\n return\n }\n\n const headersList = new HeadersList()\n\n for (let i = 0; i < rawHeaders.length; i += 2) {\n headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString('latin1'), true)\n }\n\n resolve({\n status,\n statusText: STATUS_CODES[status],\n headersList,\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, 'ProgressEvent constructor', '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 { serializeAMimeType, parseMIMEType } = require('../fetch/data-url')\nconst { types } = require('node:util')\nconst { StringDecoder } = require('string_decoder')\nconst { btoa } = require('node: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’s 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’s state to \"loading\".\n fr[kState] = 'loading'\n\n // 3. Set fr’s result to null.\n fr[kResult] = null\n\n // 4. Set fr’s 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’s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Let result be the result of package data given\n // bytes, type, blob’s 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’s 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’s 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’s 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’s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Set fr’s 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’s 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’s 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’s\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, '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, '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, 'FileReader.readAsText')\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n if (encoding !== undefined) {\n encoding = webidl.converters.DOMString(encoding, 'FileReader.readAsText', '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, '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’s 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’s 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: require('../../core/symbols').kConstruct\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { URLSerializer } = require('../fetch/data-url')\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 getFieldValues (header) {\n assert(header !== null)\n\n const values = []\n\n for (let value of header.split(',')) {\n value = value.trim()\n\n if (isValidHeaderName(value)) {\n values.push(value)\n }\n }\n\n return values\n}\n\nmodule.exports = {\n urlEquals,\n getFieldValues\n}\n","'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { urlEquals, getFieldValues } = require('./util')\nconst { kEnumerableProperty, isDisturbed } = require('../../core/util')\nconst { webidl } = require('../fetch/webidl')\nconst { Response, cloneResponse, fromInnerResponse } = require('../fetch/response')\nconst { Request, fromInnerRequest } = require('../fetch/request')\nconst { kState } = require('../fetch/symbols')\nconst { fetching } = require('../fetch/index')\nconst { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require('../fetch/util')\nconst assert = require('node:assert')\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 webidl.util.markAsUncloneable(this)\n this.#relevantRequestResponseList = arguments[1]\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.match'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n const p = this.#internalMatchAll(request, options, 1)\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 const prefix = 'Cache.matchAll'\n if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n return this.#internalMatchAll(request, options)\n }\n\n async add (request) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.add'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, '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\n const prefix = 'Cache.addAll'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n // 1.\n const responsePromises = []\n\n // 2.\n const requestList = []\n\n // 3.\n for (let request of requests) {\n if (request === undefined) {\n throw webidl.errors.conversionFailed({\n prefix,\n argument: 'Argument 1',\n types: ['undefined is not allowed']\n })\n }\n\n request = webidl.converters.RequestInfo(request)\n\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: prefix,\n message: 'Expected http/s scheme when method is not GET.'\n })\n }\n }\n\n // 4.\n /** @type {ReturnType[]} */\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: prefix,\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 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\n const prefix = 'Cache.put'\n webidl.argumentLengthCheck(arguments, 2, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n response = webidl.converters.Response(response, prefix, '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: prefix,\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: prefix,\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: prefix,\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: prefix,\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(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject)\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\n const prefix = 'Cache.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, '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 {Promise}\n */\n async keys (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.keys'\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, '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 = fromInnerRequest(\n request,\n new AbortController().signal,\n 'immutable'\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 #internalMatchAll (request, options, maxResponses = Infinity) {\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 = fromInnerResponse(response, 'immutable')\n\n responseList.push(responseObject.clone())\n\n if (responseList.length >= maxResponses) {\n break\n }\n }\n\n // 6.\n return Object.freeze(responseList)\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'] = 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}\n */\n async has (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.has'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, '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}\n */\n async open (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.open'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, '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}\n */\n async delete (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName')\n\n return this.#caches.delete(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys\n * @returns {Promise}\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\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction isCTLExcludingHtab (value) {\n for (let i = 0; i < value.length; ++i) {\n const code = value.charCodeAt(i)\n\n if (\n (code >= 0x00 && code <= 0x08) ||\n (code >= 0x0A && code <= 0x1F) ||\n code === 0x7F\n ) {\n return true\n }\n }\n return false\n}\n\n/**\n CHAR = \n token = 1*\n separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n | \",\" | \";\" | \":\" | \"\\\" | <\">\n | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n | \"{\" | \"}\" | SP | HT\n * @param {string} name\n */\nfunction validateCookieName (name) {\n for (let i = 0; i < name.length; ++i) {\n const code = name.charCodeAt(i)\n\n if (\n code < 0x21 || // exclude CTLs (0-31), SP and HT\n code > 0x7E || // exclude non-ascii and DEL\n code === 0x22 || // \"\n code === 0x28 || // (\n code === 0x29 || // )\n code === 0x3C || // <\n code === 0x3E || // >\n code === 0x40 || // @\n code === 0x2C || // ,\n code === 0x3B || // ;\n code === 0x3A || // :\n code === 0x5C || // \\\n code === 0x2F || // /\n code === 0x5B || // [\n code === 0x5D || // ]\n code === 0x3F || // ?\n code === 0x3D || // =\n code === 0x7B || // {\n code === 0x7D // }\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 let len = value.length\n let i = 0\n\n // if the value is wrapped in DQUOTE\n if (value[0] === '\"') {\n if (len === 1 || value[len - 1] !== '\"') {\n throw new Error('Invalid cookie value')\n }\n --len\n ++i\n }\n\n while (i < len) {\n const code = value.charCodeAt(i++)\n\n if (\n code < 0x21 || // exclude CTLs (0-31)\n code > 0x7E || // non-ascii and DEL (127)\n code === 0x22 || // \"\n code === 0x2C || // ,\n code === 0x3B || // ;\n code === 0x5C // \\\n ) {\n throw new Error('Invalid cookie value')\n }\n }\n}\n\n/**\n * path-value = \n * @param {string} path\n */\nfunction validateCookiePath (path) {\n for (let i = 0; i < path.length; ++i) {\n const code = path.charCodeAt(i)\n\n if (\n code < 0x20 || // exclude CTLs (0-31)\n code === 0x7F || // DEL\n code === 0x3B // ;\n ) {\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\nconst IMFDays = [\n 'Sun', 'Mon', 'Tue', 'Wed',\n 'Thu', 'Fri', 'Sat'\n]\n\nconst IMFMonths = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n]\n\nconst IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, '0'))\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 return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} 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\nmodule.exports = {\n isCTLExcludingHtab,\n validateCookieName,\n validateCookiePath,\n validateCookieValue,\n toIMFDate,\n stringify\n}\n","'use strict'\n\nconst { maxNameValuePairSize, maxAttributeValueSize } = require('./constants')\nconst { isCTLExcludingHtab } = require('./util')\nconst { collectASequenceOfCodePointsFast } = require('../fetch/data-url')\nconst assert = require('node: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.]={}} 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 } = 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}\n */\nfunction getCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, '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.brandCheck(headers, Headers, { strict: false })\n\n const prefix = 'deleteCookie'\n webidl.argumentLengthCheck(arguments, 2, prefix)\n\n name = webidl.converters.DOMString(name, prefix, '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, 'getSetCookies')\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookies = headers.getSetCookie()\n\n if (!cookies) {\n return []\n }\n\n return cookies.map((pair) => parseSetCookie(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, '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', str)\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: () => new Array(0)\n }\n])\n\nmodule.exports = {\n getCookies,\n deleteCookie,\n getSetCookies,\n setCookie\n}\n","'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../../core/util')\nconst { kConstruct } = require('../../core/symbols')\nconst { MessagePort } = require('node: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 if (type === kConstruct) {\n super(arguments[1], arguments[2])\n webidl.util.markAsUncloneable(this)\n return\n }\n\n const prefix = 'MessageEvent constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n type = webidl.converters.DOMString(type, prefix, 'type')\n eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, 'eventInitDict')\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n webidl.util.markAsUncloneable(this)\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, 'MessageEvent.initMessageEvent')\n\n return new MessageEvent(type, {\n bubbles, cancelable, data, origin, lastEventId, source, ports\n })\n }\n\n static createFastMessageEvent (type, init) {\n const messageEvent = new MessageEvent(kConstruct, type, init)\n messageEvent.#eventInit = init\n messageEvent.#eventInit.data ??= null\n messageEvent.#eventInit.origin ??= ''\n messageEvent.#eventInit.lastEventId ??= ''\n messageEvent.#eventInit.source ??= null\n messageEvent.#eventInit.ports ??= []\n return messageEvent\n }\n}\n\nconst { createFastMessageEvent } = MessageEvent\ndelete MessageEvent.createFastMessageEvent\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 const prefix = 'CloseEvent constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n type = webidl.converters.DOMString(type, prefix, 'type')\n eventInitDict = webidl.converters.CloseEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n webidl.util.markAsUncloneable(this)\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 const prefix = 'ErrorEvent constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n super(type, eventInitDict)\n webidl.util.markAsUncloneable(this)\n\n type = webidl.converters.DOMString(type, prefix, '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'] = 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'],\n defaultValue: () => new Array(0)\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 createFastMessageEvent\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 sentCloseFrameState = {\n NOT_SENT: 0,\n PROCESSING: 1,\n SENT: 2\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\nconst sendHints = {\n string: 1,\n typedArray: 2,\n arrayBuffer: 3,\n blob: 4\n}\n\nmodule.exports = {\n uid,\n sentCloseFrameState,\n staticPropertyDescriptors,\n states,\n opcodes,\n maxUnsigned16Bit,\n parserStates,\n emptyBuffer,\n sendHints\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 { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require('./symbols')\nconst { states, opcodes } = require('./constants')\nconst { ErrorEvent, createFastMessageEvent } = require('./events')\nconst { isUtf8 } = require('node:buffer')\nconst { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require('../fetch/data-url')\n\n/* globals Blob */\n\n/**\n * @param {import('./websocket').WebSocket} ws\n * @returns {boolean}\n */\nfunction isConnecting (ws) {\n // If the WebSocket connection is not yet established, and the connection\n // is not yet closed, then the WebSocket connection is in the CONNECTING state.\n return ws[kReadyState] === states.CONNECTING\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n * @returns {boolean}\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 * @returns {boolean}\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 * @returns {boolean}\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 {(...args: ConstructorParameters) => Event} eventFactory\n * @param {EventInit | undefined} eventInitDict\n */\nfunction fireEvent (e, target, eventFactory = (type, init) => new Event(type, init), 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’s type attribute to e.\n const event = eventFactory(e, eventInitDict)\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 = utf8Decode(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 = toArrayBuffer(data)\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’s url's origin, and the data attribute initialized to dataForEvent.\n fireEvent('message', ws, createFastMessageEvent, {\n origin: ws[kWebSocketURL].origin,\n data: dataForEvent\n })\n}\n\nfunction toArrayBuffer (buffer) {\n if (buffer.byteLength === buffer.buffer.byteLength) {\n return buffer.buffer\n }\n return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)\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 (let i = 0; i < protocol.length; ++i) {\n const code = protocol.charCodeAt(i)\n\n if (\n code < 0x21 || // CTL, contains SP (0x20) and HT (0x09)\n code > 0x7E ||\n code === 0x22 || // \"\n code === 0x28 || // (\n code === 0x29 || // )\n code === 0x2C || // ,\n code === 0x2F || // /\n code === 0x3A || // :\n code === 0x3B || // ;\n code === 0x3C || // <\n code === 0x3D || // =\n code === 0x3E || // >\n code === 0x3F || // ?\n code === 0x40 || // @\n code === 0x5B || // [\n code === 0x5C || // \\\n code === 0x5D || // ]\n code === 0x7B || // {\n code === 0x7D // }\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 // TODO: process.nextTick\n fireEvent('error', ws, (type, init) => new ErrorEvent(type, init), {\n error: new Error(reason),\n message: reason\n })\n }\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-5.5\n * @param {number} opcode\n */\nfunction isControlFrame (opcode) {\n return (\n opcode === opcodes.CLOSE ||\n opcode === opcodes.PING ||\n opcode === opcodes.PONG\n )\n}\n\nfunction isContinuationFrame (opcode) {\n return opcode === opcodes.CONTINUATION\n}\n\nfunction isTextBinaryFrame (opcode) {\n return opcode === opcodes.TEXT || opcode === opcodes.BINARY\n}\n\nfunction isValidOpcode (opcode) {\n return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode)\n}\n\n/**\n * Parses a Sec-WebSocket-Extensions header value.\n * @param {string} extensions\n * @returns {Map}\n */\n// TODO(@Uzlopak, @KhafraDev): make compliant https://datatracker.ietf.org/doc/html/rfc6455#section-9.1\nfunction parseExtensions (extensions) {\n const position = { position: 0 }\n const extensionList = new Map()\n\n while (position.position < extensions.length) {\n const pair = collectASequenceOfCodePointsFast(';', extensions, position)\n const [name, value = ''] = pair.split('=')\n\n extensionList.set(\n removeHTTPWhitespace(name, true, false),\n removeHTTPWhitespace(value, false, true)\n )\n\n position.position++\n }\n\n return extensionList\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc7692#section-7.1.2.2\n * @description \"client-max-window-bits = 1*DIGIT\"\n * @param {string} value\n */\nfunction isValidClientWindowBits (value) {\n for (let i = 0; i < value.length; i++) {\n const byte = value.charCodeAt(i)\n\n if (byte < 0x30 || byte > 0x39) {\n return false\n }\n }\n\n return true\n}\n\n// https://nodejs.org/api/intl.html#detecting-internationalization-support\nconst hasIntl = typeof process.versions.icu === 'string'\nconst fatalDecoder = hasIntl ? new TextDecoder('utf-8', { fatal: true }) : undefined\n\n/**\n * Converts a Buffer to utf-8, even on platforms without icu.\n * @param {Buffer} buffer\n */\nconst utf8Decode = hasIntl\n ? fatalDecoder.decode.bind(fatalDecoder)\n : function (buffer) {\n if (isUtf8(buffer)) {\n return buffer.toString('utf-8')\n }\n throw new TypeError('Invalid utf-8 received.')\n }\n\nmodule.exports = {\n isConnecting,\n isEstablished,\n isClosing,\n isClosed,\n fireEvent,\n isValidSubprotocol,\n isValidStatusCode,\n failWebsocketConnection,\n websocketMessageReceived,\n utf8Decode,\n isControlFrame,\n isContinuationFrame,\n isTextBinaryFrame,\n isValidOpcode,\n parseExtensions,\n isValidClientWindowBits\n}\n","'use strict'\n\nconst { maxUnsigned16Bit } = require('./constants')\n\nconst BUFFER_SIZE = 16386\n\n/** @type {import('crypto')} */\nlet crypto\nlet buffer = null\nlet bufIdx = BUFFER_SIZE\n\ntry {\n crypto = require('node:crypto')\n/* c8 ignore next 3 */\n} catch {\n crypto = {\n // not full compatibility, but minimum.\n randomFillSync: function randomFillSync (buffer, _offset, _size) {\n for (let i = 0; i < buffer.length; ++i) {\n buffer[i] = Math.random() * 255 | 0\n }\n return buffer\n }\n }\n}\n\nfunction generateMask () {\n if (bufIdx === BUFFER_SIZE) {\n bufIdx = 0\n crypto.randomFillSync((buffer ??= Buffer.allocUnsafe(BUFFER_SIZE)), 0, BUFFER_SIZE)\n }\n return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]\n}\n\nclass WebsocketFrameSend {\n /**\n * @param {Buffer|undefined} data\n */\n constructor (data) {\n this.frameData = data\n }\n\n createFrame (opcode) {\n const frameData = this.frameData\n const maskKey = generateMask()\n const bodyLength = 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 */\n buffer[offset - 4] = maskKey[0]\n buffer[offset - 3] = maskKey[1]\n buffer[offset - 2] = maskKey[2]\n buffer[offset - 1] = 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] = frameData[i] ^ maskKey[i & 3]\n }\n\n return buffer\n }\n}\n\nmodule.exports = {\n WebsocketFrameSend\n}\n","'use strict'\n\nconst { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require('./constants')\nconst {\n kReadyState,\n kSentClose,\n kByteParser,\n kReceivedClose,\n kResponse\n} = require('./symbols')\nconst { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require('./util')\nconst { channels } = require('../../core/diagnostics')\nconst { CloseEvent } = require('./events')\nconst { makeRequest } = require('../fetch/request')\nconst { fetching } = require('../fetch/index')\nconst { Headers, getHeadersList } = require('../fetch/headers')\nconst { getDecodeSplit } = require('../fetch/util')\nconst { WebsocketFrameSend } = require('./frame')\n\n/** @type {import('crypto')} */\nlet crypto\ntry {\n crypto = require('node:crypto')\n/* c8 ignore next 3 */\n} catch {\n\n}\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, extensions: string[] | undefined) => void} onEstablish\n * @param {Partial} options\n */\nfunction establishWebSocketConnection (url, protocols, client, ws, onEstablish, options) {\n // 1. Let requestURL be a copy of url, with its scheme set to \"http\", if url’s\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 client,\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 = getHeadersList(new Headers(options.headers))\n\n request.headersList = headersList\n }\n\n // 3. Append (`Upgrade`, `websocket`) to request’s header list.\n // 4. Append (`Connection`, `Upgrade`) to request’s 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 = crypto.randomBytes(16).toString('base64')\n\n // 6. Append (`Sec-WebSocket-Key`, keyValue) to request’s\n // header list.\n request.headersList.append('sec-websocket-key', keyValue)\n\n // 7. Append (`Sec-WebSocket-Version`, `13`) to request’s\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’s 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 const permessageDeflate = 'permessage-deflate; client_max_window_bits'\n\n // 10. Append (`Sec-WebSocket-Extensions`, permessageDeflate) to\n // request’s 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,\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’s\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 = crypto.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 let extensions\n\n if (secExtension !== null) {\n extensions = parseExtensions(secExtension)\n\n if (!extensions.has('permessage-deflate')) {\n failWebsocketConnection(ws, 'Sec-WebSocket-Extensions header does not match.')\n return\n }\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) {\n const requestProtocols = getDecodeSplit('sec-websocket-protocol', request.headersList)\n\n // The client can request that the server use a specific subprotocol by\n // including the |Sec-WebSocket-Protocol| field in its handshake. If it\n // is specified, the server needs to include the same field and one of\n // the selected subprotocol values in its response for the connection to\n // be established.\n if (!requestProtocols.includes(secProtocol)) {\n failWebsocketConnection(ws, 'Protocol was not set in the opening handshake.')\n return\n }\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, extensions)\n }\n })\n\n return controller\n}\n\nfunction closeWebSocketConnection (ws, code, reason, reasonByteLength) {\n if (isClosing(ws) || isClosed(ws)) {\n // If this's ready state is CLOSING (2) or CLOSED (3)\n // Do nothing.\n } else if (!isEstablished(ws)) {\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(ws, 'Connection was closed before it was established.')\n ws[kReadyState] = states.CLOSING\n } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {\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 ws[kSentClose] = sentCloseFrameState.PROCESSING\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 = ws[kResponse].socket\n\n socket.write(frame.createFrame(opcodes.CLOSE))\n\n ws[kSentClose] = sentCloseFrameState.SENT\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 ws[kReadyState] = states.CLOSING\n } else {\n // Otherwise\n // Set this's ready state to CLOSING (2).\n ws[kReadyState] = states.CLOSING\n }\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 const { [kResponse]: response } = ws\n\n response.socket.off('data', onSocketData)\n response.socket.off('close', onSocketClose)\n response.socket.off('error', onSocketError)\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] === sentCloseFrameState.SENT && ws[kReceivedClose]\n\n let code = 1005\n let reason = ''\n\n const result = ws[kByteParser].closingInfo\n\n if (result && !result.error) {\n code = result.code ?? 1005\n reason = result.reason\n } else if (!ws[kReceivedClose]) {\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 // TODO: process.nextTick\n fireEvent('close', ws, (type, init) => new CloseEvent(type, init), {\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 closeWebSocketConnection\n}\n","'use strict'\n\nconst { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require('node:zlib')\nconst { isValidClientWindowBits } = require('./util')\n\nconst tail = Buffer.from([0x00, 0x00, 0xff, 0xff])\nconst kBuffer = Symbol('kBuffer')\nconst kLength = Symbol('kLength')\n\nclass PerMessageDeflate {\n /** @type {import('node:zlib').InflateRaw} */\n #inflate\n\n #options = {}\n\n constructor (extensions) {\n this.#options.serverNoContextTakeover = extensions.has('server_no_context_takeover')\n this.#options.serverMaxWindowBits = extensions.get('server_max_window_bits')\n }\n\n decompress (chunk, fin, callback) {\n // An endpoint uses the following algorithm to decompress a message.\n // 1. Append 4 octets of 0x00 0x00 0xff 0xff to the tail end of the\n // payload of the message.\n // 2. Decompress the resulting data using DEFLATE.\n\n if (!this.#inflate) {\n let windowBits = Z_DEFAULT_WINDOWBITS\n\n if (this.#options.serverMaxWindowBits) { // empty values default to Z_DEFAULT_WINDOWBITS\n if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {\n callback(new Error('Invalid server_max_window_bits'))\n return\n }\n\n windowBits = Number.parseInt(this.#options.serverMaxWindowBits)\n }\n\n this.#inflate = createInflateRaw({ windowBits })\n this.#inflate[kBuffer] = []\n this.#inflate[kLength] = 0\n\n this.#inflate.on('data', (data) => {\n this.#inflate[kBuffer].push(data)\n this.#inflate[kLength] += data.length\n })\n\n this.#inflate.on('error', (err) => {\n this.#inflate = null\n callback(err)\n })\n }\n\n this.#inflate.write(chunk)\n if (fin) {\n this.#inflate.write(tail)\n }\n\n this.#inflate.flush(() => {\n const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength])\n\n this.#inflate[kBuffer].length = 0\n this.#inflate[kLength] = 0\n\n callback(null, full)\n })\n }\n}\n\nmodule.exports = { PerMessageDeflate }\n","'use strict'\n\nconst { Writable } = require('node:stream')\nconst assert = require('node:assert')\nconst { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require('./constants')\nconst { kReadyState, kSentClose, kResponse, kReceivedClose } = require('./symbols')\nconst { channels } = require('../../core/diagnostics')\nconst {\n isValidStatusCode,\n isValidOpcode,\n failWebsocketConnection,\n websocketMessageReceived,\n utf8Decode,\n isControlFrame,\n isTextBinaryFrame,\n isContinuationFrame\n} = require('./util')\nconst { WebsocketFrameSend } = require('./frame')\nconst { closeWebSocketConnection } = require('./connection')\nconst { PerMessageDeflate } = require('./permessage-deflate')\n\n// This code was influenced by ws released under the MIT license.\n// Copyright (c) 2011 Einar Otto Stangvik \n// Copyright (c) 2013 Arnout Kazemier and contributors\n// Copyright (c) 2016 Luigi Pinca and contributors\n\nclass ByteParser extends Writable {\n #buffers = []\n #byteOffset = 0\n #loop = false\n\n #state = parserStates.INFO\n\n #info = {}\n #fragments = []\n\n /** @type {Map} */\n #extensions\n\n constructor (ws, extensions) {\n super()\n\n this.ws = ws\n this.#extensions = extensions == null ? new Map() : extensions\n\n if (this.#extensions.has('permessage-deflate')) {\n this.#extensions.set('permessage-deflate', new PerMessageDeflate(extensions))\n }\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 this.#loop = true\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 (this.#loop) {\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 const fin = (buffer[0] & 0x80) !== 0\n const opcode = buffer[0] & 0x0F\n const masked = (buffer[1] & 0x80) === 0x80\n\n const fragmented = !fin && opcode !== opcodes.CONTINUATION\n const payloadLength = buffer[1] & 0x7F\n\n const rsv1 = buffer[0] & 0x40\n const rsv2 = buffer[0] & 0x20\n const rsv3 = buffer[0] & 0x10\n\n if (!isValidOpcode(opcode)) {\n failWebsocketConnection(this.ws, 'Invalid opcode received')\n return callback()\n }\n\n if (masked) {\n failWebsocketConnection(this.ws, 'Frame cannot be masked')\n return callback()\n }\n\n // MUST be 0 unless an extension is negotiated that defines meanings\n // for non-zero values. If a nonzero value is received and none of\n // the negotiated extensions defines the meaning of such a nonzero\n // value, the receiving endpoint MUST _Fail the WebSocket\n // Connection_.\n // This document allocates the RSV1 bit of the WebSocket header for\n // PMCEs and calls the bit the \"Per-Message Compressed\" bit. On a\n // WebSocket connection where a PMCE is in use, this bit indicates\n // whether a message is compressed or not.\n if (rsv1 !== 0 && !this.#extensions.has('permessage-deflate')) {\n failWebsocketConnection(this.ws, 'Expected RSV1 to be clear.')\n return\n }\n\n if (rsv2 !== 0 || rsv3 !== 0) {\n failWebsocketConnection(this.ws, 'RSV1, RSV2, RSV3 must be clear')\n return\n }\n\n if (fragmented && !isTextBinaryFrame(opcode)) {\n // Only text and binary frames can be fragmented\n failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.')\n return\n }\n\n // If we are already parsing a text/binary frame and do not receive either\n // a continuation frame or close frame, fail the connection.\n if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {\n failWebsocketConnection(this.ws, 'Expected continuation frame')\n return\n }\n\n if (this.#info.fragmented && fragmented) {\n // A fragmented frame can't be fragmented itself\n failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.')\n return\n }\n\n // \"All control frames MUST have a payload length of 125 bytes or less\n // and MUST NOT be fragmented.\"\n if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {\n failWebsocketConnection(this.ws, 'Control frame either too large or fragmented')\n return\n }\n\n if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {\n failWebsocketConnection(this.ws, 'Unexpected continuation frame')\n return\n }\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 (isTextBinaryFrame(opcode)) {\n this.#info.binaryType = opcode\n this.#info.compressed = rsv1 !== 0\n }\n\n this.#info.opcode = opcode\n this.#info.masked = masked\n this.#info.fin = fin\n this.#info.fragmented = fragmented\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 maximum 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 return callback()\n }\n\n const body = this.consume(this.#info.payloadLength)\n\n if (isControlFrame(this.#info.opcode)) {\n this.#loop = this.parseControlFrame(body)\n this.#state = parserStates.INFO\n } else {\n if (!this.#info.compressed) {\n this.#fragments.push(body)\n\n // If the frame is not fragmented, a message has been received.\n // If the frame is fragmented, it will terminate with a fin bit set\n // and an opcode of 0 (continuation), therefore we handle that when\n // parsing continuation frames, not here.\n if (!this.#info.fragmented && this.#info.fin) {\n const fullMessage = Buffer.concat(this.#fragments)\n websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage)\n this.#fragments.length = 0\n }\n\n this.#state = parserStates.INFO\n } else {\n this.#extensions.get('permessage-deflate').decompress(body, this.#info.fin, (error, data) => {\n if (error) {\n closeWebSocketConnection(this.ws, 1007, error.message, error.message.length)\n return\n }\n\n this.#fragments.push(data)\n\n if (!this.#info.fin) {\n this.#state = parserStates.INFO\n this.#loop = true\n this.run(callback)\n return\n }\n\n websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments))\n\n this.#loop = true\n this.#state = parserStates.INFO\n this.#fragments.length = 0\n this.run(callback)\n })\n\n this.#loop = false\n break\n }\n }\n }\n }\n }\n\n /**\n * Take n bytes from the buffered Buffers\n * @param {number} n\n * @returns {Buffer}\n */\n consume (n) {\n if (n > this.#byteOffset) {\n throw new Error('Called consume() before buffers satiated.')\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 (data) {\n assert(data.length !== 1)\n\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 (code !== undefined && !isValidStatusCode(code)) {\n return { code: 1002, reason: 'Invalid status code', error: true }\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 try {\n reason = utf8Decode(reason)\n } catch {\n return { code: 1007, reason: 'Invalid UTF-8', error: true }\n }\n\n return { code, reason, error: false }\n }\n\n /**\n * Parses control frames.\n * @param {Buffer} body\n */\n parseControlFrame (body) {\n const { opcode, payloadLength } = this.#info\n\n if (opcode === opcodes.CLOSE) {\n if (payloadLength === 1) {\n failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.')\n return false\n }\n\n this.#info.closeInfo = this.parseCloseBody(body)\n\n if (this.#info.closeInfo.error) {\n const { code, reason } = this.#info.closeInfo\n\n closeWebSocketConnection(this.ws, code, reason, reason.length)\n failWebsocketConnection(this.ws, reason)\n return false\n }\n\n if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {\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 let body = emptyBuffer\n if (this.#info.closeInfo.code) {\n body = Buffer.allocUnsafe(2)\n body.writeUInt16BE(this.#info.closeInfo.code, 0)\n }\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] = sentCloseFrameState.SENT\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 return false\n } else if (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 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 } else if (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 if (channels.pong.hasSubscribers) {\n channels.pong.publish({\n payload: body\n })\n }\n }\n\n return true\n }\n\n get closingInfo () {\n return this.#info.closeInfo\n }\n}\n\nmodule.exports = {\n ByteParser\n}\n","'use strict'\n\nconst { WebsocketFrameSend } = require('./frame')\nconst { opcodes, sendHints } = require('./constants')\nconst FixedQueue = require('../../dispatcher/fixed-queue')\n\n/** @type {typeof Uint8Array} */\nconst FastBuffer = Buffer[Symbol.species]\n\n/**\n * @typedef {object} SendQueueNode\n * @property {Promise | null} promise\n * @property {((...args: any[]) => any)} callback\n * @property {Buffer | null} frame\n */\n\nclass SendQueue {\n /**\n * @type {FixedQueue}\n */\n #queue = new FixedQueue()\n\n /**\n * @type {boolean}\n */\n #running = false\n\n /** @type {import('node:net').Socket} */\n #socket\n\n constructor (socket) {\n this.#socket = socket\n }\n\n add (item, cb, hint) {\n if (hint !== sendHints.blob) {\n const frame = createFrame(item, hint)\n if (!this.#running) {\n // fast-path\n this.#socket.write(frame, cb)\n } else {\n /** @type {SendQueueNode} */\n const node = {\n promise: null,\n callback: cb,\n frame\n }\n this.#queue.push(node)\n }\n return\n }\n\n /** @type {SendQueueNode} */\n const node = {\n promise: item.arrayBuffer().then((ab) => {\n node.promise = null\n node.frame = createFrame(ab, hint)\n }),\n callback: cb,\n frame: null\n }\n\n this.#queue.push(node)\n\n if (!this.#running) {\n this.#run()\n }\n }\n\n async #run () {\n this.#running = true\n const queue = this.#queue\n while (!queue.isEmpty()) {\n const node = queue.shift()\n // wait pending promise\n if (node.promise !== null) {\n await node.promise\n }\n // write\n this.#socket.write(node.frame, node.callback)\n // cleanup\n node.callback = node.frame = null\n }\n this.#running = false\n }\n}\n\nfunction createFrame (data, hint) {\n return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY)\n}\n\nfunction toBuffer (data, hint) {\n switch (hint) {\n case sendHints.string:\n return Buffer.from(data)\n case sendHints.arrayBuffer:\n case sendHints.blob:\n return new FastBuffer(data)\n case sendHints.typedArray:\n return new FastBuffer(data.buffer, data.byteOffset, data.byteLength)\n }\n}\n\nmodule.exports = { SendQueue }\n","'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { URLSerializer } = require('../fetch/data-url')\nconst { environmentSettingsObject } = require('../fetch/util')\nconst { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require('./constants')\nconst {\n kWebSocketURL,\n kReadyState,\n kController,\n kBinaryType,\n kResponse,\n kSentClose,\n kByteParser\n} = require('./symbols')\nconst {\n isConnecting,\n isEstablished,\n isClosing,\n isValidSubprotocol,\n fireEvent\n} = require('./util')\nconst { establishWebSocketConnection, closeWebSocketConnection } = require('./connection')\nconst { ByteParser } = require('./receiver')\nconst { kEnumerableProperty, isBlobLike } = require('../../core/util')\nconst { getGlobalDispatcher } = require('../../global')\nconst { types } = require('node:util')\nconst { ErrorEvent, CloseEvent } = require('./events')\nconst { SendQueue } = require('./sender')\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 /** @type {SendQueue} */\n #sendQueue\n\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor (url, protocols = []) {\n super()\n\n webidl.util.markAsUncloneable(this)\n\n const prefix = 'WebSocket constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n const options = webidl.converters['DOMString or sequence or WebSocketInit'](protocols, prefix, 'options')\n\n url = webidl.converters.USVString(url, prefix, 'url')\n protocols = options.protocols\n\n // 1. Let baseURL be this's relevant settings object's API base URL.\n const baseURL = environmentSettingsObject.settingsObject.baseUrl\n\n // 1. Let urlRecord be the result of applying the URL parser to url with baseURL.\n let urlRecord\n\n try {\n urlRecord = new URL(url, baseURL)\n } catch (e) {\n // 3. If urlRecord is failure, then throw a \"SyntaxError\" DOMException.\n throw new DOMException(e, 'SyntaxError')\n }\n\n // 4. If urlRecord’s scheme is \"http\", then set urlRecord’s scheme to \"ws\".\n if (urlRecord.protocol === 'http:') {\n urlRecord.protocol = 'ws:'\n } else if (urlRecord.protocol === 'https:') {\n // 5. Otherwise, if urlRecord’s scheme is \"https\", set urlRecord’s scheme to \"wss\".\n urlRecord.protocol = 'wss:'\n }\n\n // 6. If urlRecord’s scheme is not \"ws\" or \"wss\", then throw a \"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 // 7. If urlRecord’s fragment is non-null, then throw a \"SyntaxError\"\n // DOMException.\n if (urlRecord.hash || urlRecord.href.endsWith('#')) {\n throw new DOMException('Got fragment', 'SyntaxError')\n }\n\n // 8. 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 // 9. 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 // 10. Set this's url to urlRecord.\n this[kWebSocketURL] = new URL(urlRecord.href)\n\n // 11. Let client be this's relevant settings object.\n const client = environmentSettingsObject.settingsObject\n\n // 12. 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 client,\n this,\n (response, extensions) => this.#onConnectionEstablished(response, extensions),\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 this[kSentClose] = sentCloseFrameState.NOT_SENT\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 const prefix = 'WebSocket.close'\n\n if (code !== undefined) {\n code = webidl.converters['unsigned short'](code, prefix, 'code', { clamp: true })\n }\n\n if (reason !== undefined) {\n reason = webidl.converters.USVString(reason, prefix, '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 closeWebSocketConnection(this, code, reason, reasonByteLength)\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 const prefix = 'WebSocket.send'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n data = webidl.converters.WebSocketSendData(data, prefix, 'data')\n\n // 1. If this's ready state is CONNECTING, then throw an\n // \"InvalidStateError\" DOMException.\n if (isConnecting(this)) {\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 // 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 length = Buffer.byteLength(data)\n\n this.#bufferedAmount += length\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= length\n }, sendHints.string)\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 this.#bufferedAmount += data.byteLength\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= data.byteLength\n }, sendHints.arrayBuffer)\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’s buffer in bytes.\n\n this.#bufferedAmount += data.byteLength\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= data.byteLength\n }, sendHints.typedArray)\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’s raw data, in bytes.\n\n this.#bufferedAmount += data.size\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= data.size\n }, sendHints.blob)\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, parsedExtensions) {\n // processResponse is called when the \"response’s 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, parsedExtensions)\n parser.on('drain', onParserDrain)\n parser.on('error', onParserError.bind(this))\n\n response.socket.ws = this\n this[kByteParser] = parser\n\n this.#sendQueue = new SendQueue(response.socket)\n\n // 1. Change the ready state to OPEN (1).\n this[kReadyState] = states.OPEN\n\n // 2. Change the extensions attribute’s 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’s 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'] = webidl.sequenceConverter(\n webidl.converters.DOMString\n)\n\nwebidl.converters['DOMString or sequence'] = function (V, prefix, argument) {\n if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) {\n return webidl.converters['sequence'](V)\n }\n\n return webidl.converters.DOMString(V, prefix, argument)\n}\n\n// This implements the proposal 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'],\n defaultValue: () => new Array(0)\n },\n {\n key: 'dispatcher',\n converter: webidl.converters.any,\n defaultValue: () => getGlobalDispatcher()\n },\n {\n key: 'headers',\n converter: webidl.nullableConverter(webidl.converters.HeadersInit)\n }\n])\n\nwebidl.converters['DOMString or sequence 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'](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.isArrayBuffer(V)) {\n return webidl.converters.BufferSource(V)\n }\n }\n\n return webidl.converters.USVString(V)\n}\n\nfunction onParserDrain () {\n this.ws[kResponse].socket.resume()\n}\n\nfunction onParserError (err) {\n let message\n let code\n\n if (err instanceof CloseEvent) {\n message = err.reason\n code = err.code\n } else {\n message = err.message\n }\n\n fireEvent('error', this, () => new ErrorEvent('error', { error: err, message }))\n\n closeWebSocketConnection(this, code)\n}\n\nmodule.exports = {\n WebSocket\n}\n","'use strict'\n\n/**\n * Checks if the given value is a valid LastEventId.\n * @param {string} value\n * @returns {boolean}\n */\nfunction isValidLastEventId (value) {\n // LastEventId should not contain U+0000 NULL\n return value.indexOf('\\u0000') === -1\n}\n\n/**\n * Checks if the given value is a base 10 digit.\n * @param {string} value\n * @returns {boolean}\n */\nfunction isASCIINumber (value) {\n if (value.length === 0) return false\n for (let i = 0; i < value.length; i++) {\n if (value.charCodeAt(i) < 0x30 || value.charCodeAt(i) > 0x39) return false\n }\n return true\n}\n\n// https://github.com/nodejs/undici/issues/2664\nfunction delay (ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms).unref()\n })\n}\n\nmodule.exports = {\n isValidLastEventId,\n isASCIINumber,\n delay\n}\n","'use strict'\nconst { Transform } = require('node:stream')\nconst { isASCIINumber, isValidLastEventId } = require('./util')\n\n/**\n * @type {number[]} BOM\n */\nconst BOM = [0xEF, 0xBB, 0xBF]\n/**\n * @type {10} LF\n */\nconst LF = 0x0A\n/**\n * @type {13} CR\n */\nconst CR = 0x0D\n/**\n * @type {58} COLON\n */\nconst COLON = 0x3A\n/**\n * @type {32} SPACE\n */\nconst SPACE = 0x20\n\n/**\n * @typedef {object} EventSourceStreamEvent\n * @type {object}\n * @property {string} [event] The event type.\n * @property {string} [data] The data of the message.\n * @property {string} [id] A unique ID for the event.\n * @property {string} [retry] The reconnection time, in milliseconds.\n */\n\n/**\n * @typedef eventSourceSettings\n * @type {object}\n * @property {string} lastEventId The last event ID received from the server.\n * @property {string} origin The origin of the event source.\n * @property {number} reconnectionTime The reconnection time, in milliseconds.\n */\n\nclass EventSourceStream extends Transform {\n /**\n * @type {eventSourceSettings}\n */\n state = null\n\n /**\n * Leading byte-order-mark check.\n * @type {boolean}\n */\n checkBOM = true\n\n /**\n * @type {boolean}\n */\n crlfCheck = false\n\n /**\n * @type {boolean}\n */\n eventEndCheck = false\n\n /**\n * @type {Buffer}\n */\n buffer = null\n\n pos = 0\n\n event = {\n data: undefined,\n event: undefined,\n id: undefined,\n retry: undefined\n }\n\n /**\n * @param {object} options\n * @param {eventSourceSettings} options.eventSourceSettings\n * @param {Function} [options.push]\n */\n constructor (options = {}) {\n // Enable object mode as EventSourceStream emits objects of shape\n // EventSourceStreamEvent\n options.readableObjectMode = true\n\n super(options)\n\n this.state = options.eventSourceSettings || {}\n if (options.push) {\n this.push = options.push\n }\n }\n\n /**\n * @param {Buffer} chunk\n * @param {string} _encoding\n * @param {Function} callback\n * @returns {void}\n */\n _transform (chunk, _encoding, callback) {\n if (chunk.length === 0) {\n callback()\n return\n }\n\n // Cache the chunk in the buffer, as the data might not be complete while\n // processing it\n // TODO: Investigate if there is a more performant way to handle\n // incoming chunks\n // see: https://github.com/nodejs/undici/issues/2630\n if (this.buffer) {\n this.buffer = Buffer.concat([this.buffer, chunk])\n } else {\n this.buffer = chunk\n }\n\n // Strip leading byte-order-mark if we opened the stream and started\n // the processing of the incoming data\n if (this.checkBOM) {\n switch (this.buffer.length) {\n case 1:\n // Check if the first byte is the same as the first byte of the BOM\n if (this.buffer[0] === BOM[0]) {\n // If it is, we need to wait for more data\n callback()\n return\n }\n // Set the checkBOM flag to false as we don't need to check for the\n // BOM anymore\n this.checkBOM = false\n\n // The buffer only contains one byte so we need to wait for more data\n callback()\n return\n case 2:\n // Check if the first two bytes are the same as the first two bytes\n // of the BOM\n if (\n this.buffer[0] === BOM[0] &&\n this.buffer[1] === BOM[1]\n ) {\n // If it is, we need to wait for more data, because the third byte\n // is needed to determine if it is the BOM or not\n callback()\n return\n }\n\n // Set the checkBOM flag to false as we don't need to check for the\n // BOM anymore\n this.checkBOM = false\n break\n case 3:\n // Check if the first three bytes are the same as the first three\n // bytes of the BOM\n if (\n this.buffer[0] === BOM[0] &&\n this.buffer[1] === BOM[1] &&\n this.buffer[2] === BOM[2]\n ) {\n // If it is, we can drop the buffered data, as it is only the BOM\n this.buffer = Buffer.alloc(0)\n // Set the checkBOM flag to false as we don't need to check for the\n // BOM anymore\n this.checkBOM = false\n\n // Await more data\n callback()\n return\n }\n // If it is not the BOM, we can start processing the data\n this.checkBOM = false\n break\n default:\n // The buffer is longer than 3 bytes, so we can drop the BOM if it is\n // present\n if (\n this.buffer[0] === BOM[0] &&\n this.buffer[1] === BOM[1] &&\n this.buffer[2] === BOM[2]\n ) {\n // Remove the BOM from the buffer\n this.buffer = this.buffer.subarray(3)\n }\n\n // Set the checkBOM flag to false as we don't need to check for the\n this.checkBOM = false\n break\n }\n }\n\n while (this.pos < this.buffer.length) {\n // If the previous line ended with an end-of-line, we need to check\n // if the next character is also an end-of-line.\n if (this.eventEndCheck) {\n // If the the current character is an end-of-line, then the event\n // is finished and we can process it\n\n // If the previous line ended with a carriage return, we need to\n // check if the current character is a line feed and remove it\n // from the buffer.\n if (this.crlfCheck) {\n // If the current character is a line feed, we can remove it\n // from the buffer and reset the crlfCheck flag\n if (this.buffer[this.pos] === LF) {\n this.buffer = this.buffer.subarray(this.pos + 1)\n this.pos = 0\n this.crlfCheck = false\n\n // It is possible that the line feed is not the end of the\n // event. We need to check if the next character is an\n // end-of-line character to determine if the event is\n // finished. We simply continue the loop to check the next\n // character.\n\n // As we removed the line feed from the buffer and set the\n // crlfCheck flag to false, we basically don't make any\n // distinction between a line feed and a carriage return.\n continue\n }\n this.crlfCheck = false\n }\n\n if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {\n // If the current character is a carriage return, we need to\n // set the crlfCheck flag to true, as we need to check if the\n // next character is a line feed so we can remove it from the\n // buffer\n if (this.buffer[this.pos] === CR) {\n this.crlfCheck = true\n }\n\n this.buffer = this.buffer.subarray(this.pos + 1)\n this.pos = 0\n if (\n this.event.data !== undefined || this.event.event || this.event.id || this.event.retry) {\n this.processEvent(this.event)\n }\n this.clearEvent()\n continue\n }\n // If the current character is not an end-of-line, then the event\n // is not finished and we have to reset the eventEndCheck flag\n this.eventEndCheck = false\n continue\n }\n\n // If the current character is an end-of-line, we can process the\n // line\n if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {\n // If the current character is a carriage return, we need to\n // set the crlfCheck flag to true, as we need to check if the\n // next character is a line feed\n if (this.buffer[this.pos] === CR) {\n this.crlfCheck = true\n }\n\n // In any case, we can process the line as we reached an\n // end-of-line character\n this.parseLine(this.buffer.subarray(0, this.pos), this.event)\n\n // Remove the processed line from the buffer\n this.buffer = this.buffer.subarray(this.pos + 1)\n // Reset the position as we removed the processed line from the buffer\n this.pos = 0\n // A line was processed and this could be the end of the event. We need\n // to check if the next line is empty to determine if the event is\n // finished.\n this.eventEndCheck = true\n continue\n }\n\n this.pos++\n }\n\n callback()\n }\n\n /**\n * @param {Buffer} line\n * @param {EventStreamEvent} event\n */\n parseLine (line, event) {\n // If the line is empty (a blank line)\n // Dispatch the event, as defined below.\n // This will be handled in the _transform method\n if (line.length === 0) {\n return\n }\n\n // If the line starts with a U+003A COLON character (:)\n // Ignore the line.\n const colonPosition = line.indexOf(COLON)\n if (colonPosition === 0) {\n return\n }\n\n let field = ''\n let value = ''\n\n // If the line contains a U+003A COLON character (:)\n if (colonPosition !== -1) {\n // Collect the characters on the line before the first U+003A COLON\n // character (:), and let field be that string.\n // TODO: Investigate if there is a more performant way to extract the\n // field\n // see: https://github.com/nodejs/undici/issues/2630\n field = line.subarray(0, colonPosition).toString('utf8')\n\n // Collect the characters on the line after the first U+003A COLON\n // character (:), and let value be that string.\n // If value starts with a U+0020 SPACE character, remove it from value.\n let valueStart = colonPosition + 1\n if (line[valueStart] === SPACE) {\n ++valueStart\n }\n // TODO: Investigate if there is a more performant way to extract the\n // value\n // see: https://github.com/nodejs/undici/issues/2630\n value = line.subarray(valueStart).toString('utf8')\n\n // Otherwise, the string is not empty but does not contain a U+003A COLON\n // character (:)\n } else {\n // Process the field using the steps described below, using the whole\n // line as the field name, and the empty string as the field value.\n field = line.toString('utf8')\n value = ''\n }\n\n // Modify the event with the field name and value. The value is also\n // decoded as UTF-8\n switch (field) {\n case 'data':\n if (event[field] === undefined) {\n event[field] = value\n } else {\n event[field] += `\\n${value}`\n }\n break\n case 'retry':\n if (isASCIINumber(value)) {\n event[field] = value\n }\n break\n case 'id':\n if (isValidLastEventId(value)) {\n event[field] = value\n }\n break\n case 'event':\n if (value.length > 0) {\n event[field] = value\n }\n break\n }\n }\n\n /**\n * @param {EventSourceStreamEvent} event\n */\n processEvent (event) {\n if (event.retry && isASCIINumber(event.retry)) {\n this.state.reconnectionTime = parseInt(event.retry, 10)\n }\n\n if (event.id && isValidLastEventId(event.id)) {\n this.state.lastEventId = event.id\n }\n\n // only dispatch event, when data is provided\n if (event.data !== undefined) {\n this.push({\n type: event.event || 'message',\n options: {\n data: event.data,\n lastEventId: this.state.lastEventId,\n origin: this.state.origin\n }\n })\n }\n }\n\n clearEvent () {\n this.event = {\n data: undefined,\n event: undefined,\n id: undefined,\n retry: undefined\n }\n }\n}\n\nmodule.exports = {\n EventSourceStream\n}\n","'use strict'\n\nconst { pipeline } = require('node:stream')\nconst { fetching } = require('../fetch')\nconst { makeRequest } = require('../fetch/request')\nconst { webidl } = require('../fetch/webidl')\nconst { EventSourceStream } = require('./eventsource-stream')\nconst { parseMIMEType } = require('../fetch/data-url')\nconst { createFastMessageEvent } = require('../websocket/events')\nconst { isNetworkError } = require('../fetch/response')\nconst { delay } = require('./util')\nconst { kEnumerableProperty } = require('../../core/util')\nconst { environmentSettingsObject } = require('../fetch/util')\n\nlet experimentalWarned = false\n\n/**\n * A reconnection time, in milliseconds. This must initially be an implementation-defined value,\n * probably in the region of a few seconds.\n *\n * In Comparison:\n * - Chrome uses 3000ms.\n * - Deno uses 5000ms.\n *\n * @type {3000}\n */\nconst defaultReconnectionTime = 3000\n\n/**\n * The readyState attribute represents the state of the connection.\n * @enum\n * @readonly\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#dom-eventsource-readystate-dev\n */\n\n/**\n * The connection has not yet been established, or it was closed and the user\n * agent is reconnecting.\n * @type {0}\n */\nconst CONNECTING = 0\n\n/**\n * The user agent has an open connection and is dispatching events as it\n * receives them.\n * @type {1}\n */\nconst OPEN = 1\n\n/**\n * The connection is not open, and the user agent is not trying to reconnect.\n * @type {2}\n */\nconst CLOSED = 2\n\n/**\n * Requests for the element will have their mode set to \"cors\" and their credentials mode set to \"same-origin\".\n * @type {'anonymous'}\n */\nconst ANONYMOUS = 'anonymous'\n\n/**\n * Requests for the element will have their mode set to \"cors\" and their credentials mode set to \"include\".\n * @type {'use-credentials'}\n */\nconst USE_CREDENTIALS = 'use-credentials'\n\n/**\n * The EventSource interface is used to receive server-sent events. It\n * connects to a server over HTTP and receives events in text/event-stream\n * format without closing the connection.\n * @extends {EventTarget}\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events\n * @api public\n */\nclass EventSource extends EventTarget {\n #events = {\n open: null,\n error: null,\n message: null\n }\n\n #url = null\n #withCredentials = false\n\n #readyState = CONNECTING\n\n #request = null\n #controller = null\n\n #dispatcher\n\n /**\n * @type {import('./eventsource-stream').eventSourceSettings}\n */\n #state\n\n /**\n * Creates a new EventSource object.\n * @param {string} url\n * @param {EventSourceInit} [eventSourceInitDict]\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface\n */\n constructor (url, eventSourceInitDict = {}) {\n // 1. Let ev be a new EventSource object.\n super()\n\n webidl.util.markAsUncloneable(this)\n\n const prefix = 'EventSource constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('EventSource is experimental, expect them to change at any time.', {\n code: 'UNDICI-ES'\n })\n }\n\n url = webidl.converters.USVString(url, prefix, 'url')\n eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, 'eventSourceInitDict')\n\n this.#dispatcher = eventSourceInitDict.dispatcher\n this.#state = {\n lastEventId: '',\n reconnectionTime: defaultReconnectionTime\n }\n\n // 2. Let settings be ev's relevant settings object.\n // https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object\n const settings = environmentSettingsObject\n\n let urlRecord\n\n try {\n // 3. Let urlRecord be the result of encoding-parsing a URL given url, relative to settings.\n urlRecord = new URL(url, settings.settingsObject.baseUrl)\n this.#state.origin = urlRecord.origin\n } catch (e) {\n // 4. If urlRecord is failure, then throw a \"SyntaxError\" DOMException.\n throw new DOMException(e, 'SyntaxError')\n }\n\n // 5. Set ev's url to urlRecord.\n this.#url = urlRecord.href\n\n // 6. Let corsAttributeState be Anonymous.\n let corsAttributeState = ANONYMOUS\n\n // 7. If the value of eventSourceInitDict's withCredentials member is true,\n // then set corsAttributeState to Use Credentials and set ev's\n // withCredentials attribute to true.\n if (eventSourceInitDict.withCredentials) {\n corsAttributeState = USE_CREDENTIALS\n this.#withCredentials = true\n }\n\n // 8. Let request be the result of creating a potential-CORS request given\n // urlRecord, the empty string, and corsAttributeState.\n const initRequest = {\n redirect: 'follow',\n keepalive: true,\n // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes\n mode: 'cors',\n credentials: corsAttributeState === 'anonymous'\n ? 'same-origin'\n : 'omit',\n referrer: 'no-referrer'\n }\n\n // 9. Set request's client to settings.\n initRequest.client = environmentSettingsObject.settingsObject\n\n // 10. User agents may set (`Accept`, `text/event-stream`) in request's header list.\n initRequest.headersList = [['accept', { name: 'accept', value: 'text/event-stream' }]]\n\n // 11. Set request's cache mode to \"no-store\".\n initRequest.cache = 'no-store'\n\n // 12. Set request's initiator type to \"other\".\n initRequest.initiator = 'other'\n\n initRequest.urlList = [new URL(this.#url)]\n\n // 13. Set ev's request to request.\n this.#request = makeRequest(initRequest)\n\n this.#connect()\n }\n\n /**\n * Returns the state of this EventSource object's connection. It can have the\n * values described below.\n * @returns {0|1|2}\n * @readonly\n */\n get readyState () {\n return this.#readyState\n }\n\n /**\n * Returns the URL providing the event stream.\n * @readonly\n * @returns {string}\n */\n get url () {\n return this.#url\n }\n\n /**\n * Returns a boolean indicating whether the EventSource object was\n * instantiated with CORS credentials set (true), or not (false, the default).\n */\n get withCredentials () {\n return this.#withCredentials\n }\n\n #connect () {\n if (this.#readyState === CLOSED) return\n\n this.#readyState = CONNECTING\n\n const fetchParams = {\n request: this.#request,\n dispatcher: this.#dispatcher\n }\n\n // 14. Let processEventSourceEndOfBody given response res be the following step: if res is not a network error, then reestablish the connection.\n const processEventSourceEndOfBody = (response) => {\n if (isNetworkError(response)) {\n this.dispatchEvent(new Event('error'))\n this.close()\n }\n\n this.#reconnect()\n }\n\n // 15. Fetch request, with processResponseEndOfBody set to processEventSourceEndOfBody...\n fetchParams.processResponseEndOfBody = processEventSourceEndOfBody\n\n // and processResponse set to the following steps given response res:\n fetchParams.processResponse = (response) => {\n // 1. If res is an aborted network error, then fail the connection.\n\n if (isNetworkError(response)) {\n // 1. When a user agent is to fail the connection, the user agent\n // must queue a task which, if the readyState attribute is set to a\n // value other than CLOSED, sets the readyState attribute to CLOSED\n // and fires an event named error at the EventSource object. Once the\n // user agent has failed the connection, it does not attempt to\n // reconnect.\n if (response.aborted) {\n this.close()\n this.dispatchEvent(new Event('error'))\n return\n // 2. Otherwise, if res is a network error, then reestablish the\n // connection, unless the user agent knows that to be futile, in\n // which case the user agent may fail the connection.\n } else {\n this.#reconnect()\n return\n }\n }\n\n // 3. Otherwise, if res's status is not 200, or if res's `Content-Type`\n // is not `text/event-stream`, then fail the connection.\n const contentType = response.headersList.get('content-type', true)\n const mimeType = contentType !== null ? parseMIMEType(contentType) : 'failure'\n const contentTypeValid = mimeType !== 'failure' && mimeType.essence === 'text/event-stream'\n if (\n response.status !== 200 ||\n contentTypeValid === false\n ) {\n this.close()\n this.dispatchEvent(new Event('error'))\n return\n }\n\n // 4. Otherwise, announce the connection and interpret res's body\n // line by line.\n\n // When a user agent is to announce the connection, the user agent\n // must queue a task which, if the readyState attribute is set to a\n // value other than CLOSED, sets the readyState attribute to OPEN\n // and fires an event named open at the EventSource object.\n // @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model\n this.#readyState = OPEN\n this.dispatchEvent(new Event('open'))\n\n // If redirected to a different origin, set the origin to the new origin.\n this.#state.origin = response.urlList[response.urlList.length - 1].origin\n\n const eventSourceStream = new EventSourceStream({\n eventSourceSettings: this.#state,\n push: (event) => {\n this.dispatchEvent(createFastMessageEvent(\n event.type,\n event.options\n ))\n }\n })\n\n pipeline(response.body.stream,\n eventSourceStream,\n (error) => {\n if (\n error?.aborted === false\n ) {\n this.close()\n this.dispatchEvent(new Event('error'))\n }\n })\n }\n\n this.#controller = fetching(fetchParams)\n }\n\n /**\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model\n * @returns {Promise}\n */\n async #reconnect () {\n // When a user agent is to reestablish the connection, the user agent must\n // run the following steps. These steps are run in parallel, not as part of\n // a task. (The tasks that it queues, of course, are run like normal tasks\n // and not themselves in parallel.)\n\n // 1. Queue a task to run the following steps:\n\n // 1. If the readyState attribute is set to CLOSED, abort the task.\n if (this.#readyState === CLOSED) return\n\n // 2. Set the readyState attribute to CONNECTING.\n this.#readyState = CONNECTING\n\n // 3. Fire an event named error at the EventSource object.\n this.dispatchEvent(new Event('error'))\n\n // 2. Wait a delay equal to the reconnection time of the event source.\n await delay(this.#state.reconnectionTime)\n\n // 5. Queue a task to run the following steps:\n\n // 1. If the EventSource object's readyState attribute is not set to\n // CONNECTING, then return.\n if (this.#readyState !== CONNECTING) return\n\n // 2. Let request be the EventSource object's request.\n // 3. If the EventSource object's last event ID string is not the empty\n // string, then:\n // 1. Let lastEventIDValue be the EventSource object's last event ID\n // string, encoded as UTF-8.\n // 2. Set (`Last-Event-ID`, lastEventIDValue) in request's header\n // list.\n if (this.#state.lastEventId.length) {\n this.#request.headersList.set('last-event-id', this.#state.lastEventId, true)\n }\n\n // 4. Fetch request and process the response obtained in this fashion, if any, as described earlier in this section.\n this.#connect()\n }\n\n /**\n * Closes the connection, if any, and sets the readyState attribute to\n * CLOSED.\n */\n close () {\n webidl.brandCheck(this, EventSource)\n\n if (this.#readyState === CLOSED) return\n this.#readyState = CLOSED\n this.#controller.abort()\n this.#request = null\n }\n\n get onopen () {\n return this.#events.open\n }\n\n set onopen (fn) {\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 onmessage () {\n return this.#events.message\n }\n\n set onmessage (fn) {\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 onerror () {\n return this.#events.error\n }\n\n set onerror (fn) {\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\nconst constantsPropertyDescriptors = {\n CONNECTING: {\n __proto__: null,\n configurable: false,\n enumerable: true,\n value: CONNECTING,\n writable: false\n },\n OPEN: {\n __proto__: null,\n configurable: false,\n enumerable: true,\n value: OPEN,\n writable: false\n },\n CLOSED: {\n __proto__: null,\n configurable: false,\n enumerable: true,\n value: CLOSED,\n writable: false\n }\n}\n\nObject.defineProperties(EventSource, constantsPropertyDescriptors)\nObject.defineProperties(EventSource.prototype, constantsPropertyDescriptors)\n\nObject.defineProperties(EventSource.prototype, {\n close: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onmessage: kEnumerableProperty,\n onopen: kEnumerableProperty,\n readyState: kEnumerableProperty,\n url: kEnumerableProperty,\n withCredentials: kEnumerableProperty\n})\n\nwebidl.converters.EventSourceInitDict = webidl.dictionaryConverter([\n {\n key: 'withCredentials',\n converter: webidl.converters.boolean,\n defaultValue: () => false\n },\n {\n key: 'dispatcher', // undici only\n converter: webidl.converters.any\n }\n])\n\nmodule.exports = {\n EventSource,\n defaultReconnectionTime\n}\n","'use strict'\n\nconst Client = require('./lib/dispatcher/client')\nconst Dispatcher = require('./lib/dispatcher/dispatcher')\nconst Pool = require('./lib/dispatcher/pool')\nconst BalancedPool = require('./lib/dispatcher/balanced-pool')\nconst Agent = require('./lib/dispatcher/agent')\nconst ProxyAgent = require('./lib/dispatcher/proxy-agent')\nconst EnvHttpProxyAgent = require('./lib/dispatcher/env-http-proxy-agent')\nconst RetryAgent = require('./lib/dispatcher/retry-agent')\nconst errors = require('./lib/core/errors')\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 RetryHandler = require('./lib/handler/retry-handler')\nconst { getGlobalDispatcher, setGlobalDispatcher } = require('./lib/global')\nconst DecoratorHandler = require('./lib/handler/decorator-handler')\nconst RedirectHandler = require('./lib/handler/redirect-handler')\nconst createRedirectInterceptor = require('./lib/interceptor/redirect-interceptor')\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\nmodule.exports.EnvHttpProxyAgent = EnvHttpProxyAgent\nmodule.exports.RetryAgent = RetryAgent\nmodule.exports.RetryHandler = RetryHandler\n\nmodule.exports.DecoratorHandler = DecoratorHandler\nmodule.exports.RedirectHandler = RedirectHandler\nmodule.exports.createRedirectInterceptor = createRedirectInterceptor\nmodule.exports.interceptors = {\n redirect: require('./lib/interceptor/redirect'),\n retry: require('./lib/interceptor/retry'),\n dump: require('./lib/interceptor/dump'),\n dns: require('./lib/interceptor/dns')\n}\n\nmodule.exports.buildConnector = buildConnector\nmodule.exports.errors = errors\nmodule.exports.util = {\n parseHeaders: util.parseHeaders,\n headerNameToString: util.headerNameToString\n}\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\nconst fetchImpl = require('./lib/web/fetch').fetch\nmodule.exports.fetch = async function fetch (init, options = undefined) {\n try {\n return await fetchImpl(init, options)\n } catch (err) {\n if (err && typeof err === 'object') {\n Error.captureStackTrace(err)\n }\n\n throw err\n }\n}\nmodule.exports.Headers = require('./lib/web/fetch/headers').Headers\nmodule.exports.Response = require('./lib/web/fetch/response').Response\nmodule.exports.Request = require('./lib/web/fetch/request').Request\nmodule.exports.FormData = require('./lib/web/fetch/formdata').FormData\nmodule.exports.File = globalThis.File ?? require('node:buffer').File\nmodule.exports.FileReader = require('./lib/web/fileapi/filereader').FileReader\n\nconst { setGlobalOrigin, getGlobalOrigin } = require('./lib/web/fetch/global')\n\nmodule.exports.setGlobalOrigin = setGlobalOrigin\nmodule.exports.getGlobalOrigin = getGlobalOrigin\n\nconst { CacheStorage } = require('./lib/web/cache/cachestorage')\nconst { kConstruct } = require('./lib/web/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.\nmodule.exports.caches = new CacheStorage(kConstruct)\n\nconst { deleteCookie, getCookies, getSetCookies, setCookie } = require('./lib/web/cookies')\n\nmodule.exports.deleteCookie = deleteCookie\nmodule.exports.getCookies = getCookies\nmodule.exports.getSetCookies = getSetCookies\nmodule.exports.setCookie = setCookie\n\nconst { parseMIMEType, serializeAMimeType } = require('./lib/web/fetch/data-url')\n\nmodule.exports.parseMIMEType = parseMIMEType\nmodule.exports.serializeAMimeType = serializeAMimeType\n\nconst { CloseEvent, ErrorEvent, MessageEvent } = require('./lib/web/websocket/events')\nmodule.exports.WebSocket = require('./lib/web/websocket/websocket').WebSocket\nmodule.exports.CloseEvent = CloseEvent\nmodule.exports.ErrorEvent = ErrorEvent\nmodule.exports.MessageEvent = MessageEvent\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\nconst { EventSource } = require('./lib/web/eventsource/eventsource')\n\nmodule.exports.EventSource = EventSource\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as http from 'http';\nimport * as https from 'https';\nimport * as pm from './proxy.js';\nimport * as tunnel from 'tunnel';\nimport { ProxyAgent } from 'undici';\nexport var HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes || (HttpCodes = {}));\nexport var Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers || (Headers = {}));\nexport var MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes || (MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nexport function getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nexport class HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexport class HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n readBodyBuffer() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n const chunks = [];\n this.message.on('data', (chunk) => {\n chunks.push(chunk);\n });\n this.message.on('end', () => {\n resolve(Buffer.concat(chunks));\n });\n }));\n });\n }\n}\nexport function isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexport class HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = this._getUserAgentWithOrchestrationId(userAgent);\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, additionalHeaders = {}) {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n getAgentDispatcher(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (!useProxy) {\n return;\n }\n return this._getProxyAgentDispatcher(parsedUrl, proxyUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n /**\n * Gets an existing header value or returns a default.\n * Handles converting number header values to strings since HTTP headers must be strings.\n * Note: This returns string | string[] since some headers can have multiple values.\n * For headers that must always be a single string (like Content-Type), use the\n * specialized _getExistingOrDefaultContentTypeHeader method instead.\n */\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n const headerValue = lowercaseKeys(this.requestOptions.headers)[header];\n if (headerValue) {\n clientHeader =\n typeof headerValue === 'number' ? headerValue.toString() : headerValue;\n }\n }\n const additionalValue = additionalHeaders[header];\n if (additionalValue !== undefined) {\n return typeof additionalValue === 'number'\n ? additionalValue.toString()\n : additionalValue;\n }\n if (clientHeader !== undefined) {\n return clientHeader;\n }\n return _default;\n }\n /**\n * Specialized version of _getExistingOrDefaultHeader for Content-Type header.\n * Always returns a single string (not an array) since Content-Type should be a single value.\n * Converts arrays to comma-separated strings and numbers to strings to ensure type safety.\n * This was split from _getExistingOrDefaultHeader to provide stricter typing for callers\n * that assign the result to places expecting a string (e.g., additionalHeaders[Headers.ContentType]).\n */\n _getExistingOrDefaultContentTypeHeader(additionalHeaders, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n const headerValue = lowercaseKeys(this.requestOptions.headers)[Headers.ContentType];\n if (headerValue) {\n if (typeof headerValue === 'number') {\n clientHeader = String(headerValue);\n }\n else if (Array.isArray(headerValue)) {\n clientHeader = headerValue.join(', ');\n }\n else {\n clientHeader = headerValue;\n }\n }\n }\n const additionalValue = additionalHeaders[Headers.ContentType];\n // Return the first non-undefined value, converting numbers or arrays to strings if necessary\n if (additionalValue !== undefined) {\n if (typeof additionalValue === 'number') {\n return String(additionalValue);\n }\n else if (Array.isArray(additionalValue)) {\n return additionalValue.join(', ');\n }\n else {\n return additionalValue;\n }\n }\n if (clientHeader !== undefined) {\n return clientHeader;\n }\n return _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (!useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if tunneling agent isn't assigned create a new agent\n if (!agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _getProxyAgentDispatcher(parsedUrl, proxyUrl) {\n let proxyAgent;\n if (this._keepAlive) {\n proxyAgent = this._proxyAgentDispatcher;\n }\n // if agent is already assigned use that agent.\n if (proxyAgent) {\n return proxyAgent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n proxyAgent = new ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && {\n token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString('base64')}`\n })));\n this._proxyAgentDispatcher = proxyAgent;\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, {\n rejectUnauthorized: false\n });\n }\n return proxyAgent;\n }\n _getUserAgentWithOrchestrationId(userAgent) {\n const baseUserAgent = userAgent || 'actions/http-client';\n const orchId = process.env['ACTIONS_ORCHESTRATION_ID'];\n if (orchId) {\n // Sanitize the orchestration ID to ensure it contains only valid characters\n // Valid characters: 0-9, a-z, _, -, .\n const sanitizedId = orchId.replace(/[^a-z0-9_.-]/gi, '_');\n return `${baseUserAgent} actions_orchestration_id/${sanitizedId}`;\n }\n return baseUserAgent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport class BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexport class BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexport class PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\n//# sourceMappingURL=auth.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { HttpClient } from '@actions/http-client';\nimport { BearerCredentialHandler } from '@actions/http-client/lib/auth';\nimport { debug, setSecret } from './core.js';\nexport class OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new HttpClient('actions/oidc-client', [new BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\n//# sourceMappingURL=oidc-utils.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { EOL } from 'os';\nimport { constants, promises } from 'fs';\nconst { access, appendFile, writeFile } = promises;\nexport const SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexport const SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, constants.R_OK | constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexport const markdownSummary = _summary;\nexport const summary = _summary;\n//# sourceMappingURL=summary.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as fs from 'fs';\nimport * as path from 'path';\nexport const { chmod, copyFile, lstat, mkdir, open, readdir, rename, rm, rmdir, stat, symlink, unlink } = fs.promises;\n// export const {open} = 'fs'\nexport const IS_WINDOWS = process.platform === 'win32';\n/**\n * Custom implementation of readlink to ensure Windows junctions\n * maintain trailing backslash for backward compatibility with Node.js < 24\n *\n * In Node.js 20, Windows junctions (directory symlinks) always returned paths\n * with trailing backslashes. Node.js 24 removed this behavior, which breaks\n * code that relied on this format for path operations.\n *\n * This implementation restores the Node 20 behavior by adding a trailing\n * backslash to all junction results on Windows.\n */\nexport function readlink(fsPath) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield fs.promises.readlink(fsPath);\n // On Windows, restore Node 20 behavior: add trailing backslash to all results\n // since junctions on Windows are always directory links\n if (IS_WINDOWS && !result.endsWith('\\\\')) {\n return `${result}\\\\`;\n }\n return result;\n });\n}\n// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691\nexport const UV_FS_O_EXLOCK = 0x10000000;\nexport const READONLY = fs.constants.O_RDONLY;\nexport function exists(fsPath) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n yield stat(fsPath);\n }\n catch (err) {\n if (err.code === 'ENOENT') {\n return false;\n }\n throw err;\n }\n return true;\n });\n}\nexport function isDirectory(fsPath_1) {\n return __awaiter(this, arguments, void 0, function* (fsPath, useStat = false) {\n const stats = useStat ? yield stat(fsPath) : yield lstat(fsPath);\n return stats.isDirectory();\n });\n}\n/**\n * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:\n * \\, \\hello, \\\\hello\\share, C:, and C:\\hello (and corresponding alternate separator cases).\n */\nexport function isRooted(p) {\n p = normalizeSeparators(p);\n if (!p) {\n throw new Error('isRooted() parameter \"p\" cannot be empty');\n }\n if (IS_WINDOWS) {\n return (p.startsWith('\\\\') || /^[A-Z]:/i.test(p) // e.g. \\ or \\hello or \\\\hello\n ); // e.g. C: or C:\\hello\n }\n return p.startsWith('/');\n}\n/**\n * Best effort attempt to determine whether a file exists and is executable.\n * @param filePath file path to check\n * @param extensions additional file extensions to try\n * @return if file exists and is executable, returns the file path. otherwise empty string.\n */\nexport function tryGetExecutablePath(filePath, extensions) {\n return __awaiter(this, void 0, void 0, function* () {\n let stats = undefined;\n try {\n // test file exists\n stats = yield stat(filePath);\n }\n catch (err) {\n if (err.code !== 'ENOENT') {\n // eslint-disable-next-line no-console\n console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);\n }\n }\n if (stats && stats.isFile()) {\n if (IS_WINDOWS) {\n // on Windows, test for valid extension\n const upperExt = path.extname(filePath).toUpperCase();\n if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) {\n return filePath;\n }\n }\n else {\n if (isUnixExecutable(stats)) {\n return filePath;\n }\n }\n }\n // try each extension\n const originalFilePath = filePath;\n for (const extension of extensions) {\n filePath = originalFilePath + extension;\n stats = undefined;\n try {\n stats = yield stat(filePath);\n }\n catch (err) {\n if (err.code !== 'ENOENT') {\n // eslint-disable-next-line no-console\n console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);\n }\n }\n if (stats && stats.isFile()) {\n if (IS_WINDOWS) {\n // preserve the case of the actual file (since an extension was appended)\n try {\n const directory = path.dirname(filePath);\n const upperName = path.basename(filePath).toUpperCase();\n for (const actualName of yield readdir(directory)) {\n if (upperName === actualName.toUpperCase()) {\n filePath = path.join(directory, actualName);\n break;\n }\n }\n }\n catch (err) {\n // eslint-disable-next-line no-console\n console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`);\n }\n return filePath;\n }\n else {\n if (isUnixExecutable(stats)) {\n return filePath;\n }\n }\n }\n }\n return '';\n });\n}\nfunction normalizeSeparators(p) {\n p = p || '';\n if (IS_WINDOWS) {\n // convert slashes on Windows\n p = p.replace(/\\//g, '\\\\');\n // remove redundant slashes\n return p.replace(/\\\\\\\\+/g, '\\\\');\n }\n // remove redundant slashes\n return p.replace(/\\/\\/+/g, '/');\n}\n// on Mac/Linux, test the execute bit\n// R W X R W X R W X\n// 256 128 64 32 16 8 4 2 1\nfunction isUnixExecutable(stats) {\n return ((stats.mode & 1) > 0 ||\n ((stats.mode & 8) > 0 &&\n process.getgid !== undefined &&\n stats.gid === process.getgid()) ||\n ((stats.mode & 64) > 0 &&\n process.getuid !== undefined &&\n stats.uid === process.getuid()));\n}\n// Get the path of cmd.exe in windows\nexport function getCmdPath() {\n var _a;\n return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`;\n}\n//# sourceMappingURL=io-util.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { ok } from 'assert';\nimport * as path from 'path';\nimport * as ioUtil from './io-util.js';\n/**\n * Copies a file or folder.\n * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js\n *\n * @param source source path\n * @param dest destination path\n * @param options optional. See CopyOptions.\n */\nexport function cp(source_1, dest_1) {\n return __awaiter(this, arguments, void 0, function* (source, dest, options = {}) {\n const { force, recursive, copySourceDirectory } = readCopyOptions(options);\n const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null;\n // Dest is an existing file, but not forcing\n if (destStat && destStat.isFile() && !force) {\n return;\n }\n // If dest is an existing directory, should copy inside.\n const newDest = destStat && destStat.isDirectory() && copySourceDirectory\n ? path.join(dest, path.basename(source))\n : dest;\n if (!(yield ioUtil.exists(source))) {\n throw new Error(`no such file or directory: ${source}`);\n }\n const sourceStat = yield ioUtil.stat(source);\n if (sourceStat.isDirectory()) {\n if (!recursive) {\n throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`);\n }\n else {\n yield cpDirRecursive(source, newDest, 0, force);\n }\n }\n else {\n if (path.relative(source, newDest) === '') {\n // a file cannot be copied to itself\n throw new Error(`'${newDest}' and '${source}' are the same file`);\n }\n yield copyFile(source, newDest, force);\n }\n });\n}\n/**\n * Moves a path.\n *\n * @param source source path\n * @param dest destination path\n * @param options optional. See MoveOptions.\n */\nexport function mv(source_1, dest_1) {\n return __awaiter(this, arguments, void 0, function* (source, dest, options = {}) {\n if (yield ioUtil.exists(dest)) {\n let destExists = true;\n if (yield ioUtil.isDirectory(dest)) {\n // If dest is directory copy src into dest\n dest = path.join(dest, path.basename(source));\n destExists = yield ioUtil.exists(dest);\n }\n if (destExists) {\n if (options.force == null || options.force) {\n yield rmRF(dest);\n }\n else {\n throw new Error('Destination already exists');\n }\n }\n }\n yield mkdirP(path.dirname(dest));\n yield ioUtil.rename(source, dest);\n });\n}\n/**\n * Remove a path recursively with force\n *\n * @param inputPath path to remove\n */\nexport function rmRF(inputPath) {\n return __awaiter(this, void 0, void 0, function* () {\n if (ioUtil.IS_WINDOWS) {\n // Check for invalid characters\n // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file\n if (/[*\"<>|]/.test(inputPath)) {\n throw new Error('File path must not contain `*`, `\"`, `<`, `>` or `|` on Windows');\n }\n }\n try {\n // note if path does not exist, error is silent\n yield ioUtil.rm(inputPath, {\n force: true,\n maxRetries: 3,\n recursive: true,\n retryDelay: 300\n });\n }\n catch (err) {\n throw new Error(`File was unable to be removed ${err}`);\n }\n });\n}\n/**\n * Make a directory. Creates the full path with folders in between\n * Will throw if it fails\n *\n * @param fsPath path to create\n * @returns Promise\n */\nexport function mkdirP(fsPath) {\n return __awaiter(this, void 0, void 0, function* () {\n ok(fsPath, 'a path argument must be provided');\n yield ioUtil.mkdir(fsPath, { recursive: true });\n });\n}\n/**\n * Returns path of a tool had the tool actually been invoked. Resolves via paths.\n * If you check and the tool does not exist, it will throw.\n *\n * @param tool name of the tool\n * @param check whether to check if tool exists\n * @returns Promise path to tool\n */\nexport function which(tool, check) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!tool) {\n throw new Error(\"parameter 'tool' is required\");\n }\n // recursive when check=true\n if (check) {\n const result = yield which(tool, false);\n if (!result) {\n if (ioUtil.IS_WINDOWS) {\n throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`);\n }\n else {\n throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);\n }\n }\n return result;\n }\n const matches = yield findInPath(tool);\n if (matches && matches.length > 0) {\n return matches[0];\n }\n return '';\n });\n}\n/**\n * Returns a list of all occurrences of the given tool on the system path.\n *\n * @returns Promise the paths of the tool\n */\nexport function findInPath(tool) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!tool) {\n throw new Error(\"parameter 'tool' is required\");\n }\n // build the list of extensions to try\n const extensions = [];\n if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) {\n for (const extension of process.env['PATHEXT'].split(path.delimiter)) {\n if (extension) {\n extensions.push(extension);\n }\n }\n }\n // if it's rooted, return it if exists. otherwise return empty.\n if (ioUtil.isRooted(tool)) {\n const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);\n if (filePath) {\n return [filePath];\n }\n return [];\n }\n // if any path separators, return empty\n if (tool.includes(path.sep)) {\n return [];\n }\n // build the list of directories\n //\n // Note, technically \"where\" checks the current directory on Windows. From a toolkit perspective,\n // it feels like we should not do this. Checking the current directory seems like more of a use\n // case of a shell, and the which() function exposed by the toolkit should strive for consistency\n // across platforms.\n const directories = [];\n if (process.env.PATH) {\n for (const p of process.env.PATH.split(path.delimiter)) {\n if (p) {\n directories.push(p);\n }\n }\n }\n // find all matches\n const matches = [];\n for (const directory of directories) {\n const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions);\n if (filePath) {\n matches.push(filePath);\n }\n }\n return matches;\n });\n}\nfunction readCopyOptions(options) {\n const force = options.force == null ? true : options.force;\n const recursive = Boolean(options.recursive);\n const copySourceDirectory = options.copySourceDirectory == null\n ? true\n : Boolean(options.copySourceDirectory);\n return { force, recursive, copySourceDirectory };\n}\nfunction cpDirRecursive(sourceDir, destDir, currentDepth, force) {\n return __awaiter(this, void 0, void 0, function* () {\n // Ensure there is not a run away recursive copy\n if (currentDepth >= 255)\n return;\n currentDepth++;\n yield mkdirP(destDir);\n const files = yield ioUtil.readdir(sourceDir);\n for (const fileName of files) {\n const srcFile = `${sourceDir}/${fileName}`;\n const destFile = `${destDir}/${fileName}`;\n const srcFileStat = yield ioUtil.lstat(srcFile);\n if (srcFileStat.isDirectory()) {\n // Recurse\n yield cpDirRecursive(srcFile, destFile, currentDepth, force);\n }\n else {\n yield copyFile(srcFile, destFile, force);\n }\n }\n // Change the mode for the newly created directory\n yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode);\n });\n}\n// Buffered file copy\nfunction copyFile(srcFile, destFile, force) {\n return __awaiter(this, void 0, void 0, function* () {\n if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) {\n // unlink/re-link it\n try {\n yield ioUtil.lstat(destFile);\n yield ioUtil.unlink(destFile);\n }\n catch (e) {\n // Try to override file permission\n if (e.code === 'EPERM') {\n yield ioUtil.chmod(destFile, '0666');\n yield ioUtil.unlink(destFile);\n }\n // other errors = it doesn't exist, no work to do\n }\n // Copy over symlink\n const symlinkFull = yield ioUtil.readlink(srcFile);\n yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null);\n }\n else if (!(yield ioUtil.exists(destFile)) || force) {\n yield ioUtil.copyFile(srcFile, destFile);\n }\n });\n}\n//# sourceMappingURL=io.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as os from 'os';\nimport * as events from 'events';\nimport * as child from 'child_process';\nimport * as path from 'path';\nimport * as io from '@actions/io';\nimport * as ioUtil from '@actions/io/lib/io-util';\nimport { setTimeout } from 'timers';\n/* eslint-disable @typescript-eslint/unbound-method */\nconst IS_WINDOWS = process.platform === 'win32';\n/*\n * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way.\n */\nexport class ToolRunner extends events.EventEmitter {\n constructor(toolPath, args, options) {\n super();\n if (!toolPath) {\n throw new Error(\"Parameter 'toolPath' cannot be null or empty.\");\n }\n this.toolPath = toolPath;\n this.args = args || [];\n this.options = options || {};\n }\n _debug(message) {\n if (this.options.listeners && this.options.listeners.debug) {\n this.options.listeners.debug(message);\n }\n }\n _getCommandString(options, noPrefix) {\n const toolPath = this._getSpawnFileName();\n const args = this._getSpawnArgs(options);\n let cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool\n if (IS_WINDOWS) {\n // Windows + cmd file\n if (this._isCmdFile()) {\n cmd += toolPath;\n for (const a of args) {\n cmd += ` ${a}`;\n }\n }\n // Windows + verbatim\n else if (options.windowsVerbatimArguments) {\n cmd += `\"${toolPath}\"`;\n for (const a of args) {\n cmd += ` ${a}`;\n }\n }\n // Windows (regular)\n else {\n cmd += this._windowsQuoteCmdArg(toolPath);\n for (const a of args) {\n cmd += ` ${this._windowsQuoteCmdArg(a)}`;\n }\n }\n }\n else {\n // OSX/Linux - this can likely be improved with some form of quoting.\n // creating processes on Unix is fundamentally different than Windows.\n // on Unix, execvp() takes an arg array.\n cmd += toolPath;\n for (const a of args) {\n cmd += ` ${a}`;\n }\n }\n return cmd;\n }\n _processLineBuffer(data, strBuffer, onLine) {\n try {\n let s = strBuffer + data.toString();\n let n = s.indexOf(os.EOL);\n while (n > -1) {\n const line = s.substring(0, n);\n onLine(line);\n // the rest of the string ...\n s = s.substring(n + os.EOL.length);\n n = s.indexOf(os.EOL);\n }\n return s;\n }\n catch (err) {\n // streaming lines to console is best effort. Don't fail a build.\n this._debug(`error processing line. Failed with error ${err}`);\n return '';\n }\n }\n _getSpawnFileName() {\n if (IS_WINDOWS) {\n if (this._isCmdFile()) {\n return process.env['COMSPEC'] || 'cmd.exe';\n }\n }\n return this.toolPath;\n }\n _getSpawnArgs(options) {\n if (IS_WINDOWS) {\n if (this._isCmdFile()) {\n let argline = `/D /S /C \"${this._windowsQuoteCmdArg(this.toolPath)}`;\n for (const a of this.args) {\n argline += ' ';\n argline += options.windowsVerbatimArguments\n ? a\n : this._windowsQuoteCmdArg(a);\n }\n argline += '\"';\n return [argline];\n }\n }\n return this.args;\n }\n _endsWith(str, end) {\n return str.endsWith(end);\n }\n _isCmdFile() {\n const upperToolPath = this.toolPath.toUpperCase();\n return (this._endsWith(upperToolPath, '.CMD') ||\n this._endsWith(upperToolPath, '.BAT'));\n }\n _windowsQuoteCmdArg(arg) {\n // for .exe, apply the normal quoting rules that libuv applies\n if (!this._isCmdFile()) {\n return this._uvQuoteCmdArg(arg);\n }\n // otherwise apply quoting rules specific to the cmd.exe command line parser.\n // the libuv rules are generic and are not designed specifically for cmd.exe\n // command line parser.\n //\n // for a detailed description of the cmd.exe command line parser, refer to\n // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912\n // need quotes for empty arg\n if (!arg) {\n return '\"\"';\n }\n // determine whether the arg needs to be quoted\n const cmdSpecialChars = [\n ' ',\n '\\t',\n '&',\n '(',\n ')',\n '[',\n ']',\n '{',\n '}',\n '^',\n '=',\n ';',\n '!',\n \"'\",\n '+',\n ',',\n '`',\n '~',\n '|',\n '<',\n '>',\n '\"'\n ];\n let needsQuotes = false;\n for (const char of arg) {\n if (cmdSpecialChars.some(x => x === char)) {\n needsQuotes = true;\n break;\n }\n }\n // short-circuit if quotes not needed\n if (!needsQuotes) {\n return arg;\n }\n // the following quoting rules are very similar to the rules that by libuv applies.\n //\n // 1) wrap the string in quotes\n //\n // 2) double-up quotes - i.e. \" => \"\"\n //\n // this is different from the libuv quoting rules. libuv replaces \" with \\\", which unfortunately\n // doesn't work well with a cmd.exe command line.\n //\n // note, replacing \" with \"\" also works well if the arg is passed to a downstream .NET console app.\n // for example, the command line:\n // foo.exe \"myarg:\"\"my val\"\"\"\n // is parsed by a .NET console app into an arg array:\n // [ \"myarg:\\\"my val\\\"\" ]\n // which is the same end result when applying libuv quoting rules. although the actual\n // command line from libuv quoting rules would look like:\n // foo.exe \"myarg:\\\"my val\\\"\"\n //\n // 3) double-up slashes that precede a quote,\n // e.g. hello \\world => \"hello \\world\"\n // hello\\\"world => \"hello\\\\\"\"world\"\n // hello\\\\\"world => \"hello\\\\\\\\\"\"world\"\n // hello world\\ => \"hello world\\\\\"\n //\n // technically this is not required for a cmd.exe command line, or the batch argument parser.\n // the reasons for including this as a .cmd quoting rule are:\n //\n // a) this is optimized for the scenario where the argument is passed from the .cmd file to an\n // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule.\n //\n // b) it's what we've been doing previously (by deferring to node default behavior) and we\n // haven't heard any complaints about that aspect.\n //\n // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be\n // escaped when used on the command line directly - even though within a .cmd file % can be escaped\n // by using %%.\n //\n // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts\n // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing.\n //\n // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would\n // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the\n // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args\n // to an external program.\n //\n // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file.\n // % can be escaped within a .cmd file.\n let reverse = '\"';\n let quoteHit = true;\n for (let i = arg.length; i > 0; i--) {\n // walk the string in reverse\n reverse += arg[i - 1];\n if (quoteHit && arg[i - 1] === '\\\\') {\n reverse += '\\\\'; // double the slash\n }\n else if (arg[i - 1] === '\"') {\n quoteHit = true;\n reverse += '\"'; // double the quote\n }\n else {\n quoteHit = false;\n }\n }\n reverse += '\"';\n return reverse.split('').reverse().join('');\n }\n _uvQuoteCmdArg(arg) {\n // Tool runner wraps child_process.spawn() and needs to apply the same quoting as\n // Node in certain cases where the undocumented spawn option windowsVerbatimArguments\n // is used.\n //\n // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV,\n // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details),\n // pasting copyright notice from Node within this function:\n //\n // Copyright Joyent, Inc. and other Node contributors. All rights reserved.\n //\n // Permission is hereby granted, free of charge, to any person obtaining a copy\n // of this software and associated documentation files (the \"Software\"), to\n // deal in the Software without restriction, including without limitation the\n // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n // sell copies of the Software, and to permit persons to whom the Software is\n // furnished to do so, subject to the following conditions:\n //\n // The above copyright notice and this permission notice shall be included in\n // all copies or substantial portions of the Software.\n //\n // THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n // IN THE SOFTWARE.\n if (!arg) {\n // Need double quotation for empty argument\n return '\"\"';\n }\n if (!arg.includes(' ') && !arg.includes('\\t') && !arg.includes('\"')) {\n // No quotation needed\n return arg;\n }\n if (!arg.includes('\"') && !arg.includes('\\\\')) {\n // No embedded double quotes or backslashes, so I can just wrap\n // quote marks around the whole thing.\n return `\"${arg}\"`;\n }\n // Expected input/output:\n // input : hello\"world\n // output: \"hello\\\"world\"\n // input : hello\"\"world\n // output: \"hello\\\"\\\"world\"\n // input : hello\\world\n // output: hello\\world\n // input : hello\\\\world\n // output: hello\\\\world\n // input : hello\\\"world\n // output: \"hello\\\\\\\"world\"\n // input : hello\\\\\"world\n // output: \"hello\\\\\\\\\\\"world\"\n // input : hello world\\\n // output: \"hello world\\\\\" - note the comment in libuv actually reads \"hello world\\\"\n // but it appears the comment is wrong, it should be \"hello world\\\\\"\n let reverse = '\"';\n let quoteHit = true;\n for (let i = arg.length; i > 0; i--) {\n // walk the string in reverse\n reverse += arg[i - 1];\n if (quoteHit && arg[i - 1] === '\\\\') {\n reverse += '\\\\';\n }\n else if (arg[i - 1] === '\"') {\n quoteHit = true;\n reverse += '\\\\';\n }\n else {\n quoteHit = false;\n }\n }\n reverse += '\"';\n return reverse.split('').reverse().join('');\n }\n _cloneExecOptions(options) {\n options = options || {};\n const result = {\n cwd: options.cwd || process.cwd(),\n env: options.env || process.env,\n silent: options.silent || false,\n windowsVerbatimArguments: options.windowsVerbatimArguments || false,\n failOnStdErr: options.failOnStdErr || false,\n ignoreReturnCode: options.ignoreReturnCode || false,\n delay: options.delay || 10000\n };\n result.outStream = options.outStream || process.stdout;\n result.errStream = options.errStream || process.stderr;\n return result;\n }\n _getSpawnOptions(options, toolPath) {\n options = options || {};\n const result = {};\n result.cwd = options.cwd;\n result.env = options.env;\n result['windowsVerbatimArguments'] =\n options.windowsVerbatimArguments || this._isCmdFile();\n if (options.windowsVerbatimArguments) {\n result.argv0 = `\"${toolPath}\"`;\n }\n return result;\n }\n /**\n * Exec a tool.\n * Output will be streamed to the live console.\n * Returns promise with return code\n *\n * @param tool path to tool to exec\n * @param options optional exec options. See ExecOptions\n * @returns number\n */\n exec() {\n return __awaiter(this, void 0, void 0, function* () {\n // root the tool path if it is unrooted and contains relative pathing\n if (!ioUtil.isRooted(this.toolPath) &&\n (this.toolPath.includes('/') ||\n (IS_WINDOWS && this.toolPath.includes('\\\\')))) {\n // prefer options.cwd if it is specified, however options.cwd may also need to be rooted\n this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);\n }\n // if the tool is only a file name, then resolve it from the PATH\n // otherwise verify it exists (add extension on Windows if necessary)\n this.toolPath = yield io.which(this.toolPath, true);\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n this._debug(`exec tool: ${this.toolPath}`);\n this._debug('arguments:');\n for (const arg of this.args) {\n this._debug(` ${arg}`);\n }\n const optionsNonNull = this._cloneExecOptions(this.options);\n if (!optionsNonNull.silent && optionsNonNull.outStream) {\n optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL);\n }\n const state = new ExecState(optionsNonNull, this.toolPath);\n state.on('debug', (message) => {\n this._debug(message);\n });\n if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) {\n return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`));\n }\n const fileName = this._getSpawnFileName();\n const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName));\n let stdbuffer = '';\n if (cp.stdout) {\n cp.stdout.on('data', (data) => {\n if (this.options.listeners && this.options.listeners.stdout) {\n this.options.listeners.stdout(data);\n }\n if (!optionsNonNull.silent && optionsNonNull.outStream) {\n optionsNonNull.outStream.write(data);\n }\n stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => {\n if (this.options.listeners && this.options.listeners.stdline) {\n this.options.listeners.stdline(line);\n }\n });\n });\n }\n let errbuffer = '';\n if (cp.stderr) {\n cp.stderr.on('data', (data) => {\n state.processStderr = true;\n if (this.options.listeners && this.options.listeners.stderr) {\n this.options.listeners.stderr(data);\n }\n if (!optionsNonNull.silent &&\n optionsNonNull.errStream &&\n optionsNonNull.outStream) {\n const s = optionsNonNull.failOnStdErr\n ? optionsNonNull.errStream\n : optionsNonNull.outStream;\n s.write(data);\n }\n errbuffer = this._processLineBuffer(data, errbuffer, (line) => {\n if (this.options.listeners && this.options.listeners.errline) {\n this.options.listeners.errline(line);\n }\n });\n });\n }\n cp.on('error', (err) => {\n state.processError = err.message;\n state.processExited = true;\n state.processClosed = true;\n state.CheckComplete();\n });\n cp.on('exit', (code) => {\n state.processExitCode = code;\n state.processExited = true;\n this._debug(`Exit code ${code} received from tool '${this.toolPath}'`);\n state.CheckComplete();\n });\n cp.on('close', (code) => {\n state.processExitCode = code;\n state.processExited = true;\n state.processClosed = true;\n this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);\n state.CheckComplete();\n });\n state.on('done', (error, exitCode) => {\n if (stdbuffer.length > 0) {\n this.emit('stdline', stdbuffer);\n }\n if (errbuffer.length > 0) {\n this.emit('errline', errbuffer);\n }\n cp.removeAllListeners();\n if (error) {\n reject(error);\n }\n else {\n resolve(exitCode);\n }\n });\n if (this.options.input) {\n if (!cp.stdin) {\n throw new Error('child process missing stdin');\n }\n cp.stdin.end(this.options.input);\n }\n }));\n });\n }\n}\n/**\n * Convert an arg string to an array of args. Handles escaping\n *\n * @param argString string of arguments\n * @returns string[] array of arguments\n */\nexport function argStringToArray(argString) {\n const args = [];\n let inQuotes = false;\n let escaped = false;\n let arg = '';\n function append(c) {\n // we only escape double quotes.\n if (escaped && c !== '\"') {\n arg += '\\\\';\n }\n arg += c;\n escaped = false;\n }\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i);\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes;\n }\n else {\n append(c);\n }\n continue;\n }\n if (c === '\\\\' && escaped) {\n append(c);\n continue;\n }\n if (c === '\\\\' && inQuotes) {\n escaped = true;\n continue;\n }\n if (c === ' ' && !inQuotes) {\n if (arg.length > 0) {\n args.push(arg);\n arg = '';\n }\n continue;\n }\n append(c);\n }\n if (arg.length > 0) {\n args.push(arg.trim());\n }\n return args;\n}\nclass ExecState extends events.EventEmitter {\n constructor(options, toolPath) {\n super();\n this.processClosed = false; // tracks whether the process has exited and stdio is closed\n this.processError = '';\n this.processExitCode = 0;\n this.processExited = false; // tracks whether the process has exited\n this.processStderr = false; // tracks whether stderr was written to\n this.delay = 10000; // 10 seconds\n this.done = false;\n this.timeout = null;\n if (!toolPath) {\n throw new Error('toolPath must not be empty');\n }\n this.options = options;\n this.toolPath = toolPath;\n if (options.delay) {\n this.delay = options.delay;\n }\n }\n CheckComplete() {\n if (this.done) {\n return;\n }\n if (this.processClosed) {\n this._setResult();\n }\n else if (this.processExited) {\n this.timeout = setTimeout(ExecState.HandleTimeout, this.delay, this);\n }\n }\n _debug(message) {\n this.emit('debug', message);\n }\n _setResult() {\n // determine whether there is an error\n let error;\n if (this.processExited) {\n if (this.processError) {\n error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`);\n }\n else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) {\n error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`);\n }\n else if (this.processStderr && this.options.failOnStdErr) {\n error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`);\n }\n }\n // clear the timeout\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n this.done = true;\n this.emit('done', error, this.processExitCode);\n }\n static HandleTimeout(state) {\n if (state.done) {\n return;\n }\n if (!state.processClosed && state.processExited) {\n const message = `The STDIO streams did not close within ${state.delay / 1000} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;\n state._debug(message);\n }\n state._setResult();\n }\n}\n//# sourceMappingURL=toolrunner.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { StringDecoder } from 'string_decoder';\nimport * as tr from './toolrunner.js';\n/**\n * Exec a command.\n * Output will be streamed to the live console.\n * Returns promise with return code\n *\n * @param commandLine command to execute (can include additional args). Must be correctly escaped.\n * @param args optional arguments for tool. Escaping is handled by the lib.\n * @param options optional exec options. See ExecOptions\n * @returns Promise exit code\n */\nexport function exec(commandLine, args, options) {\n return __awaiter(this, void 0, void 0, function* () {\n const commandArgs = tr.argStringToArray(commandLine);\n if (commandArgs.length === 0) {\n throw new Error(`Parameter 'commandLine' cannot be null or empty.`);\n }\n // Path to tool to execute should be first arg\n const toolPath = commandArgs[0];\n args = commandArgs.slice(1).concat(args || []);\n const runner = new tr.ToolRunner(toolPath, args, options);\n return runner.exec();\n });\n}\n/**\n * Exec a command and get the output.\n * Output will be streamed to the live console.\n * Returns promise with the exit code and collected stdout and stderr\n *\n * @param commandLine command to execute (can include additional args). Must be correctly escaped.\n * @param args optional arguments for tool. Escaping is handled by the lib.\n * @param options optional exec options. See ExecOptions\n * @returns Promise exit code, stdout, and stderr\n */\nexport function getExecOutput(commandLine, args, options) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n let stdout = '';\n let stderr = '';\n //Using string decoder covers the case where a mult-byte character is split\n const stdoutDecoder = new StringDecoder('utf8');\n const stderrDecoder = new StringDecoder('utf8');\n const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout;\n const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr;\n const stdErrListener = (data) => {\n stderr += stderrDecoder.write(data);\n if (originalStdErrListener) {\n originalStdErrListener(data);\n }\n };\n const stdOutListener = (data) => {\n stdout += stdoutDecoder.write(data);\n if (originalStdoutListener) {\n originalStdoutListener(data);\n }\n };\n const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener });\n const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners }));\n //flush any remaining characters\n stdout += stdoutDecoder.end();\n stderr += stderrDecoder.end();\n return {\n exitCode,\n stdout,\n stderr\n };\n });\n}\n//# sourceMappingURL=exec.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport os from 'os';\nimport * as exec from '@actions/exec';\nconst getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n const { stdout: version } = yield exec.getExecOutput('powershell -command \"(Get-CimInstance -ClassName Win32_OperatingSystem).Version\"', undefined, {\n silent: true\n });\n const { stdout: name } = yield exec.getExecOutput('powershell -command \"(Get-CimInstance -ClassName Win32_OperatingSystem).Caption\"', undefined, {\n silent: true\n });\n return {\n name: name.trim(),\n version: version.trim()\n };\n});\nconst getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b, _c, _d;\n const { stdout } = yield exec.getExecOutput('sw_vers', undefined, {\n silent: true\n });\n const version = (_b = (_a = stdout.match(/ProductVersion:\\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : '';\n const name = (_d = (_c = stdout.match(/ProductName:\\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : '';\n return {\n name,\n version\n };\n});\nconst getLinuxInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n const { stdout } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], {\n silent: true\n });\n const [name, version] = stdout.trim().split('\\n');\n return {\n name,\n version\n };\n});\nexport const platform = os.platform();\nexport const arch = os.arch();\nexport const isWindows = platform === 'win32';\nexport const isMacOS = platform === 'darwin';\nexport const isLinux = platform === 'linux';\nexport function getDetails() {\n return __awaiter(this, void 0, void 0, function* () {\n return Object.assign(Object.assign({}, (yield (isWindows\n ? getWindowsInfo()\n : isMacOS\n ? getMacOsInfo()\n : getLinuxInfo()))), { platform,\n arch,\n isWindows,\n isMacOS,\n isLinux });\n });\n}\n//# sourceMappingURL=platform.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { issue, issueCommand } from './command.js';\nimport { issueFileCommand, prepareKeyValueMessage } from './file-command.js';\nimport { toCommandProperties, toCommandValue } from './utils.js';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { OidcClient } from './oidc-utils.js';\n/**\n * The code to exit an action\n */\nexport var ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode || (ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function exportVariable(name, val) {\n const convertedVal = toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, val));\n }\n issueCommand('set-env', { name }, convertedVal);\n}\n/**\n * Registers a secret which will get masked from logs\n *\n * @param secret - Value of the secret to be masked\n * @remarks\n * This function instructs the Actions runner to mask the specified value in any\n * logs produced during the workflow run. Once registered, the secret value will\n * be replaced with asterisks (***) whenever it appears in console output, logs,\n * or error messages.\n *\n * This is useful for protecting sensitive information such as:\n * - API keys\n * - Access tokens\n * - Authentication credentials\n * - URL parameters containing signatures (SAS tokens)\n *\n * Note that masking only affects future logs; any previous appearances of the\n * secret in logs before calling this function will remain unmasked.\n *\n * @example\n * ```typescript\n * // Register an API token as a secret\n * const apiToken = \"abc123xyz456\";\n * setSecret(apiToken);\n *\n * // Now any logs containing this value will show *** instead\n * console.log(`Using token: ${apiToken}`); // Outputs: \"Using token: ***\"\n * ```\n */\nexport function setSecret(secret) {\n issueCommand('add-mask', {}, secret);\n}\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nexport function addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n issueFileCommand('PATH', inputPath);\n }\n else {\n issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nexport function getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nexport function getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nexport function getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n issueCommand('set-output', { name }, toCommandValue(value));\n}\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nexport function setCommandEcho(enabled) {\n issue('echo', enabled ? 'on' : 'off');\n}\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nexport function setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nexport function isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nexport function debug(message) {\n issueCommand('debug', {}, message);\n}\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nexport function error(message, properties = {}) {\n issueCommand('error', toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nexport function warning(message, properties = {}) {\n issueCommand('warning', toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nexport function notice(message, properties = {}) {\n issueCommand('notice', toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nexport function info(message) {\n process.stdout.write(message + os.EOL);\n}\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nexport function startGroup(name) {\n issue('group', name);\n}\n/**\n * End an output group.\n */\nexport function endGroup() {\n issue('endgroup');\n}\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nexport function group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return issueFileCommand('STATE', prepareKeyValueMessage(name, value));\n }\n issueCommand('save-state', { name }, toCommandValue(value));\n}\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nexport function getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexport function getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield OidcClient.getIDToken(aud);\n });\n}\n/**\n * Summary exports\n */\nexport { summary } from './summary.js';\n/**\n * @deprecated use core.summary\n */\nexport { markdownSummary } from './summary.js';\n/**\n * Path exports\n */\nexport { toPosixPath, toWin32Path, toPlatformPath } from './path-utils.js';\n/**\n * Platform utilities exports\n */\nexport * as platform from './platform.js';\n//# sourceMappingURL=core.js.map","let A;const I=new Array(128).fill(void 0);function g(A){return I[A]}I.push(void 0,null,!0,!1);let C=I.length;function Q(A){C===I.length&&I.push(I.length+1);const g=C;return C=I[g],I[g]=A,g}function B(I,g){try{return I.apply(this,g)}catch(I){A.__wbindgen_export_0(Q(I))}}const E=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(\"TextDecoder not available\")}};\"undefined\"!=typeof TextDecoder&&E.decode();let i=null;function D(I,g){return I>>>=0,E.decode((null!==i&&0!==i.byteLength||(i=new Uint8Array(A.memory.buffer)),i).subarray(I,I+g))}function o(A){return null==A}let w=null;function G(){return(null===w||!0===w.buffer.detached||void 0===w.buffer.detached&&w.buffer!==A.memory.buffer)&&(w=new DataView(A.memory.buffer)),w}function K(A){const Q=g(A);return function(A){A<132||(I[A]=C,C=A)}(A),Q}function h(A,I){if(!(A instanceof I))throw new Error(`expected instance of ${I.name}`)}let N=128;function S(A){if(1==N)throw new Error(\"out of js stack\");return I[--N]=A,N}let k=null;function y(I,g){return I>>>=0,(null!==k&&0!==k.byteLength||(k=new Int32Array(A.memory.buffer)),k).subarray(I/4,I/4+g)}let s=null;function F(){return null!==s&&0!==s.byteLength||(s=new Float32Array(A.memory.buffer)),s}function a(A,I){return A>>>=0,F().subarray(A/4,A/4+I)}let M=null;function J(){return null!==M&&0!==M.byteLength||(M=new Uint32Array(A.memory.buffer)),M}let U=0;function R(A,I){const g=I(4*A.length,4)>>>0;return J().set(A,g/4),U=A.length,g}function c(A,I){const g=I(4*A.length,4)>>>0;return F().set(A,g/4),U=A.length,g}Object.freeze({Vertex:0,0:\"Vertex\",Face:1,1:\"Face\",Unknown:2,2:\"Unknown\"});const Y=Object.freeze({LinX:0,0:\"LinX\",LinY:1,1:\"LinY\",AngX:2,2:\"AngX\"}),L=Object.freeze({Revolute:0,0:\"Revolute\",Fixed:1,1:\"Fixed\",Prismatic:2,2:\"Prismatic\",Rope:3,3:\"Rope\",Spring:4,4:\"Spring\",Generic:5,5:\"Generic\"});Object.freeze({AccelerationBased:0,0:\"AccelerationBased\",ForceBased:1,1:\"ForceBased\"}),Object.freeze({Dynamic:0,0:\"Dynamic\",Fixed:1,1:\"Fixed\",KinematicPositionBased:2,2:\"KinematicPositionBased\",KinematicVelocityBased:3,3:\"KinematicVelocityBased\"});const q=Object.freeze({Ball:0,0:\"Ball\",Cuboid:1,1:\"Cuboid\",Capsule:2,2:\"Capsule\",Segment:3,3:\"Segment\",Polyline:4,4:\"Polyline\",Triangle:5,5:\"Triangle\",TriMesh:6,6:\"TriMesh\",HeightField:7,7:\"HeightField\",Compound:8,8:\"Compound\",ConvexPolygon:9,9:\"ConvexPolygon\",RoundCuboid:10,10:\"RoundCuboid\",RoundTriangle:11,11:\"RoundTriangle\",RoundConvexPolygon:12,12:\"RoundConvexPolygon\",HalfSpace:13,13:\"HalfSpace\",Voxels:14,14:\"Voxels\"}),t=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawbroadphase_free(I>>>0,1)));class H{static __wrap(A){A>>>=0;const I=Object.create(H.prototype);return I.__wbg_ptr=A,t.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,t.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawbroadphase_free(I,0)}constructor(){const I=A.rawbroadphase_new();return this.__wbg_ptr=I>>>0,t.register(this,this.__wbg_ptr,this),this}castRay(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA);const s=A.rawbroadphase_castRay(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));return 0===s?void 0:aA.__wrap(s)}finally{I[N++]=void 0}}castRayAndGetNormal(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA);const s=A.rawbroadphase_castRayAndGetNormal(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));return 0===s?void 0:JA.__wrap(s)}finally{I[N++]=void 0}}intersectionsWithRay(g,C,Q,B,E,i,D,w,G,K,k,y,s){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA),A.rawbroadphase_intersectionsWithRay(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,S(w),G,o(K)?4294967297:K>>>0,!o(k),o(k)?0:k,!o(y),o(y)?0:y,S(s))}finally{I[N++]=void 0,I[N++]=void 0}}intersectionWithShape(g,C,Q,B,E,i,D,w,K,k,y){try{const a=A.__wbindgen_add_to_stack_pointer(-16);h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,lA),A.rawbroadphase_intersectionWithShape(a,this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D,o(w)?4294967297:w>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));var s=G().getInt32(a+0,!0),F=G().getFloat64(a+8,!0);return 0===s?void 0:F}finally{A.__wbindgen_add_to_stack_pointer(16),I[N++]=void 0}}projectPoint(g,C,Q,B,E,i,D,w,G,K){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA);const k=A.rawbroadphase_projectPoint(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E,i,o(D)?4294967297:D>>>0,!o(w),o(w)?0:w,!o(G),o(G)?0:G,S(K));return 0===k?void 0:kA.__wrap(k)}finally{I[N++]=void 0}}projectPointAndGetFeature(g,C,Q,B,E,i,D,w,G){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA);const K=A.rawbroadphase_projectPointAndGetFeature(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E,o(i)?4294967297:i>>>0,!o(D),o(D)?0:D,!o(w),o(w)?0:w,S(G));return 0===K?void 0:kA.__wrap(K)}finally{I[N++]=void 0}}intersectionsWithPoint(g,C,Q,B,E,i,D,w,G,K){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),A.rawbroadphase_intersectionsWithPoint(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,S(E),i,o(D)?4294967297:D>>>0,!o(w),o(w)?0:w,!o(G),o(G)?0:G,S(K))}finally{I[N++]=void 0,I[N++]=void 0}}castShape(g,C,Q,B,E,i,D,w,G,K,k,y,s,F,a){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,fA),h(D,lA);const M=A.rawbroadphase_castShape(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,w,G,K,k,o(y)?4294967297:y>>>0,!o(s),o(s)?0:s,!o(F),o(F)?0:F,S(a));return 0===M?void 0:f.__wrap(M)}finally{I[N++]=void 0}}intersectionsWithShape(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,lA),A.rawbroadphase_intersectionsWithShape(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,S(D),w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y))}finally{I[N++]=void 0,I[N++]=void 0}}collidersWithAabbIntersectingAabb(g,C,Q,B,E,i){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA),A.rawbroadphase_collidersWithAabbIntersectingAabb(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,S(i))}finally{I[N++]=void 0}}}const r=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawccdsolver_free(I>>>0,1)));class l{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,r.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawccdsolver_free(I,0)}constructor(){const I=A.rawccdsolver_new();return this.__wbg_ptr=I>>>0,r.register(this,this.__wbg_ptr,this),this}}const e=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcharactercollision_free(I>>>0,1)));class p{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,e.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcharactercollision_free(I,0)}constructor(){const I=A.rawcharactercollision_new();return this.__wbg_ptr=I>>>0,e.register(this,this.__wbg_ptr,this),this}handle(){return A.rawcharactercollision_handle(this.__wbg_ptr)}translationDeltaApplied(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}translationDeltaRemaining(){const I=A.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return fA.__wrap(I)}toi(){return A.rawcharactercollision_toi(this.__wbg_ptr)}worldWitness1(){const I=A.rawcharactercollision_worldWitness1(this.__wbg_ptr);return fA.__wrap(I)}worldWitness2(){const I=A.rawcharactercollision_worldWitness2(this.__wbg_ptr);return fA.__wrap(I)}worldNormal1(){const I=A.rawcharactercollision_worldNormal1(this.__wbg_ptr);return fA.__wrap(I)}worldNormal2(){const I=A.rawcharactercollision_worldNormal2(this.__wbg_ptr);return fA.__wrap(I)}}const n=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcolliderset_free(I>>>0,1)));class d{static __wrap(A){A>>>=0;const I=Object.create(d.prototype);return I.__wbg_ptr=A,n.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcolliderset_free(I,0)}coTranslation(I){const g=A.rawcolliderset_coTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}coRotation(I){const g=A.rawcolliderset_coRotation(this.__wbg_ptr,I);return qA.__wrap(g)}coTranslationWrtParent(I){const g=A.rawcolliderset_coTranslationWrtParent(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coRotationWrtParent(I){const g=A.rawcolliderset_coRotationWrtParent(this.__wbg_ptr,I);return 0===g?void 0:qA.__wrap(g)}coSetTranslation(I,g,C){A.rawcolliderset_coSetTranslation(this.__wbg_ptr,I,g,C)}coSetTranslationWrtParent(I,g,C){A.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr,I,g,C)}coSetRotation(I,g){A.rawcolliderset_coSetRotation(this.__wbg_ptr,I,g)}coSetRotationWrtParent(I,g){A.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr,I,g)}coIsSensor(I){return 0!==A.rawcolliderset_coIsSensor(this.__wbg_ptr,I)}coShapeType(I){return A.rawcolliderset_coShapeType(this.__wbg_ptr,I)}coHalfspaceNormal(I){const g=A.rawcolliderset_coHalfspaceNormal(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coHalfExtents(I){const g=A.rawcolliderset_coHalfExtents(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coSetHalfExtents(I,g){h(g,fA),A.rawcolliderset_coSetHalfExtents(this.__wbg_ptr,I,g.__wbg_ptr)}coRadius(I){const g=A.rawcolliderset_coRadius(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetRadius(I,g){A.rawcolliderset_coSetRadius(this.__wbg_ptr,I,g)}coHalfHeight(I){const g=A.rawcolliderset_coHalfHeight(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetHalfHeight(I,g){A.rawcolliderset_coSetHalfHeight(this.__wbg_ptr,I,g)}coRoundRadius(I){const g=A.rawcolliderset_coRoundRadius(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetRoundRadius(I,g){A.rawcolliderset_coSetRoundRadius(this.__wbg_ptr,I,g)}coVoxelData(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coVoxelData(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=y(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coVoxelSize(I){const g=A.rawcolliderset_coVoxelSize(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coSetVoxel(I,g,C,Q){A.rawcolliderset_coSetVoxel(this.__wbg_ptr,I,g,C,Q)}coPropagateVoxelChange(I,g,C,Q,B,E){A.rawcolliderset_coPropagateVoxelChange(this.__wbg_ptr,I,g,C,Q,B,E)}coCombineVoxelStates(I,g,C,Q){A.rawcolliderset_coCombineVoxelStates(this.__wbg_ptr,I,g,C,Q)}coVertices(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coVertices(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=a(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coIndices(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coIndices(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=function(A,I){return A>>>=0,J().subarray(A/4,A/4+I)}(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coTriMeshFlags(I){const g=A.rawcolliderset_coTriMeshFlags(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coHeightfieldHeights(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coHeightfieldHeights(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=a(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldScale(I){const g=A.rawcolliderset_coHeightfieldScale(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coParent(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coParent(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getFloat64(Q+8,!0);return 0===g?void 0:C}finally{A.__wbindgen_add_to_stack_pointer(16)}}coSetEnabled(I,g){A.rawcolliderset_coSetEnabled(this.__wbg_ptr,I,g)}coIsEnabled(I){return 0!==A.rawcolliderset_coIsEnabled(this.__wbg_ptr,I)}coSetContactSkin(I,g){A.rawcolliderset_coSetContactSkin(this.__wbg_ptr,I,g)}coContactSkin(I){return A.rawcolliderset_coContactSkin(this.__wbg_ptr,I)}coFriction(I){return A.rawcolliderset_coFriction(this.__wbg_ptr,I)}coRestitution(I){return A.rawcolliderset_coRestitution(this.__wbg_ptr,I)}coDensity(I){return A.rawcolliderset_coDensity(this.__wbg_ptr,I)}coMass(I){return A.rawcolliderset_coMass(this.__wbg_ptr,I)}coVolume(I){return A.rawcolliderset_coVolume(this.__wbg_ptr,I)}coCollisionGroups(I){return A.rawcolliderset_coCollisionGroups(this.__wbg_ptr,I)>>>0}coSolverGroups(I){return A.rawcolliderset_coSolverGroups(this.__wbg_ptr,I)>>>0}coActiveHooks(I){return A.rawcolliderset_coActiveHooks(this.__wbg_ptr,I)>>>0}coActiveCollisionTypes(I){return A.rawcolliderset_coActiveCollisionTypes(this.__wbg_ptr,I)}coActiveEvents(I){return A.rawcolliderset_coActiveEvents(this.__wbg_ptr,I)>>>0}coContactForceEventThreshold(I){return A.rawcolliderset_coContactForceEventThreshold(this.__wbg_ptr,I)}coContainsPoint(I,g){h(g,fA);return 0!==A.rawcolliderset_coContainsPoint(this.__wbg_ptr,I,g.__wbg_ptr)}coCastShape(I,g,C,Q,B,E,i,D,o){h(g,fA),h(C,lA),h(Q,fA),h(B,qA),h(E,fA);const w=A.rawcolliderset_coCastShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,o);return 0===w?void 0:pA.__wrap(w)}coCastCollider(I,g,C,Q,B,E,i){h(g,fA),h(Q,fA);const D=A.rawcolliderset_coCastCollider(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B,E,i);return 0===D?void 0:f.__wrap(D)}coIntersectsShape(I,g,C,Q){h(g,lA),h(C,fA),h(Q,qA);return 0!==A.rawcolliderset_coIntersectsShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr)}coContactShape(I,g,C,Q,B){h(g,lA),h(C,fA),h(Q,qA);const E=A.rawcolliderset_coContactShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B);return 0===E?void 0:dA.__wrap(E)}coContactCollider(I,g,C){const Q=A.rawcolliderset_coContactCollider(this.__wbg_ptr,I,g,C);return 0===Q?void 0:dA.__wrap(Q)}coProjectPoint(I,g,C){h(g,fA);const Q=A.rawcolliderset_coProjectPoint(this.__wbg_ptr,I,g.__wbg_ptr,C);return sA.__wrap(Q)}coIntersectsRay(I,g,C,Q){h(g,fA),h(C,fA);return 0!==A.rawcolliderset_coIntersectsRay(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}coCastRay(I,g,C,Q,B){h(g,fA),h(C,fA);return A.rawcolliderset_coCastRay(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B)}coCastRayAndGetNormal(I,g,C,Q,B){h(g,fA),h(C,fA);const E=A.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B);return 0===E?void 0:RA.__wrap(E)}coSetSensor(I,g){A.rawcolliderset_coSetSensor(this.__wbg_ptr,I,g)}coSetRestitution(I,g){A.rawcolliderset_coSetRestitution(this.__wbg_ptr,I,g)}coSetFriction(I,g){A.rawcolliderset_coSetFriction(this.__wbg_ptr,I,g)}coFrictionCombineRule(I){return A.rawcolliderset_coFrictionCombineRule(this.__wbg_ptr,I)>>>0}coSetFrictionCombineRule(I,g){A.rawcolliderset_coSetFrictionCombineRule(this.__wbg_ptr,I,g)}coRestitutionCombineRule(I){return A.rawcolliderset_coRestitutionCombineRule(this.__wbg_ptr,I)>>>0}coSetRestitutionCombineRule(I,g){A.rawcolliderset_coSetRestitutionCombineRule(this.__wbg_ptr,I,g)}coSetCollisionGroups(I,g){A.rawcolliderset_coSetCollisionGroups(this.__wbg_ptr,I,g)}coSetSolverGroups(I,g){A.rawcolliderset_coSetSolverGroups(this.__wbg_ptr,I,g)}coSetActiveHooks(I,g){A.rawcolliderset_coSetActiveHooks(this.__wbg_ptr,I,g)}coSetActiveEvents(I,g){A.rawcolliderset_coSetActiveEvents(this.__wbg_ptr,I,g)}coSetActiveCollisionTypes(I,g){A.rawcolliderset_coSetActiveCollisionTypes(this.__wbg_ptr,I,g)}coSetShape(I,g){h(g,lA),A.rawcolliderset_coSetShape(this.__wbg_ptr,I,g.__wbg_ptr)}coSetContactForceEventThreshold(I,g){A.rawcolliderset_coSetContactForceEventThreshold(this.__wbg_ptr,I,g)}coSetDensity(I,g){A.rawcolliderset_coSetDensity(this.__wbg_ptr,I,g)}coSetMass(I,g){A.rawcolliderset_coSetMass(this.__wbg_ptr,I,g)}coSetMassProperties(I,g,C,Q){h(C,fA),A.rawcolliderset_coSetMassProperties(this.__wbg_ptr,I,g,C.__wbg_ptr,Q)}constructor(){const I=A.rawcolliderset_new();return this.__wbg_ptr=I>>>0,n.register(this,this.__wbg_ptr,this),this}len(){return A.rawcolliderset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawcolliderset_contains(this.__wbg_ptr,I)}createCollider(I,g,C,Q,B,E,i,D,o,w,K,N,S,k,y,s,F,a,M,J,U,R,c,Y){try{const t=A.__wbindgen_add_to_stack_pointer(-16);h(g,lA),h(C,fA),h(Q,qA),h(i,fA),h(Y,YA),A.rawcolliderset_createCollider(t,this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E,i.__wbg_ptr,D,o,w,K,N,S,k,y,s,F,a,M,J,U,R,c,Y.__wbg_ptr);var L=G().getInt32(t+0,!0),q=G().getFloat64(t+8,!0);return 0===L?void 0:q}finally{A.__wbindgen_add_to_stack_pointer(16)}}remove(I,g,C,Q){h(g,QA),h(C,YA),A.rawcolliderset_remove(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}isHandleValid(I){return 0!==A.rawcolliderset_contains(this.__wbg_ptr,I)}forEachColliderHandle(g){try{A.rawcolliderset_forEachColliderHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}}const b=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcollidershapecasthit_free(I>>>0,1)));class f{static __wrap(A){A>>>=0;const I=Object.create(f.prototype);return I.__wbg_ptr=A,b.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,b.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcollidershapecasthit_free(I,0)}colliderHandle(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}witness1(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}witness2(){const I=A.rawcollidershapecasthit_witness2(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcollidershapecasthit_normal1(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcollidershapecasthit_normal2(this.__wbg_ptr);return fA.__wrap(I)}}const T=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactforceevent_free(I>>>0,1)));class Z{static __wrap(A){A>>>=0;const I=Object.create(Z.prototype);return I.__wbg_ptr=A,T.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactforceevent_free(I,0)}collider1(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}collider2(){return A.rawcontactforceevent_collider2(this.__wbg_ptr)}total_force(){const I=A.rawcontactforceevent_total_force(this.__wbg_ptr);return fA.__wrap(I)}total_force_magnitude(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}max_force_direction(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}max_force_magnitude(){return A.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}}const O=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactmanifold_free(I>>>0,1)));class W{static __wrap(A){A>>>=0;const I=Object.create(W.prototype);return I.__wbg_ptr=A,O.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,O.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactmanifold_free(I,0)}normal(){const I=A.rawcontactmanifold_normal(this.__wbg_ptr);return fA.__wrap(I)}local_n1(){const I=A.rawcontactmanifold_local_n1(this.__wbg_ptr);return fA.__wrap(I)}local_n2(){const I=A.rawcontactmanifold_local_n2(this.__wbg_ptr);return fA.__wrap(I)}subshape1(){return A.rawcontactmanifold_subshape1(this.__wbg_ptr)>>>0}subshape2(){return A.rawcontactmanifold_subshape2(this.__wbg_ptr)>>>0}num_contacts(){return A.rawcontactmanifold_num_contacts(this.__wbg_ptr)>>>0}contact_local_p1(I){const g=A.rawcontactmanifold_contact_local_p1(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}contact_local_p2(I){const g=A.rawcontactmanifold_contact_local_p2(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}contact_dist(I){return A.rawcontactmanifold_contact_dist(this.__wbg_ptr,I)}contact_fid1(I){return A.rawcontactmanifold_contact_fid1(this.__wbg_ptr,I)>>>0}contact_fid2(I){return A.rawcontactmanifold_contact_fid2(this.__wbg_ptr,I)>>>0}contact_impulse(I){return A.rawcontactmanifold_contact_impulse(this.__wbg_ptr,I)}contact_tangent_impulse(I){return A.rawcontactmanifold_contact_tangent_impulse(this.__wbg_ptr,I)}num_solver_contacts(){return A.rawcontactmanifold_num_solver_contacts(this.__wbg_ptr)>>>0}solver_contact_point(I){const g=A.rawcontactmanifold_solver_contact_point(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}solver_contact_dist(I){return A.rawcontactmanifold_solver_contact_dist(this.__wbg_ptr,I)}solver_contact_friction(I){return A.rawcontactmanifold_solver_contact_friction(this.__wbg_ptr,I)}solver_contact_restitution(I){return A.rawcontactmanifold_solver_contact_restitution(this.__wbg_ptr,I)}solver_contact_tangent_velocity(I){const g=A.rawcontactmanifold_solver_contact_tangent_velocity(this.__wbg_ptr,I);return fA.__wrap(g)}}const j=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactpair_free(I>>>0,1)));class x{static __wrap(A){A>>>=0;const I=Object.create(x.prototype);return I.__wbg_ptr=A,j.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,j.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactpair_free(I,0)}collider1(){return A.rawcontactpair_collider1(this.__wbg_ptr)}collider2(){return A.rawcontactpair_collider2(this.__wbg_ptr)}numContactManifolds(){return A.rawcontactpair_numContactManifolds(this.__wbg_ptr)>>>0}contactManifold(I){const g=A.rawcontactpair_contactManifold(this.__wbg_ptr,I);return 0===g?void 0:W.__wrap(g)}}const X=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawdebugrenderpipeline_free(I>>>0,1)));class m{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,X.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawdebugrenderpipeline_free(I,0)}constructor(){const I=A.rawdebugrenderpipeline_new();return this.__wbg_ptr=I>>>0,X.register(this,this.__wbg_ptr,this),this}vertices(){return K(A.rawdebugrenderpipeline_vertices(this.__wbg_ptr))}colors(){return K(A.rawdebugrenderpipeline_colors(this.__wbg_ptr))}render(g,C,Q,B,E,i,D){try{h(g,YA),h(C,d),h(Q,AA),h(B,DA),h(E,wA),A.rawdebugrenderpipeline_render(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,S(D))}finally{I[N++]=void 0}}}const v=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawdeserializedworld_free(I>>>0,1)));class V{static __wrap(A){A>>>=0;const I=Object.create(V.prototype);return I.__wbg_ptr=A,v.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,v.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawdeserializedworld_free(I,0)}takeGravity(){const I=A.rawdeserializedworld_takeGravity(this.__wbg_ptr);return 0===I?void 0:fA.__wrap(I)}takeIntegrationParameters(){const I=A.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr);return 0===I?void 0:gA.__wrap(I)}takeIslandManager(){const I=A.rawdeserializedworld_takeIslandManager(this.__wbg_ptr);return 0===I?void 0:QA.__wrap(I)}takeBroadPhase(){const I=A.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr);return 0===I?void 0:H.__wrap(I)}takeNarrowPhase(){const I=A.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr);return 0===I?void 0:wA.__wrap(I)}takeBodies(){const I=A.rawdeserializedworld_takeBodies(this.__wbg_ptr);return 0===I?void 0:YA.__wrap(I)}takeColliders(){const I=A.rawdeserializedworld_takeColliders(this.__wbg_ptr);return 0===I?void 0:d.__wrap(I)}takeImpulseJoints(){const I=A.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr);return 0===I?void 0:AA.__wrap(I)}takeMultibodyJoints(){const I=A.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr);return 0===I?void 0:DA.__wrap(I)}}const P=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_raweventqueue_free(I>>>0,1)));class u{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,P.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_raweventqueue_free(I,0)}constructor(I){const g=A.raweventqueue_new(I);return this.__wbg_ptr=g>>>0,P.register(this,this.__wbg_ptr,this),this}drainCollisionEvents(g){try{A.raweventqueue_drainCollisionEvents(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}drainContactForceEvents(g){try{A.raweventqueue_drainContactForceEvents(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}clear(){A.raweventqueue_clear(this.__wbg_ptr)}}const z=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawgenericjoint_free(I>>>0,1)));class _{static __wrap(A){A>>>=0;const I=Object.create(_.prototype);return I.__wbg_ptr=A,z.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,z.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawgenericjoint_free(I,0)}static spring(I,g,C,Q,B){h(Q,fA),h(B,fA);const E=A.rawgenericjoint_spring(I,g,C,Q.__wbg_ptr,B.__wbg_ptr);return _.__wrap(E)}static rope(I,g,C){h(g,fA),h(C,fA);const Q=A.rawgenericjoint_rope(I,g.__wbg_ptr,C.__wbg_ptr);return _.__wrap(Q)}static prismatic(I,g,C,Q,B,E){h(I,fA),h(g,fA),h(C,fA);const i=A.rawgenericjoint_prismatic(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q,B,E);return 0===i?void 0:_.__wrap(i)}static fixed(I,g,C,Q){h(I,fA),h(g,qA),h(C,fA),h(Q,qA);const B=A.rawgenericjoint_fixed(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr);return _.__wrap(B)}static revolute(I,g){h(I,fA),h(g,fA);const C=A.rawgenericjoint_revolute(I.__wbg_ptr,g.__wbg_ptr);return 0===C?void 0:_.__wrap(C)}}const $=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawimpulsejointset_free(I>>>0,1)));class AA{static __wrap(A){A>>>=0;const I=Object.create(AA.prototype);return I.__wbg_ptr=A,$.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,$.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawimpulsejointset_free(I,0)}jointType(I){return A.rawimpulsejointset_jointType(this.__wbg_ptr,I)}jointBodyHandle1(I){return A.rawimpulsejointset_jointBodyHandle1(this.__wbg_ptr,I)}jointBodyHandle2(I){return A.rawimpulsejointset_jointBodyHandle2(this.__wbg_ptr,I)}jointFrameX1(I){const g=A.rawimpulsejointset_jointFrameX1(this.__wbg_ptr,I);return qA.__wrap(g)}jointFrameX2(I){const g=A.rawimpulsejointset_jointFrameX2(this.__wbg_ptr,I);return qA.__wrap(g)}jointAnchor1(I){const g=A.rawimpulsejointset_jointAnchor1(this.__wbg_ptr,I);return fA.__wrap(g)}jointAnchor2(I){const g=A.rawimpulsejointset_jointAnchor2(this.__wbg_ptr,I);return fA.__wrap(g)}jointSetAnchor1(I,g){h(g,fA),A.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr,I,g.__wbg_ptr)}jointSetAnchor2(I,g){h(g,fA),A.rawimpulsejointset_jointSetAnchor2(this.__wbg_ptr,I,g.__wbg_ptr)}jointContactsEnabled(I){return 0!==A.rawimpulsejointset_jointContactsEnabled(this.__wbg_ptr,I)}jointSetContactsEnabled(I,g){A.rawimpulsejointset_jointSetContactsEnabled(this.__wbg_ptr,I,g)}jointLimitsEnabled(I,g){return 0!==A.rawimpulsejointset_jointLimitsEnabled(this.__wbg_ptr,I,g)}jointLimitsMin(I,g){return A.rawimpulsejointset_jointLimitsMin(this.__wbg_ptr,I,g)}jointLimitsMax(I,g){return A.rawimpulsejointset_jointLimitsMax(this.__wbg_ptr,I,g)}jointSetLimits(I,g,C,Q){A.rawimpulsejointset_jointSetLimits(this.__wbg_ptr,I,g,C,Q)}jointConfigureMotorModel(I,g,C){A.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr,I,g,C)}jointConfigureMotorVelocity(I,g,C,Q){A.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr,I,g,C,Q)}jointConfigureMotorPosition(I,g,C,Q,B){A.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr,I,g,C,Q,B)}jointConfigureMotor(I,g,C,Q,B,E){A.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr,I,g,C,Q,B,E)}constructor(){const I=A.rawimpulsejointset_new();return this.__wbg_ptr=I>>>0,$.register(this,this.__wbg_ptr,this),this}createJoint(I,g,C,Q){h(I,_);return A.rawimpulsejointset_createJoint(this.__wbg_ptr,I.__wbg_ptr,g,C,Q)}remove(I,g){A.rawimpulsejointset_remove(this.__wbg_ptr,I,g)}len(){return A.rawimpulsejointset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawimpulsejointset_contains(this.__wbg_ptr,I)}forEachJointHandle(g){try{A.rawimpulsejointset_forEachJointHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}forEachJointAttachedToRigidBody(g,C){try{A.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,g,S(C))}finally{I[N++]=void 0}}}const IA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawintegrationparameters_free(I>>>0,1)));class gA{static __wrap(A){A>>>=0;const I=Object.create(gA.prototype);return I.__wbg_ptr=A,IA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,IA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawintegrationparameters_free(I,0)}constructor(){const I=A.rawintegrationparameters_new();return this.__wbg_ptr=I>>>0,IA.register(this,this.__wbg_ptr,this),this}get dt(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}get contact_erp(){return A.rawintegrationparameters_contact_erp(this.__wbg_ptr)}get normalizedAllowedLinearError(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}get normalizedPredictionDistance(){return A.rawcharactercollision_toi(this.__wbg_ptr)}get numSolverIterations(){return A.rawintegrationparameters_numSolverIterations(this.__wbg_ptr)>>>0}get numInternalPgsIterations(){return A.rawintegrationparameters_numInternalPgsIterations(this.__wbg_ptr)>>>0}get minIslandSize(){return A.rawintegrationparameters_minIslandSize(this.__wbg_ptr)>>>0}get maxCcdSubsteps(){return A.rawintegrationparameters_maxCcdSubsteps(this.__wbg_ptr)>>>0}get lengthUnit(){return A.rawintegrationparameters_lengthUnit(this.__wbg_ptr)}set dt(I){A.rawintegrationparameters_set_dt(this.__wbg_ptr,I)}set contact_natural_frequency(I){A.rawintegrationparameters_set_contact_natural_frequency(this.__wbg_ptr,I)}set normalizedAllowedLinearError(I){A.rawintegrationparameters_set_normalizedAllowedLinearError(this.__wbg_ptr,I)}set normalizedPredictionDistance(I){A.rawintegrationparameters_set_normalizedPredictionDistance(this.__wbg_ptr,I)}set numSolverIterations(I){A.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr,I)}set numInternalPgsIterations(I){A.rawintegrationparameters_set_numInternalPgsIterations(this.__wbg_ptr,I)}set minIslandSize(I){A.rawintegrationparameters_set_minIslandSize(this.__wbg_ptr,I)}set maxCcdSubsteps(I){A.rawintegrationparameters_set_maxCcdSubsteps(this.__wbg_ptr,I)}set lengthUnit(I){A.rawintegrationparameters_set_lengthUnit(this.__wbg_ptr,I)}}const CA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawislandmanager_free(I>>>0,1)));class QA{static __wrap(A){A>>>=0;const I=Object.create(QA.prototype);return I.__wbg_ptr=A,CA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,CA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawislandmanager_free(I,0)}constructor(){const I=A.rawislandmanager_new();return this.__wbg_ptr=I>>>0,CA.register(this,this.__wbg_ptr,this),this}forEachActiveRigidBodyHandle(g){try{A.rawislandmanager_forEachActiveRigidBodyHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}}const BA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawkinematiccharactercontroller_free(I>>>0,1)));class EA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,BA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawkinematiccharactercontroller_free(I,0)}constructor(I){const g=A.rawkinematiccharactercontroller_new(I);return this.__wbg_ptr=g>>>0,BA.register(this,this.__wbg_ptr,this),this}up(){const I=A.rawcollidershapecasthit_normal2(this.__wbg_ptr);return fA.__wrap(I)}setUp(I){h(I,fA),A.rawkinematiccharactercontroller_setUp(this.__wbg_ptr,I.__wbg_ptr)}normalNudgeFactor(){return A.rawkinematiccharactercontroller_normalNudgeFactor(this.__wbg_ptr)}setNormalNudgeFactor(I){A.rawkinematiccharactercontroller_setNormalNudgeFactor(this.__wbg_ptr,I)}offset(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}setOffset(I){A.rawkinematiccharactercontroller_setOffset(this.__wbg_ptr,I)}slideEnabled(){return 0!==A.rawkinematiccharactercontroller_slideEnabled(this.__wbg_ptr)}setSlideEnabled(I){A.rawkinematiccharactercontroller_setSlideEnabled(this.__wbg_ptr,I)}autostepMaxHeight(){const I=A.rawkinematiccharactercontroller_autostepMaxHeight(this.__wbg_ptr);return 4294967297===I?void 0:I}autostepMinWidth(){const I=A.rawkinematiccharactercontroller_autostepMinWidth(this.__wbg_ptr);return 4294967297===I?void 0:I}autostepIncludesDynamicBodies(){const I=A.rawkinematiccharactercontroller_autostepIncludesDynamicBodies(this.__wbg_ptr);return 16777215===I?void 0:0!==I}autostepEnabled(){return 0!==A.rawkinematiccharactercontroller_autostepEnabled(this.__wbg_ptr)}enableAutostep(I,g,C){A.rawkinematiccharactercontroller_enableAutostep(this.__wbg_ptr,I,g,C)}disableAutostep(){A.rawkinematiccharactercontroller_disableAutostep(this.__wbg_ptr)}maxSlopeClimbAngle(){return A.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr)}setMaxSlopeClimbAngle(I){A.rawkinematiccharactercontroller_setMaxSlopeClimbAngle(this.__wbg_ptr,I)}minSlopeSlideAngle(){return A.rawkinematiccharactercontroller_minSlopeSlideAngle(this.__wbg_ptr)}setMinSlopeSlideAngle(I){A.rawkinematiccharactercontroller_setMinSlopeSlideAngle(this.__wbg_ptr,I)}snapToGroundDistance(){const I=A.rawkinematiccharactercontroller_snapToGroundDistance(this.__wbg_ptr);return 4294967297===I?void 0:I}enableSnapToGround(I){A.rawkinematiccharactercontroller_enableSnapToGround(this.__wbg_ptr,I)}disableSnapToGround(){A.rawkinematiccharactercontroller_disableSnapToGround(this.__wbg_ptr)}snapToGroundEnabled(){return 0!==A.rawkinematiccharactercontroller_snapToGroundEnabled(this.__wbg_ptr)}computeColliderMovement(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(C,H),h(Q,wA),h(B,YA),h(E,d),h(D,fA),A.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr,g,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D.__wbg_ptr,w,o(G)?4294967297:Math.fround(G),K,o(k)?4294967297:k>>>0,S(y))}finally{I[N++]=void 0}}computedMovement(){const I=A.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr);return fA.__wrap(I)}computedGrounded(){return 0!==A.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr)}numComputedCollisions(){return A.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr)>>>0}computedCollision(I,g){h(g,p);return 0!==A.rawkinematiccharactercontroller_computedCollision(this.__wbg_ptr,I,g.__wbg_ptr)}}const iA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawmultibodyjointset_free(I>>>0,1)));class DA{static __wrap(A){A>>>=0;const I=Object.create(DA.prototype);return I.__wbg_ptr=A,iA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,iA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawmultibodyjointset_free(I,0)}jointType(I){return A.rawmultibodyjointset_jointType(this.__wbg_ptr,I)}jointFrameX1(I){const g=A.rawmultibodyjointset_jointFrameX1(this.__wbg_ptr,I);return qA.__wrap(g)}jointFrameX2(I){const g=A.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr,I);return qA.__wrap(g)}jointAnchor1(I){const g=A.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr,I);return fA.__wrap(g)}jointAnchor2(I){const g=A.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr,I);return fA.__wrap(g)}jointContactsEnabled(I){return 0!==A.rawmultibodyjointset_jointContactsEnabled(this.__wbg_ptr,I)}jointSetContactsEnabled(I,g){A.rawmultibodyjointset_jointSetContactsEnabled(this.__wbg_ptr,I,g)}jointLimitsEnabled(I,g){return 0!==A.rawmultibodyjointset_jointLimitsEnabled(this.__wbg_ptr,I,g)}jointLimitsMin(I,g){return A.rawmultibodyjointset_jointLimitsMin(this.__wbg_ptr,I,g)}jointLimitsMax(I,g){return A.rawmultibodyjointset_jointLimitsMax(this.__wbg_ptr,I,g)}constructor(){const I=A.rawmultibodyjointset_new();return this.__wbg_ptr=I>>>0,iA.register(this,this.__wbg_ptr,this),this}createJoint(I,g,C,Q){h(I,_);return A.rawmultibodyjointset_createJoint(this.__wbg_ptr,I.__wbg_ptr,g,C,Q)}remove(I,g){A.rawmultibodyjointset_remove(this.__wbg_ptr,I,g)}contains(I){return 0!==A.rawmultibodyjointset_contains(this.__wbg_ptr,I)}forEachJointHandle(g){try{A.rawmultibodyjointset_forEachJointHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}forEachJointAttachedToRigidBody(g,C){try{A.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,g,S(C))}finally{I[N++]=void 0}}}const oA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawnarrowphase_free(I>>>0,1)));class wA{static __wrap(A){A>>>=0;const I=Object.create(wA.prototype);return I.__wbg_ptr=A,oA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,oA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawnarrowphase_free(I,0)}constructor(){const I=A.rawnarrowphase_new();return this.__wbg_ptr=I>>>0,oA.register(this,this.__wbg_ptr,this),this}contact_pairs_with(I,g){A.rawnarrowphase_contact_pairs_with(this.__wbg_ptr,I,Q(g))}contact_pair(I,g){const C=A.rawnarrowphase_contact_pair(this.__wbg_ptr,I,g);return 0===C?void 0:x.__wrap(C)}intersection_pairs_with(I,g){A.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr,I,Q(g))}intersection_pair(I,g){return 0!==A.rawnarrowphase_intersection_pair(this.__wbg_ptr,I,g)}}const GA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawphysicspipeline_free(I>>>0,1)));class KA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,GA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawphysicspipeline_free(I,0)}constructor(){const I=A.rawphysicspipeline_new();return this.__wbg_ptr=I>>>0,GA.register(this,this.__wbg_ptr,this),this}set_profiler_enabled(I){A.rawphysicspipeline_set_profiler_enabled(this.__wbg_ptr,I)}is_profiler_enabled(){return 0!==A.rawphysicspipeline_is_profiler_enabled(this.__wbg_ptr)}timing_step(){return A.rawphysicspipeline_timing_step(this.__wbg_ptr)}timing_collision_detection(){return A.rawphysicspipeline_timing_collision_detection(this.__wbg_ptr)}timing_broad_phase(){return A.rawphysicspipeline_timing_broad_phase(this.__wbg_ptr)}timing_narrow_phase(){return A.rawphysicspipeline_timing_narrow_phase(this.__wbg_ptr)}timing_solver(){return A.rawphysicspipeline_timing_solver(this.__wbg_ptr)}timing_velocity_assembly(){return A.rawphysicspipeline_timing_velocity_assembly(this.__wbg_ptr)}timing_velocity_resolution(){return A.rawphysicspipeline_timing_velocity_resolution(this.__wbg_ptr)}timing_velocity_update(){return A.rawphysicspipeline_timing_velocity_update(this.__wbg_ptr)}timing_velocity_writeback(){return A.rawphysicspipeline_timing_velocity_writeback(this.__wbg_ptr)}timing_ccd(){return A.rawphysicspipeline_timing_ccd(this.__wbg_ptr)}timing_ccd_toi_computation(){return A.rawphysicspipeline_timing_ccd_toi_computation(this.__wbg_ptr)}timing_ccd_broad_phase(){return A.rawphysicspipeline_timing_ccd_broad_phase(this.__wbg_ptr)}timing_ccd_narrow_phase(){return A.rawphysicspipeline_timing_ccd_narrow_phase(this.__wbg_ptr)}timing_ccd_solver(){return A.rawphysicspipeline_timing_ccd_solver(this.__wbg_ptr)}timing_island_construction(){return A.rawphysicspipeline_timing_island_construction(this.__wbg_ptr)}timing_user_changes(){return A.rawphysicspipeline_timing_user_changes(this.__wbg_ptr)}step(I,g,C,Q,B,E,i,D,o,w){h(I,fA),h(g,gA),h(C,QA),h(Q,H),h(B,wA),h(E,YA),h(i,d),h(D,AA),h(o,DA),h(w,l),A.rawphysicspipeline_step(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr,w.__wbg_ptr)}stepWithEvents(I,g,C,B,E,i,D,o,w,G,K,N,S,k){h(I,fA),h(g,gA),h(C,QA),h(B,H),h(E,wA),h(i,YA),h(D,d),h(o,AA),h(w,DA),h(G,l),h(K,u),A.rawphysicspipeline_stepWithEvents(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr,w.__wbg_ptr,G.__wbg_ptr,K.__wbg_ptr,Q(N),Q(S),Q(k))}}const hA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpidcontroller_free(I>>>0,1)));class NA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,hA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpidcontroller_free(I,0)}constructor(I,g,C,Q){const B=A.rawpidcontroller_new(I,g,C,Q);return this.__wbg_ptr=B>>>0,hA.register(this,this.__wbg_ptr,this),this}set_kp(I,g){A.rawpidcontroller_set_kp(this.__wbg_ptr,I,g)}set_ki(I,g){A.rawpidcontroller_set_ki(this.__wbg_ptr,I,g)}set_kd(I,g){A.rawpidcontroller_set_kd(this.__wbg_ptr,I,g)}set_axes_mask(I){A.rawpidcontroller_set_axes_mask(this.__wbg_ptr,I)}reset_integrals(){A.rawpidcontroller_reset_integrals(this.__wbg_ptr)}apply_linear_correction(I,g,C,Q,B){h(g,YA),h(Q,fA),h(B,fA),A.rawpidcontroller_apply_linear_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B.__wbg_ptr)}apply_angular_correction(I,g,C,Q,B){h(g,YA),A.rawpidcontroller_apply_angular_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q,B)}linear_correction(I,g,C,Q,B){h(g,YA),h(Q,fA),h(B,fA);const E=A.rawpidcontroller_linear_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B.__wbg_ptr);return fA.__wrap(E)}angular_correction(I,g,C,Q,B){h(g,YA);return A.rawpidcontroller_angular_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q,B)}}const SA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpointcolliderprojection_free(I>>>0,1)));class kA{static __wrap(A){A>>>=0;const I=Object.create(kA.prototype);return I.__wbg_ptr=A,SA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,SA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpointcolliderprojection_free(I,0)}colliderHandle(){return A.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}point(){const I=A.rawpointcolliderprojection_point(this.__wbg_ptr);return fA.__wrap(I)}isInside(){return 0!==A.rawpointcolliderprojection_isInside(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const yA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpointprojection_free(I>>>0,1)));class sA{static __wrap(A){A>>>=0;const I=Object.create(sA.prototype);return I.__wbg_ptr=A,yA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,yA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpointprojection_free(I,0)}point(){const I=A.rawpointprojection_point(this.__wbg_ptr);return fA.__wrap(I)}isInside(){return 0!==A.rawpointprojection_isInside(this.__wbg_ptr)}}const FA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawraycolliderhit_free(I>>>0,1)));class aA{static __wrap(A){A>>>=0;const I=Object.create(aA.prototype);return I.__wbg_ptr=A,FA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,FA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawraycolliderhit_free(I,0)}colliderHandle(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}timeOfImpact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}}const MA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawraycolliderintersection_free(I>>>0,1)));class JA{static __wrap(A){A>>>=0;const I=Object.create(JA.prototype);return I.__wbg_ptr=A,MA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,MA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawraycolliderintersection_free(I,0)}colliderHandle(){return A.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}normal(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const UA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrayintersection_free(I>>>0,1)));class RA{static __wrap(A){A>>>=0;const I=Object.create(RA.prototype);return I.__wbg_ptr=A,UA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,UA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrayintersection_free(I,0)}normal(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const cA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrigidbodyset_free(I>>>0,1)));class YA{static __wrap(A){A>>>=0;const I=Object.create(YA.prototype);return I.__wbg_ptr=A,cA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,cA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrigidbodyset_free(I,0)}rbTranslation(I){const g=A.rawrigidbodyset_rbTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}rbRotation(I){const g=A.rawrigidbodyset_rbRotation(this.__wbg_ptr,I);return qA.__wrap(g)}rbSleep(I){A.rawrigidbodyset_rbSleep(this.__wbg_ptr,I)}rbIsSleeping(I){return 0!==A.rawrigidbodyset_rbIsSleeping(this.__wbg_ptr,I)}rbIsMoving(I){return 0!==A.rawrigidbodyset_rbIsMoving(this.__wbg_ptr,I)}rbNextTranslation(I){const g=A.rawrigidbodyset_rbNextTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}rbNextRotation(I){const g=A.rawrigidbodyset_rbNextRotation(this.__wbg_ptr,I);return qA.__wrap(g)}rbSetTranslation(I,g,C,Q){A.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr,I,g,C,Q)}rbSetRotation(I,g,C){A.rawrigidbodyset_rbSetRotation(this.__wbg_ptr,I,g,C)}rbSetLinvel(I,g,C){h(g,fA),A.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr,I,g.__wbg_ptr,C)}rbSetAngvel(I,g,C){A.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr,I,g,C)}rbSetNextKinematicTranslation(I,g,C){A.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr,I,g,C)}rbSetNextKinematicRotation(I,g){A.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr,I,g)}rbRecomputeMassPropertiesFromColliders(I,g){h(g,d),A.rawrigidbodyset_rbRecomputeMassPropertiesFromColliders(this.__wbg_ptr,I,g.__wbg_ptr)}rbSetAdditionalMass(I,g,C){A.rawrigidbodyset_rbSetAdditionalMass(this.__wbg_ptr,I,g,C)}rbSetAdditionalMassProperties(I,g,C,Q,B){h(C,fA),A.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr,I,g,C.__wbg_ptr,Q,B)}rbLinvel(I){const g=A.rawrigidbodyset_rbLinvel(this.__wbg_ptr,I);return fA.__wrap(g)}rbAngvel(I){return A.rawrigidbodyset_rbAngvel(this.__wbg_ptr,I)}rbVelocityAtPoint(I,g){h(g,fA);const C=A.rawrigidbodyset_rbVelocityAtPoint(this.__wbg_ptr,I,g.__wbg_ptr);return fA.__wrap(C)}rbLockTranslations(I,g,C){A.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr,I,g,C)}rbSetEnabledTranslations(I,g,C,Q){A.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr,I,g,C,Q)}rbLockRotations(I,g,C){A.rawrigidbodyset_rbLockRotations(this.__wbg_ptr,I,g,C)}rbDominanceGroup(I){return A.rawrigidbodyset_rbDominanceGroup(this.__wbg_ptr,I)}rbSetDominanceGroup(I,g){A.rawrigidbodyset_rbSetDominanceGroup(this.__wbg_ptr,I,g)}rbEnableCcd(I,g){A.rawrigidbodyset_rbEnableCcd(this.__wbg_ptr,I,g)}rbSetSoftCcdPrediction(I,g){A.rawrigidbodyset_rbSetSoftCcdPrediction(this.__wbg_ptr,I,g)}rbMass(I){return A.rawrigidbodyset_rbMass(this.__wbg_ptr,I)}rbInvMass(I){return A.rawrigidbodyset_rbInvMass(this.__wbg_ptr,I)}rbEffectiveInvMass(I){const g=A.rawrigidbodyset_rbEffectiveInvMass(this.__wbg_ptr,I);return fA.__wrap(g)}rbLocalCom(I){const g=A.rawrigidbodyset_rbLocalCom(this.__wbg_ptr,I);return fA.__wrap(g)}rbWorldCom(I){const g=A.rawrigidbodyset_rbWorldCom(this.__wbg_ptr,I);return fA.__wrap(g)}rbInvPrincipalInertia(I){return A.rawrigidbodyset_rbInvPrincipalInertia(this.__wbg_ptr,I)}rbPrincipalInertia(I){return A.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr,I)}rbEffectiveWorldInvInertia(I){return A.rawrigidbodyset_rbEffectiveWorldInvInertia(this.__wbg_ptr,I)}rbEffectiveAngularInertia(I){return A.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr,I)}rbWakeUp(I){A.rawrigidbodyset_rbWakeUp(this.__wbg_ptr,I)}rbIsCcdEnabled(I){return 0!==A.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr,I)}rbSoftCcdPrediction(I){return A.rawrigidbodyset_rbSoftCcdPrediction(this.__wbg_ptr,I)}rbNumColliders(I){return A.rawrigidbodyset_rbNumColliders(this.__wbg_ptr,I)>>>0}rbCollider(I,g){return A.rawrigidbodyset_rbCollider(this.__wbg_ptr,I,g)}rbBodyType(I){return A.rawrigidbodyset_rbBodyType(this.__wbg_ptr,I)}rbSetBodyType(I,g,C){A.rawrigidbodyset_rbSetBodyType(this.__wbg_ptr,I,g,C)}rbIsFixed(I){return 0!==A.rawrigidbodyset_rbIsFixed(this.__wbg_ptr,I)}rbIsKinematic(I){return 0!==A.rawrigidbodyset_rbIsKinematic(this.__wbg_ptr,I)}rbIsDynamic(I){return 0!==A.rawrigidbodyset_rbIsDynamic(this.__wbg_ptr,I)}rbLinearDamping(I){return A.rawrigidbodyset_rbLinearDamping(this.__wbg_ptr,I)}rbAngularDamping(I){return A.rawrigidbodyset_rbAngularDamping(this.__wbg_ptr,I)}rbSetLinearDamping(I,g){A.rawrigidbodyset_rbSetLinearDamping(this.__wbg_ptr,I,g)}rbSetAngularDamping(I,g){A.rawrigidbodyset_rbSetAngularDamping(this.__wbg_ptr,I,g)}rbSetEnabled(I,g){A.rawrigidbodyset_rbSetEnabled(this.__wbg_ptr,I,g)}rbIsEnabled(I){return 0!==A.rawrigidbodyset_rbIsEnabled(this.__wbg_ptr,I)}rbGravityScale(I){return A.rawrigidbodyset_rbGravityScale(this.__wbg_ptr,I)}rbSetGravityScale(I,g,C){A.rawrigidbodyset_rbSetGravityScale(this.__wbg_ptr,I,g,C)}rbResetForces(I,g){A.rawrigidbodyset_rbResetForces(this.__wbg_ptr,I,g)}rbResetTorques(I,g){A.rawrigidbodyset_rbResetTorques(this.__wbg_ptr,I,g)}rbAddForce(I,g,C){h(g,fA),A.rawrigidbodyset_rbAddForce(this.__wbg_ptr,I,g.__wbg_ptr,C)}rbApplyImpulse(I,g,C){h(g,fA),A.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr,I,g.__wbg_ptr,C)}rbAddTorque(I,g,C){A.rawrigidbodyset_rbAddTorque(this.__wbg_ptr,I,g,C)}rbApplyTorqueImpulse(I,g,C){A.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr,I,g,C)}rbAddForceAtPoint(I,g,C,Q){h(g,fA),h(C,fA),A.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}rbApplyImpulseAtPoint(I,g,C,Q){h(g,fA),h(C,fA),A.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}rbAdditionalSolverIterations(I){return A.rawrigidbodyset_rbAdditionalSolverIterations(this.__wbg_ptr,I)>>>0}rbSetAdditionalSolverIterations(I,g){A.rawrigidbodyset_rbSetAdditionalSolverIterations(this.__wbg_ptr,I,g)}rbUserData(I){return A.rawrigidbodyset_rbUserData(this.__wbg_ptr,I)>>>0}rbSetUserData(I,g){A.rawrigidbodyset_rbSetUserData(this.__wbg_ptr,I,g)}rbUserForce(I){const g=A.rawrigidbodyset_rbUserForce(this.__wbg_ptr,I);return fA.__wrap(g)}rbUserTorque(I){return A.rawrigidbodyset_rbUserTorque(this.__wbg_ptr,I)}constructor(){const I=A.rawrigidbodyset_new();return this.__wbg_ptr=I>>>0,cA.register(this,this.__wbg_ptr,this),this}createRigidBody(I,g,C,Q,B,E,i,D,o,w,G,K,N,S,k,y,s,F,a,M,J,U){h(g,fA),h(C,qA),h(i,fA),h(D,fA);return A.rawrigidbodyset_createRigidBody(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B,E,i.__wbg_ptr,D.__wbg_ptr,o,w,G,K,N,S,k,y,s,F,a,M,J,U)}remove(I,g,C,Q,B){h(g,QA),h(C,d),h(Q,AA),h(B,DA),A.rawrigidbodyset_remove(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr)}len(){return A.rawrigidbodyset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawrigidbodyset_contains(this.__wbg_ptr,I)}forEachRigidBodyHandle(g){try{A.rawrigidbodyset_forEachRigidBodyHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}propagateModifiedBodyPositionsToColliders(I){h(I,d),A.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr,I.__wbg_ptr)}}const LA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrotation_free(I>>>0,1)));class qA{static __wrap(A){A>>>=0;const I=Object.create(qA.prototype);return I.__wbg_ptr=A,LA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,LA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrotation_free(I,0)}static identity(){const I=A.rawrotation_identity();return qA.__wrap(I)}static fromAngle(I){const g=A.rawrotation_fromAngle(I);return qA.__wrap(g)}get im(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}get re(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}get angle(){return A.rawrotation_angle(this.__wbg_ptr)}}const tA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawserializationpipeline_free(I>>>0,1)));class HA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,tA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawserializationpipeline_free(I,0)}constructor(){const I=A.rawccdsolver_new();return this.__wbg_ptr=I>>>0,tA.register(this,this.__wbg_ptr,this),this}serializeAll(I,g,C,Q,B,E,i,D,o){h(I,fA),h(g,gA),h(C,QA),h(Q,H),h(B,wA),h(E,YA),h(i,d),h(D,AA),h(o,DA);return K(A.rawserializationpipeline_serializeAll(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr))}deserializeAll(I){const g=A.rawserializationpipeline_deserializeAll(this.__wbg_ptr,Q(I));return 0===g?void 0:V.__wrap(g)}}const rA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshape_free(I>>>0,1)));class lA{static __wrap(A){A>>>=0;const I=Object.create(lA.prototype);return I.__wbg_ptr=A,rA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,rA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshape_free(I,0)}static cuboid(I,g){const C=A.rawshape_cuboid(I,g);return lA.__wrap(C)}static roundCuboid(I,g,C){const Q=A.rawshape_roundCuboid(I,g,C);return lA.__wrap(Q)}static ball(I){const g=A.rawshape_ball(I);return lA.__wrap(g)}static halfspace(I){h(I,fA);const g=A.rawshape_halfspace(I.__wbg_ptr);return lA.__wrap(g)}static capsule(I,g){const C=A.rawshape_capsule(I,g);return lA.__wrap(C)}static voxels(I,g){h(I,fA);const C=R(g,A.__wbindgen_export_2),Q=U,B=A.rawshape_voxels(I.__wbg_ptr,C,Q);return lA.__wrap(B)}static voxelsFromPoints(I,g){h(I,fA);const C=c(g,A.__wbindgen_export_2),Q=U,B=A.rawshape_voxelsFromPoints(I.__wbg_ptr,C,Q);return lA.__wrap(B)}static polyline(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=R(g,A.__wbindgen_export_2),E=U,i=A.rawshape_polyline(C,Q,B,E);return lA.__wrap(i)}static trimesh(I,g,C){const Q=c(I,A.__wbindgen_export_2),B=U,E=R(g,A.__wbindgen_export_2),i=U,D=A.rawshape_trimesh(Q,B,E,i,C);return 0===D?void 0:lA.__wrap(D)}static heightfield(I,g){const C=c(I,A.__wbindgen_export_2),Q=U;h(g,fA);const B=A.rawshape_heightfield(C,Q,g.__wbg_ptr);return lA.__wrap(B)}static segment(I,g){h(I,fA),h(g,fA);const C=A.rawshape_segment(I.__wbg_ptr,g.__wbg_ptr);return lA.__wrap(C)}static triangle(I,g,C){h(I,fA),h(g,fA),h(C,fA);const Q=A.rawshape_triangle(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr);return lA.__wrap(Q)}static roundTriangle(I,g,C,Q){h(I,fA),h(g,fA),h(C,fA);const B=A.rawshape_roundTriangle(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q);return lA.__wrap(B)}static convexHull(I){const g=c(I,A.__wbindgen_export_2),C=U,Q=A.rawshape_convexHull(g,C);return 0===Q?void 0:lA.__wrap(Q)}static roundConvexHull(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=A.rawshape_roundConvexHull(C,Q,g);return 0===B?void 0:lA.__wrap(B)}static convexPolyline(I){const g=c(I,A.__wbindgen_export_2),C=U,Q=A.rawshape_convexPolyline(g,C);return 0===Q?void 0:lA.__wrap(Q)}static roundConvexPolyline(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=A.rawshape_roundConvexPolyline(C,Q,g);return 0===B?void 0:lA.__wrap(B)}castShape(I,g,C,Q,B,E,i,D,o,w){h(I,fA),h(g,qA),h(C,fA),h(Q,lA),h(B,fA),h(E,qA),h(i,fA);const G=A.rawshape_castShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D,o,w);return 0===G?void 0:pA.__wrap(G)}intersectsShape(I,g,C,Q,B){h(I,fA),h(g,qA),h(C,lA),h(Q,fA),h(B,qA);return 0!==A.rawshape_intersectsShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr)}contactShape(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,lA),h(Q,fA),h(B,qA);const i=A.rawshape_contactShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E);return 0===i?void 0:dA.__wrap(i)}containsPoint(I,g,C){h(I,fA),h(g,qA),h(C,fA);return 0!==A.rawshape_containsPoint(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr)}projectPoint(I,g,C,Q){h(I,fA),h(g,qA),h(C,fA);const B=A.rawshape_projectPoint(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q);return sA.__wrap(B)}intersectsRay(I,g,C,Q,B){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);return 0!==A.rawshape_intersectsRay(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B)}castRay(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);return A.rawshape_castRay(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E)}castRayAndGetNormal(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);const i=A.rawshape_castRayAndGetNormal(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E);return 0===i?void 0:RA.__wrap(i)}}const eA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshapecasthit_free(I>>>0,1)));class pA{static __wrap(A){A>>>=0;const I=Object.create(pA.prototype);return I.__wbg_ptr=A,eA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,eA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshapecasthit_free(I,0)}time_of_impact(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}witness1(){const I=A.rawshapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}witness2(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcollidershapecasthit_witness2(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcollidershapecasthit_normal1(this.__wbg_ptr);return fA.__wrap(I)}}const nA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshapecontact_free(I>>>0,1)));class dA{static __wrap(A){A>>>=0;const I=Object.create(dA.prototype);return I.__wbg_ptr=A,nA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,nA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshapecontact_free(I,0)}distance(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}point1(){const I=A.rawpointprojection_point(this.__wbg_ptr);return fA.__wrap(I)}point2(){const I=A.rawpointcolliderprojection_point(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcontactforceevent_total_force(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}}const bA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawvector_free(I>>>0,1)));class fA{static __wrap(A){A>>>=0;const I=Object.create(fA.prototype);return I.__wbg_ptr=A,bA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,bA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawvector_free(I,0)}static zero(){const I=A.rawvector_zero();return fA.__wrap(I)}constructor(I,g){const C=A.rawvector_new(I,g);return this.__wbg_ptr=C>>>0,bA.register(this,this.__wbg_ptr,this),this}get x(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}set x(I){A.rawintegrationparameters_set_dt(this.__wbg_ptr,I)}get y(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}set y(I){A.rawvector_set_y(this.__wbg_ptr,I)}xy(){const I=A.rawvector_xy(this.__wbg_ptr);return fA.__wrap(I)}yx(){const I=A.rawvector_yx(this.__wbg_ptr);return fA.__wrap(I)}}async function TA(I){if(void 0!==A)return A;void 0!==I&&(Object.getPrototypeOf(I)===Object.prototype?({module_or_path:I}=I):console.warn(\"using deprecated parameters for the initialization function; pass a single object instead\")),void 0===I&&(I=new URL(\"rapier_wasm2d_bg.wasm\",\"\"));const C=function(){const I={wbg:{}};return I.wbg.__wbg_bind_c8359b1cba058168=function(A,I,C,B){return Q(g(A).bind(g(I),g(C),g(B)))},I.wbg.__wbg_buffer_609cc3eee51ed158=function(A){return Q(g(A).buffer)},I.wbg.__wbg_call_672a4d21634d4a24=function(){return B((function(A,I){return Q(g(A).call(g(I)))}),arguments)},I.wbg.__wbg_call_7cccdd69e0791ae2=function(){return B((function(A,I,C){return Q(g(A).call(g(I),g(C)))}),arguments)},I.wbg.__wbg_call_833bed5770ea2041=function(){return B((function(A,I,C,B){return Q(g(A).call(g(I),g(C),g(B)))}),arguments)},I.wbg.__wbg_call_b8adc8b1d0a0d8eb=function(){return B((function(A,I,C,B,E){return Q(g(A).call(g(I),g(C),g(B),g(E)))}),arguments)},I.wbg.__wbg_length_3b4f022188ae8db6=function(A){return g(A).length},I.wbg.__wbg_length_a446193dc22c12f8=function(A){return g(A).length},I.wbg.__wbg_new_a12002a7f91c75be=function(A){return Q(new Uint8Array(g(A)))},I.wbg.__wbg_newnoargs_105ed471475aaf50=function(A,I){return Q(new Function(D(A,I)))},I.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a=function(A,I,C){return Q(new Uint8Array(g(A),I>>>0,C>>>0))},I.wbg.__wbg_newwithbyteoffsetandlength_e6b7e69acd4c7354=function(A,I,C){return Q(new Float32Array(g(A),I>>>0,C>>>0))},I.wbg.__wbg_newwithlength_5a5efe313cfd59f1=function(A){return Q(new Float32Array(A>>>0))},I.wbg.__wbg_now_2c95c9de01293173=function(A){return g(A).now()},I.wbg.__wbg_performance_7a3ffd0b17f663ad=function(A){return Q(g(A).performance)},I.wbg.__wbg_rawcontactforceevent_new=function(A){return Q(Z.__wrap(A))},I.wbg.__wbg_rawraycolliderintersection_new=function(A){return Q(JA.__wrap(A))},I.wbg.__wbg_set_10bad9bee0e9c58b=function(A,I,C){g(A).set(g(I),C>>>0)},I.wbg.__wbg_set_65595bdd868b3009=function(A,I,C){g(A).set(g(I),C>>>0)},I.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07=function(){const A=\"undefined\"==typeof global?null:global;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0=function(){const A=\"undefined\"==typeof globalThis?null:globalThis;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819=function(){const A=\"undefined\"==typeof self?null:self;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40=function(){const A=\"undefined\"==typeof window?null:window;return o(A)?0:Q(A)},I.wbg.__wbindgen_boolean_get=function(A){const I=g(A);return\"boolean\"==typeof I?I?1:0:2},I.wbg.__wbindgen_is_function=function(A){return\"function\"==typeof g(A)},I.wbg.__wbindgen_is_undefined=function(A){return void 0===g(A)},I.wbg.__wbindgen_memory=function(){return Q(A.memory)},I.wbg.__wbindgen_number_get=function(A,I){const C=g(I),Q=\"number\"==typeof C?C:void 0;G().setFloat64(A+8,o(Q)?0:Q,!0),G().setInt32(A+0,!o(Q),!0)},I.wbg.__wbindgen_number_new=function(A){return Q(A)},I.wbg.__wbindgen_object_clone_ref=function(A){return Q(g(A))},I.wbg.__wbindgen_object_drop_ref=function(A){K(A)},I.wbg.__wbindgen_throw=function(A,I){throw new Error(D(A,I))},I}();(\"string\"==typeof I||\"function\"==typeof Request&&I instanceof Request||\"function\"==typeof URL&&I instanceof URL)&&(I=fetch(I));const{instance:E,module:h}=await async function(A,I){if(\"function\"==typeof Response&&A instanceof Response){if(\"function\"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,I)}catch(I){if(\"application/wasm\"==A.headers.get(\"Content-Type\"))throw I;console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",I)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,I)}{const g=await WebAssembly.instantiate(A,I);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}(await I,C);return function(I,g){return A=I.exports,TA.__wbindgen_wasm_module=g,w=null,s=null,k=null,M=null,i=null,A}(E,h)}class ZA{constructor(A,I){this.x=A,this.y=I}}class OA{static new(A,I){return new ZA(A,I)}static zeros(){return OA.new(0,0)}static fromRaw(A){if(!A)return null;let I=OA.new(A.x,A.y);return A.free(),I}static intoRaw(A){return new fA(A.x,A.y)}static copy(A,I){A.x=I.x,A.y=I.y}}class WA{static identity(){return 0}static fromRaw(A){if(!A)return null;let I=A.angle;return A.free(),I}static intoRaw(A){return qA.fromAngle(A)}}var jA,xA,XA,mA,vA,VA,PA,uA,zA,_A,$A,AI,II,gI,CI;!function(A){A[A.Dynamic=0]=\"Dynamic\",A[A.Fixed=1]=\"Fixed\",A[A.KinematicPositionBased=2]=\"KinematicPositionBased\",A[A.KinematicVelocityBased=3]=\"KinematicVelocityBased\"}(jA||(jA={}));class QI{constructor(A,I,g){this.rawSet=A,this.colliderSet=I,this.handle=g}finalizeDeserialization(A){this.colliderSet=A}isValid(){return this.rawSet.contains(this.handle)}lockTranslations(A,I){return this.rawSet.rbLockTranslations(this.handle,A,I)}lockRotations(A,I){return this.rawSet.rbLockRotations(this.handle,A,I)}setEnabledTranslations(A,I,g){return this.rawSet.rbSetEnabledTranslations(this.handle,A,I,g)}restrictTranslations(A,I,g){this.setEnabledTranslations(A,A,g)}dominanceGroup(){return this.rawSet.rbDominanceGroup(this.handle)}setDominanceGroup(A){this.rawSet.rbSetDominanceGroup(this.handle,A)}additionalSolverIterations(){return this.rawSet.rbAdditionalSolverIterations(this.handle)}setAdditionalSolverIterations(A){this.rawSet.rbSetAdditionalSolverIterations(this.handle,A)}enableCcd(A){this.rawSet.rbEnableCcd(this.handle,A)}setSoftCcdPrediction(A){this.rawSet.rbSetSoftCcdPrediction(this.handle,A)}softCcdPrediction(){return this.rawSet.rbSoftCcdPrediction(this.handle)}translation(){let A=this.rawSet.rbTranslation(this.handle);return OA.fromRaw(A)}rotation(){let A=this.rawSet.rbRotation(this.handle);return WA.fromRaw(A)}nextTranslation(){let A=this.rawSet.rbNextTranslation(this.handle);return OA.fromRaw(A)}nextRotation(){let A=this.rawSet.rbNextRotation(this.handle);return WA.fromRaw(A)}setTranslation(A,I){this.rawSet.rbSetTranslation(this.handle,A.x,A.y,I)}setLinvel(A,I){let g=OA.intoRaw(A);this.rawSet.rbSetLinvel(this.handle,g,I),g.free()}gravityScale(){return this.rawSet.rbGravityScale(this.handle)}setGravityScale(A,I){this.rawSet.rbSetGravityScale(this.handle,A,I)}setRotation(A,I){this.rawSet.rbSetRotation(this.handle,A,I)}setAngvel(A,I){this.rawSet.rbSetAngvel(this.handle,A,I)}setNextKinematicTranslation(A){this.rawSet.rbSetNextKinematicTranslation(this.handle,A.x,A.y)}setNextKinematicRotation(A){this.rawSet.rbSetNextKinematicRotation(this.handle,A)}linvel(){return OA.fromRaw(this.rawSet.rbLinvel(this.handle))}velocityAtPoint(A){const I=OA.intoRaw(A);let g=OA.fromRaw(this.rawSet.rbVelocityAtPoint(this.handle,I));return I.free(),g}angvel(){return this.rawSet.rbAngvel(this.handle)}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return OA.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return OA.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return OA.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertia(){return this.rawSet.rbInvPrincipalInertia(this.handle)}principalInertia(){return this.rawSet.rbPrincipalInertia(this.handle)}effectiveWorldInvInertia(){return this.rawSet.rbEffectiveWorldInvInertia(this.handle)}effectiveAngularInertia(){return this.rawSet.rbEffectiveAngularInertia(this.handle)}sleep(){this.rawSet.rbSleep(this.handle)}wakeUp(){this.rawSet.rbWakeUp(this.handle)}isCcdEnabled(){return this.rawSet.rbIsCcdEnabled(this.handle)}numColliders(){return this.rawSet.rbNumColliders(this.handle)}collider(A){return this.colliderSet.get(this.rawSet.rbCollider(this.handle,A))}setEnabled(A){this.rawSet.rbSetEnabled(this.handle,A)}isEnabled(){return this.rawSet.rbIsEnabled(this.handle)}bodyType(){return this.rawSet.rbBodyType(this.handle)}setBodyType(A,I){return this.rawSet.rbSetBodyType(this.handle,A,I)}isSleeping(){return this.rawSet.rbIsSleeping(this.handle)}isMoving(){return this.rawSet.rbIsMoving(this.handle)}isFixed(){return this.rawSet.rbIsFixed(this.handle)}isKinematic(){return this.rawSet.rbIsKinematic(this.handle)}isDynamic(){return this.rawSet.rbIsDynamic(this.handle)}linearDamping(){return this.rawSet.rbLinearDamping(this.handle)}angularDamping(){return this.rawSet.rbAngularDamping(this.handle)}setLinearDamping(A){this.rawSet.rbSetLinearDamping(this.handle,A)}recomputeMassPropertiesFromColliders(){this.rawSet.rbRecomputeMassPropertiesFromColliders(this.handle,this.colliderSet.raw)}setAdditionalMass(A,I){this.rawSet.rbSetAdditionalMass(this.handle,A,I)}setAdditionalMassProperties(A,I,g,C){let Q=OA.intoRaw(I);this.rawSet.rbSetAdditionalMassProperties(this.handle,A,Q,g,C),Q.free()}setAngularDamping(A){this.rawSet.rbSetAngularDamping(this.handle,A)}resetForces(A){this.rawSet.rbResetForces(this.handle,A)}resetTorques(A){this.rawSet.rbResetTorques(this.handle,A)}addForce(A,I){const g=OA.intoRaw(A);this.rawSet.rbAddForce(this.handle,g,I),g.free()}applyImpulse(A,I){const g=OA.intoRaw(A);this.rawSet.rbApplyImpulse(this.handle,g,I),g.free()}addTorque(A,I){this.rawSet.rbAddTorque(this.handle,A,I)}applyTorqueImpulse(A,I){this.rawSet.rbApplyTorqueImpulse(this.handle,A,I)}addForceAtPoint(A,I,g){const C=OA.intoRaw(A),Q=OA.intoRaw(I);this.rawSet.rbAddForceAtPoint(this.handle,C,Q,g),C.free(),Q.free()}applyImpulseAtPoint(A,I,g){const C=OA.intoRaw(A),Q=OA.intoRaw(I);this.rawSet.rbApplyImpulseAtPoint(this.handle,C,Q,g),C.free(),Q.free()}userForce(){return OA.fromRaw(this.rawSet.rbUserForce(this.handle))}userTorque(){return this.rawSet.rbUserTorque(this.handle)}}class BI{constructor(A){this.enabled=!0,this.status=A,this.translation=OA.zeros(),this.rotation=WA.identity(),this.gravityScale=1,this.linvel=OA.zeros(),this.mass=0,this.massOnly=!1,this.centerOfMass=OA.zeros(),this.translationsEnabledX=!0,this.translationsEnabledY=!0,this.angvel=0,this.principalAngularInertia=0,this.rotationsEnabled=!0,this.linearDamping=0,this.angularDamping=0,this.canSleep=!0,this.sleeping=!1,this.ccdEnabled=!1,this.softCcdPrediction=0,this.dominanceGroup=0,this.additionalSolverIterations=0}static dynamic(){return new BI(jA.Dynamic)}static kinematicPositionBased(){return new BI(jA.KinematicPositionBased)}static kinematicVelocityBased(){return new BI(jA.KinematicVelocityBased)}static fixed(){return new BI(jA.Fixed)}static newDynamic(){return new BI(jA.Dynamic)}static newKinematicPositionBased(){return new BI(jA.KinematicPositionBased)}static newKinematicVelocityBased(){return new BI(jA.KinematicVelocityBased)}static newStatic(){return new BI(jA.Fixed)}setDominanceGroup(A){return this.dominanceGroup=A,this}setAdditionalSolverIterations(A){return this.additionalSolverIterations=A,this}setEnabled(A){return this.enabled=A,this}setTranslation(A,I){if(\"number\"!=typeof A||\"number\"!=typeof I)throw TypeError(\"The translation components must be numbers.\");return this.translation={x:A,y:I},this}setRotation(A){return this.rotation=A,this}setGravityScale(A){return this.gravityScale=A,this}setAdditionalMass(A){return this.mass=A,this.massOnly=!0,this}setLinvel(A,I){if(\"number\"!=typeof A||\"number\"!=typeof I)throw TypeError(\"The linvel components must be numbers.\");return this.linvel={x:A,y:I},this}setAngvel(A){return this.angvel=A,this}setAdditionalMassProperties(A,I,g){return this.mass=A,OA.copy(this.centerOfMass,I),this.principalAngularInertia=g,this.massOnly=!1,this}enabledTranslations(A,I){return this.translationsEnabledX=A,this.translationsEnabledY=I,this}restrictTranslations(A,I){return this.enabledTranslations(A,I)}lockTranslations(){return this.restrictTranslations(!1,!1)}lockRotations(){return this.rotationsEnabled=!1,this}setLinearDamping(A){return this.linearDamping=A,this}setAngularDamping(A){return this.angularDamping=A,this}setCanSleep(A){return this.canSleep=A,this}setSleeping(A){return this.sleeping=A,this}setCcdEnabled(A){return this.ccdEnabled=A,this}setSoftCcdPrediction(A){return this.softCcdPrediction=A,this}setUserData(A){return this.userData=A,this}}class EI{constructor(){this.fconv=new Float64Array(1),this.uconv=new Uint32Array(this.fconv.buffer),this.data=new Array,this.size=0}set(A,I){let g=this.index(A);for(;this.data.length<=g;)this.data.push(null);null==this.data[g]&&(this.size+=1),this.data[g]=I}len(){return this.size}delete(A){let I=this.index(A);Inull!=A))}index(A){return this.fconv[0]=A,this.uconv[0]}}class iI{constructor(A){this.raw=A||new YA,this.map=new EI,A&&A.forEachRigidBodyHandle((I=>{this.map.set(I,new QI(A,null,I))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)))}createRigidBody(A,I){let g=OA.intoRaw(I.translation),C=WA.intoRaw(I.rotation),Q=OA.intoRaw(I.linvel),B=OA.intoRaw(I.centerOfMass),E=this.raw.createRigidBody(I.enabled,g,C,I.gravityScale,I.mass,I.massOnly,B,Q,I.angvel,I.principalAngularInertia,I.translationsEnabledX,I.translationsEnabledY,I.rotationsEnabled,I.linearDamping,I.angularDamping,I.status,I.canSleep,I.sleeping,I.softCcdPrediction,I.ccdEnabled,I.dominanceGroup,I.additionalSolverIterations);g.free(),C.free(),Q.free(),B.free();const i=new QI(this.raw,A,E);return i.userData=I.userData,this.map.set(E,i),i}remove(A,I,g,C,Q){for(let I=0;IC.unmap(A))),Q.forEachJointHandleAttachedToRigidBody(A,(A=>Q.unmap(A))),this.raw.remove(A,I.raw,g.raw,C.raw,Q.raw),this.map.delete(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachActiveRigidBody(A,I){A.forEachActiveRigidBodyHandle((A=>{I(this.get(A))}))}getAll(){return this.map.getAll()}}class DI{constructor(A){this.raw=A||new gA}free(){this.raw&&this.raw.free(),this.raw=void 0}get dt(){return this.raw.dt}get contact_erp(){return this.raw.contact_erp}get lengthUnit(){return this.raw.lengthUnit}get normalizedAllowedLinearError(){return this.raw.normalizedAllowedLinearError}get normalizedPredictionDistance(){return this.raw.normalizedPredictionDistance}get numSolverIterations(){return this.raw.numSolverIterations}get numInternalPgsIterations(){return this.raw.numInternalPgsIterations}get minIslandSize(){return this.raw.minIslandSize}get maxCcdSubsteps(){return this.raw.maxCcdSubsteps}set dt(A){this.raw.dt=A}set contact_natural_frequency(A){this.raw.contact_natural_frequency=A}set lengthUnit(A){this.raw.lengthUnit=A}set normalizedAllowedLinearError(A){this.raw.normalizedAllowedLinearError=A}set normalizedPredictionDistance(A){this.raw.normalizedPredictionDistance=A}set numSolverIterations(A){this.raw.numSolverIterations=A}set numInternalPgsIterations(A){this.raw.numInternalPgsIterations=A}set minIslandSize(A){this.raw.minIslandSize=A}set maxCcdSubsteps(A){this.raw.maxCcdSubsteps=A}}!function(A){A[A.Revolute=0]=\"Revolute\",A[A.Fixed=1]=\"Fixed\",A[A.Prismatic=2]=\"Prismatic\",A[A.Rope=3]=\"Rope\",A[A.Spring=4]=\"Spring\"}(xA||(xA={})),function(A){A[A.AccelerationBased=0]=\"AccelerationBased\",A[A.ForceBased=1]=\"ForceBased\"}(XA||(XA={})),function(A){A[A.LinX=1]=\"LinX\",A[A.LinY=2]=\"LinY\",A[A.LinZ=4]=\"LinZ\",A[A.AngX=8]=\"AngX\",A[A.AngY=16]=\"AngY\",A[A.AngZ=32]=\"AngZ\"}(mA||(mA={}));class oI{constructor(A,I,g){this.rawSet=A,this.bodySet=I,this.handle=g}static newTyped(A,I,g){switch(A.jointType(g)){case L.Revolute:return new SI(A,I,g);case L.Prismatic:return new NI(A,I,g);case L.Fixed:return new GI(A,I,g);case L.Spring:return new hI(A,I,g);case L.Rope:return new KI(A,I,g);default:return new oI(A,I,g)}}finalizeDeserialization(A){this.bodySet=A}isValid(){return this.rawSet.contains(this.handle)}body1(){return this.bodySet.get(this.rawSet.jointBodyHandle1(this.handle))}body2(){return this.bodySet.get(this.rawSet.jointBodyHandle2(this.handle))}type(){return this.rawSet.jointType(this.handle)}anchor1(){return OA.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return OA.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(A){const I=OA.intoRaw(A);this.rawSet.jointSetAnchor1(this.handle,I),I.free()}setAnchor2(A){const I=OA.intoRaw(A);this.rawSet.jointSetAnchor2(this.handle,I),I.free()}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class wI extends oI{limitsEnabled(){return this.rawSet.jointLimitsEnabled(this.handle,this.rawAxis())}limitsMin(){return this.rawSet.jointLimitsMin(this.handle,this.rawAxis())}limitsMax(){return this.rawSet.jointLimitsMax(this.handle,this.rawAxis())}setLimits(A,I){this.rawSet.jointSetLimits(this.handle,this.rawAxis(),A,I)}configureMotorModel(A){this.rawSet.jointConfigureMotorModel(this.handle,this.rawAxis(),A)}configureMotorVelocity(A,I){this.rawSet.jointConfigureMotorVelocity(this.handle,this.rawAxis(),A,I)}configureMotorPosition(A,I,g){this.rawSet.jointConfigureMotorPosition(this.handle,this.rawAxis(),A,I,g)}configureMotor(A,I,g,C){this.rawSet.jointConfigureMotor(this.handle,this.rawAxis(),A,I,g,C)}}class GI extends oI{}class KI extends oI{}class hI extends oI{}class NI extends wI{rawAxis(){return Y.LinX}}class SI extends wI{rawAxis(){return Y.AngX}}class kI{constructor(){}static fixed(A,I,g,C){let Q=new kI;return Q.anchor1=A,Q.anchor2=g,Q.frame1=I,Q.frame2=C,Q.jointType=xA.Fixed,Q}static spring(A,I,g,C,Q){let B=new kI;return B.anchor1=C,B.anchor2=Q,B.length=A,B.stiffness=I,B.damping=g,B.jointType=xA.Spring,B}static rope(A,I,g){let C=new kI;return C.anchor1=I,C.anchor2=g,C.length=A,C.jointType=xA.Rope,C}static revolute(A,I){let g=new kI;return g.anchor1=A,g.anchor2=I,g.jointType=xA.Revolute,g}static prismatic(A,I,g){let C=new kI;return C.anchor1=A,C.anchor2=I,C.axis=g,C.jointType=xA.Prismatic,C}intoRaw(){let A,I,g=OA.intoRaw(this.anchor1),C=OA.intoRaw(this.anchor2),Q=!1,B=0,E=0;switch(this.jointType){case xA.Fixed:let i=WA.intoRaw(this.frame1),D=WA.intoRaw(this.frame2);I=_.fixed(g,i,C,D),i.free(),D.free();break;case xA.Spring:I=_.spring(this.length,this.stiffness,this.damping,g,C);break;case xA.Rope:I=_.rope(this.length,g,C);break;case xA.Prismatic:A=OA.intoRaw(this.axis),this.limitsEnabled&&(Q=!0,B=this.limits[0],E=this.limits[1]),I=_.prismatic(g,C,A,Q,B,E),A.free();break;case xA.Revolute:I=_.revolute(g,C)}return g.free(),C.free(),I}}class yI{constructor(A){this.raw=A||new AA,this.map=new EI,A&&A.forEachJointHandle((I=>{this.map.set(I,oI.newTyped(A,null,I))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)))}createJoint(A,I,g,C,Q){const B=I.intoRaw(),E=this.raw.createJoint(B,g,C,Q);B.free();let i=oI.newTyped(this.raw,A,E);return this.map.set(E,i),i}remove(A,I){this.raw.remove(A,I),this.unmap(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}class sI{constructor(A,I){this.rawSet=A,this.handle=I}static newTyped(A,I){switch(A.jointType(I)){case L.Revolute:return new JI(A,I);case L.Prismatic:return new MI(A,I);case L.Fixed:return new aI(A,I);default:return new sI(A,I)}}isValid(){return this.rawSet.contains(this.handle)}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class FI extends sI{}class aI extends sI{}class MI extends FI{rawAxis(){return Y.LinX}}class JI extends FI{rawAxis(){return Y.AngX}}class UI{constructor(A){this.raw=A||new DA,this.map=new EI,A&&A.forEachJointHandle((A=>{this.map.set(A,sI.newTyped(this.raw,A))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}createJoint(A,I,g,C){const Q=A.intoRaw(),B=this.raw.createJoint(Q,I,g,C);Q.free();let E=sI.newTyped(this.raw,B);return this.map.set(B,E),E}remove(A,I){this.raw.remove(A,I),this.map.delete(A)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}getAll(){return this.map.getAll()}}!function(A){A[A.Average=0]=\"Average\",A[A.Min=1]=\"Min\",A[A.Multiply=2]=\"Multiply\",A[A.Max=3]=\"Max\"}(vA||(vA={}));class RI{constructor(A){this.raw=A||new l}free(){this.raw&&this.raw.free(),this.raw=void 0}}class cI{constructor(A){this.raw=A||new QA}free(){this.raw&&this.raw.free(),this.raw=void 0}forEachActiveRigidBodyHandle(A){this.raw.forEachActiveRigidBodyHandle(A)}}!function(A){A[A.Vertex=0]=\"Vertex\",A[A.Face=1]=\"Face\",A[A.Unknown=2]=\"Unknown\"}(VA||(VA={}));class YI{constructor(A,I){this.origin=A,this.dir=I}pointAt(A){return{x:this.origin.x+this.dir.x*A,y:this.origin.y+this.dir.y*A}}}class LI{constructor(A,I,g,C){this.featureType=VA.Unknown,this.featureId=void 0,this.timeOfImpact=A,this.normal=I,void 0!==C&&(this.featureId=C),void 0!==g&&(this.featureType=g)}static fromRaw(A){if(!A)return null;const I=new LI(A.time_of_impact(),OA.fromRaw(A.normal()),A.featureType(),A.featureId());return A.free(),I}}class qI{constructor(A,I,g,C,Q){this.featureType=VA.Unknown,this.featureId=void 0,this.collider=A,this.timeOfImpact=I,this.normal=g,void 0!==Q&&(this.featureId=Q),void 0!==C&&(this.featureType=C)}static fromRaw(A,I){if(!I)return null;const g=new qI(A.get(I.colliderHandle()),I.time_of_impact(),OA.fromRaw(I.normal()),I.featureType(),I.featureId());return I.free(),g}}class tI{constructor(A,I){this.collider=A,this.timeOfImpact=I}static fromRaw(A,I){if(!I)return null;const g=new tI(A.get(I.colliderHandle()),I.timeOfImpact());return I.free(),g}}class HI{constructor(A,I){this.point=A,this.isInside=I}static fromRaw(A){if(!A)return null;const I=new HI(OA.fromRaw(A.point()),A.isInside());return A.free(),I}}class rI{constructor(A,I,g,C,Q){this.featureType=VA.Unknown,this.featureId=void 0,this.collider=A,this.point=I,this.isInside=g,void 0!==Q&&(this.featureId=Q),void 0!==C&&(this.featureType=C)}static fromRaw(A,I){if(!I)return null;const g=new rI(A.get(I.colliderHandle()),OA.fromRaw(I.point()),I.isInside(),I.featureType(),I.featureId());return I.free(),g}}class lI{constructor(A,I,g,C,Q){this.time_of_impact=A,this.witness1=I,this.witness2=g,this.normal1=C,this.normal2=Q}static fromRaw(A,I){if(!I)return null;const g=new lI(I.time_of_impact(),OA.fromRaw(I.witness1()),OA.fromRaw(I.witness2()),OA.fromRaw(I.normal1()),OA.fromRaw(I.normal2()));return I.free(),g}}class eI extends lI{constructor(A,I,g,C,Q,B){super(I,g,C,Q,B),this.collider=A}static fromRaw(A,I){if(!I)return null;const g=new eI(A.get(I.colliderHandle()),I.time_of_impact(),OA.fromRaw(I.witness1()),OA.fromRaw(I.witness2()),OA.fromRaw(I.normal1()),OA.fromRaw(I.normal2()));return I.free(),g}}class pI{constructor(A){this.raw=A||new H}free(){this.raw&&this.raw.free(),this.raw=void 0}castRay(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C.origin),K=OA.intoRaw(C.dir),h=tI.fromRaw(g,this.raw.castRay(A.raw,I.raw,g.raw,G,K,Q,B,E,i,D,o,w));return G.free(),K.free(),h}castRayAndGetNormal(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C.origin),K=OA.intoRaw(C.dir),h=qI.fromRaw(g,this.raw.castRayAndGetNormal(A.raw,I.raw,g.raw,G,K,Q,B,E,i,D,o,w));return G.free(),K.free(),h}intersectionsWithRay(A,I,g,C,Q,B,E,i,D,o,w,G){let K=OA.intoRaw(C.origin),h=OA.intoRaw(C.dir);this.raw.intersectionsWithRay(A.raw,I.raw,g.raw,K,h,Q,B,(A=>E(qI.fromRaw(g,A))),i,D,o,w,G),K.free(),h.free()}intersectionWithShape(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C),K=WA.intoRaw(Q),h=B.intoRaw(),N=this.raw.intersectionWithShape(A.raw,I.raw,g.raw,G,K,h,E,i,D,o,w);return G.free(),K.free(),h.free(),N}projectPoint(A,I,g,C,Q,B,E,i,D,o){let w=OA.intoRaw(C),G=rI.fromRaw(g,this.raw.projectPoint(A.raw,I.raw,g.raw,w,Q,B,E,i,D,o));return w.free(),G}projectPointAndGetFeature(A,I,g,C,Q,B,E,i,D){let o=OA.intoRaw(C),w=rI.fromRaw(g,this.raw.projectPointAndGetFeature(A.raw,I.raw,g.raw,o,Q,B,E,i,D));return o.free(),w}intersectionsWithPoint(A,I,g,C,Q,B,E,i,D,o){let w=OA.intoRaw(C);this.raw.intersectionsWithPoint(A.raw,I.raw,g.raw,w,Q,B,E,i,D,o),w.free()}castShape(A,I,g,C,Q,B,E,i,D,o,w,G,K,h,N){let S=OA.intoRaw(C),k=WA.intoRaw(Q),y=OA.intoRaw(B),s=E.intoRaw(),F=eI.fromRaw(g,this.raw.castShape(A.raw,I.raw,g.raw,S,k,y,s,i,D,o,w,G,K,h,N));return S.free(),k.free(),y.free(),s.free(),F}intersectionsWithShape(A,I,g,C,Q,B,E,i,D,o,w,G){let K=OA.intoRaw(C),h=WA.intoRaw(Q),N=B.intoRaw();this.raw.intersectionsWithShape(A.raw,I.raw,g.raw,K,h,N,E,i,D,o,w,G),K.free(),h.free(),N.free()}collidersWithAabbIntersectingAabb(A,I,g,C,Q,B){let E=OA.intoRaw(C),i=OA.intoRaw(Q);this.raw.collidersWithAabbIntersectingAabb(A.raw,I.raw,g.raw,E,i,B),E.free(),i.free()}}class nI{constructor(A){this.raw=A||new wA,this.tempManifold=new dI(null)}free(){this.raw&&this.raw.free(),this.raw=void 0}contactPairsWith(A,I){this.raw.contact_pairs_with(A,I)}intersectionPairsWith(A,I){this.raw.intersection_pairs_with(A,I)}contactPair(A,I,g){const C=this.raw.contact_pair(A,I);if(C){const I=C.collider1()!=A;let Q;for(Q=0;QA.free())),this.pidControllers.forEach((A=>A.free())),this.integrationParameters=void 0,this.islands=void 0,this.broadPhase=void 0,this.narrowPhase=void 0,this.bodies=void 0,this.colliders=void 0,this.ccdSolver=void 0,this.impulseJoints=void 0,this.multibodyJoints=void 0,this.physicsPipeline=void 0,this.serializationPipeline=void 0,this.debugRenderPipeline=void 0,this.characterControllers=void 0,this.pidControllers=void 0}static fromRaw(A){return A?new Eg(OA.fromRaw(A.takeGravity()),A.takeIntegrationParameters(),A.takeIslandManager(),A.takeBroadPhase(),A.takeNarrowPhase(),A.takeBodies(),A.takeColliders(),A.takeImpulseJoints(),A.takeMultibodyJoints()):null}takeSnapshot(){return this.serializationPipeline.serializeAll(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints)}static restoreSnapshot(A){return(new Ag).deserializeAll(A)}debugRender(A,I){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase,A,I),new Ig(this.debugRenderPipeline.vertices,this.debugRenderPipeline.colors)}step(A,I){this.physicsPipeline.step(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.ccdSolver,A,I)}propagateModifiedBodyPositionsToColliders(){this.bodies.raw.propagateModifiedBodyPositionsToColliders(this.colliders.raw)}get timestep(){return this.integrationParameters.dt}set timestep(A){this.integrationParameters.dt=A}get lengthUnit(){return this.integrationParameters.lengthUnit}set lengthUnit(A){this.integrationParameters.lengthUnit=A}get numSolverIterations(){return this.integrationParameters.numSolverIterations}set numSolverIterations(A){this.integrationParameters.numSolverIterations=A}get numInternalPgsIterations(){return this.integrationParameters.numInternalPgsIterations}set numInternalPgsIterations(A){this.integrationParameters.numInternalPgsIterations=A}get maxCcdSubsteps(){return this.integrationParameters.maxCcdSubsteps}set maxCcdSubsteps(A){this.integrationParameters.maxCcdSubsteps=A}createRigidBody(A){return this.bodies.createRigidBody(this.colliders,A)}createCharacterController(A){let I=new Qg(A,this.integrationParameters,this.broadPhase,this.narrowPhase,this.bodies,this.colliders);return this.characterControllers.add(I),I}removeCharacterController(A){this.characterControllers.delete(A),A.free()}createPidController(A,I,g,C){let Q=new Bg(this.integrationParameters,this.bodies,A,I,g,C);return this.pidControllers.add(Q),Q}removePidController(A){this.pidControllers.delete(A),A.free()}createCollider(A,I){let g=I?I.handle:void 0;return this.colliders.createCollider(this.bodies,A,g)}createImpulseJoint(A,I,g,C){return this.impulseJoints.createJoint(this.bodies,A,I.handle,g.handle,C)}createMultibodyJoint(A,I,g,C){return this.multibodyJoints.createJoint(A,I.handle,g.handle,C)}getRigidBody(A){return this.bodies.get(A)}getCollider(A){return this.colliders.get(A)}getImpulseJoint(A){return this.impulseJoints.get(A)}getMultibodyJoint(A){return this.multibodyJoints.get(A)}removeRigidBody(A){this.bodies&&this.bodies.remove(A.handle,this.islands,this.colliders,this.impulseJoints,this.multibodyJoints)}removeCollider(A,I){this.colliders&&this.colliders.remove(A.handle,this.islands,this.bodies,I)}removeImpulseJoint(A,I){this.impulseJoints&&this.impulseJoints.remove(A.handle,I)}removeMultibodyJoint(A,I){this.impulseJoints&&this.multibodyJoints.remove(A.handle,I)}forEachCollider(A){this.colliders.forEach(A)}forEachRigidBody(A){this.bodies.forEach(A)}forEachActiveRigidBody(A){this.bodies.forEachActiveRigidBody(this.islands,A)}castRay(A,I,g,C,Q,B,E,i){return this.broadPhase.castRay(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i))}castRayAndGetNormal(A,I,g,C,Q,B,E,i){return this.broadPhase.castRayAndGetNormal(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i))}intersectionsWithRay(A,I,g,C,Q,B,E,i,D){this.broadPhase.intersectionsWithRay(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B,E?E.handle:null,i?i.handle:null,this.colliders.castClosure(D))}intersectionWithShape(A,I,g,C,Q,B,E,i){let D=this.broadPhase.intersectionWithShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i));return null!=D?this.colliders.get(D):null}projectPoint(A,I,g,C,Q,B,E){return this.broadPhase.projectPoint(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q?Q.handle:null,B?B.handle:null,this.colliders.castClosure(E))}projectPointAndGetFeature(A,I,g,C,Q,B){return this.broadPhase.projectPointAndGetFeature(this.narrowPhase,this.bodies,this.colliders,A,I,g,C?C.handle:null,Q?Q.handle:null,this.colliders.castClosure(B))}intersectionsWithPoint(A,I,g,C,Q,B,E){this.broadPhase.intersectionsWithPoint(this.narrowPhase,this.bodies,this.colliders,A,this.colliders.castClosure(I),g,C,Q?Q.handle:null,B?B.handle:null,this.colliders.castClosure(E))}castShape(A,I,g,C,Q,B,E,i,D,o,w,G){return this.broadPhase.castShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B,E,i,D,o?o.handle:null,w?w.handle:null,this.colliders.castClosure(G))}intersectionsWithShape(A,I,g,C,Q,B,E,i,D){this.broadPhase.intersectionsWithShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,this.colliders.castClosure(C),Q,B,E?E.handle:null,i?i.handle:null,this.colliders.castClosure(D))}collidersWithAabbIntersectingAabb(A,I,g){this.broadPhase.collidersWithAabbIntersectingAabb(this.narrowPhase,this.bodies,this.colliders,A,I,this.colliders.castClosure(g))}contactPairsWith(A,I){this.narrowPhase.contactPairsWith(A.handle,this.colliders.castClosure(I))}intersectionPairsWith(A,I){this.narrowPhase.intersectionPairsWith(A.handle,this.colliders.castClosure(I))}contactPair(A,I,g){this.narrowPhase.contactPair(A.handle,I.handle,g)}intersectionPair(A,I){return this.narrowPhase.intersectionPair(A.handle,I.handle)}set profilerEnabled(A){this.physicsPipeline.raw.set_profiler_enabled(A)}get profilerEnabled(){return this.physicsPipeline.raw.is_profiler_enabled()}timingStep(){return this.physicsPipeline.raw.timing_step()}timingCollisionDetection(){return this.physicsPipeline.raw.timing_collision_detection()}timingBroadPhase(){return this.physicsPipeline.raw.timing_broad_phase()}timingNarrowPhase(){return this.physicsPipeline.raw.timing_narrow_phase()}timingSolver(){return this.physicsPipeline.raw.timing_solver()}timingVelocityAssembly(){return this.physicsPipeline.raw.timing_velocity_assembly()}timingVelocityResolution(){return this.physicsPipeline.raw.timing_velocity_resolution()}timingVelocityUpdate(){return this.physicsPipeline.raw.timing_velocity_update()}timingVelocityWriteback(){return this.physicsPipeline.raw.timing_velocity_writeback()}timingCcd(){return this.physicsPipeline.raw.timing_ccd()}timingCcdToiComputation(){return this.physicsPipeline.raw.timing_ccd_toi_computation()}timingCcdBroadPhase(){return this.physicsPipeline.raw.timing_ccd_broad_phase()}timingCcdNarrowPhase(){return this.physicsPipeline.raw.timing_ccd_narrow_phase()}timingCcdSolver(){return this.physicsPipeline.raw.timing_ccd_solver()}timingIslandConstruction(){return this.physicsPipeline.raw.timing_island_construction()}timingUserChanges(){return this.physicsPipeline.raw.timing_user_changes()}}!function(A){A[A.NONE=0]=\"NONE\",A[A.COLLISION_EVENTS=1]=\"COLLISION_EVENTS\",A[A.CONTACT_FORCE_EVENTS=2]=\"CONTACT_FORCE_EVENTS\"}(_A||(_A={}));class ig{free(){this.raw&&this.raw.free(),this.raw=void 0}collider1(){return this.raw.collider1()}collider2(){return this.raw.collider2()}totalForce(){return OA.fromRaw(this.raw.total_force())}totalForceMagnitude(){return this.raw.total_force_magnitude()}maxForceDirection(){return OA.fromRaw(this.raw.max_force_direction())}maxForceMagnitude(){return this.raw.max_force_magnitude()}}class Dg{constructor(A,I){this.raw=I||new u(A)}free(){this.raw&&this.raw.free(),this.raw=void 0}drainCollisionEvents(A){this.raw.drainCollisionEvents(A)}drainContactForceEvents(A){let I=new ig;this.raw.drainContactForceEvents((g=>{I.raw=g,A(I),I.free()}))}clear(){this.raw.clear()}}!function(A){A[A.NONE=0]=\"NONE\",A[A.FILTER_CONTACT_PAIRS=1]=\"FILTER_CONTACT_PAIRS\",A[A.FILTER_INTERSECTION_PAIRS=2]=\"FILTER_INTERSECTION_PAIRS\"}($A||($A={})),function(A){A[A.EMPTY=0]=\"EMPTY\",A[A.COMPUTE_IMPULSE=1]=\"COMPUTE_IMPULSE\"}(AI||(AI={})),function(A){A[A.EXCLUDE_FIXED=1]=\"EXCLUDE_FIXED\",A[A.EXCLUDE_KINEMATIC=2]=\"EXCLUDE_KINEMATIC\",A[A.EXCLUDE_DYNAMIC=4]=\"EXCLUDE_DYNAMIC\",A[A.EXCLUDE_SENSORS=8]=\"EXCLUDE_SENSORS\",A[A.EXCLUDE_SOLIDS=16]=\"EXCLUDE_SOLIDS\",A[A.ONLY_DYNAMIC=3]=\"ONLY_DYNAMIC\",A[A.ONLY_KINEMATIC=5]=\"ONLY_KINEMATIC\",A[A.ONLY_FIXED=6]=\"ONLY_FIXED\"}(II||(II={})),function(A){A[A.DYNAMIC_DYNAMIC=1]=\"DYNAMIC_DYNAMIC\",A[A.DYNAMIC_KINEMATIC=12]=\"DYNAMIC_KINEMATIC\",A[A.DYNAMIC_FIXED=2]=\"DYNAMIC_FIXED\",A[A.KINEMATIC_KINEMATIC=52224]=\"KINEMATIC_KINEMATIC\",A[A.KINEMATIC_FIXED=8704]=\"KINEMATIC_FIXED\",A[A.FIXED_FIXED=32]=\"FIXED_FIXED\",A[A.DEFAULT=15]=\"DEFAULT\",A[A.ALL=60943]=\"ALL\"}(gI||(gI={}));class og{constructor(A,I,g,C){this.colliderSet=A,this.handle=I,this._parent=g,this._shape=C}finalizeDeserialization(A){null!=this.handle&&(this._parent=A.get(this.colliderSet.raw.coParent(this.handle)))}ensureShapeIsCached(){this._shape||(this._shape=fI.fromRaw(this.colliderSet.raw,this.handle))}get shape(){return this.ensureShapeIsCached(),this._shape}clearShapeCache(){this._shape=null}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return OA.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}translationWrtParent(){return OA.fromRaw(this.colliderSet.raw.coTranslationWrtParent(this.handle))}rotation(){return WA.fromRaw(this.colliderSet.raw.coRotation(this.handle))}rotationWrtParent(){return WA.fromRaw(this.colliderSet.raw.coRotationWrtParent(this.handle))}isSensor(){return this.colliderSet.raw.coIsSensor(this.handle)}setSensor(A){this.colliderSet.raw.coSetSensor(this.handle,A)}setShape(A){let I=A.intoRaw();this.colliderSet.raw.coSetShape(this.handle,I),I.free(),this._shape=A}setEnabled(A){this.colliderSet.raw.coSetEnabled(this.handle,A)}isEnabled(){return this.colliderSet.raw.coIsEnabled(this.handle)}setRestitution(A){this.colliderSet.raw.coSetRestitution(this.handle,A)}setFriction(A){this.colliderSet.raw.coSetFriction(this.handle,A)}frictionCombineRule(){return this.colliderSet.raw.coFrictionCombineRule(this.handle)}setFrictionCombineRule(A){this.colliderSet.raw.coSetFrictionCombineRule(this.handle,A)}restitutionCombineRule(){return this.colliderSet.raw.coRestitutionCombineRule(this.handle)}setRestitutionCombineRule(A){this.colliderSet.raw.coSetRestitutionCombineRule(this.handle,A)}setCollisionGroups(A){this.colliderSet.raw.coSetCollisionGroups(this.handle,A)}setSolverGroups(A){this.colliderSet.raw.coSetSolverGroups(this.handle,A)}contactSkin(){return this.colliderSet.raw.coContactSkin(this.handle)}setContactSkin(A){return this.colliderSet.raw.coSetContactSkin(this.handle,A)}activeHooks(){return this.colliderSet.raw.coActiveHooks(this.handle)}setActiveHooks(A){this.colliderSet.raw.coSetActiveHooks(this.handle,A)}activeEvents(){return this.colliderSet.raw.coActiveEvents(this.handle)}setActiveEvents(A){this.colliderSet.raw.coSetActiveEvents(this.handle,A)}activeCollisionTypes(){return this.colliderSet.raw.coActiveCollisionTypes(this.handle)}setContactForceEventThreshold(A){return this.colliderSet.raw.coSetContactForceEventThreshold(this.handle,A)}contactForceEventThreshold(){return this.colliderSet.raw.coContactForceEventThreshold(this.handle)}setActiveCollisionTypes(A){this.colliderSet.raw.coSetActiveCollisionTypes(this.handle,A)}setDensity(A){this.colliderSet.raw.coSetDensity(this.handle,A)}setMass(A){this.colliderSet.raw.coSetMass(this.handle,A)}setMassProperties(A,I,g){let C=OA.intoRaw(I);this.colliderSet.raw.coSetMassProperties(this.handle,A,C,g),C.free()}setTranslation(A){this.colliderSet.raw.coSetTranslation(this.handle,A.x,A.y)}setTranslationWrtParent(A){this.colliderSet.raw.coSetTranslationWrtParent(this.handle,A.x,A.y)}setRotation(A){this.colliderSet.raw.coSetRotation(this.handle,A)}setRotationWrtParent(A){this.colliderSet.raw.coSetRotationWrtParent(this.handle,A)}shapeType(){return this.colliderSet.raw.coShapeType(this.handle)}halfExtents(){return OA.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(A){const I=OA.intoRaw(A);this.colliderSet.raw.coSetHalfExtents(this.handle,I)}radius(){return this.colliderSet.raw.coRadius(this.handle)}setRadius(A){this.colliderSet.raw.coSetRadius(this.handle,A)}roundRadius(){return this.colliderSet.raw.coRoundRadius(this.handle)}setRoundRadius(A){this.colliderSet.raw.coSetRoundRadius(this.handle,A)}halfHeight(){return this.colliderSet.raw.coHalfHeight(this.handle)}setHalfHeight(A){this.colliderSet.raw.coSetHalfHeight(this.handle,A)}setVoxel(A,I,g){this.colliderSet.raw.coSetVoxel(this.handle,A,I,g),this._shape=null}propagateVoxelChange(A,I,g,C,Q){this.colliderSet.raw.coPropagateVoxelChange(this.handle,A.handle,I,g,C,Q),this._shape=null}combineVoxelStates(A,I,g){this.colliderSet.raw.coCombineVoxelStates(this.handle,A.handle,I,g),this._shape=null}vertices(){return this.colliderSet.raw.coVertices(this.handle)}indices(){return this.colliderSet.raw.coIndices(this.handle)}heightfieldHeights(){return this.colliderSet.raw.coHeightfieldHeights(this.handle)}heightfieldScale(){let A=this.colliderSet.raw.coHeightfieldScale(this.handle);return OA.fromRaw(A)}parent(){return this._parent}friction(){return this.colliderSet.raw.coFriction(this.handle)}restitution(){return this.colliderSet.raw.coRestitution(this.handle)}density(){return this.colliderSet.raw.coDensity(this.handle)}mass(){return this.colliderSet.raw.coMass(this.handle)}volume(){return this.colliderSet.raw.coVolume(this.handle)}collisionGroups(){return this.colliderSet.raw.coCollisionGroups(this.handle)}solverGroups(){return this.colliderSet.raw.coSolverGroups(this.handle)}containsPoint(A){let I=OA.intoRaw(A),g=this.colliderSet.raw.coContainsPoint(this.handle,I);return I.free(),g}projectPoint(A,I){let g=OA.intoRaw(A),C=HI.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,g,I));return g.free(),C}intersectsRay(A,I){let g=OA.intoRaw(A.origin),C=OA.intoRaw(A.dir),Q=this.colliderSet.raw.coIntersectsRay(this.handle,g,C,I);return g.free(),C.free(),Q}castShape(A,I,g,C,Q,B,E,i){let D=OA.intoRaw(A),o=OA.intoRaw(g),w=WA.intoRaw(C),G=OA.intoRaw(Q),K=I.intoRaw(),h=lI.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,D,K,o,w,G,B,E,i));return D.free(),o.free(),w.free(),G.free(),K.free(),h}castCollider(A,I,g,C,Q,B){let E=OA.intoRaw(A),i=OA.intoRaw(g),D=eI.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,E,I.handle,i,C,Q,B));return E.free(),i.free(),D}intersectsShape(A,I,g){let C=OA.intoRaw(I),Q=WA.intoRaw(g),B=A.intoRaw(),E=this.colliderSet.raw.coIntersectsShape(this.handle,B,C,Q);return C.free(),Q.free(),B.free(),E}contactShape(A,I,g,C){let Q=OA.intoRaw(I),B=WA.intoRaw(g),E=A.intoRaw(),i=bI.fromRaw(this.colliderSet.raw.coContactShape(this.handle,E,Q,B,C));return Q.free(),B.free(),E.free(),i}contactCollider(A,I){return bI.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,A.handle,I))}castRay(A,I,g){let C=OA.intoRaw(A.origin),Q=OA.intoRaw(A.dir),B=this.colliderSet.raw.coCastRay(this.handle,C,Q,I,g);return C.free(),Q.free(),B}castRayAndGetNormal(A,I,g){let C=OA.intoRaw(A.origin),Q=OA.intoRaw(A.dir),B=LI.fromRaw(this.colliderSet.raw.coCastRayAndGetNormal(this.handle,C,Q,I,g));return C.free(),Q.free(),B}}!function(A){A[A.Density=0]=\"Density\",A[A.Mass=1]=\"Mass\",A[A.MassProps=2]=\"MassProps\"}(CI||(CI={}));class wg{constructor(A){this.enabled=!0,this.shape=A,this.massPropsMode=CI.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=WA.identity(),this.translation=OA.zeros(),this.isSensor=!1,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=vA.Average,this.restitutionCombineRule=vA.Average,this.activeCollisionTypes=gI.DEFAULT,this.activeEvents=_A.NONE,this.activeHooks=$A.NONE,this.mass=0,this.centerOfMass=OA.zeros(),this.contactForceEventThreshold=0,this.contactSkin=0,this.principalAngularInertia=0,this.rotationsEnabled=!0}static ball(A){const I=new TI(A);return new wg(I)}static capsule(A,I){const g=new jI(A,I);return new wg(g)}static segment(A,I){const g=new xI(A,I);return new wg(g)}static triangle(A,I,g){const C=new XI(A,I,g);return new wg(C)}static roundTriangle(A,I,g,C){const Q=new mI(A,I,g,C);return new wg(Q)}static polyline(A,I){const g=new vI(A,I);return new wg(g)}static voxels(A,I){const g=new VI(A,I);return new wg(g)}static trimesh(A,I,g){const C=new PI(A,I,g);return new wg(C)}static cuboid(A,I){const g=new OI(A,I);return new wg(g)}static roundCuboid(A,I,g){const C=new WI(A,I,g);return new wg(C)}static halfspace(A){const I=new ZI(A);return new wg(I)}static heightfield(A,I){const g=new _I(A,I);return new wg(g)}static convexHull(A){const I=new uI(A,!1);return new wg(I)}static convexPolyline(A){const I=new uI(A,!0);return new wg(I)}static roundConvexHull(A,I){const g=new zI(A,I,!1);return new wg(g)}static roundConvexPolyline(A,I){const g=new zI(A,I,!0);return new wg(g)}setTranslation(A,I){if(\"number\"!=typeof A||\"number\"!=typeof I)throw TypeError(\"The translation components must be numbers.\");return this.translation={x:A,y:I},this}setRotation(A){return this.rotation=A,this}setSensor(A){return this.isSensor=A,this}setEnabled(A){return this.enabled=A,this}setContactSkin(A){return this.contactSkin=A,this}setDensity(A){return this.massPropsMode=CI.Density,this.density=A,this}setMass(A){return this.massPropsMode=CI.Mass,this.mass=A,this}setMassProperties(A,I,g){return this.massPropsMode=CI.MassProps,this.mass=A,OA.copy(this.centerOfMass,I),this.principalAngularInertia=g,this}setRestitution(A){return this.restitution=A,this}setFriction(A){return this.friction=A,this}setFrictionCombineRule(A){return this.frictionCombineRule=A,this}setRestitutionCombineRule(A){return this.restitutionCombineRule=A,this}setCollisionGroups(A){return this.collisionGroups=A,this}setSolverGroups(A){return this.solverGroups=A,this}setActiveHooks(A){return this.activeHooks=A,this}setActiveEvents(A){return this.activeEvents=A,this}setActiveCollisionTypes(A){return this.activeCollisionTypes=A,this}setContactForceEventThreshold(A){return this.contactForceEventThreshold=A,this}}class Gg{constructor(A){this.raw=A||new d,this.map=new EI,A&&A.forEachColliderHandle((A=>{this.map.set(A,new og(this,A,null))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}castClosure(A){return I=>A?A(this.get(I)):void 0}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)))}createCollider(A,I,g){let C=null!=g&&null!=g;if(C&&isNaN(g))throw Error(\"Cannot create a collider with a parent rigid-body handle that is not a number.\");let Q=I.shape.intoRaw(),B=OA.intoRaw(I.translation),E=WA.intoRaw(I.rotation),i=OA.intoRaw(I.centerOfMass),D=this.raw.createCollider(I.enabled,Q,B,E,I.massPropsMode,I.mass,i,I.principalAngularInertia,I.density,I.friction,I.restitution,I.frictionCombineRule,I.restitutionCombineRule,I.isSensor,I.collisionGroups,I.solverGroups,I.activeCollisionTypes,I.activeHooks,I.activeEvents,I.contactForceEventThreshold,I.contactSkin,C,C?g:0,A.raw);Q.free(),B.free(),E.free(),i.free();let o=C?A.get(g):null,w=new og(this,D,o,I.shape);return this.map.set(D,w),w}remove(A,I,g,C){this.raw.remove(A,I.raw,g.raw,C),this.unmap(A)}unmap(A){this.map.delete(A)}get(A){return this.map.get(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}function Kg(A,I,g,C){return new(g||(g=Promise))((function(Q,B){function E(A){try{D(C.next(A))}catch(A){B(A)}}function i(A){try{D(C.throw(A))}catch(A){B(A)}}function D(A){var I;A.done?Q(A.value):(I=A.value,I instanceof g?I:new g((function(A){A(I)}))).then(E,i)}D((C=C.apply(A,I||[])).next())}))}for(var hg={byteLength:function(A){var I=ag(A),g=I[0],C=I[1];return 3*(g+C)/4-C},toByteArray:function(A){var I,g,C=ag(A),Q=C[0],B=C[1],E=new kg(function(A,I,g){return 3*(I+g)/4-g}(0,Q,B)),i=0,D=B>0?Q-4:Q;for(g=0;g>16&255,E[i++]=I>>8&255,E[i++]=255&I;2===B&&(I=Sg[A.charCodeAt(g)]<<2|Sg[A.charCodeAt(g+1)]>>4,E[i++]=255&I);1===B&&(I=Sg[A.charCodeAt(g)]<<10|Sg[A.charCodeAt(g+1)]<<4|Sg[A.charCodeAt(g+2)]>>2,E[i++]=I>>8&255,E[i++]=255&I);return E},fromByteArray:function(A){for(var I,g=A.length,C=g%3,Q=[],B=16383,E=0,i=g-C;Ei?i:E+B));1===C?(I=A[g-1],Q.push(Ng[I>>2]+Ng[I<<4&63]+\"==\")):2===C&&(I=(A[g-2]<<8)+A[g-1],Q.push(Ng[I>>10]+Ng[I>>4&63]+Ng[I<<2&63]+\"=\"));return Q.join(\"\")}},Ng=[],Sg=[],kg=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,yg=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",sg=0,Fg=yg.length;sg0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var g=A.indexOf(\"=\");return-1===g&&(g=I),[g,g===I?0:4-g%4]}function Mg(A,I,g){for(var C,Q,B=[],E=I;E>18&63]+Ng[Q>>12&63]+Ng[Q>>6&63]+Ng[63&Q]);return B.join(\"\")}function Jg(){return Kg(this,void 0,void 0,(function*(){yield TA(hg.toByteArray(\"AGFzbQEAAAABzQyiAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwBgBX9/f39/AGACf3wBf2AGf39/f31/AGABfwF9YAZ/f39/f38AYAV/f399fwBgA398fwBgAX8BfGAFf39/f30AYAR/f39/AX9gAAF/YAZ/f39/f30AYAR/f399AX9gDH9/f39/f39/f399fwF/YAR/f39/AX1gA39/fQF/YAN/f38BfWACf3wBfWADf399AGADf3x9AGADf39/AX5gBn9/f39/fwF/YAJ/fQBgBX9/f39/AX9gB39/f39/f38AYAR/fH9/AGAAAGABfQF9YAh/f39/fX9/fwBgCH9/f39/f39/AGAEf35/fwF/YAJ/fAF8YAR/fH1/AGACf38BfWAJf39/f39/f39/AGAIf39/f39/f30AYAR/f399AGAFf3x/f38AYAN/f3wAYAt/f39/f39/f319fwBgA398fwF/YAN/fH8BfWAGf31/f399AGAJf39/f39/fX9/AX9gA39+fgBgBH98fX0AYAF9AX9gAn19AX9gA399fwBgBH99f38AYAZ/f39/fn8AYAl/f39/f31/f38AYAp/f39/f399f39/AGALf39/f39/f399f38AYAZ/f319f38AYAt/f39/f39/fX9/fwBgCH9/f399fX9/AGAPf39/f39/f39/fH98f3x/AGAJf39/fX1/f39/AGAMf39/f31/f39/fX9/AGAPf39/f39/fX9/fH98f3x/AX9gAn9+AX9gBn9/fX9/fwBgCH9/fX1+f39/AGACfn8Bf2AFf398fH8BfGADf3x8AX9gBX98f319AGACf3wAYAN/fX0Bf2ABfAF/YA5/f39/f39/f39/f39/fwBgB39/f39/f30AYA9/f39/f39/f39/f399fX8AYAd/f35/f39/AX1gC39/f31/f31/fX1/AGAKf39/f39/f319fwBgCX99f39/f39/fwF/YAt/f39/f39/f319fwF/YA9/f39/f39/f39/f39/f38AYAp/f39/f39/f39/AX9gCX9/f39/f31/fwBgC39/f39/f39/f39/AGASf39/f39/f39/f39/fX99fX19AGASf39/f39/f399fX9/fH98f3x/AX9gB39/f39/f30Bf2AQf39/f39/fX9/f3x/fH98fwBgBn9/f399fQF/YAx/f39/fX9/f39/f38AYAZ/fH9/f30Bf2AKf3x/f39/f319fwF/YAt/fX9/f39/f319fwBgDX9/f39/f398f3x/fH8AYAt/f39/fX9/f39/fwBgB39/f39/fX8Bf2AJf31/fn9+fX1/AGANf39/f39/f3x/fH98fwF/YAx/f39/f398f3x/fH8Bf2Aaf39/f39/f31/fX19fX9/f39/f39/fX1/fH8AYAp/f39/f319fX9/AX1gDX99f39/f3x/f3x/fH8AYAN/fn4BfWADfn9/AX9gB39/f39/fX8BfWAJf31/fX99fX1/AGASf39/f39/f39/f39/f39/f39/AGAJf319fX19fX19AGAGf39/f399AX9gF39/f399fX9/f319f39/fX1/f399f39/AXxgDH9/f39/f39/f39/fwBgBn98f399fwF/YAZ/fH9/f38AYAV/fH9/fwF/YAN/fn8Bf2AGf31/fH9/AX9gBn99f3x/fwBgCH98f3x/fX1/AX9gBX19fX9/AX9gA31/fwF/YAZ/fH9/fX8BfWAGf39/f319AGAFf3x/f30Bf2AEf3x/fwF/YAl/f39/f39+fn4AYAZ/fX98fX0AYAZ/fH1/fX8AYAV/fH1/fQBgB39/f39/f38Bf2ANf39/f39/f39/f39/fwBgBn99f3x9fQF9YAR/fHx9AX9gBX98fX1/AGADf399AX1gA398fwF8YAp/f39/f39/f39/AGAGf3x/fX19AGAHf3x/fX19fQBgAn9+AGAEfX19fwF/YAh/f39/f39/fwF/YAd/fHx/f39/AGAFf3x8f38AYAR/f35/AGADf39+AX9gBX9+f35/AGACfX0AYAR/fX1/AGADfX19AX9gBn99f319fQF9YAZ/f319fX0AYAV/f3x/fwBgBX9/fn9/AGAEf35/fwBgBX9/fX9/AGACfX0BfQKrCSADd2JnFV9fd2JpbmRnZW5fbnVtYmVyX25ldwBNA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAQDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAYDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAA3diZxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAQDd2JnJF9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX25ldwAEA3diZx5fX3diZ19yYXdjb250YWN0Zm9yY2VldmVudF9uZXcABAN3YmciX193YmdfcGVyZm9ybWFuY2VfN2EzZmZkMGIxN2Y2NjNhZAAEA3diZxdfX3diaW5kZ2VuX2lzX3VuZGVmaW5lZAAEA3diZxpfX3diZ19ub3dfMmM5NWM5ZGUwMTI5MzE3MwAOA3diZxtfX3diaW5kZ2VuX29iamVjdF9jbG9uZV9yZWYABAN3YmcgX193YmdfbmV3bm9hcmdzXzEwNWVkNDcxNDc1YWFmNTAAAwN3YmcbX193YmdfY2FsbF82NzJhNGQyMTYzNGQ0YTI0AAMDd2JnG19fd2JnX2NhbGxfN2NjY2RkNjllMDc5MWFlMgAFA3diZxtfX3diZ19jYWxsXzgzM2JlZDU3NzBlYTIwNDEAEAN3YmcbX193YmdfY2FsbF9iOGFkYzhiMWQwYTBkOGViAB4Dd2JnG19fd2JnX2JpbmRfYzgzNTliMWNiYTA1ODE2OAAQA3diZx1fX3diZ19idWZmZXJfNjA5Y2MzZWVlNTFlZDE1OAAEA3diZzJfX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMX1RISVNfNTY1NzhiZTdlOWY4MzJiMAARA3diZytfX3diZ19zdGF0aWNfYWNjZXNzb3JfU0VMRl8zN2M1ZDQxOGU0YmY1ODE5ABEDd2JnLV9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9XSU5ET1dfNWRlMzcwNDNhOTFhOWM0MAARA3diZy1fX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMXzg4YTkwMmQxM2E1NTdkMDcAEQN3YmcxX193YmdfbmV3d2l0aGJ5dGVvZmZzZXRhbmRsZW5ndGhfZDk3ZTYzN2ViZTE0NWE5YQAFA3diZxpfX3diZ19uZXdfYTEyMDAyYTdmOTFjNzViZQAEA3diZxpfX3diZ19zZXRfNjU1OTViZGQ4NjhiMzAwOQABA3diZx1fX3diZ19sZW5ndGhfYTQ0NjE5M2RjMjJjMTJmOAAEA3diZzFfX3diZ19uZXd3aXRoYnl0ZW9mZnNldGFuZGxlbmd0aF9lNmI3ZTY5YWNkNGM3MzU0AAUDd2JnGl9fd2JnX3NldF8xMGJhZDliZWUwZTljNThiAAEDd2Jn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AAAAAAAAAAAAAQAAAAAAAAAAAwMAAwEHBgEBAQYDBAMDAwMDAwAhIQMBGQoDAwMAAwMDAwMDAAEHBKEBCgoiIgMECgQECgQEAwUECgQEBAQECgQEBAQECgcxAAYEBwFwAZsImwgFAwEAEQYJAX8BQYCAwAALB/6BAdIDBm1lbW9yeQIAB3ZlcnNpb24A+goqX193YmdfcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9mcmVlAMwGI3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbmV3AMcHJXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0VXAAmAQxcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9ub3JtYWxOdWRnZUZhY3RvcgCTCjRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE5vcm1hbE51ZGdlRmFjdG9yAMAKJnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfb2Zmc2V0AJQKKXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0T2Zmc2V0AJUKLHJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2xpZGVFbmFibGVkAJYKL3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0U2xpZGVFbmFibGVkALYKMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBNYXhIZWlnaHQA0AkwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcE1pbldpZHRoANEJPXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBJbmNsdWRlc0R5bmFtaWNCb2RpZXMAwgkvcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcEVuYWJsZWQAhgoucmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9lbmFibGVBdXRvc3RlcACzCS9yYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVBdXRvc3RlcADBCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21heFNsb3BlQ2xpbWJBbmdsZQCXCjVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1heFNsb3BlQ2xpbWJBbmdsZQDCCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21pblNsb3BlU2xpZGVBbmdsZQCYCjVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1pblNsb3BlU2xpZGVBbmdsZQDDCjRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZERpc3RhbmNlANIJMnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlU25hcFRvR3JvdW5kAJkKM3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZGlzYWJsZVNuYXBUb0dyb3VuZADECjNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZEVuYWJsZWQAhwo3cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlQ29sbGlkZXJNb3ZlbWVudAD8ATByYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkTW92ZW1lbnQAzggwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZEdyb3VuZGVkAJoKNXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbnVtQ29tcHV0ZWRDb2xsaXNpb25zAJsKMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRDb2xsaXNpb24A1gQgX193YmdfcmF3Y2hhcmFjdGVyY29sbGlzaW9uX2ZyZWUA2QcZcmF3Y2hhcmFjdGVyY29sbGlzaW9uX25ldwDJCBxyYXdjaGFyYWN0ZXJjb2xsaXNpb25faGFuZGxlAJwKLXJhd2NoYXJhY3RlcmNvbGxpc2lvbl90cmFuc2xhdGlvbkRlbHRhQXBwbGllZADPCC9yYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25EZWx0YVJlbWFpbmluZwDQCBlyYXdjaGFyYWN0ZXJjb2xsaXNpb25fdG9pAJ0KI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MxANEII3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MyALsGInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDEA0ggicmF3Y2hhcmFjdGVyY29sbGlzaW9uX3dvcmxkTm9ybWFsMgCbBxtfX3diZ19yYXdwaWRjb250cm9sbGVyX2ZyZWUA2gcUcmF3cGlkY29udHJvbGxlcl9uZXcAwgYXcmF3cGlkY29udHJvbGxlcl9zZXRfa3AAmAgXcmF3cGlkY29udHJvbGxlcl9zZXRfa2kAmQgXcmF3cGlkY29udHJvbGxlcl9zZXRfa2QAmggecmF3cGlkY29udHJvbGxlcl9zZXRfYXhlc19tYXNrAPEJIHJhd3BpZGNvbnRyb2xsZXJfcmVzZXRfaW50ZWdyYWxzAIoIKHJhd3BpZGNvbnRyb2xsZXJfYXBwbHlfbGluZWFyX2NvcnJlY3Rpb24AvwIpcmF3cGlkY29udHJvbGxlcl9hcHBseV9hbmd1bGFyX2NvcnJlY3Rpb24AzgMicmF3cGlkY29udHJvbGxlcl9saW5lYXJfY29ycmVjdGlvbgC4AiNyYXdwaWRjb250cm9sbGVyX2FuZ3VsYXJfY29ycmVjdGlvbgD/AxdfX3diZ19yYXdjY2Rzb2x2ZXJfZnJlZQDbBxxyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRUeXBlAKwFI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUxAPMFI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUyAPQFH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEZyYW1lWDEA2wQfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMgDXBB9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRBbmNob3IxAIkFH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjIAigUicmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0QW5jaG9yMQCZBCJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IyAJoEJ3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbnRhY3RzRW5hYmxlZAD1BSpyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAzQYlcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZACeBSFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNaW4AwAUhcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzTWF4AMEFIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldExpbWl0cwDHBStyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3Rvck1vZGVsALQFLnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yVmVsb2NpdHkA2wUucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JQb3NpdGlvbgDcBSZyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvcgDdBR1fX3diZ19yYXdpbXB1bHNlam9pbnRzZXRfZnJlZQDgBRZyYXdpbXB1bHNlam9pbnRzZXRfbmV3AOIIHnJhd2ltcHVsc2Vqb2ludHNldF9jcmVhdGVKb2ludADIBBlyYXdpbXB1bHNlam9pbnRzZXRfcmVtb3ZlAL4HFnJhd2ltcHVsc2Vqb2ludHNldF9sZW4AngobcmF3aW1wdWxzZWpvaW50c2V0X2NvbnRhaW5zAO0GJXJhd2ltcHVsc2Vqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUAowQycmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAwAcjX193YmdfcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2ZyZWUA3AcccmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX25ldwDbCRtyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZHQAnwokcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2NvbnRhY3RfZXJwAPQILHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1Tb2x2ZXJJdGVyYXRpb25zAKAKMXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1JbnRlcm5hbFBnc0l0ZXJhdGlvbnMAngomcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21pbklzbGFuZFNpemUAoQoncmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21heENjZFN1YnN0ZXBzAKIKI3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19sZW5ndGhVbml0AKMKH3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZHQAxQo2cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9jb250YWN0X25hdHVyYWxfZnJlcXVlbmN5AMYKOXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgDHCjlyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X25vcm1hbGl6ZWRQcmVkaWN0aW9uRGlzdGFuY2UAyAowcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1Tb2x2ZXJJdGVyYXRpb25zAMkKNXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbnVtSW50ZXJuYWxQZ3NJdGVyYXRpb25zAMoKKnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWluSXNsYW5kU2l6ZQDLCityYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X21heENjZFN1YnN0ZXBzAMwKJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbGVuZ3RoVW5pdADNChtfX3diZ19yYXdpc2xhbmRtYW5hZ2VyX2ZyZWUArwQUcmF3aXNsYW5kbWFuYWdlcl9uZXcA3AktcmF3aXNsYW5kbWFuYWdlcl9mb3JFYWNoQWN0aXZlUmlnaWRCb2R5SGFuZGxlAKcEGl9fd2JnX3Jhd2dlbmVyaWNqb2ludF9mcmVlAN0HFnJhd2dlbmVyaWNqb2ludF9zcHJpbmcAzgIUcmF3Z2VuZXJpY2pvaW50X3JvcGUA0gIZcmF3Z2VuZXJpY2pvaW50X3ByaXNtYXRpYwC/ARVyYXdnZW5lcmljam9pbnRfZml4ZWQA/wEYcmF3Z2VuZXJpY2pvaW50X3Jldm9sdXRlALwCHnJhd211bHRpYm9keWpvaW50c2V0X2pvaW50VHlwZQDCBCFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEZyYW1lWDEAkgQhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgyAIoEIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50QW5jaG9yMQCrBCFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjIArAQpcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRDb250YWN0c0VuYWJsZWQAkgUscmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAvQUncmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRMaW1pdHNFbmFibGVkALYEI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWluANEEI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWF4ANIEH19fd2JnX3Jhd211bHRpYm9keWpvaW50c2V0X2ZyZWUA4QUYcmF3bXVsdGlib2R5am9pbnRzZXRfbmV3AOMIIHJhd211bHRpYm9keWpvaW50c2V0X2NyZWF0ZUpvaW50AMkEG3Jhd211bHRpYm9keWpvaW50c2V0X3JlbW92ZQDIBx1yYXdtdWx0aWJvZHlqb2ludHNldF9jb250YWlucwC8BidyYXdtdWx0aWJvZHlqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUAwwc0cmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50QXR0YWNoZWRUb1JpZ2lkQm9keQDBBx1yYXdyaWdpZGJvZHlzZXRfcmJUcmFuc2xhdGlvbgCLBRpyYXdyaWdpZGJvZHlzZXRfcmJSb3RhdGlvbgDkBBdyYXdyaWdpZGJvZHlzZXRfcmJTbGVlcACcBxxyYXdyaWdpZGJvZHlzZXRfcmJJc1NsZWVwaW5nAIcGGnJhd3JpZ2lkYm9keXNldF9yYklzTW92aW5nALAGIXJhd3JpZ2lkYm9keXNldF9yYk5leHRUcmFuc2xhdGlvbgCTBR5yYXdyaWdpZGJvZHlzZXRfcmJOZXh0Um90YXRpb24A3AQgcmF3cmlnaWRib2R5c2V0X3JiU2V0VHJhbnNsYXRpb24AiwQdcmF3cmlnaWRib2R5c2V0X3JiU2V0Um90YXRpb24A9QcbcmF3cmlnaWRib2R5c2V0X3JiU2V0TGludmVsAIAEG3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3ZlbACRBS1yYXdyaWdpZGJvZHlzZXRfcmJTZXROZXh0S2luZW1hdGljVHJhbnNsYXRpb24A9gUqcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1JvdGF0aW9uAOEENnJhd3JpZ2lkYm9keXNldF9yYlJlY29tcHV0ZU1hc3NQcm9wZXJ0aWVzRnJvbUNvbGxpZGVycwClBCNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzcwCIBi1yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzc1Byb3BlcnRpZXMA0AMYcmF3cmlnaWRib2R5c2V0X3JiTGludmVsAJQFGHJhd3JpZ2lkYm9keXNldF9yYkFuZ3ZlbACJBiFyYXdyaWdpZGJvZHlzZXRfcmJWZWxvY2l0eUF0UG9pbnQAwAMicmF3cmlnaWRib2R5c2V0X3JiTG9ja1RyYW5zbGF0aW9ucwDFBChyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkVHJhbnNsYXRpb25zAJsEH3Jhd3JpZ2lkYm9keXNldF9yYkxvY2tSb3RhdGlvbnMAxgQgcmF3cmlnaWRib2R5c2V0X3JiRG9taW5hbmNlR3JvdXAAigYjcmF3cmlnaWRib2R5c2V0X3JiU2V0RG9taW5hbmNlR3JvdXAA7gUbcmF3cmlnaWRib2R5c2V0X3JiRW5hYmxlQ2NkAO4GJnJhd3JpZ2lkYm9keXNldF9yYlNldFNvZnRDY2RQcmVkaWN0aW9uAPYGFnJhd3JpZ2lkYm9keXNldF9yYk1hc3MA2AUZcmF3cmlnaWRib2R5c2V0X3JiSW52TWFzcwCLBiJyYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVJbnZNYXNzAJUFGnJhd3JpZ2lkYm9keXNldF9yYkxvY2FsQ29tAJYFGnJhd3JpZ2lkYm9keXNldF9yYldvcmxkQ29tAJcFJXJhd3JpZ2lkYm9keXNldF9yYkludlByaW5jaXBhbEluZXJ0aWEAjAYicmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYQDZBSpyYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVXb3JsZEludkluZXJ0aWEAjQYpcmF3cmlnaWRib2R5c2V0X3JiRWZmZWN0aXZlQW5ndWxhckluZXJ0aWEAjgYYcmF3cmlnaWRib2R5c2V0X3JiV2FrZVVwAOkFHnJhd3JpZ2lkYm9keXNldF9yYklzQ2NkRW5hYmxlZACPBiNyYXdyaWdpZGJvZHlzZXRfcmJTb2Z0Q2NkUHJlZGljdGlvbgCQBh5yYXdyaWdpZGJvZHlzZXRfcmJOdW1Db2xsaWRlcnMAkQYacmF3cmlnaWRib2R5c2V0X3JiQ29sbGlkZXIArQUacmF3cmlnaWRib2R5c2V0X3JiQm9keVR5cGUAkgYdcmF3cmlnaWRib2R5c2V0X3JiU2V0Qm9keVR5cGUA/wUZcmF3cmlnaWRib2R5c2V0X3JiSXNGaXhlZADqBR1yYXdyaWdpZGJvZHlzZXRfcmJJc0tpbmVtYXRpYwDrBRtyYXdyaWdpZGJvZHlzZXRfcmJJc0R5bmFtaWMA7wUfcmF3cmlnaWRib2R5c2V0X3JiTGluZWFyRGFtcGluZwCTBiByYXdyaWdpZGJvZHlzZXRfcmJBbmd1bGFyRGFtcGluZwCUBiJyYXdyaWdpZGJvZHlzZXRfcmJTZXRMaW5lYXJEYW1waW5nAPcGI3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3VsYXJEYW1waW5nAPgGHHJhd3JpZ2lkYm9keXNldF9yYlNldEVuYWJsZWQA7wYbcmF3cmlnaWRib2R5c2V0X3JiSXNFbmFibGVkAJUGHnJhd3JpZ2lkYm9keXNldF9yYkdyYXZpdHlTY2FsZQCWBiFyYXdyaWdpZGJvZHlzZXRfcmJTZXRHcmF2aXR5U2NhbGUAwgUdcmF3cmlnaWRib2R5c2V0X3JiUmVzZXRGb3JjZXMA8AYecmF3cmlnaWRib2R5c2V0X3JiUmVzZXRUb3JxdWVzALsFGnJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlAIEEHnJhd3JpZ2lkYm9keXNldF9yYkFwcGx5SW1wdWxzZQCCBBtyYXdyaWdpZGJvZHlzZXRfcmJBZGRUb3JxdWUAnAUkcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlUb3JxdWVJbXB1bHNlAIwFIXJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlQXRQb2ludACXAyVyYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2VBdFBvaW50AJgDLHJhd3JpZ2lkYm9keXNldF9yYkFkZGl0aW9uYWxTb2x2ZXJJdGVyYXRpb25zAJcGL3Jhd3JpZ2lkYm9keXNldF9yYlNldEFkZGl0aW9uYWxTb2x2ZXJJdGVyYXRpb25zAPkGGnJhd3JpZ2lkYm9keXNldF9yYlVzZXJEYXRhAIAGHXJhd3JpZ2lkYm9keXNldF9yYlNldFVzZXJEYXRhAOAGG3Jhd3JpZ2lkYm9keXNldF9yYlVzZXJGb3JjZQCFBRxyYXdyaWdpZGJvZHlzZXRfcmJVc2VyVG9ycXVlAMoFGl9fd2JnX3Jhd3JpZ2lkYm9keXNldF9mcmVlAIEGE3Jhd3JpZ2lkYm9keXNldF9uZXcA9QgfcmF3cmlnaWRib2R5c2V0X2NyZWF0ZVJpZ2lkQm9keQCQAhZyYXdyaWdpZGJvZHlzZXRfcmVtb3ZlAKMCE3Jhd3JpZ2lkYm9keXNldF9sZW4ApAoYcmF3cmlnaWRib2R5c2V0X2NvbnRhaW5zAPoGJnJhd3JpZ2lkYm9keXNldF9mb3JFYWNoUmlnaWRCb2R5SGFuZGxlAMQHOXJhd3JpZ2lkYm9keXNldF9wcm9wYWdhdGVNb2RpZmllZEJvZHlQb3NpdGlvbnNUb0NvbGxpZGVycwCfBRhfX3diZ19yYXdicm9hZHBoYXNlX2ZyZWUA4gURcmF3YnJvYWRwaGFzZV9uZXcArgcVcmF3YnJvYWRwaGFzZV9jYXN0UmF5ANgBIXJhd2Jyb2FkcGhhc2VfY2FzdFJheUFuZEdldE5vcm1hbADQASJyYXdicm9hZHBoYXNlX2ludGVyc2VjdGlvbnNXaXRoUmF5ALEBI3Jhd2Jyb2FkcGhhc2VfaW50ZXJzZWN0aW9uV2l0aFNoYXBlAKMBGnJhd2Jyb2FkcGhhc2VfcHJvamVjdFBvaW50AO0BJ3Jhd2Jyb2FkcGhhc2VfcHJvamVjdFBvaW50QW5kR2V0RmVhdHVyZQDuASRyYXdicm9hZHBoYXNlX2ludGVyc2VjdGlvbnNXaXRoUG9pbnQA2QEXcmF3YnJvYWRwaGFzZV9jYXN0U2hhcGUAnAEkcmF3YnJvYWRwaGFzZV9pbnRlcnNlY3Rpb25zV2l0aFNoYXBlAKUBL3Jhd2Jyb2FkcGhhc2VfY29sbGlkZXJzV2l0aEFhYmJJbnRlcnNlY3RpbmdBYWJiAPkBHHJhd2NvbGxpZGVyc2V0X2NvVHJhbnNsYXRpb24AjQUZcmF3Y29sbGlkZXJzZXRfY29Sb3RhdGlvbgDlBCVyYXdjb2xsaWRlcnNldF9jb1RyYW5zbGF0aW9uV3J0UGFyZW50AMMEInJhd2NvbGxpZGVyc2V0X2NvUm90YXRpb25XcnRQYXJlbnQAtwQfcmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbgDjBShyYXdjb2xsaWRlcnNldF9jb1NldFRyYW5zbGF0aW9uV3J0UGFyZW50AMwFHHJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb24A9wUlcmF3Y29sbGlkZXJzZXRfY29TZXRSb3RhdGlvbldydFBhcmVudAD7BhlyYXdjb2xsaWRlcnNldF9jb0lzU2Vuc29yAJgGGnJhd2NvbGxpZGVyc2V0X2NvU2hhcGVUeXBlAMIHIHJhd2NvbGxpZGVyc2V0X2NvSGFsZnNwYWNlTm9ybWFsAIMEHHJhd2NvbGxpZGVyc2V0X2NvSGFsZkV4dGVudHMA8QMfcmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmRXh0ZW50cwDiBBdyYXdjb2xsaWRlcnNldF9jb1JhZGl1cwDOBhpyYXdjb2xsaWRlcnNldF9jb1NldFJhZGl1cwCFCBtyYXdjb2xsaWRlcnNldF9jb0hhbGZIZWlnaHQAzgQecmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmSGVpZ2h0AMQEHHJhd2NvbGxpZGVyc2V0X2NvUm91bmRSYWRpdXMAzwYfcmF3Y29sbGlkZXJzZXRfY29TZXRSb3VuZFJhZGl1cwCGCBpyYXdjb2xsaWRlcnNldF9jb1ZveGVsRGF0YQC4BBpyYXdjb2xsaWRlcnNldF9jb1ZveGVsU2l6ZQCEBBlyYXdjb2xsaWRlcnNldF9jb1NldFZveGVsALgFJXJhd2NvbGxpZGVyc2V0X2NvUHJvcGFnYXRlVm94ZWxDaGFuZ2UA8QcjcmF3Y29sbGlkZXJzZXRfY29Db21iaW5lVm94ZWxTdGF0ZXMA9wcZcmF3Y29sbGlkZXJzZXRfY29WZXJ0aWNlcwC5BBhyYXdjb2xsaWRlcnNldF9jb0luZGljZXMAugQdcmF3Y29sbGlkZXJzZXRfY29UcmlNZXNoRmxhZ3MA8wQjcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZEhlaWdodHMAuwQhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZFNjYWxlAOcDF3Jhd2NvbGxpZGVyc2V0X2NvUGFyZW50ALwFG3Jhd2NvbGxpZGVyc2V0X2NvU2V0RW5hYmxlZADDBRpyYXdjb2xsaWRlcnNldF9jb0lzRW5hYmxlZADwBR9yYXdjb2xsaWRlcnNldF9jb1NldENvbnRhY3RTa2luAPwGHHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNraW4AmQYZcmF3Y29sbGlkZXJzZXRfY29GcmljdGlvbgCaBhxyYXdjb2xsaWRlcnNldF9jb1Jlc3RpdHV0aW9uAJsGGHJhd2NvbGxpZGVyc2V0X2NvRGVuc2l0eQCxBhVyYXdjb2xsaWRlcnNldF9jb01hc3MAsgYXcmF3Y29sbGlkZXJzZXRfY29Wb2x1bWUAswYgcmF3Y29sbGlkZXJzZXRfY29Db2xsaXNpb25Hcm91cHMAzQUdcmF3Y29sbGlkZXJzZXRfY29Tb2x2ZXJHcm91cHMAzgUccmF3Y29sbGlkZXJzZXRfY29BY3RpdmVIb29rcwCcBiVyYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUNvbGxpc2lvblR5cGVzAJ0GHXJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlRXZlbnRzAJ4GK3Jhd2NvbGxpZGVyc2V0X2NvQ29udGFjdEZvcmNlRXZlbnRUaHJlc2hvbGQAnwYecmF3Y29sbGlkZXJzZXRfY29Db250YWluc1BvaW50ANIDGnJhd2NvbGxpZGVyc2V0X2NvQ2FzdFNoYXBlANYBHXJhd2NvbGxpZGVyc2V0X2NvQ2FzdENvbGxpZGVyAMgCIHJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1NoYXBlAKQCHXJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNoYXBlAMcBIHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdENvbGxpZGVyAIUEHXJhd2NvbGxpZGVyc2V0X2NvUHJvamVjdFBvaW50AJ0DHnJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1JheQDzAhhyYXdjb2xsaWRlcnNldF9jb0Nhc3RSYXkA3wIkcmF3Y29sbGlkZXJzZXRfY29DYXN0UmF5QW5kR2V0Tm9ybWFsAKICGnJhd2NvbGxpZGVyc2V0X2NvU2V0U2Vuc29yAOwFH3Jhd2NvbGxpZGVyc2V0X2NvU2V0UmVzdGl0dXRpb24A/QYccmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbgD+BiRyYXdjb2xsaWRlcnNldF9jb0ZyaWN0aW9uQ29tYmluZVJ1bGUAoAYncmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbkNvbWJpbmVSdWxlANAGJ3Jhd2NvbGxpZGVyc2V0X2NvUmVzdGl0dXRpb25Db21iaW5lUnVsZQChBipyYXdjb2xsaWRlcnNldF9jb1NldFJlc3RpdHV0aW9uQ29tYmluZVJ1bGUA0QYjcmF3Y29sbGlkZXJzZXRfY29TZXRDb2xsaXNpb25Hcm91cHMAtQUgcmF3Y29sbGlkZXJzZXRfY29TZXRTb2x2ZXJHcm91cHMAtgUfcmF3Y29sbGlkZXJzZXRfY29TZXRBY3RpdmVIb29rcwC9BiByYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUV2ZW50cwDSBihyYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUNvbGxpc2lvblR5cGVzANMGGXJhd2NvbGxpZGVyc2V0X2NvU2V0U2hhcGUA9QMucmF3Y29sbGlkZXJzZXRfY29TZXRDb250YWN0Rm9yY2VFdmVudFRocmVzaG9sZAD/BhtyYXdjb2xsaWRlcnNldF9jb1NldERlbnNpdHkAgAcYcmF3Y29sbGlkZXJzZXRfY29TZXRNYXNzAIEHInJhd2NvbGxpZGVyc2V0X2NvU2V0TWFzc1Byb3BlcnRpZXMA5AMZX193YmdfcmF3Y29sbGlkZXJzZXRfZnJlZQDKBBJyYXdjb2xsaWRlcnNldF9uZXcAtQcScmF3Y29sbGlkZXJzZXRfbGVuAKUKF3Jhd2NvbGxpZGVyc2V0X2NvbnRhaW5zAIIHHXJhd2NvbGxpZGVyc2V0X2NyZWF0ZUNvbGxpZGVyAO8BFXJhd2NvbGxpZGVyc2V0X3JlbW92ZQCKAyRyYXdjb2xsaWRlcnNldF9mb3JFYWNoQ29sbGlkZXJIYW5kbGUAxQcaX193YmdfcmF3c2hhcGVjb250YWN0X2ZyZWUA3gcZX193YmdfcmF3bmFycm93cGhhc2VfZnJlZQDDBhJyYXduYXJyb3dwaGFzZV9uZXcAwwkhcmF3bmFycm93cGhhc2VfY29udGFjdF9wYWlyc193aXRoANQHG3Jhd25hcnJvd3BoYXNlX2NvbnRhY3RfcGFpcgD0BCZyYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcnNfd2l0aADVByByYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcgCCBh1fX3diZ19yYXdjb250YWN0bWFuaWZvbGRfZnJlZQDfBxhyYXdjb250YWN0cGFpcl9jb2xsaWRlcjEAxAkYcmF3Y29udGFjdHBhaXJfY29sbGlkZXIyAMUJInJhd2NvbnRhY3RwYWlyX251bUNvbnRhY3RNYW5pZm9sZHMAxgkecmF3Y29udGFjdHBhaXJfY29udGFjdE1hbmlmb2xkAJ0HGXJhd2NvbnRhY3RtYW5pZm9sZF9ub3JtYWwAiwgbcmF3Y29udGFjdG1hbmlmb2xkX2xvY2FsX24xAIwIG3Jhd2NvbnRhY3RtYW5pZm9sZF9sb2NhbF9uMgCNCBxyYXdjb250YWN0bWFuaWZvbGRfc3Vic2hhcGUxAMcJHHJhd2NvbnRhY3RtYW5pZm9sZF9zdWJzaGFwZTIAyAkfcmF3Y29udGFjdG1hbmlmb2xkX251bV9jb250YWN0cwDJCSNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMQDxBiNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMgDyBh9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9kaXN0AMIIH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ZpZDEAwwgfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZmlkMgDECCJyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9pbXB1bHNlANMIKnJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X3RhbmdlbnRfaW1wdWxzZQDFCCZyYXdjb250YWN0bWFuaWZvbGRfbnVtX3NvbHZlcl9jb250YWN0cwDKCSdyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfcG9pbnQAgwcmcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2Rpc3QAyggqcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2ZyaWN0aW9uALAILXJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9yZXN0aXR1dGlvbgCxCDJyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfdGFuZ2VudF92ZWxvY2l0eQCvBx1fX3diZ19yYXdwb2ludHByb2plY3Rpb25fZnJlZQDgBxhyYXdwb2ludHByb2plY3Rpb25fcG9pbnQA1AgbcmF3cG9pbnRwcm9qZWN0aW9uX2lzSW5zaWRlAKYKJV9fd2JnX3Jhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZyZWUA4QcpcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fY29sbGlkZXJIYW5kbGUApwogcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fcG9pbnQA1QgjcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25faXNJbnNpZGUAqAomcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZmVhdHVyZVR5cGUAqQokcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZmVhdHVyZUlkANMJHV9fd2JnX3Jhd3JheWludGVyc2VjdGlvbl9mcmVlAOIHE19fd2JnX3Jhd3NoYXBlX2ZyZWUA3gUPcmF3c2hhcGVfY3Vib2lkAMsJFHJhd3NoYXBlX3JvdW5kQ3Vib2lkALQJDXJhd3NoYXBlX2JhbGwA1AkScmF3c2hhcGVfaGFsZnNwYWNlAMcEEHJhd3NoYXBlX2NhcHN1bGUAkggPcmF3c2hhcGVfdm94ZWxzAJgFGXJhd3NoYXBlX3ZveGVsc0Zyb21Qb2ludHMAmQURcmF3c2hhcGVfcG9seWxpbmUAowgQcmF3c2hhcGVfdHJpbWVzaADpBxRyYXdzaGFwZV9oZWlnaHRmaWVsZADdBBByYXdzaGFwZV9zZWdtZW50AM8DEXJhd3NoYXBlX3RyaWFuZ2xlAPQCFnJhd3NoYXBlX3JvdW5kVHJpYW5nbGUA8QITcmF3c2hhcGVfY29udmV4SHVsbACkCBhyYXdzaGFwZV9yb3VuZENvbnZleEh1bGwAmwgXcmF3c2hhcGVfY29udmV4UG9seWxpbmUApQgccmF3c2hhcGVfcm91bmRDb252ZXhQb2x5bGluZQCcCBJyYXdzaGFwZV9jYXN0U2hhcGUAgQEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlAOMBFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQCdARZyYXdzaGFwZV9jb250YWluc1BvaW50AMQCFXJhd3NoYXBlX3Byb2plY3RQb2ludACeAhZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AI8CEHJhd3NoYXBlX2Nhc3RSYXkAhQIccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADkARhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczEA1ggiX193YmdfcmF3Y29sbGlkZXJzaGFwZWNhc3RoaXRfZnJlZQDjByZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF9jb2xsaWRlckhhbmRsZQCqCiZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF90aW1lX29mX2ltcGFjdACrCiByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMQDXCCByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMgDYCB9yYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF9ub3JtYWwxANkIH3Jhd2NvbGxpZGVyc2hhcGVjYXN0aGl0X25vcm1hbDIA2ggWX193YmdfcmF3cm90YXRpb25fZnJlZQDkBxRyYXdyb3RhdGlvbl9pZGVudGl0eQCsCxVyYXdyb3RhdGlvbl9mcm9tQW5nbGUA+woRcmF3cm90YXRpb25fYW5nbGUAzAcUX193YmdfcmF3dmVjdG9yX2ZyZWUA5AcOcmF3dmVjdG9yX3plcm8ArQsNcmF3dmVjdG9yX25ldwDiCg9yYXd2ZWN0b3Jfc2V0X3kAzgoMcmF3dmVjdG9yX3h5ANQIDHJhd3ZlY3Rvcl95eACmCCFfX3diZ19yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2ZyZWUA5AUacmF3ZGVidWdyZW5kZXJwaXBlbGluZV9uZXcAnQgfcmF3ZGVidWdyZW5kZXJwaXBlbGluZV92ZXJ0aWNlcwCEBx1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2NvbG9ycwCFBx1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX3JlbmRlcgDTARhfX3diZ19yYXdldmVudHF1ZXVlX2ZyZWUAoAUfX193YmdfcmF3Y29udGFjdGZvcmNlZXZlbnRfZnJlZQDlBx5yYXdjb250YWN0Zm9yY2VldmVudF9jb2xsaWRlcjIArAogcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2UA2wgqcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2VfbWFnbml0dWRlAK0KKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9tYWduaXR1ZGUArgoRcmF3ZXZlbnRxdWV1ZV9uZXcA+AcicmF3ZXZlbnRxdWV1ZV9kcmFpbkNvbGxpc2lvbkV2ZW50cwDyByVyYXdldmVudHF1ZXVlX2RyYWluQ29udGFjdEZvcmNlRXZlbnRzAPMHE3Jhd2V2ZW50cXVldWVfY2xlYXIA+AUdX193YmdfcmF3cGh5c2ljc3BpcGVsaW5lX2ZyZWUA5QUWcmF3cGh5c2ljc3BpcGVsaW5lX25ldwCcAydyYXdwaHlzaWNzcGlwZWxpbmVfc2V0X3Byb2ZpbGVyX2VuYWJsZWQAtwomcmF3cGh5c2ljc3BpcGVsaW5lX2lzX3Byb2ZpbGVyX2VuYWJsZWQArwoecmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ19zdGVwALUJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY29sbGlzaW9uX2RldGVjdGlvbgCBCSVyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2Jyb2FkX3BoYXNlAIIJJnJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfbmFycm93X3BoYXNlAIMJIHJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfc29sdmVyAIQJK3Jhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfYXNzZW1ibHkAtgktcmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ192ZWxvY2l0eV9yZXNvbHV0aW9uAIUJKXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfdXBkYXRlAIYJLHJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfd3JpdGViYWNrALcJHXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY2NkAIcJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY2NkX3RvaV9jb21wdXRhdGlvbgC4CSlyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2NjZF9icm9hZF9waGFzZQC5CSpyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2NjZF9uYXJyb3dfcGhhc2UAugkkcmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ19jY2Rfc29sdmVyALsJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfaXNsYW5kX2NvbnN0cnVjdGlvbgCICSZyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX3VzZXJfY2hhbmdlcwC8CRdyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcACXASFyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcFdpdGhFdmVudHMAigEfX193YmdfcmF3ZGVzZXJpYWxpemVkd29ybGRfZnJlZQCDBiByYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlR3Jhdml0eQD5By5yYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSW50ZWdyYXRpb25QYXJhbWV0ZXJzAMUDJnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJc2xhbmRNYW5hZ2VyAMEDI3Jhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VCcm9hZFBoYXNlAPkFJHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VOYXJyb3dQaGFzZQDCAx9yYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlQm9kaWVzAI4EInJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VDb2xsaWRlcnMA9wMmcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUltcHVsc2VKb2ludHMA6wIocmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZU11bHRpYm9keUpvaW50cwDsAiVyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfc2VyaWFsaXplQWxsAJMBJ3Jhd3NlcmlhbGl6YXRpb25waXBlbGluZV9kZXNlcmlhbGl6ZUFsbADeBBxyYXdjb2xsaWRlcnNldF9pc0hhbmRsZVZhbGlkAIIHD3Jhd3ZlY3Rvcl9zZXRfeADFCg5yZXNlcnZlX21lbW9yeQDgCRxyYXdyYXlpbnRlcnNlY3Rpb25fZmVhdHVyZUlkANMJJHJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVJZADTCTVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbm9ybWFsaXplZFByZWRpY3Rpb25EaXN0YW5jZQCdChhyYXdzaGFwZWNvbnRhY3RfZGlzdGFuY2UArQoecmF3cmF5aW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlAKkKKXJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2NvbGxpZGVySGFuZGxlAKcKIXJhd3JheWludGVyc2VjdGlvbl90aW1lX29mX2ltcGFjdACrCiZyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9mZWF0dXJlVHlwZQCpCilyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl90aW1lX29mX2ltcGFjdACrCh5yYXdzaGFwZWNhc3RoaXRfdGltZV9vZl9pbXBhY3QAnwogcmF3cmF5Y29sbGlkZXJoaXRfY29sbGlkZXJIYW5kbGUAqgoecmF3cmF5Y29sbGlkZXJoaXRfdGltZU9mSW1wYWN0AKsKDnJhd3JvdGF0aW9uX2ltAJQKDnJhd3JvdGF0aW9uX3JlAJ8KC3Jhd3ZlY3Rvcl94AJ8KC3Jhd3ZlY3Rvcl95AJQKHnJhd2NvbnRhY3Rmb3JjZWV2ZW50X2NvbGxpZGVyMQCqCjVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgCtChlfX3diZ19yYXdjb250YWN0cGFpcl9mcmVlAN8HJV9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZyZWUA4QccX193YmdfcmF3cmF5Y29sbGlkZXJoaXRfZnJlZQDgBxpfX3diZ19yYXdzaGFwZWNhc3RoaXRfZnJlZQDlByNfX3diZ19yYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfZnJlZQDbBxdyYXdzaGFwZWNvbnRhY3Rfbm9ybWFsMgDPCBZyYXdzaGFwZWNvbnRhY3RfcG9pbnQxANQIFnJhd3NoYXBlY29udGFjdF9wb2ludDIA1QgZcmF3cmF5aW50ZXJzZWN0aW9uX25vcm1hbADXCBhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczIA1wghcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbm9ybWFsANcIF3Jhd3NoYXBlY2FzdGhpdF9ub3JtYWwxANgIF3Jhd3NoYXBlY2FzdGhpdF9ub3JtYWwyANkIInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAA2ggXcmF3c2hhcGVjb250YWN0X25vcm1hbDEA2wgocmF3Y29udGFjdGZvcmNlZXZlbnRfbWF4X2ZvcmNlX2RpcmVjdGlvbgDPCBByYXdjY2Rzb2x2ZXJfbmV3ANELHHJhd3NlcmlhbGl6YXRpb25waXBlbGluZV9uZXcA0QsTX193YmluZGdlbl9leHBvcnRfMADjDB9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyAKcNE19fd2JpbmRnZW5fZXhwb3J0XzEAtQwTX193YmluZGdlbl9leHBvcnRfMgDJCwmYEAEAQQELmgjJDJYC5wq+DdkJnA2qDagN+wv6C/wLqQurDdgK2gnaC9oLnAmcCcEEyw3hCuEK2AfYB+sLngm/COgF6AX7CawNkAnaBYILuQiPCd0L7Af1BroF4QjNDM0MzQzNDOkKsQKrC8sG8gSZB/cJ5gWXC7MK9AfyBaQJnQzODdMMzQ3KDckN0gy/DaYMwQ2gCKgDmgfEA9wCsQPdA40DgAm3CI4JzAzMDMwMzAzqCucBqgvKBvEEmAfXB/YHmQv3Ct4IswWjCboMzA3RDNAMpQzABqEI8AerBc8JlgPVBL8KtAfrA7gI6wjLDMsMywzLDMEJhAjfCcYF6QPWBeoL4QuYC7sL9gndCKUJzgnJDc8MmwzODKQMpwWiCLUKqQ3GB8YHwA3IDeIN4A3hDf4KkgONBOINPlRF5ArcDIgKsAqICvwHnQm9CU5DYl1KqgFC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KAK4ASICIBVJBEAgFSACIhRrIhIgGCgCsAEgAmtLBEAgGEGwAWogAiASQQRByAAQmgUgGCgCuAEhFAsgGCgCtAEgFEHIAGxqIQEgEkECTwRAIBUgAkF/c2oiD0EBcSEOIAIgFUECa0cEQCAPQX5xIQIDQCABQgA3AgAgAUEIakJ/NwIAIAFBEGpCfzcCACABQRhqQn83AgAgAUEgakF/NgIAIAFByABqQgA3AgAgAUHEAGpBADsBACABQTxqQv////v3//+//wA3AgAgAUE0akL////79///v/8ANwIAIAFBLGpC////+/f//7//ADcCACABQSRqQoCAgIDw//+/fzcCACABQdAAakJ/NwIAIAFB2ABqQn83AgAgAUHgAGpCfzcCACABQegAakF/NgIAIAFBhAFqQv////v3//+//wA3AgAgAUH8AGpC////+/f//7//ADcCACABQfQAakL////79///v/8ANwIAIAFB7ABqQoCAgIDw//+/fzcCACABQYwBakEAOwEAIAFBkAFqIQEgAkECayICDQALCyASIBRqQQFrIRQgDgRAIAFCfzcCCCABQgA3AgAgAUEAOwFEIAFC////+/f//7//ADcCPCABQv////v3//+//wA3AjQgAUL////79///v/8ANwIsIAFCgICAgPD//79/NwIkIAFBEGpCfzcCACABQRhqQn83AgAgAUEgakF/NgIAIAFByABqIQELCyABQn83AgggAUIANwIAIAFBADsBRCABQv////v3//+//wA3AjwgAUL////79///v/8ANwI0IAFC////+/f//7//ADcCLCABQoCAgIDw//+/fzcCJCABQRBqQn83AgAgAUEYakJ/NwIAIAFBIGpBfzYCACAUQQFqIRULIBggFTYCuAEgACgCcCICQYCU69wDRwRAIAApA2ghrgEgG0HYAWoiARDcCCAbQcgAaiABIK4BIAIQlAggACkDeCKuASAbKQNIfCKwASCuAVQNByAAKAKAASAbKAJQaiIBQYCU69wDTwRAILABQn9RDQggsAFCAXwhsAEgAUGAlOvcA2shAQsgACABNgKAASAAILABNwN4CyAAQYCU69wDNgJwIBtByABqENwIIBspA0ghrgEgACAbKAJQIgE2AlAgACCuATcDSAJAAkACQCB6RQ0AIBgoAoACIgEgGCgC6AEiVyABIFdJGyE0IBgoAvwBIT4gGCgC5AEhGgJAIBgoApACInsgGCgCoAIiAUYEQCAYQYQCaiFbIBsqAhRD2w/JQJQiiwEgGyoCCCKkASCLAZQgGyoCECKNASCNAZKSlSGqAUMAAAAAQwAAgD9DAACAPyCkASCqAZQiiwGVQwAAgL+SIowBIIwBlCCNASCNASCMAUMAAIA/kkMAAIBAlJSUlUMAAIA/kpUgiwFDAAAAAFsbIaABQwAAAABDAACAPyCkAZUgpAFDAAAAAFsbIakBIBsqAiwijAFD//9/f1whASCMASAbKgIkIosBjJRD//9//yABGyGlASCLASCMAZRD//9/fyABGyKhAYwhqwEgGCgC9AEiWCBXIFcgWEsbITAgGCgCVCIOIBgoAmwiASABIA5LGyFHIBgoAkgiAiAYKAJgIgEgASACSxshQSCLASAbKgIolCGmASB6QQFrIUUgGCgCqAIiKyAYKAKsAiJkQQR0aiFnIBgoAsABIh8gGCgCxAEifEHcAGxqIUYgGCgCtAEiIyAYKAK4ASJcQcgAbGohSCAYKAJQIhYgDkHQAWxqIX0gGCgCRCIUIAJB3AFsaiF+IBgoAmghKSAYKAJcISUgGCgC2AEhaCAYKALMASFpIBgoAvABISogCSgCTCFdIAkoAkghXiAYKAKYAiF0IBgoAogCIXUgGygCPCFPIBsoAjghWSAbKgIgIagBIBgoAtwBImpBwAFsIWsgGCgC0AEibEGgAmwhbSAYKAKcAiJ/QXxxIRcgf0EDcSEnQQAhMQNAIBohASA+IQ4gNCIPBEADQCAOQQRqKgIAIYsBIAEgDioCACABKgIAkjgCACABQQRqIgIgiwEgAioCAJI4AgAgAUEIaiIQIA5BCGoqAgAgECoCAJI4AgAgAUEMaiEBIA5BDGohDiAPQQFrIg8NAAsLAkAgf0UNAEEAIRAgf0EETwRAQQAhDgNAIA4gdWoiDyAOIHRqIgIqAgAgDyoCAJI4AgAgD0EEaiIBIAJBBGoqAgAgASoCAJI4AgAgD0EIaiIgIAJBCGoqAgAgICoCAJI4AgAgD0EMaiIBIAJBDGoqAgAgASoCAJI4AgAgDkEQaiEOIBcgEEEEaiIQRw0ACwsgJ0UNACAQQQJ0IgIgdWohASACIHRqIQ4gJyEPA0AgASAOKgIAIAEqAgCSOAIAIAFBBGohASAOQQRqIQ4gD0EBayIPDQALCwJAAkACQAJAAkACQAJAAkACQCBsBEBBACEOA0ACQAJAAkBBASAOIGlqIhxBhAJqKAIAIg9BA2sgD0ECTRtBAWsOAgACAQsgHEHoAWooAgBFDQFCACGvAUMAAAAAIYwBQwAAgD8hjgFDAACAPyGXAUMAAAAAIZsBQgAhsAECQAJAAkAgHEHwAWooAgAiAkEBaw4CAAIBCyBYIBxB9AFqKAIAIhVNDQEgKiAVQQV0aiIQKQIIIbABIBAqAgQhmwEgECoCACGXAQwBCyAcQfQBaigCACIBIF1PDQkgXiABQaQCbGoiECgCAEGAgICAeEYNCSAQKAKgAiAcQfgBaigCAEcNCSAcQYACaigCACIVIBAoAghPDQggECgCBCAVQaACbGoiICkDCCGwASAgKgIEIZsBICAqAgAhlwELAkACQAJAIA9BAWsOAgACAQsgWCAcQYgCaigCACIiTQ0BICogIkEFdGoiICkCCCGvASAgKgIEIYwBICAqAgAhjgEMAQsgHEGIAmooAgAiASBdTw0HIF4gAUGkAmxqIiAoAgBBgICAgHhGDQcgICgCoAIgHEGMAmooAgBHDQcgHEGUAmooAgAiIiAgKAIITw0GICAoAgQgIkGgAmxqIgEpAwghrwEgASoCBCGMASABKgIAIY4BCyAbIJsBIBwqAgAijQGUIJcBIBxBBGoqAgAiiwGUkjgCvAEgGyCXASCNAZQgmwEgiwGUkzgCuAEgGyCbASAcQQhqKgIAIo0BlCCXASAcQQxqKgIAIosBlJIgsAFCIIinvpI4AsQBIBsglwEgjQGUIJsBIIsBlJMgsAGnvpI4AsABIBsgjAEgHEEQaioCACKNAZQgjgEgHEEUaioCACKLAZSSOALMASAbII4BII0BlCCMASCLAZSTOALIASAbIIwBIBxBGGoqAgAijQGUII4BIBxBHGoqAgAiiwGUkiCvAUIgiKe+kjgC1AEgGyCOASCNAZQgjAEgiwGUkyCvAae+kjgC0AEgGyCwATcD4AEgGyAcQbABaikDADcD2AEgGyAcQcABaioCADgC6AEgGyAcQcQBaigCADYC7AEgGyCvATcDUCAbIBxByAFqKQMANwNIIBsgHEHYAWoqAgA4AlggGyAcQdwBaigCADYCXCAbIBxB5AFqKAIANgKcASAcQeABaigCACEyIBsgEDYCqAEgGyAVNgKkASAbIAI2AqABIBsgIDYCtAEgGyAiNgKwASAbIA82AqwBIBxB7AFqKAIAIgEgXEsNBCAbQQhqITMgG0HYAWohNyAbQcgAaiFDIBtBoAFqITkgG0GsAWohQiAbQZwBaiFEICMgAUHIAGxqIS8gXCABayEmIwBBsAJrIgEkACAbQcgBaiIPKQIIIq8BQiCIp74ijgEgG0G4AWoiAikCCCKuAUIgiKe+kyGXASCvAae+Io0BIK4Bp76TIZ0BIAIqAgQhowEgAioCACGiASCNASGMASCOASGLASAcLQCoASIdQQFxIhIEQCCLASCjASCiASCdAZQgowEglwGUkiKPAZSTIYsBIIwBIKIBII8BlJMhjAELIBwtAKoBISEgHUECcSIeBEAgiwEgogEgogEglwGUIKMBIJ0BlJMijwGUkyGLASCjASCPAZQgjAGSIYwBCyBDKQIIIa8BIDcpAgghrgEgHC0AqQEhOiAcKgKYASGaASAcKgKUASGbASAzKgIAIqcBIKcBlCGeASAcLQCkASECIKIBIA8qAgQikAGUIKMBIA8qAgAijwGUkyGWASCiASCPAZQgowEgkAGUkiGcASAcKgKcASGQASAcKgKMASGYAUEAIQ8gHCoCkAFDAAAAP5QQxg0hkwECQCAhQQRxRQ0AQwAAAAAhmQFDAAAAAEMAAIA/IJ4BIJsBlCCnASCaAZSSIo8BlSCPAYtDCOU8Hl8bIo8BQwAAAAAgAkEBcSICGyGUAUMAAAAAII8BIAIbIZIBIKcBIJABlCKRAYwhkAEgAUIANwIIIAFB6AFqIEkgRCAyIDcgQyA5IEJBAkECIAFBCGpBgICA/ANBgICA/AMQ7AMgmwFDAAAAAEMAAIA/IKcBIJsBlCCaAZIijwGVII8Bi0MI5TweXxuUIo8BQwAAAABcBEBDAACAPyCWASCcARDDDUMAAAA/lBDGDSCTAZMimQGYIZMBII8BIJkBIJkBQwAAwH8gkwEgkwGSIJkBIJkBXBuTIo8BIJkBiyCPAYtdG5RDAAAAAJIhmQELIAEglAE4AqgCIAEgkgE4AqQCIAEgkQE4ApQCIAEgkAE4ApACIAEgmQEgmAGTIo8BOAKcAiABII8BOAKgAiABQQhqIgIgAUHoAWpByAD8CgAAICYEQCAvIAJByAD8CgAAQQEhDwwBC0EAQQBBgJbCABCwCQALIKMBII0BIK8Bp76TIpEBlCCiASCOASCvAUIgiKe+kyKQAZSTvCE2IKMBIIwBIK4Bp76TIo8BlCCiASCLASCuAUIgiKe+kyKOAZSTvCE/An8CQAJAAn8CQAJAAkAgIUEBcQRAIBwqAlQhjQEgHCoCWCGMASAcKgJkIYsBIBwtAGwhAiAcKgJcIZMBIBwqAmAhlAEgASCjATgC5AEgASCiATgC4AEgAUHoAWogSSBEIDIgNyBDIDkgQkECQQAgAUHgAWogPyA2EOwDIKcBIIsBlCGSASABQwAAAABDAACAPyCeASCTAZQgpwEglAGUkiKLAZUgiwGLQwjlPB5fGyKLAUMAAAAAIAIbOAKoAiABQwAAAAAgiwEgAhs4AqQCIAEgkwFDAAAAAEMAAIA/IJQBIKcBIJMBlJIiiwGVIIsBi0MI5TweXxuUIosBQwAAAABcBH0giwEgnQEgogGUIJcBIKMBlJIgjAGTlEMAAAAAkgVDAAAAAAsgjQGTIosBOAKgAiABIIsBOAKcAiABIJIBOAKUAiABIJIBjDgCkAIgAUEIaiICIAFB6AFqQcgA/AoAACAPICZPDQEgLyAPQcgAbGogAkHIAPwKAAAgD0EBaiEPCyCiASCRAZQgowEgkAGUkrwhQCCiASCPAZQgowEgjgGUkrwhKCCjAYwhkQEgIUECcQRAIBwqAnAhjQEgHCoCdCGMASAcKgKAASGLASAcLQCIASECIBwqAnghkAEgHCoCfCGPASABIKIBOALkASABIJEBOALgASABQegBaiBJIEQgMiA3IEMgOSBCQQJBASABQeABaiAoIEAQ7AMgpwEgiwGUIY4BIAFDAAAAAEMAAIA/IJ4BIJABlCCnASCPAZSSIosBlSCLAYtDCOU8Hl8bIosBQwAAAAAgAhs4AqgCIAFDAAAAACCLASACGzgCpAIgASCQAUMAAAAAQwAAgD8gjwEgpwEgkAGUkiKLAZUgiwGLQwjlPB5fG5QiiwFDAAAAAFwEfSCLASCXASCiAZQgowEgnQGUkyCMAZOUQwAAAACSBUMAAAAACyCNAZMiiwE4AqACIAEgiwE4ApwCIAEgjgE4ApQCIAEgjgGMOAKQAiABQQhqIgIgAUHoAWpByAD8CgAAIA8gJk8NASAvIA9ByABsaiACQcgA/AoAACAPQQFqIQ8LIA8gJk0EQCBJKAIEIiQgSSgCDCIhIC8gDxB6IB1BBHFFBEAgMyoCEEPbD8lAlCKLASCnASCLAZQgMyoCFCKLASCLAZKSlSGMASAPIgIgEkUNBRoMBAsgMyoCFCGMASAzKgIQIYsBIAFCADcC6AEgAUGYAWogSSBEIDIgNyBDIDkgQkEAQQIgAUHoAWpBgICA/ANBgICA/AMQ7AMgASABKgLMASCWASCLAUPbD8lAlCKLASCnASCLAZQgjAEgjAGSkpUijAGUkjgCzAEgDyAmSQ0CIA8gJkHglcIAELAJAAsgDyAmQZCVwgAQow0ACyAPICZB8JXCABCwCQALIC8gD0HIAGxqIAFBmAFqQcgA/AoAACAPQQFqIgIgEkUNARoLIAEgogE4AuABIAEgowE4AuQBIAFB6AFqIh0gSSBEIDIgNyBDIDkgQkEAQQAgAUHgAWogPyA2EOwDIAEgASoCnAIgjAEgnQEgogGUIJcBIKMBlJKUkjgCnAIgAUEIaiISIB1ByAD8CgAAIAIgJk8NASAvIAJByABsaiASQcgA/AoAACACQQFqCyECIB4EQCABIJEBOALgASABIKIBOALkASABQegBaiIdIEkgRCAyIDcgQyA5IEJBAEEBIAFB4AFqICggQBDsAyABIAEqApwCIIwBIJcBIKIBlCCjASCdAZSTlJI4ApwCIAFBCGoiEiAdQcgA/AoAACACICZPDQEgLyACQcgAbGogEkHIAPwKAAAgAkEBaiECCyACIDpBBHFFDQIaIBwqAkghjgEgHCoCTCGNASABQgA3AugBIAFB0ABqIEkgRCAyIDcgQyA5IEJBAUECIAFB6AFqQYCAgPwDQYCAgPwDEOwDIJYBIJwBEMMNIYsBIAFD//9/f0MAAAAAII0BQwAAAD+UEMYNIo0BIIsBQwAAAD+UEMYNIo8BXxs4AnwgAUP//3//QwAAAIAgjgFDAAAAP5QQxg0iiwEgjwFgGzgCeCABIAEqAoQBQwAAAABDAAAAACCPASCNAZMijQEgjQFDAAAAAF0bII0BII0BXBtDAAAAAEMAAAAAIIsBII8BkyKLASCLAUMAAAAAXRsgiwEgiwFcG5MgjAGUkjgChAEgAiAmSQ0BIAIgJkHAlcIAELAJAAsgAiAmQdCVwgAQsAkACyAvIAJByABsaiABQdAAakHIAPwKAAAgAkEBagshAgJAAkAgOkEBcQRAIBwqAjAhjQEgHCoCNCGLASABIKIBOALgASABIKMBOALkASABQegBaiIdIEkgRCAyIDcgQyA5IEJBAUEAIAFB4AFqID8gNhDsAyABQ///f39DAAAAACCdASCiAZQglwEgowGUkiKOASCLAWAbOAKUAiABQ///f/9DAAAAgCCNASCOAWAbOAKQAiABIAEqApwCQwAAAABDAAAAACCOASCLAZMiiwEgiwFDAAAAAF0bIIsBIIsBXBtDAAAAAEMAAAAAII0BII4BkyKLASCLAUMAAAAAXRsgiwEgiwFcG5MgjAGUkjgCnAIgAUEIaiISIB1ByAD8CgAAIAIgJk8NASAvIAJByABsaiASQcgA/AoAACACQQFqIQILIDpBAnEEQCAcKgI8IY0BIBwqAkAhiwEgASCRATgC4AEgASCiATgC5AEgAUHoAWoiHSBJIEQgMiA3IEMgOSBCQQFBASABQeABaiAoIEAQ7AMgAUP//39/QwAAAAAglwEgogGUIKMBIJ0BlJMijgEgiwFgGzgClAIgAUP//3//QwAAAIAgjQEgjgFgGzgCkAIgASABKgKcAkMAAAAAQwAAAAAgjgEgiwGTIosBIIsBQwAAAABdGyCLASCLAVwbQwAAAABDAAAAACCNASCOAZMiiwEgiwFDAAAAAF0bIIsBIIsBXBuTIIwBlJI4ApwCIAFBCGoiEiAdQcgA/AoAACACICZPDQEgLyACQcgAbGogEkHIAPwKAAAgAkEBaiECCyACIA9JBEAgDyACQaCVwgAQpA0ACyACICZNDQEgAiAmQaCVwgAQow0ACyACICZBsJXCABCwCQALICQgISAvIA9ByABsaiACIA9rEHogAUGwAmokAAwBCyAcKAIAIgEgXU8NCiBeIAFBpAJsaiI6KAIAQYCAgIB4Rg0KIDooAqACIBxBBGooAgBHDQogHEEMaigCACIBIDooAghPDQkgXCAcQRRqKAIAIhBJDQggOigCBCABQaACbGoiIEEgaiEzIBtBCGohNiAcQRBqKAIAIQIgIyAQQcgAbGohPyBcIBBrIUBBACE1QQAhMkEAIQ8jAEEgayIBJAAgASACNgIMIDMtAKkBISEgMy0AqgEhKCAzLQCoASEdIAFBADYCEAJ/QQAgHUEBcQ0AGgJ9AkAgIUEBcSICRQRAQQEgKEEBcUUNAxoMAQtBASEPIDMoAjQhNSAzKAIwITIgKEEBcQ0AIDMqArgBIYwBIDW+IY4BIDK+DAELIDMqArgBIYwBIAEgDzYCFCABIDKtIDWtQiCGhDcCGCA2IDogICAzQdQAaiCMASABQRRqQQAgAUEMaiBJID8gQCABQRBqEMUBQQEgAkUNARogMyoCNCGOASAzKgIwCyGLASABII4BOAIYIAEgiwE4AhQgNiA6ICAgAUEUaiCMAUEAIAFBDGogSSA/IEAgAUEQahDgAUEBCyESIB1BAnFFBEACQCABAn0CfyAhQQJxIgIEQCAzKAJAITUgMygCPCEyQQEgKEECcQ0BGiAzKgK8ASGMASAyviGOASA1vgwCCyAoQQJxRQ0CQQALIQ8gMyoCvAEhjAEgASAPNgIUIAEgMq0gNa1CIIaENwIYIDYgOiAgIDNB8ABqIIwBIAFBFGogEiABQQxqIEkgPyBAIAFBEGoQxQEgAkUNASAzKgI8IY4BIDMqAkALOAIYIAEgjgE4AhQgNiA6ICAgAUEUaiCMASASIAFBDGogSSA/IEAgAUEQahDgAQsgEkEBaiESCwJAIB1BBHENACAhQQRxIQIgMyoCwAEhiwEgMygCTCEeIDMoAkghJCAoQQRxRQRAIAJFDQEgASAeNgIYIAEgJDYCFCA2IDogICABQRRqIIsBIBIgAUEMaiBJID8gQCABQRBqEOABDAELIDNBjAFqISEgAkUEQCABQgA3AhggAUEANgIUIDYgOiAgICEgiwEgAUEUaiASIAFBDGogSSA/IEAgAUEQahDFAQwBCyABICQ2AhQgASAeNgIYIDYgOiAgIAFBFGoiHSCLASASIAFBDGoiDyBJID8gQCABQRBqIgIQ4AEgASAkrSAerUIghoQ3AhggAUEBNgIUIDYgOiAgICEgiwEgHSASIA8gSSA/IEAgAhDFAQsgASgCEBogAUEgaiQACyBtIA5BoAJqIg5HDQALCwJAIGoEQEEAIQ4DQEMAAIA/IZcBQgAhsAFDAAAAACGdAUMAAAAAIYsBQwAAAAAhngFDAAAAACGbAUMAAAAAIZMBQgAhrwFDAACAPyGMASBYIA4gaGoiJkGwAWooAgAiEEsEQCAqIBBBBXRqIgEpAhQhrwEgASoCECGTASABKgIMIZ4BIAEqAgQhmwEgASoCACGMASABKgIIIYsBC0MAAAAAIZEBQwAAAAAhjgFDAAAAACGQASBYICZBtAFqKAIAIiBLBEAgKiAgQQV0aiIBKQIUIbABIAEqAhAhkAEgASoCDCGdASABKgIIIZEBIAEqAgAhlwEgASoCBCGOAQsgGyCbASAmKgIAIo8BlCCMASAmQQRqKgIAIo0BlJI4ArwBIBsgjAEgjwGUIJsBII0BlJM4ArgBIBsgngEgmwEgJkEIaioCACKPAZQgjAEgJkEMaioCACKNAZSSkjgCxAEgGyCLASCMASCPAZQgmwEgjQGUk5I4AsABIBsgjgEgJkEQaioCACKNAZQglwEgJkEUaioCACKMAZSSOALMASAbIJcBII0BlCCOASCMAZSTOALIASAbIJ0BII4BICZBGGoqAgAijQGUIJcBICZBHGoqAgAijAGUkpI4AtQBIBsgkQEglwEgjQGUII4BIIwBlJOSOALQASAbIJMBOALoASAbIK8BNwPYASAbIBA2AuwBIBsgngE4AuQBIBsgiwE4AuABIBsgkAE4AlggGyCwATcDSCAbICA2AlwgGyCdATgCVCAbIJEBOAJQICZBvAFqKAIAIgEgfEsNAiAbQQhqIUQgJkG4AWooAgAhMiAbQdgBaiE5IBtByABqIUIgHyABQdwAbGohLyB8IAFrITdDAAAAACGeAUIAIbABIwBB8AFrIhwkACAmLQCqASEBIBtByAFqIg8pAggirwFCIIinviKNASAbQbgBaiICKQIIIq4BQiCIp76TIZEBICYtAKgBIkBBf3MhHiCvAae+IosBIK4Bp76TIZABIAIqAgQhlAEgAioCACGSASCLASGMASCNASGOASBAQQFxIiQEQCCNASCUASCSASCQAZQglAEgkQGUkiKPAZSTIY4BIIsBIJIBII8BlJMhjAELICYtAKsBITMgASAecSEoIEIpAgghrwEgOSkCCCGuASBAQQJxIiEEQCCOASCSASCSASCRAZQglAEgkAGUkyKPAZSTIY4BIJQBII8BlCCMAZIhjAELICYtAKkBIQIgHCCRATgCLCAcIJABOAIoIBwgkgE4AhQgHCCSATgCCCAcIJQBOAIMIBwglAGMOAIQIBwgkgEgDyoCBCKQAZQglAEgDyoCACKPAZSTIpEBOAI0IBwgkgEgjwGUIJQBIJABlJIikAE4AjAgHCCSASCLASCvAae+kyKPAZQglAEgjQEgrwFCIIinvpMiiwGUkjgCJCAcIJQBII8BlCCSASCLAZSTOAIgIBwgkgEgjAEgrgGnvpMijAGUIJQBII4BIK4BQiCIp76TIosBlJI4AhwgHCCUASCMAZQgkgEgiwGUkzgCGCBEKgIAIpYBIJYBlCGYASA5KgIQIZwBIEIqAhAhmQEgOSgCFCE6IEIoAhQhNiA5KQIAIa8BIEIpAgAhrgECQCAzQX9zIh0gKHEiD0EEcUUEQEEAIRIMAQsgJi0ApAEhASAmKgKcASGOASAmKgKMASGNAQJ9IJYBICYqApQBIpIBlCAmKgKYASKeAZIhiwFDAAAAACCSAUMAAAAAQwAAgD8giwGVIIsBi0MI5TweXxuUIowBQwAAAABbDQAaICYqApABIYsBIJEBIJABEMMNIIsBkyKPAUMAAMB/QwAAgD8gjwGYQ9sPyUCUII8BII8BXBuTIYsBIIwBII8BIIsBII8BiyCLAYtdG5RDAAAAAJILIY8BIDcEQCAvIK4BNwJUIC8grwE3AkwgL0MAAAAAQwAAAABDAACAPyCYASCSAZQglgEgngGUkiKLAZUgiwGLQwjlPB5fGyKLASABQQFxIgEbOAJIIC8giwFDAAAAACABGzgCRCAvQQA2AjggLyCZATgCNCAvIJwBOAIwIC9CgICA/IOAgMA/NwIoIC9CADcCICAvIJYBII4BlCKMATgCHCAvIIwBjDgCGCAvQQA2AhQgLyAyNgIQIC8gNjYCDCAvIDo2AgggL0KCgICAIDcCACAvII8BII0BkyKLATgCQCAvIIsBOAI8QQEhEgwBC0EAQQBB4JvCABCwCQALIAIgHnEhP0MAAAAAQwAAgD8glgGVIJYBQwAAAABbGyGaAQJAAkACQCAPQQFxBEAgJioCNCGeASAmKgIwIYwBICYqAlQhjQEgJioCWCGPASAmKgJkIY4BICYtAGwhAiAmKgJcIZIBICYqAmAhkAEgHEGUAWogHEEIaiBEIDIgOSBCQQBBAkEAEKsDQwAAAABDAACAPyCYASCSAZQglgEgkAGUkiKLAZUgiwGLQwjlPB5fGyGRASA/QQFxIQFDAAAAACGXASCSAUMAAAAAQwAAgD8gkAEglgEgkgGUkiKLAZUgiwGLQwjlPB5fG5QiiwFDAAAAAFwEQCCLASAcKgIoIBwqArQBlCAcKgIsIBwqArgBlJIgjwGTlEMAAAAAkiGXAQsgkQFDAAAAACACGyGQAUMAAAAAIJEBIAIbIY8BIJYBII4BlCGRAQJAIAFFBEAgjQEhiwEMAQsgjQEgmgEgjAEgHCoCKCAcKgK0AZQgHCoCLCAcKgK4AZSSIo4Bk5QiiwFdDQAgmgEgngEgjgGTlCKLASCNASCLASCNAV0bIYsBCyAcIJABOALYASAcII8BOALcASAcIJcBIIsBkyKLATgC1AEgHCCLATgC0AEgHCCRATgCsAEgHCCRAYw4AqwBIBxBOGoiASAcQZQBakHcAPwKAAAgEiA3Tw0BIC8gEkHcAGxqIAFB3AD8CgAAIBJBAWohEgsgD0ECcQRAICYqAkAhkgEgJioCPCGRASAmKgJwIYsBICYqAnQhjgEgJioCgAEhkAEgJi0AiAEhASAmKgJ4IZMBICYqAnwhjwEgHEGUAWogHEEIaiBEIDIgOSBCQQFBAkEBEKsDQwAAAABDAACAPyCYASCTAZQglgEgjwGUkiKNAZUgjQGLQwjlPB5fGyGUASA/QQJxIQJDAAAAACGXASCTAUMAAAAAQwAAgD8gjwEglgEgkwGUkiKNAZUgjQGLQwjlPB5fG5QijQFDAAAAAFwEQCCNASAcKgIoIBwqArQBlCAcKgIsIBwqArgBlJIgjgGTlEMAAAAAkiGXAQsglAFDAAAAACABGyGPAUMAAAAAIJQBIAEbIY4BIJYBIJABlCGQAQJAIAJFBEAgiwEhjAEMAQsgiwEgmgEgkQEgjAEgAhsgHCoCKCAcKgK0AZQgHCoCLCAcKgK4AZSSIo0Bk5QijAFdDQAgmgEgkgEgngEgAhsgjQGTlCKMASCLASCLASCMAV4bIYwBCyAcII8BOALYASAcII4BOALcASAcIJcBIIwBkyKLATgC1AEgHCCLATgC0AEgHCCQATgCsAEgHCCQAYw4AqwBIBxBOGoiASAcQZQBakHcAPwKAAAgEiA3Tw0BIC8gEkHcAGxqIAFB3AD8CgAAIBJBAWohEgsgM0EDcSIeQYACcmghQyAeIChxDQEMAgsgEiA3QdCbwgAQsAkACwJAAkBBASBDQQdxdCA/cSIPBEAgQ0EDSQRAICZBMGogQ0EMbGopAgAhsAEMAgsgQ0EDQaCawgAQsAkACyBDQQNPDQELICZB1ABqIQIgQ0EcbCEBIBwqAiwhjgEgHCoCKCGNAUMAAAAAIZcBQwAAAAAhkwFDAAAAACGbAUMAAAAAIYwBIDNBAXEEQCAcKgIgII0BIBwqAggijAGUII4BIBwqAgwiiwGUkiKPAZRDAAAAAJIhlwEgHCoCGCCPAZRDAAAAAJIhkwEgiwEgjwGUQwAAAACSIZsBIIwBII8BlEMAAAAAkiGMAQsgASACaiECIDNBAnEEQCCXASAcKgIkII0BIBwqAhAijQGUII4BIBwqAhQiiwGUkiKOAZSSIZcBIJMBIBwqAhwgjgGUkiGTASCbASCLASCOAZSSIZsBIIwBII0BII4BlJIhjAELIAIqAgAhjQEgmwEgmwGUIIwBIIwBlJKRIZQBAkAgDwRAII0BIJoBILABp74glAGTlCKLAV0NASCaASCwAUIgiKe+IJQBk5QiiwEgjQEgiwEgjQFdGyGLAQwBCyCNASGLAQsgEiA3SQRAIAIqAgwhkAEgAioCCCGSASACLQAYIQEgAioCECGOASACKgIEIY8BIC8gEkHcAGxqIgIgrgE3AlQgAiCvATcCTCACQwAAAABDAAAAAEMAAIA/IJgBIJIBlCCWASCQAZSSIo0BlSCNAYtDCOU8Hl8bIo0BIAEbOAJIIAIgjQFDAAAAACABGzgCRCACQQA2AjggAiCWASCOAZQijQE4AhwgAiCNAYw4AhggAkEANgIUIAIgMjYCECACIDY2AgwgAiA6NgIIIAIgQzYCBCACQQI2AgAgAiCXAUMAAAAAQwAAgD8glAGVIJQBi0MI5TweXRsikQGUIo4BOAIsIAIgkwEgkQGUIo0BOAIoIAIgmwEgkQGUOAIkIAIgjAEgkQGUOAIgIAIgkgFDAAAAAEMAAIA/IJABIJYBIJIBlJIijAGVIIwBi0MI5TweXxuUIowBIJQBII8Bk5RDAAAAAJJDAAAAACCMAUMAAAAAXBsgiwGTIosBOAJAIAIgiwE4AjwgAiCOASCZAZQ4AjQgAiCNASCcAZQ4AjAgEkEBaiESDAILIBIgN0HAmsIAELAJAAsgQ0EDQbCawgAQsAkACwJ/AkAgEiA3TQRAIC8gEhCvAiBEKgIQQ9sPyUCUIosBIJYBIIsBlCBEKgIUIo8BII8BkpKVIZIBIBIiAiBAQQRxRQ0CGiACIDdJDQEgAiA3QcCbwgAQsAkACyASIDdB0JrCABCjDQALIBwqAjQhiwEgLyASQdwAbGoiASCuATcCVCABIK8BNwJMIAFCADcCQCABIIsBIJIBlEMAAAAAkjgCPCABQQA2AjggASCZATgCNCABIJwBOAIwIAFCgICA/IOAgMA/NwIoIAFCADcCICABQf////sHNgIcIAFCgICAgPD//79/NwIUIAEgMjYCECABIDY2AgwgASA6NgIIIAFCgICAgCA3AgAgAUMAAAAAQwAAgD8glgEgkgGUIosBlUMAAIC/kiKMASCMAZQgjwEgjwEgjAFDAACAP5JDAACAQJSUlJUgiwFDAAAAAFsbOAJIIBJBAWoLIQICQAJAAkAgJARAIBxBlAFqIgEgHEEIaiBEIDIgOSBCQQBBAEEAEKsDIAIgN08NASAvIAJB3ABsaiABQdwA/AoAACACQQFqIQILICEEQCAcQZQBaiIBIBxBCGogRCAyIDkgQkEBQQBBARCrAyACIDdPDQEgLyACQdwAbGogAUHcAPwKAAAgAkEBaiECCyAmKgJMIYsBICYqAkhDAAAAP5QQxg0hjQEgiwFDAAAAP5QQxg0hjAEgHSA/cSIdQQRxRQRAQwAAgD8glgEgkgGUIp0BlUMAAIC/kiKLASCLAZQgjwEgjwEgiwFDAACAP5JDAACAQJSUlJUhjAEMAwsgHCoCNCAcKgIwEMMNIYsBIAIgN0kNASACIDdBoJvCABCwCQALIAIgN0Gwm8IAELAJAAsgLyACQdwAbGoiASCuATcCVCABIK8BNwJMIAFCADcCQCABQQA2AjggASCZATgCNCABIJwBOAIwIAFCgICA/IOAgMA/NwIoIAFCADcCICABQQA2AhQgASAyNgIQIAEgNjYCDCABIDo2AgggAUKBgICAIDcCACABQwAAgH9DAAAAACCLAUMAAAA/lBDGDSKOASCMAWAbOAIcIAFDAACA/0MAAAAAII0BII4BYBs4AhggASCOASCMAZMiiwFDAAAAACCLAUMAAAAAYBsgjQEgjgGTIosBQwAAAAAgiwFDAAAAAGAbkyCSAZRDAAAAAJI4AjwgAUMAAAAAQwAAgD8glgEgkgGUIp0BlUMAAIC/kiKLASCLAZQgjwEgjwEgiwFDAACAP5JDAACAQJSUlJUijAEgnQFDAAAAAFsbOAJIIAJBAWohAgsCQAJAAkAgHUEBcQRAICYqAjAhjQEgJioCNCGLASAcQZQBaiIPIBxBCGogRCAyIDkgQkEAQQFBABCrAyAcQwAAAAAgjAEgnQFDAAAAAFsbOALcASAcQwAAgH9DAAAAACAcKgIoIBwqArQBlCAcKgIsIBwqArgBlJIijgEgiwFgGzgCsAEgHEMAAID/QwAAAAAgjQEgjgFgGzgCrAEgHCCOASCLAZMiiwFDAAAAACCLAUMAAAAAYBsgjQEgjgGTIosBQwAAAAAgiwFDAAAAAGAbkyCSAZQgHCoC1AGSOALQASAcQThqIgEgD0HcAPwKAAAgAiA3Tw0BIC8gAkHcAGxqIAFB3AD8CgAAIAJBAWohAgsgHUECcQRAICYqAjwhjQEgJioCQCGLASAcQZQBaiIPIBxBCGogRCAyIDkgQkEBQQFBARCrAyAcQwAAAAAgjAEgnQFDAAAAAFsbOALcASAcQwAAgH9DAAAAACAcKgIoIBwqArQBlCAcKgIsIBwqArgBlJIijgEgiwFgGzgCsAEgHEMAAID/QwAAAAAgjQEgjgFgGzgCrAEgHCCOASCLAZMiiwFDAAAAACCLAUMAAAAAYBsgjQEgjgGTIosBQwAAAAAgiwFDAAAAAGAbkyCSAZQgHCoC1AGSOALQASAcQThqIgEgD0HcAPwKAAAgAiA3Tw0BIC8gAkHcAGxqIAFB3AD8CgAAIAJBAWohAgsgHkUNAiA/Qf8BcSBDQQdxdkEBcUUNAiBDQQJLDQFDAAAAACGeASAcKgIsIZABIBwqAighjwFDAAAAACGXAUMAAAAAIY4BQwAAAAAhiwEgM0EBcQRAIBwqAiAgjwEgHCoCCCKNAZQgkAEgHCoCDCKLAZSSIpEBlEMAAAAAkiGeASAcKgIYIJEBlEMAAAAAkiGXASCLASCRAZRDAAAAAJIhjgEgjQEgkQGUQwAAAACSIYsBCyAzQQJxBEAgngEgHCoCJCCPASAcKgIQIo8BlCCQASAcKgIUIo0BlJIikAGUkiGeASCXASAcKgIcIJABlJIhlwEgjgEgjQEgkAGUkiGOASCLASCPASCQAZSSIYsBCyACIDdJBEAgJiBDQQxsakE0aioCACGNASAvIAJB3ABsaiIBIK4BNwJUIAEgrwE3AkwgAUMAAAAAIIwBIJ0BQwAAAABbGzgCSCABQQA2AkQgAUEANgI4IAFBgICA/Ac2AhwgAUIANwIUIAEgMjYCECABIDY2AgwgASA6NgIIIAEgQzYCBCABQQE2AgAgASCaASCOASCOAZQgiwEgiwGUkpEijAEgjQGTIpEBQwAAAAAgkQFDAAAAAF8blCKPATgCQCABIJ4BQwAAAABDAACAPyCMAZUgjAGLQwjlPB5dGyKQAZQijQE4AiwgASCXASCQAZQijAE4AiggASCOASCQAZQ4AiQgASCLASCQAZQ4AiAgASCPASCRAUMAAAAAIJEBQwAAAABgGyCSAZSSOAI8IAEgmQEgjQGUOAI0IAEgnAEgjAGUOAIwIAJBAWohAgwDCyACIDdB8JrCABCwCQALIAIgN0GQm8IAELAJAAsgQ0EDQeCawgAQsAkACwJAAkAgAiASTwRAIAIgN0sNASAvIBJB3ABsaiACIBJrEK8CIBxB8AFqJAAMAgsgEiACQYCbwgAQpA0ACyACIDdBgJvCABCjDQALIGsgDkHAAWoiDkcNAAsLAkACQAJAAkACQAJAIEEEQCCkASAxs5QhlgEgQSEQICUhDiAUIQEDQAJ9AkAgDkFAaygCACICIFNJBEAgDkHEAGooAgAgVCACQRRsaiIPKAIARg0BCyABQcwBaigCACICIFhPBEBCACGwAUMAAAAAIZcBQwAAgD8MAgsgKiACQQV0aiICKQIIIbABIAIqAgQhlwEgAioCAAwBCyAPKAIEIgIgXU8NCCBeIAJBpAJsaiIgKAIAQYCAgIB4Rg0IICAoAqACIA8oAghHDQggDygCECICICAoAghPDQcgICgCBCACQaACbGoiAikDCCGwASACKgIEIZcBIAIqAgALIYwBAn0CQCAOQcgAaigCACICIFNJBEAgDkHMAGooAgAgVCACQRRsaiIPKAIARg0BCyABQdABaigCACICIFhPBEBCACGvAUMAAIA/IY4BQwAAAAAMAgsgKiACQQV0aiICKQIIIa8BIAIqAgAhjgEgAioCBAwBCyAPKAIEIgIgXU8NBiBeIAJBpAJsaiIgKAIAQYCAgIB4Rg0GICAoAqACIA8oAghHDQYgDygCECICICAoAghPDQUgICgCBCACQaACbGoiAikDCCGvASACKgIAIY4BIAIqAgQLIYsBIAFB2wFqLQAAIg9BAksNAwJAIA9FDQAgoQFDAAAAAGBFDQMgAUEEaioCACGaASABKgIAIZwBIAFBOGoiAioCACGNASACIKgBII0BlDgCACABQTxqIgIgjQEgAioCAJI4AgAgAUGIAWoiAioCACGNASACIKgBII0BlDgCACABQYwBaiIgII0BICAqAgCSOAIAIAFBNGogDkEYaioCACCpAUMAAAAAQwAAAAAgDkEcaioCACCcASCWASAOKQIAIq4Bp76UIIwBIA5BCGoqAgAikgGUIJcBIA5BDGoqAgAikQGUkyCwAae+IpkBkpIgjgEgDkEQaioCACKPAZQgiwEgDkEUaioCACKNAZSTIK8Bp74imAGSkyKQAZQgmgEglgEgrgFCIIinvpQglwEgkgGUIIwBIJEBlJIgsAFCIIinviKTAZKSIIsBII8BlCCOASCNAZSSIK8BQiCIp74ilAGSkyKPAZSSkiKRASCRAUMAAAAAXRsgkQEgkQFcG5SSIo0BOAIAIAFBMGogjQFDAAAAACCrASCqASCmASCRAZKUIo0BII0BIKsBXRsijQEgjQFDAAAAAF4bkjgCACABQYABaiCpASCcASCPAZQgmgEgkAGUk5QgAUGEAWoqAgCSOAIAIA9BAUYNACABQeQAaiICKgIAIY0BIAIgqAEgjQGUOAIAIAFB6ABqIgIgjQEgAioCAJI4AgAgAUGsAWoiAioCACGNASACIKgBII0BlDgCACABQbABaiICII0BIAIqAgCSOAIAIAFB4ABqIA5BOGoqAgAgqQFDAAAAAEMAAAAAIA5BPGoqAgAgnAEglgEgDkEgaikCACKuAae+lCCMASAOQShqKgIAIpIBlCCXASAOQSxqKgIAIpEBlJMgmQGSkiCOASAOQTBqKgIAIpABlCCLASAOQTRqKgIAIo8BlJMgmAGSkyKNAZQgmgEglgEgrgFCIIinvpQglwEgkgGUIIwBIJEBlJIgkwGSkiCLASCQAZQgjgEgjwGUkiCUAZKTIowBlJKSIo4BII4BQwAAAABdGyCOASCOAVwblJIiiwE4AgAgAUHcAGogiwFDAAAAACCrASCqASCmASCOAZKUIosBIIsBIKsBXRsiiwEgiwFDAAAAAF4bkjgCACABQaQBaiCpASCcASCMAZQgmgEgjQGUk5QgAUGoAWoqAgCSOAIACyABQcQBaiCgATgCACAOQdQAaiEOIAFB3AFqIQEgEEEBayIQDQALCwJAIEcEQCCkASAxs5QhmgEgRyEQICkhDiAWIQEDQEMAAIA/IZcBQwAAAAAhmwFCACGwAUIAIa8BQwAAAAAhjAFDAACAPyGOASABQcABaigCACICIFhJBEAgKiACQQV0aiICKQIIIa8BIAIqAgAhjgEgAioCBCGMAQsgAUHEAWooAgAiAiBYSQRAICogAkEFdGoiAikCCCGwASACKgIAIZcBIAIqAgQhmwELIAFBzAFqLQAAIg9BAksNAgJAIA9FDQAgAUEEaioCACGcASABKgIAIZkBIAFBQGsiAioCACGLASACIKgBIIsBlDgCACABQcQAaiICIIsBIAIqAgCSOAIAIAFBkAFqIgIqAgAhiwEgAiCoASCLAZQ4AgAgAUGUAWoiICCLASAgKgIAkjgCACABQTxqIA5BGGoqAgAgqQEgDkEcaioCACCZASCOASAOQQhqKgIAIpEBlCCMASAOQQxqKgIAIpABlJMgrwGnviKYAZIgmgEgDikCACKuAae+lJIglwEgDkEQaioCACKNAZQgmwEgDkEUaioCACKLAZSTILABp74ikwGSkyKPAZQgnAEgjAEgkQGUII4BIJABlJIgrwFCIIinviKUAZIgmgEgrgFCIIinvpSSIJsBII0BlCCXASCLAZSSILABQiCIp74ikgGSkyKNAZSSkiKQAUMAAAAAIJABQwAAAABgG5SSIosBOAIAIAFBOGogiwEgpQFDAAAAACCqASCmASCQAZKUIosBIIsBQwAAAABeGyCLASClAV0bkjgCACABQYgBaiCpASCZASCNAZQgnAEgjwGUk5QgAUGMAWoqAgCSOAIAIA9BAUYNACABQewAaiICKgIAIYsBIAIgqAEgiwGUOAIAIAFB8ABqIgIgiwEgAioCAJI4AgAgAUG0AWoiAioCACGLASACIKgBIIsBlDgCACABQbgBaiICIIsBIAIqAgCSOAIAIAFB6ABqIA5BOGoqAgAgqQEgDkE8aioCACCZASCOASAOQShqKgIAIpEBlCCMASAOQSxqKgIAIpABlJMgmAGSIJoBIA5BIGopAgAirgGnvpSSIJcBIA5BMGoqAgAijwGUIJsBIA5BNGoqAgAiiwGUkyCTAZKTIo0BlCCcASCMASCRAZQgjgEgkAGUkiCUAZIgmgEgrgFCIIinvpSSIJsBII8BlCCXASCLAZSSIJIBkpMijAGUkpIijgFDAAAAACCOAUMAAAAAYBuUkiKLATgCACABQeQAaiCLASClAUMAAAAAIKoBIKYBII4BkpQiiwEgiwFDAAAAAF4bIIsBIKUBXRuSOAIAIAFBrAFqIKkBIJkBIIwBlCCcASCNAZSTlCABQbABaioCAJI4AgALIAFBGGogoAE4AgAgDkFAayEOIAFB0AFqIQEgEEEBayIQDQALCwJAAkAgqAFDAAAAAFsNACAUIQEgFiEPA0ACQCABRQ0AIAEgfkYNAEEAITVDAAAAACGLAUMAAAAAIY4BQwAAAAAhnQFDAAAAACGXAUEAIUIjAEEgayJfJABBAiFuAkACQAJAAkACQAJAAn8gASIkKALMASJMQX9GBEBBAiFvQQAMAQtBASFvQQAgJC0A2gFBAXENABogPCgCCCIBIExNDQEgPCgCBCBMQQxsaiIBKgIIIYsBIAEqAgQhjgEgASgCACFMQQAhb0EBCyESAkAgJCgC0AEiTUF/Rg0AICQtANoBQQJxBEBBASFuDAELIDwoAggiASBNTQ0CIDwoAgQgTUEMbGoiASoCCCGdASABKgIEIZcBIAEoAgAhTUEAIW5BASFCCyAkLQDbASIcQQNPDQIgHARAICQoArwBIk5BAXQhJiAkKALAASFLIFsoAgwhYCBbKAIEIWEgJCoCFCGaASAkKgIQIZwBIBgoAgwhYiAkKAK4ASFVIE5BAWshLyAYKAIEIj8gTkECdGohNyAkKgIIIpIBICQpAgAirgGnviKZAZQhmAEgJCoCDCKRASCuAUIgiKe+IpMBlCGUASAkKgI4IZYBAkACQAJAIG9BAWsOAgECAAsgjgEglAEglgGUkiGOASCLASCWASAkKgIolJIhiwEgmAEglgGUIEy+krwhTAwBCyAmIFVqIGJLDQYgTCBOaiBgSw0GIE5FDQAgNyBVQQJ0aiEdIGEgTEECdGohDiBOQQFxISggLwR/QQAgTkF+cWshHiAdIQEgDiECA0AgAiCWASABKgIAlCACKgIAkjgCACACQQRqIiEglgEgAUEEaioCAJQgISoCAJI4AgAgAUEIaiEBIAJBCGohAiAeIDVBAmsiNUcNAAtBACA1awVBAAshASAoRQ0AIAFBAnQiAiAOaiIBIJYBIAIgHWoqAgCUIAEqAgCSOAIACyBLQQFrIUMgJiBLaiIBIEtqITIgPyABQQJ0aiE5IJwBIJkBjCKNAZQhkAEgmgEgkwGMIowBlCGPAQJAAkACQCBuQQFrDgIBAgALIJcBII8BIJYBlJIhlwEgnQEglgEgJCoCLJSSIZ0BIJABIJYBlCBNvpK8IU0MAQsgMiBVaiBiSw0GIEsgTWogYEsNBiBLRQ0AIDkgVUECdGohHSBhIE1BAnRqIQ4gS0EBcSEoIEMEf0EAITVBACBLQX5xayEeIB0hASAOIQIDQCACIJYBIAEqAgCUIAIqAgCSOAIAIAJBBGoiISCWASABQQRqKgIAlCAhKgIAkjgCACABQQhqIQEgAkEIaiECIB4gNUECayI1Rw0AC0EAIDVrBUEACyEBIChFDQAgAUECdCICIA5qIgEglgEgAiAdaioCAJQgASoCAJI4AgALIEsgTmoiQEECdCFEAkAgHEEBRg0AIEQgVWohNiAkKgJkIZYBAkACQAJAIG9BAWsOAgACAQsgJiA2aiBiSw0IIEwgTmogYEsNCCBORQ0BIDcgNkECdGohHSBhIExBAnRqIQ4gTkEBcSEoIC8Ef0EAITVBACBOQX5xayEeIB0hASAOIQIDQCACIJYBIAEqAgCUIAIqAgCSOAIAIAJBBGoiISCWASABQQRqKgIAlCAhKgIAkjgCACABQQhqIQEgAkEIaiECIB4gNUECayI1Rw0AC0EAIDVrBUEACyEBIChFDQEgAUECdCICIA5qIgEglgEgAiAdaioCAJQgASoCAJI4AgAMAQsgjgEglAEglgGUkiGOASCLASCWASAkKgJUlJIhiwEgmAEglgGUIEy+krwhTAsCQAJAIG5BAWsOAgACAQsgMiA2aiBiSw0HIEsgTWogYEsNByBLRQ0BIDkgNkECdGohHSBhIE1BAnRqIQ4gS0EBcSEoIEMEf0EAITVBACBLQX5xayEeIB0hASAOIQIDQCACIJYBIAEqAgCUIAIqAgCSOAIAIAJBBGoiISCWASABQQRqKgIAlCAhKgIAkjgCACABQQhqIQEgAkEIaiECIB4gNUECayI1Rw0AC0EAIDVrBUEACyEBIChFDQEgAUECdCICIA5qIgEglgEgAiAdaioCAJQgASoCAJI4AgAMAQsglwEgjwEglgGUkiGXASCdASCWASAkKgJYlJIhnQEgkAEglgGUIE2+krwhTQsgPyBVQQJ0IgEgS0EMbCBOQQR0ampqIQ4gPyBOQQxsIEtBA3RqIAFqaiEdIEBBBHQhMyBLQQFxITogTkEBcSE2IJoBII0BlCGQASCcASCTAZQhjwEgkQEgmQGUIY0BIJIBIIwBlCGMASBAQQF0IFVqIWNBACBLQX5xayE/QQAgTkF+cWshQCAkQfAAaiJVIBxBJGxqISgDQCBVKgIYIZEBAkACQAJAIG9BAWsOAgECAAsgjgEgjQEgkQGUkiGOASCLASCRASBVKgIIlJIhiwEgjAEgkQGUIEy+krwhTAwBCyAmIGNqIGJLDQcgTCBOaiBgSw0HIE5FDQAgYSBMQQJ0aiEhIC8Ef0EAITUgHSEBICEhAgNAIAIgkQEgASoCAJQgAioCAJI4AgAgAkEEaiIeIJEBIAFBBGoqAgCUIB4qAgCSOAIAIAFBCGohASACQQhqIQIgQCA1QQJrIjVHDQALQQAgNWsFQQALIQEgNkUNACABQQJ0IgIgIWoiASCRASA3IGNBAnRqIAJqKgIAlCABKgIAkjgCAAsCQAJAAkAgbkEBaw4CAQIACyCXASCQASCRAZSSIZcBIJ0BIJEBIFUqAgyUkiGdASCPASCRAZQgTb6SvCFNDAELIDIgY2ogYksNByBLIE1qIGBLDQcgS0UNACBhIE1BAnRqISEgQwR/QQAhNSAOIQEgISECA0AgAiCRASABKgIAlCACKgIAkjgCACACQQRqIh4gkQEgAUEEaioCAJQgHioCAJI4AgAgAUEIaiEBIAJBCGohAiA/IDVBAmsiNUcNAAtBACA1awVBAAshASA6RQ0AIAFBAnQiAiAhaiIBIJEBIDkgY0ECdGogAmoqAgCUIAEqAgCSOAIACyAOIDNqIQ4gHSAzaiEdIEQgY2ohYyAoIFVBJGoiVUcNAAsLIBIEQCAkKALMASICIDwoAggiAU8NBCA8KAIEIAJBDGxqIgEgiwE4AgggASCOATgCBCABIEw2AgALAkAgQgRAICQoAtABIgIgPCgCCCIBTw0BIDwoAgQgAkEMbGoiASCdATgCCCABIJcBOAIEIAEgTTYCAAsgX0EgaiQADAYLIAIgAUGAlMIAELAJAAsgTCABQcCTwgAQsAkACyBNIAFB0JPCABCwCQALIBxBAkHgk8IAEKMNAAsgAiABQfCTwgAQsAkACyBfQQA2AhggX0EBNgIMIF9B4OzBADYCCCBfQgQ3AhAgX0EIakHo7MEAENwLAAsgJEHcAWohAQwBCyAPIH1GDQFDAAAAACGbAUMAAAAAIYwBQwAAAAAhjgFDAAAAACGdASBXIA8oAsABIhVNIiJFBEAgGiAVQQxsaiIBKgIIIZ0BIAEqAgAhjgEgASoCBCGMAQtDAAAAACGLAUMAAAAAIZ4BIFcgDygCxAEiIEsEQCAaICBBDGxqIgEqAgghngEgASoCBCGbASABKgIAIYsBCyAPLQDMASIBQQJLDQIgAQRAIJ4BIA8qAkAimgEgDyoCNJSSIZ4BIJ0BIJoBIA8qAjCUkiGdASCLASAPKgIQIpgBIA8pAgAirgGnviKcAZQikwEgmgGUkyGLASCOASAPKgIIIpQBIJwBlCKSASCaAZSSIY4BIJsBIA8qAhQikQEgrgFCIIinviKZAZQikAEgmgGUkyGbASCMASAPKgIMIo8BIJkBlCKNASCaAZSSIYwBIAFBAUcEQCCeASAPKgJsIpoBIA8qAmCUkiGeASCbASCQASCaAZSTIZsBIJ0BIJoBIA8qAlyUkiGdASCOASCSASCaAZSSIY4BIIwBII0BIJoBlJIhjAEgiwEgkwEgmgGUkyGLAQsgkQEgnAGUIZEBII8BIJwBlCGQASABQSRsIRAgmAEgmQGMIo0BlCGPASCUASCNAZQhjQFBACEBA0AgngEgASAPaiICQZABaioCACKSASACQYQBaioCAJSSIZ4BIJ0BIJIBIAJBgAFqKgIAlJIhnQEgmwEgkQEgkgGUkyGbASCLASCPASCSAZSTIYsBIIwBIJABIJIBlJIhjAEgjgEgjQEgkgGUkiGOASAQIAFBJGoiAUcNAAsLICJFBEAgGiAVQQxsaiIBIJ0BOAIIIAEgjAE4AgQgASCOATgCACAPKALEASEgCyAPQdABaiEPQQAhASAgIFdPDQAgGiAgQQxsaiICIJ4BOAIIIAIgmwE4AgQgAiCLATgCAAwACwALIFkEQEEAISIDQCAjIQEgHyEOA0ACQCABRQ0AIAEgSEYNACABIEkgPCBbED8gAUHIAGohAQwBCwJAIA4gRkYEQCAUIQEgFiEOA0ACQCABRQ0AIAEgfkYNACABIBggPCBbEEQgAUHcAWohAQwBCyAOIH1GDQIgDiA8EH0gDkHQAWohDkEAIQEMAAsAC0MAAAAAIZcBQwAAAAAhmwFDAAAAACGMAUMAAAAAIY4BIA4oAggiDyBXTyIBRQRAIBogD0EMbGoiAioCCCGOASACKgIEIZsBIAIqAgAhjAELQgAhsAEgVyAOKAIMIhBNIiBFBEAgGiAQQQxsaiIVKgIIIZcBIBUpAgAhsAELIA4gDioCGCKNASAOKgIcIosBIA4qAhQikAEgDioCOCAOKgI8IA4qAiAgsAGnviKUASCMAZOUIA4qAiQgsAFCIIinviKSASCbAZOUkiCXASAOKgIslCCOASAOKgIolJOSkiCQASAOKgJElJOUkiKPASCLASCPAV0bII0BII8BXhsiiwE4AhQgDioCNCGRASCLASCQAZMimQEgDikCICKuAUIgiKe+lCGYASAOKgJYIZABIJkBIK4Bp76UIZMBIA4qAlQhjwEgAUUEQCAOKgJQIY0BIA4qAkwhiwEgGiAPQQxsaiIBII4BIA4qAjAgmQGUkjgCCCABIJsBII0BIJgBlJI4AgQgASCMASCLASCTAZSSOAIACyAOQdwAaiEOQQAhASAgDQEgGiAQQQxsaiICIJcBIJEBIJkBlJM4AgggAiCSASCYASCQAZSTOAIEIAIglAEgkwEgjwGUkzgCAAwBCwsgWSAiQQFqIiJHDQALCyAwBEAgMCEPIBohDiAqIQEDQCAOQQhqKgIAIYsBIAFBCGoiAiCkASAOKQIAIq4Bp76UIAIqAgCSOAIAIAFBDGoiAiCkASCuAUIgiKe+lCACKgIAkjgCACABQQRqIhAqAgAijQEgpAEgiwGUIowBIAEqAgAiiwGUkiGOASAQII4BII4BII4BlCCLASCMASCNAZSTIowBIIwBlJKRIosBlTgCACABIIwBIIsBlTgCACAOQQxqIQ4gAUEgaiEBIA9BAWsiDw0ACwsCQAJAAkACQAJAAkAgZARAICshIQNAICEoAgAiASBdTw0CIF4gAUGkAmxqIh4oAgBBgICAgHhGDQIgHigCoAIgISgCBEcNAiAeKAKUAiICIB4oApgCIgFqIHtLDQcgHkEYaigCACACRw0jIB5BEGohHQJAIAJFDQAgAUECdCEOIB0oAgAhFSACQQNxIRBBACEgIAJBBE8EQCAOIHVqISIgAkF8cSECQQAhAQNAIAEgFWoiEiABICJqIg8qAgA4AgAgEkEEaiAPQQRqKgIAOAIAIBJBCGogD0EIaioCADgCACASQQxqIA9BDGoqAgA4AgAgAUEQaiEBIAIgIEEEaiIgRw0ACwsgEEUNACB1ICBBAnQiAiAOamohASACIBVqIQ4DQCAOIAEqAgA4AgAgAUEEaiEBIA5BBGohDiAQQQFrIhANAAsLIB4oAggiAQRAIB4oAgQhEiABQaACbCEPIB0oAgAhDiAeKAIUIRVBACEgA0AgEiAgaiIkQYwCaigCACICIBVLDQUgFSACayEdIA4gAkECdGohIkEAIQEgJEHIAWotAAAiEEEBcUUEQCACIBVGDR8gJEHYAWoiASABKgIAIKQBICIqAgCUkjgCAEEBIQELIBBBAnFFBEAgASAdTw0fICRB3AFqIgIgAioCACCkASAiIAFBAnRqKgIAlJI4AgAgAUEBaiEBCwJAAkAgEEECdmkOAgABCgsgASAdTw0HIBBBBHENCCAkQeABaiICKgIAIKQBICIgAUECdGoqAgCUkiGLASACIIsBOAIAICRB1AFqIIsBELsBOAIAICRB0AFqIIsBEL4BOAIACyAPICBBoAJqIiBHDQALCyAeIAZBABAoIB4oAggiAgRAIB4oAgQhASACQaACbCEOA0ACQCABQfABaigCACICIFJPDQAgUSACQQh0aiICKAIAQQFHDQAgAigCBCABQfQBaigCAEcNACACIAEpAwA3AyAgAkEoaiABQQhqKQMANwMAIDEgRUYNACACLQDxASEQIBtByABqIAJBkAFqIAEQ3AogAiAbKQNINwKgASACIAIoApgBIiA2AqwBIAIgIDYCqAEgAiACKgKcATgCsAECQCAQBEAgAkIANwKoAQwBCyACLQC4ASIQQQFxBEAgAkEANgKoAQsgEEECcQRAIAJBADYCrAELIBBBIHFFDQELIAJBADYCsAELIAFBoAJqIQEgDkGgAmsiDg0ACwsCQCAxIEVGDQAgHiCkASBRIFIQJCAeIFEgUhBMIB4oApQCIg4gHigCmAIiAmoge0sNJiAbIB4oAjgiATYC2AEgGyAONgLIASABIA5HDSUgHigCNCIBRQ0AIAJBAnQhDiAeKAIwIRUgAUEDcSEQQQAhICABQQRPBEAgDiB0aiEiIAFBfHEhAkEAIQEDQCABICJqIhIgpAEgASAVaiIPKgIAlDgCACASQQRqIKQBIA9BBGoqAgCUOAIAIBJBCGogpAEgD0EIaioCAJQ4AgAgEkEMaiCkASAPQQxqKgIAlDgCACABQRBqIQEgAiAgQQRqIiBHDQALCyAQRQ0AIHQgIEECdCICIA5qaiEBIAIgFWohDgNAIAEgpAEgDioCAJQ4AgAgAUEEaiEBIA5BBGohDiAQQQFrIhANAAsLIGcgIUEQaiIhRw0ACwsgT0UNF0EAIQIDQCAjIQEgHyEOA0ACQCABRQ0AIAEgSEYNACABQTRqIAFBOGoqAgA4AgAgASBJIDwgWxA/IAFByABqIQEMAQsgDiBGRgRAIBQhASAWIQ4DQAJAAkACfyABRSABIH5GciIkRQRAIAFB3AFqIRBBxAEhIEEwISJB4AAhNUHcACE5QYQBITJBqAEhHUGkASEhIA4hEkE0IRVBgAEMAQsgDiB9Rg0BIA5B0AFqIRJBACEQQRghIEE4ISJB6AAhNUHkACE5QYwBITJBsAEhHUGsASEhIA4hAUE8IRVBiAELIQ8gASAgakGAgID8AzYCACABICJqIAEgFWoqAgA4AgAgASA5aiABIDVqKgIAOAIAIAEgD2ogASAyaigCADYCACABICFqIAEgHWooAgA2AgAgJEUEQCABIBggPCBbEEQMAgsgASA8EH0MAQsgTyACQQFqIgJHDQQMHAsgECEBIBIhDgwACwALIA4gDioCQCKPATgCPEMAAAAAIZcBQwAAAAAhjgFDAAAAACGdAUMAAAAAIYsBIA4oAggiEiBXTyIBRQRAIBogEkEMbGoiDyoCCCGLASAPKgIAIZ0BIA8qAgQhjgELQgAhsAEgVyAOKAIMIhBNIiBFBEAgGiAQQQxsaiIVKgIIIZcBIBUpAgAhsAELIA4gDioCGCKNASAOKgIcIowBIA4qAhQikAEgDioCOCCPASAOKgIgILABp74ilAEgnQGTlCAOKgIkILABQiCIp74ikgEgjgGTlJIglwEgDioCLJQgiwEgDioCKJSTkpIgkAEgDioCRJSTlJIijwEgjAEgjwFdGyCNASCPAV4bIowBOAIUIA4qAjQhkQEgjAEgkAGTIpkBIA4pAiAirgFCIIinvpQhmAEgDioCWCGQASCZASCuAae+lCGTASAOKgJUIY8BIAFFBEAgDioCUCGNASAOKgJMIYwBIBogEkEMbGoiASCLASAOKgIwIJkBlJI4AgggASCOASCNASCYAZSSOAIEIAEgnQEgjAEgkwGUkjgCAAsgDkHcAGohDkEAIQEgIA0AIBogEEEMbGoiDyCXASCRASCZAZSTOAIIIA8gkgEgmAEgkAGUkzgCBCAPIJQBIJMBII8BlJM4AgAMAAsACwALQdSrwgAQpQ0ACyACIBVB5IbCABCiDQALIAEgHUGcqsIAELAJAAsgG0EANgJYIBtBATYCTCAbQYzwwQA2AkggG0IENwJQIBtByABqQayqwgAQ3AsAC0HoysEAQShBvKrCABD5CgALDB0LIAFBAkHQkcIAEKMNAAsgD0ECQcCRwgAQow0ACyCrAUMAAAAAELEJAAsgD0ECQfCSwgAQow0AC0Gwk8IAEKUNAAtBnPvBAEETQaCTwgAQ+AkAC0GQk8IAEKUNAAtBnPvBAEETQYCTwgAQ+AkACyABIHxB8JnCABCiDQALIAEgXEHQmMIAEKINAAtBwJjCABClDQALQZz7wQBBE0GwmMIAEPgJAAtBoJjCABClDQALQZz7wQBBE0GQmMIAEPgJAAsgECBcQcCZwgAQog0AC0GwmcIAEKUNAAtBnPvBAEETQaCZwgAQ+AkACyB6IDFBAWoiMUcNAAsgACgCUCIBQYCU69wDRw0CDAMLIDQEQANAID5BBGoqAgAhiwEgGiA+KgIAIBoqAgCSOAIAIBpBBGoiACCLASAAKgIAkjgCACAaQQhqIgAgPkEIaioCACAAKgIAkjgCACAaQQxqIRogPkEMaiE+IDRBAWsiNA0ACwsgG0EBNgLcASAbIAE2AtgBIBtBATYCzAEgGyB7NgLIASAbQgA3AlQgG0KBgICAwAA3AkwgG0HE8MEANgJIIBtByAFqIBtB2AFqIBtByABqQczwwQAQnwsACyABIB1BzKrCABCwCQALIAApA0ghrgEgG0HYAWoiAhDcCCAbQcgAaiACIK4BIAEQlAggACkDWCKuASAbKQNIfCKwASCuAVQNASAAKAJgIBsoAlBqIgFBgJTr3ANPBEAgsAFCf1ENAiCwAUIBfCGwASABQYCU69wDayEBCyAAIAE2AmAgACCwATcDWAsgAEGAlOvcAzYCUCAbQcgAahDcCCAbKQNIIa8BIAAgGygCUCIiNgKwASAAIK8BNwOoASAYKALAASIUIBgoAsQBQdwAbGohDiAYKAK0ASIBIBgoArgBQcgAbGohAgNAAkAgAUUNACABIAJGDQAjAEEgayIQJAACQCABKAIgIg9Bf0YNAAJAAkACQAJAAkACQCAPID1JBEAgLCAPQfABbGohDyABKAIEIRUgASgCAEEBaw4CAgMBCyAPID1BkJfCABCwCQALIBVBA08NAyAPIBVBAnRqQcgBaiABKgIkOAIADAULIBVBA0kNASAVQQNBsJfCABCwCQALIBVBA0kNAiAVQQNBwJfCABCwCQALIA8gFUEMbGpBOGogASoCJDgCAAwCCyAQQQA2AhggEEEBNgIMIBBBjPDBADYCCCAQQgQ3AhAgEEEIakGgl8IAENwLAAsgDyAVQRxsakHoAGogASoCJDgCAAsgEEEgaiQAIAFByABqIQEMAQsgDiAURwRAIwBBIGsiDyQAAkACQAJAAkACQAJAAkAgFCgCECIBID1JBEAgLCABQfABbGohASAUKAIEIRAgFCgCAEEBaw4CAgMBCyABID1B8JvCABCwCQALIBBBA08NAiABIBBBAnRqQcgBaiAUKgIUOAIADAULIBBBA0kNAyAQQQNBkJzCABCwCQALIBBBA0kNASAQQQNBoJzCABCwCQALIA9BADYCGCAPQQE2AgwgD0GM8MEANgIIIA9CBDcCECAPQQhqQYCcwgAQ3AsACyABIBBBHGxqQegAaiAUKgIUOAIADAELIAEgEEEMbGpBOGogFCoCFDgCAAsgD0EgaiQAIBRB3ABqIRRBACEBDAELCyAYKAJQIhQgGCgCVEHQAWxqIRAgGCgCRCIBIBgoAkhB3AFsaiEPA0AgAUEARyABIA9HcQRAAkACQCABKALUASIOIC1JBEAgAS0A2wEiEkUNAiABLQDYASICIDsgDkECdGooAgAiDigCYCIVSQRAIA5B5ABqIg4gAkEsbGoiFiABKgI4IosBOAIIIBYgASgCiAEiAjYCDCAWIIsBIAEqAjySOAIAIBYgASoCjAEgAr6SOAIEIBJBAUYNAyAVIAEtANkBIgJLDQILIAIgFUGAlcIAELAJAAsgDiAtQeCUwgAQsAkACyAOIAJBLGxqIg4gASoCZCKLATgCCCAOIAEoAqwBIgI2AgwgDiCLASABKgJokjgCACAOIAEqArABIAK+kjgCBCASQQJGDQBBAkECQfCUwgAQsAkACyABQdwBaiEBDAEFIBAgFEcEQAJAIBQtAMwBIhJFDQACQCAUKALIASIBQX9GBEAgEkEDa0F+Tw0CDAELAkAgASAtSQRAIBQtAM0BIgIgOyABQQJ0aigCACIBKAJgIhVPDQEgAUHkAGoiDiACQSxsaiICIBQoApABIgE2AgwgAiAUKgJAIosBOAIIIAIgiwEgFCoCRJI4AgAgAiAUKgKUASABvpI4AgQgEkEBRg0DIBUgFC0AzgEiAk0NASAOIAJBLGxqIgIgFCgCtAEiATYCDCACIBQqAmwiiwE4AgggAiCLASAUKgJwkjgCACACIBQqArgBIAG+kjgCBCASQQJHDQIMAwsgASAtQZCSwgAQsAkACyACIBVBoJLCABCwCQALQQJBAkGAksIAELAJAAsgFEHQAWohFEEAIQEMAgsLCyByKAIAIgIgcygCACIBTwRAIAIgZU0EQCABIAJHBEAgZiACQQN0aiEdQwAAAABDAACAPyBWKgIAIpwBlSCcAUMAAAAAWxshoQEgZiABQQN0aiISQQhqIQIgGCgC5AEhIyAYKALwASEfIBgoAvQBITwgGCgC6AEhKyAYKAKIAiEpIBgoApACIRogCSgCSCEVIAkoAkwhECAYKAKsAiEPA0AgEiEBIAIhEiABKAIEIQIgASgCACEBAkACQAJAAkACQAJAAkACQAJAIA9FDQAgASBTTw0AIAIgVCABQRRsaiIOKAIARw0AIA4oAgQiASAQTw0BIBUgAUGkAmxqIhQoAgBBgICAgHhGDQEgFCgCoAIgDigCCEcNASAOKAIQDgIDAggLIAEgUk8NJiBRIAFBCHRqIg4oAgBBAUcNJiAOKAIEIAJHDSYgDigCOCICICtPDQMgAiA8Tw0EICMgAkEMbGoiASkCACGuASAOIAEqAghDAACAPyCcASAOQeQAaioCAJRDAACAP5KVlDgCcCAOQwAAgD8gnAEgDioCYJRDAACAP5KVIosBIK4Bp76UvK0giwEgrgFCIIinvpS8rUIghoQ3A2ggDi0A8QFBAkcNBQwGC0GgncIAEKUNAAsgFC0AnAINBQsgFCgClAIiAiAUKAKYAiIBaiAaSw0PIBRBGGooAgAgAkcNDSACRQ0EIAFBAnQhJSAUQRBqKAIAISAgAkEDcSEUQQAhFiACQQRPBEAgJSApaiEOIAJBfHEhAkEAIQEDQCABICBqIicgASAOaiIhKgIAOAIAICdBBGogIUEEaioCADgCACAnQQhqICFBCGoqAgA4AgAgJ0EMaiAhQQxqKgIAOAIAIAFBEGohASACIBZBBGoiFkcNAAsLIBRFDQQgKSAWQQJ0IgIgJWpqIQEgAiAgaiECA0AgAiABKgIAOAIAIAFBBGohASACQQRqIQIgFEEBayIUDQALDAQLIAIgK0GwncIAELAJAAsgAiA8QcCdwgAQsAkACyAfIAJBBXRqIgEqAgghjQEgASoCDCGLASABKgIAIY8BIA4gASoCBCKOATgCJCAOII8BOAIgIA4giwEgjgEgDioCkAEijAGMlCCPASAOKgKUASKLAZSTkjgCLCAOII0BII4BIIsBlCCPASCMAZSTkjgCKAwACyAOLQBdRQRAIA5CADcCvAEgDkMAAAAAOALEAQwBCyAOKgKUASGTASAOKgKQASGUASAOKQIYIa4BIA4qAiwhiwEgDioCKCGOASAOKgIQIqABIA4qAiQimQGUIA4qAhQimgEgDioCICKYAZSTIpIBIKABIJgBlCCaASCZAZSSIpEBEMMNIY0BIA4goQEgiwEgmgEglAGUIKABIJMBlJIgrgFCIIinviKLAZIikAGTIJkBIKABIK4Bp74ijwGMlCCaASCLAZSTIowBlCCYASCaASCPAZQgoAEgiwGUkyKLAZSSkiCQASCRAZQgoAEglAGUIJoBIJMBlJMgjwGSIo8BIJIBlJKSlDgCwAEgDiChASCOASCPAZMgmAEgjAGUIJkBIIsBlJOSII8BIJEBlCCQASCSAZSTkpQ4ArwBIA4goQEgjQGUOALEAQsgEiASIB1HIgFBA3RqIQIgAQ0ACwsgG0HYAWoiARDcCCAbQcgAaiABIK8BICIQlAgCQCAAKQO4ASKuASAbKQNIfCKwASCuAVQNACAAIgEoAsABIBsoAlBqIgJBgJTr3ANPBEAgsAFCf1ENASCwAUIBfCGwASACQYCU69wDayECCyABIAI2AsABIAEgsAE3A7gBIAFBgJTr3AM2ArABIBtB8AFqJAAMCwsMCQsMAwsMAwsMBgsgTyAdQdCQwgAQog0ACyACIGVBlP7BABCjDQALIAEgAkGU/sEAEKQNAAsgG0EANgJYIBtBATYCTCAbQdT0wQA2AkggG0IENwJQIBtByABqQdz0wQAQ3AsACyAbQgA3AlQgG0KBgICAwAA3AkwgG0GQ8sEANgJIIBtByAFqIBtB2AFqIBtByABqQZjywQAQqAsACyAbQQA2AlggG0EBNgJMIBtB4OzBADYCSCAbQgQ3AlAgG0HIAGpB6OzBABDcCwALQfD4wQBBHkGQ+cEAEPgJAAsgEUGwAmohESATQQxqIRMgigEgLkEBaiIORw0ACwsgACgC6AQhASAAQQA2AugEIAEEQEMAAAAAQwAAgD8glQGVIJUBi0MI5TweXxshjgEgACgC5AQiIyABQQJ0aiEQA0ACQAJAAkAgIygCACIBIHFJBEAgOCABQThsaiIUKAIMIgIgBygCECIBTw0BIAJBoAFsIAcoAgwiAmoiDigCAEEBRw0BIA4oAgQgFCgCEEcNASABIBQoAhQiAU0NAiACIAFBoAFsaiIBKAIAQQFHDQIgASgCBCAUKAIYRw0CIA4qAkhD//9/fyAOLQBsQQJxGyKLASCLASABKgJIQ///f38gAS0AbEECcRsijAEgiwEgjAFdGyCMASCMAVwbIosBQ///f39dRQ0DAkAgFCgCCCICRQRAQwAAAAAhjQEMAQsgFCgCBCISQeQAaiEfIBJB6AFqIQ9BACEVQwAAAAAhjQEDQAJAIBIgFUHUAWxqIg4oAmAiAUUEQEMAAACAIYwBDAELIA4gAUEsbGogDmtBLG4iAUEDcSETAkAgAUEBa0EDSQRAQQAhEUMAAACAIYwBDAELIAFB/P//P3EhAUEAIRFDAAAAgCGMASAPIQ4DQCCMASAOQYQBayoCAJIgDkHYAGsqAgCSIA5BLGsqAgCSIA4qAgCSIYwBIA5BsAFqIQ4gASARQQRqIhFHDQALCyATRQ0AIB8gEUEsbGohDgNAIIwBIA4qAgCSIYwBIA5BLGohDiATQQFrIhMNAAsLIB9B1AFqIR8gD0HUAWohDyCNASCMAZIhjQEgAiAVQQFqIhVHDQALCyCLASCOASCNAZQiiwFdRQ0DIAwglQEgBiAHIBQgiwEgiAERMQAMAwsgASBxQYCfwgAQsAkAC0Gc+8EAQRNB4KDCABD4CQALQZz7wQBBE0HwoMIAEPgJAAsgECAjQQRqIiNHDQALCwJAIAAoAoAEIgJBgJTr3ANHBEAgACkD+AMhrgEgGUHgAWoiARDcCCAZQfgAaiABIK4BIAIQlAggACkDiAQirwEgGSkDeHwirgEgrwFUDQEgACAAKAKQBCAZKAKAAWoiAUGAlOvcA08EfyCuAUJ/UQ0CIK4BQgF8Ia4BIAFBgJTr3ANrBSABCzYCkAQgACCuATcDiAQLIABBgJTr3AM2AoAEIBkoAtABIgEEQCAZKALUASABQQJ0QQQQnw0LIHhFDQcgAygCCCIBRQ0HIAMoAgQiEyABQQN0aiEPIBkqAighnAEgBigCiAIhDiAGKAKMAiECQQAhEQNAIBMoAgAiASACTw0RIA4gAUEIdGoiASgCAEEBRw0RIAEoAgQgE0EEaigCAEcNESABLQBdBEAgASCcASABKgK8ASKLASCLAZQgASoCwAEiiwEgiwGUkpEgASoCxAGLIAEqAlSUkpQgASoCUEMAACBBlV4iAToAXCABIBFyIRELIA8gE0EIaiITRw0ACyARQQFxRQ0HIBlB+ABqIjoQ3AggGSgCgAEhPCAAIBkpA3gisAE3A9ABIAQhEEEAIQFBACETQQAhFCMAQfADayIXJAAgGUEoaiICKgIAIYsBIBdBEGpB4NXBACkDACKvATcDACAXQonZueKO076XCDcDGCAXQdjVwQApAwAirgE3AwggF0EANgIsIBdCgICAgMAANwIkIBdBOGogrwE3AwAgF0KJ2bnijtO+lwg3A0AgFyCuATcDMCAHKAIQIj9BoAFsIREgAioCHEMK1yM8lCGNASAGKAKIAiExIAYoAowCIT4gBygCDCE2A0ACQAJAAkACQCABIBFHBEAgASA2aiIPKAIARQ0DIA9B8gBqLQAADQMgD0H0AGooAgBFDQMCQCAPQYgBaigCACICID5PDQAgMSACQQh0aiICKAIAQQFHDQAgAigCBCAPQYwBaigCAEYNAgtBnPvBAEETQbSnwgAQ+AkACyAXIAc2ApwBIBcgBjYCmAEgFyAQNgKUASAXQgA3AoABIBdBADYCdCAXQQA2AmggF0EANgJcIBcgBSgCQCIeNgKQASAXIAUoAjwgHigCCEEBa0F4cWpBCGoiGDYCjAEgiwEhjAEgAygCCCIBRQ0BIAMoAgQiESABQQN0aiEpIBFBCGohASAXQcwBaiEqIAUoAhQhJCAFKAIQITQgBSgCBCEgIAUoAgghOCAFKAI4IUEgBSgCNCEnIBdBqANqIT0DQAJAIBEhAiABIREgAigCACIBID5PDQAgMSABQQh0aiIOKAIAQQFHDQAgDigCBCACKAIERw0AAkAgDi0AXEUNACAOKgIUIZQBIA4qApABIY8BIA4qAhAhkgEgDioClAEhjgEgDioCHCGRASCLASAOKgLEASCLASAOKgKwASAOKgKEAZSUkpQilQEQxw0hmAEgDioCGCGQASCVARDGDSGTASAOKALsASIBRQ0AIJMBIJABlCCYASCRAZSSIIsBIIsBIA4qAqwBIA4pAnQirwFCIIinvpSUIA4pArwBIq4BQiCIp76SlCCRASCOASCSAZQgjwEglAGUkpIijQGSIJMBIJABII8BIJIBlCCOASCUAZSTkiKVAYyUIJgBII0BlJOSkiGPASCYASCQAZQgkwEgkQGUkyCLASCLASAOKgKoASCvAae+lJQgrgGnvpKUIJUBkiCTASCNAZQgmAEglQGUk5KSIY4BQwAAQEAgmAEgkgGUIJMBIJQBlJMikAEgkAGUIJMBIJIBlCCYASCUAZSSIo0BII0BlJKTQwAAAD+UIZUBII0BIJUBlCGUASCQASCVAZQhkgEgDigC6AEiFSABQQN0aiEhIBVBCGohAQNAIAEhEwJAAkAgFSgCACIBID9PDQAgNiABQaABbGoiAigCAEEBRw0AIAIoAgQgFSgCBEYNAQtBnPvBAEETQdSmwgAQ+AkACwJAAkAgAigCdEEBRgRAIAIqAoABIZEBIAIqAoQBIZABIBcglAEgAioCeCKNAZQgkgEgAioCfCKVAZSSOALkAyAXIJIBII0BlCCUASCVAZSTOALgAyAXII8BIJQBIJEBlCCSASCQAZSSkjgC7AMgFyCOASCSASCRAZQglAEgkAGUk5I4AugDIBdBoAFqIAIoAjAgAigCNCIBKAIIQQFrQXhxakEIaiACQRBqIBdB4ANqIAEoAsQBEQIAIBcqAqwBIZEBIBcqAqgBIZABIBcqAqQBIY0BIBcqAqABIZUBAkAgFygClAEiDigCCEUEQEEAIQJBACEBDAELQQAhAgJ/QQAgkAEgDigCBCIPKQIAIq4Bp75gRQ0AGkEAIJEBIK4BQiCIp75gRQ0AGiAPQQAgjQEgD0EMaikCACKuAUIgiKe+XxtBACCVASCuAae+XxsLIQEgDygCLEH/////A3FFDQAgkAEgD0EYaiIQKQIAIq4Bp75gRQ0AIJEBIK4BQiCIp75gRQ0AIJUBIA9BJGopAgAirgGnvl8gjQEgrgFCIIinvl9xIQILIBcgkQE4AqQDIBcgkAE4AqADIBcgjQE4ApwDIBcglQE4ApgDIBcgATYClAMgFyAONgKQAyAXIAI2AowDIBcgEDYCjAIgF0EANgKIAiAXIBdB3ABqNgKoAyAXQbABaiAXQYgCaiA9ELUCIBcoArgBRQ0CIBcoArQBIQIgFygCsAEhAQwBC0GYo8IAQSxB5KbCABD4CQALAkADQAJAAkACQAJAAkACQAJAAkAgFSgCACIOIAFGBEAgFSgCBCACRg0BCyAXQTBqIA4gASABIA5LG60gDiABIAEgDkkbrUIghoQQyQINBgJAAkACQCA/IBUoAgAiEE0NACA2IBBBoAFsaiJAKAIAQQFHDQAgFSgCBCItIEAoAgRHDQAgASA/Tw0FIDYgAUGgAWxqIigoAgBBAUcNBSAoKAIEIAJHDQUgKCgCiAEhLiAoKAKMASE7ICgoAnQhMCBAKAKIASFHIEAoAowBISsgQCgCdEEBcSIiRQ0BIDBBAXFFDQIgLiBHRw0CICsgO0cNAgwDC0Gc+8EAQRNB9KbCABD4CQALIDBBAXFFDQELICgoAlggQCgCXHFFDQAgKCgCXCBAKAJYcQ0BCyAXQbABaiAXQYgCaiA9ELUCIBcoArQBIQIgFygCsAEhASAXKAK4AUUNCQwHC0MAAAAAIZMBIBAgQU8NAyABIEFPDQMgLSAnIBBBDGxqIg4oAgBHDQMgAiAnIAFBDGxqIg8oAgBHDQMgDigCBCIOIDhPDQMgDygCBCESICQgICAOQQR0aiIPKAIIIhpNDQEDQCA0IBpBOGxqIg4oAjQgEkYNAyAkIA4oAigiGksNAAsMAQtBnPvBAEETQYSnwgAQ+AkACyAkIA8oAgwiGk0NAQNAIDQgGkE4bGoiDigCMCASRg0BICQgDigCLCIaSw0ACwwBCyAaICRPDQAgNCAaQThsaiIPKAIwIDhPDQAgDygCNCA4Tw0AIA8oAggiDkUNACAOQdQBbCAPKAIEIg5qIR1BACESA0ACQCAOKAJgIhZFDQAgDkHkAGoiLCIPIRogFkEsbCIjQSxrIh9BLG4iFkEDcUEDRwRAQQAgFkEBakEDcWshJQNAIBogDyAaQSBqKgIAIA8qAiBdGyEPIBpBLGohGiAlQQFqIiUNAAsLIB9BhAFPBEAgIyAsaiEWA0AgGkGEAWogGkHYAGogGkEsaiAaIA8gGkEgaioCACAPKgIgXRsiDyAaQcwAaioCACAPKgIgXRsiDyAaQfgAaioCACAPKgIgXRsiDyAaQaQBaioCACAPKgIgXRshDyAWIBpBsAFqIhpHDQALCyASRQRAIA4hEiAPIRQMAQsgFCAPIBQqAiAgDyoCIF8iDxshFCASIA4gDxshEgsgHSAOQdQBaiIORw0ACyASRQ0AIBQqAiAhkwELQQAhD0EAIRogIgRAID4gR00NAiAxIEdBCHRqIg4oAgBBAUcNAiAOKAIEICtHDQIgDkEQaiEaCyAwQQFxBEAgLiA+Tw0EIDEgLkEIdGoiDigCAEEBRw0EIA4oAgQgO0cNBCAOQRBqIQ8LIBdBsAFqIBggHkEgaigCACAQIC0gASACIEBBEGogKEEQaiAaIA9BACCUAUEAIJQBQwAAAAAgjAEgkwEQmwEgFygCsAFBAkYNACAXKgLIASKVASCLAV4EQCCMASCMASCVASCMASCVAV0bIJUBIJUBXBshjAEMAQsgFygCLCIOIBcoAiRGBEAgF0EkakHQzsEAEKsGCyAXKAIoIh8gDkEwbGoiAiAXKQKwATcCACACIJUBOAIYIAIgKikCADcCHCACQQhqIBdBsAFqIgFBCGoiGikCADcCACACQRBqIAFBEGoiFikCADcCACACQSRqICpBCGoiEikCADcCACACQSxqICpBEGoiDygCADYCACAXIA5BAWo2AiwCQCAORQRAQQAhAgwBCwNAIJUBIB8gDkEBayIQQQF2IgJBMGxqIiNBGGoiASoCAF1FBEAgDiECDAILIB8gDkEwbGoiDiAjKQIANwIAIA5BKGogI0EoaikCADcCACAOQSBqICNBIGopAgA3AgAgDkEYaiABKQIANwIAIA5BEGogI0EQaikCADcCACAOQQhqICNBCGopAgA3AgAgAiEOIBBBAUsNAAsLIB8gAkEwbGoiASAXKQKwATcCACABIJUBOAIYIAEgKikCADcCHCABQRBqIBYpAgA3AgAgAUEIaiAaKQIANwIAIAFBJGogEikCADcCACABQSxqIA8oAgA2AgAgiwEhjAELIBdBsAFqIBdBiAJqID0QtQIgFygCtAEhAiAXKAKwASEBIBcoArgBDQEMAwsLQZz7wQBBE0GUp8IAEPgJAAtBnPvBAEETQaSnwgAQ+AkACyAXKAKMAyIBQSFPBEAgFygCkAIgAUECdEEEEJ8NCyATIBMgIUdBA3RqIQEgISATIhVHDQALCyARIBEgKUciAkEDdGohASACDQEMAwsLQZz7wQBBE0HEpsIAEPgJAAsgAi0AXEEBRw0BIA9BhAFqKgIAIY8BIA9BgAFqKgIAIY4BIBcgD0H8AGoqAgAilQEgAioCICKRAZQgD0H4AGoqAgAijAEgAioCJCKQAZSSOAKMAiAXIIwBIJEBlCCVASCQAZSTOAKIAiAXIAIqAiwgjwEgkQGUII4BIJABlJKSOAKUAiAXIAIqAiggjgEgkQGUII8BIJABlJOSOAKQAiAXQcwAaiIOIA9BMGooAgAgD0E0aigCACICKAIIQQFrQXhxakEIaiAPQRBqIBdBiAJqIAIoAsQBEQIAIBAgDiATII0BEJ0CDAELAkACQAJAIIsBIIwBXA0AIBcoAiwNAEECIQEMAQsCQAJAIIsBIIwBXUUEQCAXQQA2AugBIBdCgICAgMAANwLgASAXKAIsIhENASAXKALkASEOIBcoAuABIQIMAgsgOiCMATgCBEEBIQEMAgsgF0HMA2ohKiAFKAIUISQgBSgCECE0IAUoAgQhKyAFKAIIITggBSgCOCFHIAUoAjQhQSAXQYgCaiIBQaABaiEnIAYoAogCITEgBigCjAIhPiABQRxqIT0CQANAIBcoAighKANAICggESIiQQFrIhFBMGxqIgEoAgAiD0ECRg0CIAEoAiwhHSABKAIoISwgASgCJCEjIAEoAiAhFiABKAIcIRUgASoCGCGMASABKAIUIRAgASgCECETIAEoAgwhDiABKAIIIQIgASgCBCEBAkAgEUUEQCAPISUgASEfIAIhGiAOIQEgEyESIBAhDyCMASGNASAVIRQgFiEgICMhAiAsIRYgHSEjDAELICgoAAAhJSAoIA82AAAgKCgABCEfICggATYABCAoKAAMIQEgKCAONgAMICgoABQhDyAoIBA2ABQgKCgAHCEUICggFTYAHCAoQQhqIiEoAAAhGiAhIAI2AAAgKEEQaiIVKAAAIRIgFSATNgAAIChBGGoiECoAACGNASAQIIwBOAAAIChBIGoiEygAACEgIBMgFjYAACAoKAAkIQIgKCAjNgAkIChBKGoiDigAACEWIA4gLDYAACAoKAAsISMgKCAdNgAsIBdBiAJqIixBKGoiLSAOKQIANwMAICxBIGoiOyATKQIANwMAICxBGGoiKSAQKQIANwMAICxBEGoiLiAVKQIANwMAICxBCGoiMCAhKQIANwMAIBcgKCkCADcDiAJBACEVQQEhEyAiQQRPBEAgEUECayIOQQAgDiARTRshLEEAIQ4DQCAoIA5BMGxqIhAgKCATICggE0EwbGoiDkEYaioCACAOQcgAaioCAF1FaiIVQTBsaiIOKQIANwIAIBBBKGogDkEoaikCADcCACAQQSBqIA5BIGopAgA3AgAgEEEYaiAOQRhqKQIANwIAIBBBEGogDkEQaikCADcCACAQQQhqIA5BCGopAgA3AgAgFUEBdCIQQQFyIRMgFSEOIBAgLEkNAAsLAkACQAJAICJBAmsgE0YEQCAoIBVBMGxqIg4gKCATQTBsaiIiKQIANwIAIA5BKGogIkEoaiIsKQIANwIAIA5BIGogIkEgaiIVKQIANwIAIA5BGGogIkEYaiIdKQIANwIAIA5BEGogIkEQaiIQKQIANwIAIA5BCGogIkEIaiIOKQIANwIAICIgFykDiAI3AgAgDiAwKQMANwIAIBAgLikDADcCACAdICkpAwA3AgAgFSA7KQMANwIAICwgLSkDADcCACAdKgIAIZYBDAELICggFUEwbGoiE0EYaiIOICkpAwA3AgAgEyAXKQOIAjcCACATQShqIC0pAwA3AgAgE0EgaiA7KQMANwIAIBNBEGogLikDADcCACATQQhqIDApAwA3AgAgDioCACGWASAVRQ0BIBUhEwsDQCCWASAoIBNBAWsiFUEBdiIOQTBsaiIsQRhqIhAqAgBdRQ0CICggE0EwbGoiEyAsKQIANwIAIBNBKGogLEEoaikCADcCACATQSBqICxBIGopAgA3AgAgE0EYaiAQKQIANwIAIBNBEGogLEEQaikCADcCACATQQhqICxBCGopAgA3AgAgDiETIBVBAUsNAAsMAQtBACETCyAoIBNBMGxqIg4gFykDiAI3AgAgDiCWATgCGCAOID0pAgA3AhwgDkEQaiAuKQMANwIAIA5BCGogMCkDADcCACAOQSRqID1BCGopAgA3AgAgDkEsaiA9QRBqKAIANgIAICVBAkYNAwsgiwEgjQFgRQRAQYSkwgBBH0GkpMIAEPkKAAtBACETAn9BACAlQQFxIjtFDQAaQQAgHyA+Tw0AGkEAIDEgH0EIdGoiECgCAEEBRw0AGiAQQRBqQQAgECgCBCAaRhsLIQ4CQCABQQFxIixFDQAgEiA+Tw0AIDEgEkEIdGoiECgCAEEBRw0AIBBBEGpBACAQKAIEIA9GGyETCyAXQQA2AvQBIBdCgICAgMAANwLsAQJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAIA5FDQAgDi0ATEEBRw0AIDsEQCAXKAIURQ0CIBcoAgwiKSAXKQMYIB+tIBqtQiCGhIUirgFCIIgirwFCt9OwhQx+IK4BQv////8PgyKuAULdofHLDH6FIK8BQt2h8csMfiCuAUK307CFDH6FQiCIhSKuAadxIS4grgFCGYhC/wCDQoGChIiQoMCAAX4hrwFBACEdIBcoAgghIgNAICIgLmopAAAisQEgrwGFIq4BQoGChIiQoMCAAX0grgFCf4WDQoCBgoSIkKDAgH+DIq4BQgBSBEADQEEAIRUgIiCuAXqnQQN2IC5qIClxQXRsaiIQQQxrKAIAIB9GBEAgGiAQQQhrKAIARg0HCyCuAUIBfSCuAYMirgFCAFINAAsLILEBILEBQgGGg0KAgYKEiJCgwIB/g0IAUg0DIC4gHUEIaiIdaiApcSEuDAALAAtBtKTCABClDQALQQAhFSATDQIMDgtBASEVCyATRQ0BCyATLQBMQQFHDQACQCAsBEAgFygCFEUNASAXKAIMIikgFykDGCASrSAPrUIghoSFIq4BQiCIIq8BQrfTsIUMfiCuAUL/////D4MirgFC3aHxywx+hSCvAULdofHLDH4grgFCt9OwhQx+hUIgiIUirgGncSEQIK4BQhmIQv8Ag0KBgoSIkKDAgAF+Ia8BQQAhHSAXKAIIISIDQAJAIBAgImopAAAisQEgrwGFIq4BQoGChIiQoMCAAX0grgFCf4WDQoCBgoSIkKDAgH+DIq4BQgBSBEADQCAiIK4BeqdBA3YgEGogKXFBdGxqIixBDGsoAgAgEkYEQCAPICxBCGsoAgBGDQMLIK4BQgF9IK4BgyKuAUIAUg0ACwsgsQEgsQFCAYaDQoCBgoSIkKDAgH+DQgBSDQMgHUEIaiIdIBBqIClxIRAMAQsLIBVFDQ1BASEQICNBAXENCgwDC0HEpMIAEKUNAAsgI0EBcQ0IIBcgETYCLEEBIRBBASIRIBUNAhpBBCEdQQAhAQwDCyAVRQ0KICNBAXENByABIRALIBcgETYCLEEACyERIDtFDQQgF0EIaiAfIBogjQEQ0QIgDkUNAyAOKALcASIUQQN0IRUgDigC2AEhAgJ/IBRFBEBBBCEdQQAMAQsgF0HsAWpBACAUQQRBCBCaBSAXKALwASEdIBcoAvQBCyEBIBUEQCAdIAFBA3RqIAIgFfwKAAALIBcgASAUaiIBNgL0ASARRQ0BIBBBAXFFDQILIBdBCGogEiAPII0BENECIBNFDQYgEygC3AEiD0EDdCEOIBMoAtgBIQIgFygC7AEgAWsgD0kEQCAXQewBaiABIA9BBEEIEJoFIBcoAvABIR0gFygC9AEhAQsgDgRAIB0gAUEDdGogAiAO/AoAAAsgFyABIA9qIgE2AvQBIBcoAvABIR0LIAFFDQQgHSABQQN0aiEtIB1BCGohASAdIQ8DQCABIQ4CQAJAIA8oAgAiASA/Tw0AIDYgAUGgAWxqIjAoAgBBAUcNACAwKAIEIA8oAgRGDQELQZz7wQBBE0GUpcIAEPgJAAsgMCgCdEUEQEGkpcIAEKUNAAsCQAJAIDAoAogBIgEgPk8NACAxIAFBCHRqIgEoAgBBAUcNACABKAIEIDAoAowBRw0AIAEqAighjwEgASoCLCGOASAwKgKAASGRASAwKgKEASGQASAXIAEqAiQilAEgMCoCeCKVAZQgASoCICKSASAwKgJ8IowBlJI4ArQBIBcgkgEglQGUIJQBIIwBlJM4ArABIBcgjgEglAEgkQGUIJIBIJABlJKSOAK8ASAXII8BIJIBIJEBlCCUASCQAZSTkjgCuAEgF0H4AWogMCgCMCAwKAI0IgEoAghBAWtBeHFqQQhqIDBBEGoiOyAXQbABaiABKALEARECACAXKgKEAiGTASAXKgKAAiGOASAXKgL8ASGVASAXKgL4ASGMAQJAIBcoApQBIhMoAghFBEBBACECQQAhAQwBC0EAIQICf0EAII4BIBMoAgQiFSkCACKuAae+YEUNABpBACCTASCuAUIgiKe+YEUNABogFUEAIJUBIBVBDGopAgAirgFCIIinvl8bQQAgjAEgrgGnvl8bCyEBIBUoAixB/////wNxRQ0AII4BIBVBGGoiECkCACKuAae+YEUNACCTASCuAUIgiKe+YEUNACCMASAVQSRqKQIAIq4Bp75fIJUBIK4BQiCIp75fcSECCyAXIJMBOAKkAyAXII4BOAKgAyAXIJUBOAKcAyAXIIwBOAKYAyAXIAE2ApQDIBcgEzYCkAMgFyACNgKMAyAXIBA2AowCIBdBADYCiAIgFyAXQdwAajYCqAMgF0HgA2ogF0GIAmogJxC1AiAXKALoA0UNASAXKALkAyEVIBcoAuADIRMDQAJAAkAgEyA/Tw0AIDYgE0GgAWxqIiEoAgBBAUcNACAhKAIEIBVGDQELQZz7wQBBE0HEpcIAEPgJAAsCQAJAIDAoAnRBAXEiIkUEQCAhKAJ0QQFxRQ0CICEoAogBISUgISgCjAEhEkEBIRAMAQsgMCgCiAEhESAwKAKMASEfQQAhECAhKAJ0QQFxRQ0AICEoAowBIRJBASEQICEoAogBIiUgEUcNACASIB9GDQELICEoAlwgMCgCWHFFDQAgMCgCXCAhKAJYcUUNAEEAIS4Cf0EAICJFDQAaQQAgFygCFEUNABogFygCDCIaIBcpAxggEa0gH61CIIaEhSKuAUIgiCKvAUK307CFDH4grgFC/////w+DIq4BQt2h8csMfoUgrwFC3aHxywx+IK4BQrfTsIUMfoVCIIiFIq4Bp3EhIyCuAUIZiEL/AINCgYKEiJCgwIABfiGvAUEAIRQgFygCCCECA0ACQCACICNqKQAAIrEBIK8BhSKuAUKBgoSIkKDAgAF9IK4BQn+Fg0KAgYKEiJCgwIB/gyKuAUIAUgRAA0AgAiCuAXqnQQN2ICNqIBpxQXRsaiIBQQxrKAIAIBFGBEAgHyABQQhrKAIARg0DCyCuAUIBfSCuAYMirgFCAFINAAsLQQAhASCxASCxAUIBhoNCgIGChIiQoMCAf4NCAFINACAjIBRBCGoiFGogGnEhIwwBCwsgAUEEa0EAIAEbCyEjAkAgEEUNACAXKAIURQ0AIBcoAgwiGiAXKQMYICWtIBKtQiCGhIUirgFCIIgirwFCt9OwhQx+IK4BQv////8PgyKuAULdofHLDH6FIK8BQt2h8csMfiCuAUK307CFDH6FQiCIhSKuAadxIS4grgFCGYhC/wCDQoGChIiQoMCAAX4hrwFBACEUIBcoAgghAgNAAkAgAiAuaikAACKxASCvAYUirgFCgYKEiJCgwIABfSCuAUJ/hYNCgIGChIiQoMCAf4MirgFCAFIEQANAIAIgrgF6p0EDdiAuaiAacUF0bGoiAUEMaygCACAlRgRAIBIgAUEIaygCAEYNAwsgrgFCAX0grgGDIq4BQgBSDQALC0EAIQEgsQEgsQFCAYaDQoCBgoSIkKDAgH+DQgBSDQAgLiAUQQhqIhRqIBpxIS4MAQsLIAFBBGtBACABGyEuC0EAIRoCf0EAICJFDQAaQQAgESA+Tw0AGkEAIDEgEUEIdGoiASgCAEEBRw0AGiABQRBqQQAgASgCBCAfRhsLISwCQCAQICUgPklxRQ0AIDEgJUEIdGoiASgCAEEBRw0AIAFBEGpBACABKAIEIBJGGyEaCwJAAkAgIw0AICxFDQAgLC0ATA0BCyAuDQEgGkUNASAaLQBMQQFHDQELIA8oAgQhJUMAAAAAIZYBAkAgRyAPKAIAIh9NDQAgEyBHTw0AICUgQSAfQQxsaiIBKAIARw0AIBUgQSATQQxsaiIQKAIARw0AIAEoAgQiASA4Tw0AIBAoAgQhEQJAICQgKyABQQR0aiISKAIIIgJLBEADQCA0IAJBOGxqIhAoAjQgEUYNAiAkIBAoAigiAksNAAsLICQgEigCDCICTQ0BA0AgNCACQThsaiIQKAIwIBFGDQEgJCAQKAIsIgJLDQALDAELIAIgJE8NACA0IAJBOGxqIgEoAjAgOE8NACABKAI0IDhPDQAgASgCCCIQRQ0AIAEoAgQiEiAQQdQBbGohKUEAIRQDQAJAIBIoAmAiEUUNACASQeQAaiIgIhAhAiARQSxsIiJBLGsiAUEsbiIRQQNxQQNHBEBBACARQQFqQQNxayERA0AgAiAQIAJBIGoqAgAgECoCIF0bIRAgAkEsaiECIBFBAWoiEQ0ACwsgAUGEAU8EQCAgICJqIREDQCACQYQBaiACQdgAaiACQSxqIAIgECACQSBqKgIAIBAqAiBdGyIBIAJBzABqKgIAIAEqAiBdGyIBIAJB+ABqKgIAIAEqAiBdGyIBIAJBpAFqKgIAIAEqAiBdGyEQIBEgAkGwAWoiAkcNAAsLIBRFBEAgEiEUIBAhFgwBCyAWIBAgFioCICAQKgIgXyIBGyEWIBQgEiABGyEUCyApIBJB1AFqIhJHDQALIBRFDQAgFioCICGWAQsgIwR/ICMqAgAhkwFBAQVBAAshASAhQRBqIQICQCAuBEAgF0GwA2ogGCAeQSBqKAIAIB8gJSATIBUgOyACICwgGiABIJMBQQEgLioCACCNASCLASCWARCbAQwBCyAXQbADaiAYIB5BIGooAgAgHyAlIBMgFSA7IAIgLCAaIAEgkwFBACCWASCNASCLASCWARCbAQsgFygCsANBAkYNACAXKAIsIhMgFygCJEYEQCAXQSRqQdDOwQAQqwYLIBcoAigiFSATQTBsaiIUQRhqIgEgF0GwA2oiAkEYaikCADcCACAUIBcpArADNwIAIBRBCGogAkEIaiIlKQIANwIAIBRBEGogAkEQaiIfKQIANwIAIBRBIGogAkEgaikCADcCACAUQShqIAJBKGopAgA3AgAgFyATQQFqNgIsIAEqAgAhjAECQCATRQRAQQAhAgwBCwNAIIwBIBUgE0EBayIQQQF2IgJBMGxqIhRBGGoiESoCAF1FBEAgEyECDAILIBUgE0EwbGoiASAUKQIANwIAIAFBKGogFEEoaikCADcCACABQSBqIBRBIGopAgA3AgAgAUEYaiARKQIANwIAIAFBEGogFEEQaikCADcCACABQQhqIBRBCGopAgA3AgAgAiETIBBBAUsNAAsLIBUgAkEwbGoiASAXKQKwAzcCACABIIwBOAIYIAEgKikCADcCHCABQRBqIB8pAgA3AgAgAUEIaiAlKQIANwIAIAFBJGogKkEIaikCADcCACABQSxqICpBEGooAgA2AgALIBdB4ANqIBdBiAJqICcQtQIgFygC5AMhFSAXKALgAyETIBcoAugDDQALDAELQZz7wQBBE0G0pcIAEPgJAAsgFygCjAMiAUEhTwRAIBcoApACIAFBAnRBBBCfDQsgDiAOIC1HQQN0aiEBIC0gDiIPRw0ACwwEC0H0pMIAEKUNAAtB5KTCABClDQALQdSkwgAQpQ0ACyAjQQh2IRMgFygC6AEiDiAXKALgAUYEQCAXQeABakHUpcIAEKsGCyAXKALkASAOQTBsaiIQIBM7AC0gECAjOgAsIBAgFjYCKCAQIAI2AiQgECAgNgIgIBAgFDYCHCAQII0BOAIYIBAgDzYCFCAQIBI2AhAgECABNgIMIBAgGjYCCCAQIB82AgQgECAlNgIAIBBBL2ogE0EQdjoAACAXIA5BAWo2AugBDAILIBcoAuwBIgEEQCAdIAFBA3RBBBCfDQsgFygCLCIRDQNBACERDAQLQYSlwgAQpQ0ACyARDQALC0EAIRELIBcgETYCLCAXKALkASEOIBcoAuABIQIgFygC6AEiAUUNACAOIAFBMGxqIRAgDSgCDCEdIAYoAogCISwgBigCjAIhIyAOIQEDQCABKAIAIhFBAkYNAQJAAkAgASgCHCIpID9PDQAgNiApQaABbGoiJygCAEEBRw0AIAEoAiAiGiAnKAIERg0BC0Gc+8EAQRNB5KXCABD4CQALAkACQAJAAkACQCABKAIkIiAgP08NACA2ICBBoAFsaiIhKAIAQQFHDQAgASgCKCIUICEoAgRHDQAgASgCFCEiIAEoAhAhOyABKAIMIRMgASgCCCEfIAEoAgQhKyAnLQCQAUUEQCAhLQCQAUEBRw0FCyARQQFxRQ0BAn0CQAJAICcoAnQiEQRAICMgK00NBiAsICtBCHRqIi0oAgBBAUcNBiAtKAIEIB9HDQYgJ0H4AGpBACARGyElIBcoAhRFDQIgFygCDCISIBcpAxggK60gH61CIIaEhSKuAUIgiCKvAUK307CFDH4grgFC/////w+DIq4BQt2h8csMfoUgrwFC3aHxywx+IK4BQrfTsIUMfoVCIIiFIq4Bp3EhDyCuAUIZiEL/AINCgYKEiJCgwIABfiGvAUEAIRYgFygCCCEVA0AgDyAVaikAACKxASCvAYUirgFCgYKEiJCgwIABfSCuAUJ/hYNCgIGChIiQoMCAf4MirgFCAFIEQANAIBUgrgF6p0EDdiAPaiAScUF0bGoiEUEMaygCACArRgRAIB8gEUEIaygCAEYNBQsgrgFCAX0grgGDIq4BQgBSDQALCyCxASCxAUIBhoNCgIGChIiQoMCAf4NCAFINAyAWQQhqIhYgD2ogEnEhDwwACwALQYSmwgAQpQ0ACyAtKgIQIZIBIC0qApABIZABIC1BlAFqKgIAIY8BIC0qAhQhkQEgLSoCGCKOASARQQRrKgIAIo0BIC1BxAFqKgIAlCKLARDHDSKTAZQgLSoCHCKVASCLARDGDSKUAZSTII0BIC0pArwBIq4Bp76UII4BIJABIJIBlCCPASCRAZSTkiKMAZIglAEglQEgjwEgkgGUIJABIJEBlJKSIosBlCCTASCMAZSTkpIhmQEglAEgjgGUIJMBIJUBlJIgjQEgrgFCIIinvpQgiwGSIJQBIIwBjJQgkwEgiwGUk5KSIZgBQwAAQEAgkwEgkgGUIJQBIJEBlJMilQEglQGUIJQBIJIBlCCTASCRAZSSIowBIIwBlJKTQwAAAD+UIYsBIIwBIIsBlCGTASCVASCLAZQMAQsgLSoCLCGYASAtKgIoIZkBIC0qAiQhkwEgLSoCIAshiwEgkwEgJSoCACKVAZQgiwEgJSoCBCKMAZSSIZYBIIsBIJUBlCCTASCMAZSTIY0BIJgBIJMBICUqAggilQGUIIsBICUqAgwijAGUkpIhlAEgmQEgiwEglQGUIJMBIIwBlJOSIYwBDAMLQZz7wQBBE0H0pcIAEPgJAAsgJyoCHCGUASAnKgIYIYwBICcqAhQhlgEgJyoCECGNAQwBC0Gc+8EAQRNBlKbCABD4CQALAkACQCATQQFxBEACfQJAAkAgISgCdCIRBEAgIyA7TQ0FICwgO0EIdGoiEigCAEEBRw0FIBIoAgQgIkcNBSAhQfgAakEAIBEbIRUgFygCFEUNAiAXKAIMIhMgFykDGCA7rSAirUIghoSFIq4BQiCIIq8BQrfTsIUMfiCuAUL/////D4MirgFC3aHxywx+hSCvAULdofHLDH4grgFCt9OwhQx+hUIgiIUirgGncSEfIK4BQhmIQv8Ag0KBgoSIkKDAgAF+Ia8BQQAhJSAXKAIIIQ8DQCAPIB9qKQAAIrEBIK8BhSKuAUKBgoSIkKDAgAF9IK4BQn+Fg0KAgYKEiJCgwIB/gyKuAUIAUgRAA0AgDyCuAXqnQQN2IB9qIBNxQXRsaiIRQQxrKAIAIDtGBEAgIiARQQhrKAIARg0FCyCuAUIBfSCuAYMirgFCAFINAAsLILEBILEBQgGGg0KAgYKEiJCgwIB/g0IAUg0DICVBCGoiJSAfaiATcSEfDAALAAtBpKbCABClDQALIBIqAhAhmAEgEioCkAEhkgEgEkGUAWoqAgAhkQEgEioCFCGTASASKgIYIpABIBFBBGsqAgAijwEgEkHEAWoqAgCUIosBEMcNIqEBlCASKgIcIo4BIIsBEMYNIpkBlJMgjwEgEikCvAEirgGnvpQgkAEgkgEgmAGUIJEBIJMBlJOSIpUBkiCZASCOASCRASCYAZQgkgEgkwGUkpIiiwGUIKEBIJUBlJOSkiGgASCZASCQAZQgoQEgjgGUkiCPASCuAUIgiKe+lCCLAZIgmQEglQGMlCChASCLAZSTkpIhmgFDAABAQCChASCYAZQgmQEgkwGUkyKOASCOAZQgmQEgmAGUIKEBIJMBlJIilQEglQGUkpNDAAAAP5QhiwEglQEgiwGUIZMBII4BIIsBlAwBCyASKgIsIZoBIBIqAighoAEgEioCJCGTASASKgIgCyGLASCTASAVKgIAIo4BlCCLASAVKgIEIpUBlJIhmQEgiwEgjgGUIJMBIJUBlJMhmAEgmgEgkwEgFSoCCCKOAZQgiwEgFSoCDCKVAZSSkiGQASCgASCLASCOAZQgkwEglQGUk5IhjwEgISoCFCGgASAhKgIQIZoBICEqAhwhjgEgISoCGCGLAQwCCyAhKgIQIpoBIZgBICEqAhQioAEhmQEgISoCGCKLASGPASAhKgIcIo4BIZABDAELQZz7wQBBE0G0psIAEPgJAAsgFyAnKgIQIpIBIKABlCAnKgIUIpEBIJoBlJM4AuQDIBcgkgEgmgGUIJEBIKABlJI4AuADIBcgkgEgiwEgJyoCGJMilQGUIJEBII4BICcqAhyTIosBlJK8rSCSASCLAZQgkQEglQGUk7ytQiCGhDcC6AMgFyCNASCPASCMAZMijAGUIJYBIJABIJQBkyKLAZSSvK0gjQEgiwGUIJYBIIwBlJO8rUIghoQ3ArgBIBcgjQEgmQGUIJYBIJgBlJM4ArQBIBcgjQEgmAGUIJYBIJkBlJI4ArABIBggF0HgA2ogJygCMCAnKAI0IhEoAghBAWtBeHFqQQhqIBEgISgCMCAhKAI0IhEoAghBAWtBeHFqQQhqIBEgHigCDCITERwAIQ8gGCAXQbABaiAnKAIwICcoAjQiESgCCEEBa0F4cWpBCGogESAhKAIwICEoAjQiESgCCEEBa0F4cWpBCGogESATERwAIA9yQQFxDQAgISgCbCAnKAJsckEBcUUNACAXIBQ2ApwCIBcgIDYCmAIgFyAaNgKUAiAXICk2ApACIBdCgICAgBA3AogCIAwgBiAHIBdBiAJqIhFBACAdEQcAIBcgFDYCnAIgFyAgNgKYAiAXIBo2ApQCIBcgKTYCkAIgF0KBgICAEDcCiAIgDCAGIAcgEUEAIB0RBwALIBAgAUEwaiIBRw0ACwsgAgRAIA4gAkEwbEEEEJ8NCyA6IBcpAwg3AwggOkEANgIAIDpBGGogF0EIaiIBQRBqKQMANwMAIDpBEGogAUEIaikDADcDACAXKAI0IgEEQCAXKAIwIAFBA3RrQQhrIAFBCWxBEWpBCBCfDQsgFygCJCIBRQ0BIBcoAiggAUEwbEEEEJ8NDAELIDogATYCACAXKAI0IgEEQCAXKAIwIAFBA3RrQQhrIAFBCWxBEWpBCBCfDQsgFygCJCIBBEAgFygCKCABQTBsQQQQnw0LIBcoAgwiAkUNACAXKAIIIAJBDGxBE2pBeHEiAWsgASACakEJakEIEJ8NCyAXQfADaiQADAELIBNBAWohEyABQaABaiEBDAELCwJAIDooAgANACA6KAIUIhFFDQAgOigCCCICQQhqIQ4gAikDAEJ/hUKAgYKEiJCgwIB/gyGuASAGKAKIAiETIAYoAowCIQ8CQANAIK4BUARAA0AgAkHgAGshAiAOKQMAIa4BIA5BCGohDiCuAUKAgYKEiJCgwIB/gyKuAUKAgYKEiJCgwIB/UQ0ACyCuAUKAgYKEiJCgwIB/hSGuAQsgAiCuAXqnQQN2QXRsaiIQQQxrKAIAIgEgD08NASATIAFBCHRqIgEoAgBBAUcNASABKAIEIBBBCGsoAgBHDQEgrgFCAX0grgGDIa4BIAEqAlBDmpkZPpRDAAAAAEMAAIA/IAEqArwBIosBIIsBlCABKgLAASKLASCLAZSSkSABKgLEASKMAYsgASoCVJSSIosBlSCLAYtDCOU8Hl8blCKLASCLASCcASCLASCcAV0bIJwBIJwBXBsiiwEgiwEgEEEEayoCACKVASCLASCVAV4bIJUBIJUBXBshkQEgASoCHCGQASCMASCRAZQiiwEQxw0hlAEgASABKgIYIo0BIIsBEMYNIpIBlCCQASCUAZSSIJEBIAEpArwBIq8BQiCIp76UIJABIAFBlAFqKgIAIowBIAEqAhAijwGUIAEqApABIosBIAEqAhQijgGUkpIilQGSIJIBII0BIIsBII8BlCCMASCOAZSTkiKLAYyUIJUBIJQBlJOSkjgCLCABII0BIJQBlCCQASCSAZSTIJEBIK8Bp76UIIsBkiCVASCSAZQgiwEglAGUk5KSOAIoQwAAQEAgjwEglAGUII4BIJIBlJMilQEglQGUII8BIJIBlCCOASCUAZSSIowBIIwBlJKTQwAAAD+UIYsBIAEgjAEgiwGUOAIkIAEglQEgiwGUOAIgIBFBAWsiEQ0ACwwBCwwRCyAZQdABaiIBENwIIBlB4AFqIAEgsAEgPBCUCCAZKQPgASGuASAAIBkoAugBNgLoASAAIK4BNwPgASAAQYCU69wDNgLYASAZKAJ4DQcgGSgChAEiAkUNByAZKAKAASACQQxsQRNqQXhxIgFrIAEgAmpBCWpBCBCfDQwHCwwMCwwLCyABIBJB2IDCABCjDQALIBMgJUGQn8IAEKMNAAsgDiABQaChwgAQsAkACyAOIAFBkKHCABCwCQALIA4gAUGAocIAELAJAAsgGUH4AGoQ3AggGSkDeCGuASAAIBkoAoABIg42AqADIAAgrgE3A5gDAkACQAJAAkAgAygCCCIBBEAgAygCBCIWIAFBA3RqIRQgBygCECESIAcoAgwhFSAGKAKMAiEQIAYoAogCIQ8DQCAWKAIAIgEgEE8NDiAPIAFBCHRqIgIoAgBBAUcNDiACKAIEIBYoAgRHDQ4gAiACKQMgNwMQIAJBGGogAkEoaikDADcDACACQewBaigCACIBBEAgAkHoAWooAgAiEyABQQN0aiEOIAIqAhwhkAEgAioCGCGPASACKgIUIZIBIAIqAhAhkQEDQCATKAIAIhogEk8NDyAVIBpBoAFsaiIfKAIAQQFHDQ8gE0EEaigCACICIB8oAgRHDQ8gHygCdEEBRw0FIJIBIB8qAngijAGUIJEBIB8qAnwiiwGUkiGOASCRASCMAZQgkgEgiwGUkyGNASCQASCSASAfKgKAASKVAZQgkQEgHyoChAEiiwGUkpIhjAEgjwEgkQEglQGUIJIBIIsBlJOSIYsBIB8oAkAiEUEBcUUEQCAfIBFBAXI2AkAgGSgCECIRIBkoAghGBEAgGUEIakHU/cEAEMkGCyAZKAIMIBFBA3RqIgEgAjYCBCABIBo2AgAgGSARQQFqNgIQIB8oAkAhEQsgHyCMATgCHCAfIIsBOAIYIB8gjgE4AhQgHyCNATgCECAfIBFBCHI2AkAgDiATQQhqIhNHDQALCyAUIBZBCGoiFkcNAAsgACgCoAMiDkGAlOvcA0YNAQsgACkDmAMhrgEgGUHgAWoiARDcCCAZQfgAaiABIK4BIA4QlAggACkDqAMirwEgGSkDeHwirgEgrwFUDQkgACAAKAKwAyAZKAKAAWoiAUGAlOvcA08EfyCuAUJ/UQ0KIK4BQgF8Ia4BIAFBgJTr3ANrBSABCzYCsAMgACCuATcDqAMLIABBgJTr3AM2AqADIBkoAhAhASAZKAIMIQ4gSg0BIAFFDQMgAUEDdCERIBkqAkRDCtcjPJQhiwEDQAJAAkAgDigCACIBIAcoAhBPDQAgBygCDCABQaABbGoiAigCAEEBRw0AIAIoAgQgDkEEaigCAEYNAQtBnPvBAEETQbChwgAQ+AkACyAZQegAaiIBIAJBEGogGUEoaiAGEKkBIAQgASAOKAIAIIsBEJ0CIA5BCGohDiARQQhrIhENAAsMAgtBwI7CABClDQALIAAgGUEoaiADIAQgBSAGIAcgCCAJIA4gAUEEQQAgCiALIAwgDUEAEIcCIAcoAhBBoAFsIRMgBygCDCEOA0AgE0UNASAOKAIABEAgDkFAa0EANgIACyAOQaABaiEOIBNBoAFrIRMMAAsACyAZQQA2AhAgSg0BCwsgGUH4AGoQ3AggGSkDeCGuASAAIBkoAoABIg42AqADIAAgrgE3A5gDAkAgAygCCCIBBEAgAygCBCETIAFBA3QhEQNAIBMoAgAiASAGKAKMAk8NCSAGKAKIAiABQQh0aiIDKAIAQQFHDQkgAygCBCATQQRqKAIARw0JIAMtAPEBIQIgGUH4AGogA0GQAWogA0EQahDcCiADIBkpA3g3AqABIAMgAygCmAEiATYCrAEgAyABNgKoASADIAMqApwBOAKwAQJAAkAgAkUEQCADLQC4ASIBQQFxBEAgA0EANgKoAQsgAUECcQRAIANBADYCrAELIAFBIHFFDQIMAQsgA0IANwKoAQsgA0EANgKwAQsgE0EIaiETIBFBCGsiEQ0ACyAAKAKgAyIOQYCU69wDRg0BCyAAKQOYAyGuASAZQeABaiIBENwIIBlB+ABqIAEgrgEgDhCUCCAAKQOoAyKvASAZKQN4fCKuASCvAVQNBCAAIAAoArADIBkoAoABaiIBQYCU69wDTwR/IK4BQn9RDQUgrgFCAXwhrgEgAUGAlOvcA2sFIAELNgKwAyAAIK4BNwOoAwsgAEGAlOvcAzYCoAMgdigCACIBBEAgBygCICABQQN0QQQQnw0LIHYgGSkDCDcCACB2QQhqIBlBEGooAgA2AgACQCAALQDYBEEBRgRAIAAoAuACIgJBgJTr3ANHBEAgACkD2AIhrgEgGUHgAWoiARDcCCAZQfgAaiABIK4BIAIQlAggACkD6AIirwEgGSkDeHwirgEgrwFUDQIgACAAKALwAiAZKAKAAWoiAUGAlOvcA08EfyCuAUJ/UQ0DIK4BQgF8Ia4BIAFBgJTr3ANrBSABCzYC8AIgACCuATcD6AILIABBgJTr3AM2AuACCyCAAQRAIFAggAFBA3RBBBCfDQsgGSgCGCIABEAgGSgCHCAAQQN0QQQQnw0LIBlB8AFqJAAPCwwDCyAOQaABaiEOIBNBoAFrIRMMAAsACyAgICw2AjQgAygCACAsRgRAIANB5P3BABDJBgsgAyAsQQFqNgIIIAMoAgQgLEEDdGoiFSAWNgIEIBUgIzYCAAwBCwtB8PjBAEEeQZD5wQAQ+AkAC0Gc+8EAQRNB0KDCABD4CQALQZz7wQBBE0HQncIAEPgJAAulTQMifwp9An4jAEGgAWsiCSQAAkACQAJAAkACQAJAAkACQAJAAkAgACgCCARAIAAoAhQiBiAAKAIEIgQoAowCIgVPBEAgBiAFayEHIAAoAhAgBUECdGohCyAELQDIASIKQQFxRQRAIAUgBkYNCCALKgIAQwAAAACSIStBASEICyAKQQJxRQRAIAcgCE0NCCALIAhBAnRqKgIAQwAAAACSISYgCEEBaiEICyAKQQJ2aQ4CAgMGCyAFIAZB/KjCABCiDQALQQBBAEG8qMIAELAJAAsgByAITQ0BIAsgCEECdGoqAgBDAAAAAJIhJwsgBCAnOAKcAiAEICY4ApgCIAQgKzgClAICQCAEKALwASIFIANPDQAgAiAFQQh0aiIFKAIAQQFHDQAgBSgCBCAEKAL0AUYNAgtBnPvBAEETQdCdwgAQ+AkACyAIIAdBgI3CABCwCQALIARBlAJqIgQpAgAhMCAFQfAAaiAEQQhqKAIANgIAIAUgMDcCaAJAIAAoAggiEkECSQ0AQQEhCgJAAkACQANAAkACQAJAAkACQAJAIAAoAggiBSAKSwRAIAAoAgQiBiANaiIEQbAEaigCACIHIApGDQEgBSAHTQ0CIARBkARqKAIAIgUgA08NAyACIAVBCHRqIgUoAgBBAUcNAyAEQZQEaigCACIRIAUoAgRHDQMgBiAHQaACbGoiDCgC8AEiByADTw0EIAIgB0EIdGoiBygCAEEBRw0EIAcoAgQgDCgC9AFHDQQgACgCFCIOIARBrARqKAIAIgZPBEAgDiAGayEIIAAoAhAgBkECdGohD0EAIQtDAAAAACEnQwAAAAAhKyAEQegDai0AACIQQQFxRQRAIAYgDkYNDCAPKgIAQwAAAACSIStBASELCyAQQQJxRQRAIAggC00NDCAPIAtBAnRqKgIAQwAAAACSIScgC0EBaiELC0MAAAAAISYgEEECdmkOAgYHCgsgBiAOQeyowgAQog0ACyAKIAVB2IvCABCwCQALIAlBADYCaCAJQQE2AlwgCUGYjMIANgJYIAlCBDcCYCAJQdgAakGgjMIAENwLAAsgCUEANgJoIAlBATYCXCAJQciMwgA2AlggCUIENwJgIAlB2ABqQdCMwgAQ3AsAC0Gc+8EAQRNBzKjCABD4CQALQZz7wQBBE0HcqMIAEPgJAAsgCCALTQ0CIA8gC0ECdGoqAgBDAAAAAJIhJgsgDCoCACEtIAwqAgQhLCAEQbwEaiAmOAIAICcgLSAEQcACaioCACIolCAsIARBxAJqKgIAIiqUkyIplCArICwgKJQgLSAqlJIiLJSSIS0gBEG0BGogKyAplCAnICyUkyInvK0gLbytQiCGhDcCAAJAIAUoAgBBAUcNACAFKAIEIBFHDQAgBykDaCEwIAcqAqABISwgBSkDoAEhMSAEQaAEaioCACEoIAcqAqQBISogBEGkBGoqAgAhKSAFICYgByoCcCIrkjgCcCAFIC0gMEIgiKe+kiArIDGnviAsk5SSICggJpSSOAJsIAUgJyAwp76SICsgMUIgiKe+ICqTlJMgKSAmlJM4AmggDUGgAmohDSASIApBAWoiCkYNBQwBCwtBnPvBAEETQdCdwgAQ+AkACyALIAhBgI3CABCwCQALQejKwQBBKEGQjcIAEPkKAAsgCyAIQaCNwgAQsAkACwJAAkACQAJAAkAgACgClAIiDQRAAkACQAJAAkAgDSAAKAJYRgRAAkAgDSAAKAJUIg1sIgVFDQAgACgCTCIKIQYgBSIEQQFxBEAgBkEANgIAIAYgBEEBayIEQQBHQQJ0aiEGCyAFQQFGDQAgCiANQQJ0aiEHA0AgDUECdCIFIApqIgwgBiAGIAdGIggbIgtBADYCACALIARBAUdBAnRqIgsgBSAGaiAHIAgbIgZGIQcgDCAKIAgbIgggBWoiCiALIAcbIgxBADYCACAKIAggBxshCiAFIAtqIAYgBxshByAMIARBAkdBAnRqIQYgBEECayIEDQALCyAAKAKgASINIAAoAqQBbCIFRQ0BIAAoApgBIgohBiAFIgRBAXEEQCAGQQA2AgAgBiAEQQFrIgRBAEdBAnRqIQYLIAVBAUYNASAKIA1BAnRqIQcDQCANQQJ0IgUgCmoiDCAGIAYgB0YiCBsiC0EANgIAIAsgBEEBR0ECdGoiCyAFIAZqIAcgCBsiBkYhByAMIAogCBsiCCAFaiIKIAsgBxsiDEEANgIAIAogCCAHGyEKIAUgC2ogBiAHGyEHIAwgBEECR0ECdGohBiAEQQJrIgQNAAsMAQsgDSANbCIEQQJ0IQZBACEKIARB/////wNLDQIgBkH8////B0sNAgJAIAZFBEBBBCEHQQAhBQwBC0EEIQogBCEFIAZBBBDUDCIHRQ0DCwJAIARFDQAgBkUNACAHQQAgBvwLAAsgACgCSCIGBEAgACgCTCAGQQJ0QQQQnw0LIAAgDTYCWCAAIA02AlQgACAENgJQIAAgBzYCTCAAIAU2AkggACgClAIiBiAGbCIEQQJ0IQ1BACEKIARB/////wNLDQEgDUH8////B0sNAQJAIA1FBEBBBCEHQQAhBQwBC0EEIQogBCEFIA1BBBDUDCIHRQ0CCwJAIARFDQAgDUUNACAHQQAgDfwLAAsgACgClAEiDQRAIAAoApgBIA1BAnRBBBCfDQsgACAGNgKkASAAIAY2AqABIAAgBDYCnAEgACAHNgKYASAAIAU2ApQBCyAAQoCAgIBwNwKMAQJAAkACQAJAAkAgACgC9AEiFyAAKAIIIgxHBEAgACgClAIiDkEDdCEHQQAhBCAOQQF0IgpB/////wNLDQUgB0H8////B0sNBQJAIAdFBEBBBCELQQAhDQwBC0EEIQQgCiENIAdBBBDUDCILRQ0GCwJAIApFDQAgB0UNACALQQAgB/wLAAsCQCAAKAL0ASIFIAxPBEAgACAMNgL0ASAFIAxHBEAgBSAMayEGIAAoAvABIAxBBHRqIQQDQCAEKAIAIgUEQCAEQQRqKAIAIAVBAnRBBBCfDQsgBEEQaiEEIAZBAWsiBg0ACwsgDUUNASALIA1BAnRBBBCfDQwBCyAMIAUiCGsiDyAAKALsASAFa0sEQCAAQewBaiAFIA9BBEEQEJoFIAAoAvQBIQgLIAAoAvABIAhBBHRqIQQCQCAPQQJJDQAgBwRAIAVBf3MgDGohBSAIIA9qQQFrIQgDQCAHQQQQ1AwiBkUNCCAHBEAgBiALIAf8CgAACyAEQQxqIA42AgAgBEEIaiAKNgIAIARBBGogBjYCACAEIAo2AgAgBEEQaiEEIAVBAWsiBQ0ACwwBCyAMIAVBf3NqIgVBA3EhBiAPQQJrQQNPBEAgBUF8cSEHA0AgBEKAgICAwAA3AgAgBEE8aiAONgIAIARBOGpBADYCACAEQTBqQoCAgIDAADcCACAEQSxqIA42AgAgBEEoakEANgIAIARBIGpCgICAgMAANwIAIARBHGogDjYCACAEQRhqQQA2AgAgBEEQakKAgICAwAA3AgAgBEEMaiAONgIAIARBCGpBADYCACAEQUBrIQQgB0EEayIHDQALCyAGBEADQCAEQoCAgIDAADcCACAEQQxqIA42AgAgBEEIakEANgIAIARBEGohBCAGQQFrIgYNAAsLIAggD2pBAWshCAsgBCAONgIMIAQgCjYCCCAEIAs2AgQgBCANNgIAIAAgCEEBajYC9AELIAAoApQCIgZBAnQhCEEAIQQgBkH/////A0sNAyAIQfz///8HSw0DIAAoAgghCgJAIAhFBEBBBCEFQQAhCwwBC0EEIQQgBiELIAhBBBDUDCIFRQ0ECwJAIAZFDQAgCEUNACAFQQAgCPwLAAsCQCAAKAKAAiIHIApPBEAgACAKNgKAAiAHIApHBEAgByAKayEGIAAoAvwBIApBBHRqIQQDQCAEKAIAIgcEQCAEQQRqKAIAIAdBAnRBBBCfDQsgBEEQaiEEIAZBAWsiBg0ACwsgC0UNASAFIAtBAnRBBBCfDQwBCyAKIAciDWsiDCAAKAL4ASAHa0sEQCAAQfgBaiAHIAxBBEEQEJoFIAAoAoACIQ0LIAAoAvwBIA1BBHRqIQQCQCAMQQJJDQAgCARAIAdBf3MgCmohByAMIA1qQQFrIQ0DQCAIQQQQ1AwiCkUNBiAIBEAgCiAFIAj8CgAACyAEQQxqIAY2AgAgBEEIaiAGNgIAIARBBGogCjYCACAEIAY2AgAgBEEQaiEEIAdBAWsiBw0ACwwBCyAKIAdBf3NqIgdBA3EhCCAMQQJrQQNPBEAgB0F8cSEKA0AgBEKAgICAwAA3AgAgBEE4akIANwIAIARBMGpCgICAgMAANwIAIARBKGpCADcCACAEQSBqQoCAgIDAADcCACAEQRhqQgA3AgAgBEEQakKAgICAwAA3AgAgBEEIakIANwIAIARBQGshBCAKQQRrIgoNAAsLIAgEQANAIARCgICAgMAANwIAIARBCGpCADcCACAEQRBqIQQgCEEBayIIDQALCyAMIA1qQQFrIQ0LIAQgBjYCDCAEIAY2AgggBCAFNgIEIAQgCzYCACAAIA1BAWo2AoACCyAAKAKUAiIGQQxsIQ1BACEIIAZBA2wiBEH/////A0sNASANQfz///8HSw0BAkAgDUUEQEEEIQdBACEFDAELQQQhCCAEIQUgDUEEENQMIgdFDQILAkAgBkUNACANRQ0AIAdBACAN/AsACyAAKAKEAiINBEAgACgCiAIgDUECdEEEEJ8NCyAAIAY2ApACIAAgBDYCjAIgACAHNgKIAiAAIAU2AoQCIAAoAgghFwsgAEHIAGohGSAAQYQBaiETIAlBADYCDCAXRQ0HIABBlAFqISAgCUE0aiIEQRRqIRsgBEEEaiEcIAlBEGoiBEEUaiEdIARBBGohHkEBIQRBACENAkACQAJAA0AgDSEMIAQhDQJAIAAoAggiBCAMSwRAAkAgACgCBCAMQaACbGoiDigC8AEiBCADTw0AIAIgBEEIdGoiECgCAEEBRw0AIBAoAgQgDigC9AFGDQILQZz7wQBBE0HIhMIAEPgJAAsgDCAEQbiEwgAQsAkACwJAAkAgACgCRCIEIAxLBEAgCSgCDCIEIA4oAowCRw0BQwAAAABDAACAPyAQKgKwASImlSAmi0MI5TweXRshK0MAAAAAQwAAgD8gECoCrAEiJpUgJotDCOU8Hl8bIS1DAAAAAEMAAIA/IBAqAqgBIiaVICaLQwjlPB5fGyEsIAxBBHQiEiAAKAJAaiELIAkgBCAOLQDIAWkiBWtBA2oiBzYCDCAOLQDkAUUEQCAEIAdPDQMgBUEDayEGA0AgACgCkAFBf0cEQCAAKAKMASIFIAAoAoQBRgRAIBNBiIvCABDHBgsgACgCiAEgBUECdGogBDYCACAAIAVBAWo2AowBCyAEQQFqIQQgBkEBaiIGDQALDAMLIAQgB08NAiAAKAKQASEGIAVBA3EiCkEDRwRAQQAhCANAIAZBf0YEQCAAIAQgCGoiBjYCkAELIAogCEEBaiIIc0EDRw0ACyAEIAhqIQQLIAVBA0kNAgNAIAQgBiAGQX9GIg8bIgZBf0YhBSAEQQFqIAYgBRsiBkF/RiEIIARBAmogBiAIGyIGQX9GIQogBEEDaiIEIAYgChshBgJAAkAgDw0AIAUNACAIDQAgCkUNAQsgACAGNgKQAQsgByAEQQFqIgRHDQALDAILIAwgBEHYhMIAELAJAAsgCUIANwJkIAlCgYCAgMAANwJcIAlBrIXCADYCWCAJQQxqIA5BjAJqIAlB2ABqQbSFwgAQqAsACyAeQgA3AgAgHUIANwIAIB5BCGpBADYCACAdQQhqQQA2AgAgCSArOAIwIAkgLTgCICAJICw4AhAgHEEIakEANgIAIBxCADcCACAbQgA3AgAgG0EIakEANgIAIAkgKzgCVCAJIC04AkQgCSAsOAI0IBkgCUEQaiALQQRqIgQoAgAgC0EMaiIFKAIAEJcCICAgCUE0aiAEKAIAIAUoAgAQlwICQAJAAkACQCAAKAJEIgUgDEsEQCAAKAJAIgYgEmoiBEEEaiIhKAIAISIgBEEMaiIjKAIAIR8gDA0DIAAoAvQBRQ0BIAAoAvABIgRBDGooAgAiBUEBdCIGBEAgBEEEaigCACIEIAVB/////wdxQQBHQQN0aiEIIAQhCgNAIApBCGoiCyAEIAQgCEYiBRsiB0EANgIAIAdBBGoiDyAEQQhqIAggBRsiCEYhBCALIAogBRsiBUEIaiILIA8gBBsiD0EANgIAIAsgBSAEGyEKIAdBDGogCCAEGyEIIA8gBkECR0ECdGohBCAGQQJrIgYNAAsLIAAoAoACRQ0CIAAoAvwBIgRBDGooAgAiBUUNBCAEQQRqKAIAIgghBiAFIgRBAXEEQCAGQQA2AgAgBiAEQQFrIgRBAEdBAnRqIQYLIAVBAUYNBCAIQQRqIQoDQCAIQQRqIg8gBiAGIApGIgcbIgVBADYCACAFIARBAUdBAnRqIgsgBkEEaiAKIAcbIgZGIQUgDyAIIAcbIgdBBGoiCCALIAUbIg9BADYCACAIIAcgBRshCCALQQRqIAYgBRshCiAPIARBAkdBAnRqIQYgBEECayIEDQALDAQLIAwgBUHEhcIAELAJAAtBAEEAQdSFwgAQsAkAC0EAQQBB5IXCABCwCQALIA4oApACIgQgACgCCCIHTwRAIAQgB0H0hcIAELAJAAsCQAJAAkAgACgCBCAEQaACbGoiFCgC8AEiByADTw0AIAIgB0EIdGoiBygCAEEBRw0AIAcoAgQgFCgC9AFHDQAgBCAFTwRAIAQgBUGUhsIAELAJAAsgBCAMRg0BIAAoAvQBIgUgDE0NGCAEIAVPDRggACgCgAIiBSAMTQ0YIAQgBU8NGCAAKALwASIIIBJqIgtBDGoiDygCACEFIAUgBEEEdCIEIAhqIghBDGooAgBHDRkgDi0AyAEhJCAEIAZqIgZBBGooAgAhJSAGQQxqKAIAIRUgByoCcCEnIAQgACgC/AEiBGohCiAEIBJqIRggC0EEaiERAkAgBUUNACAIQQRqKAIAIQcgESgCACEGIAVBAXEhGkEAIRYgBUEBRwRAIAVBfnEiBUEBdCEWQQAhBANAIAQgBmoiCCAEIAdqIgsqAgA4AgAgCEEEaiALQQRqKgIAOAIAIAhBCGogC0EIaioCADgCACAIQQxqIAtBDGoqAgA4AgAgBEEQaiEEIAVBAmsiBQ0ACwsgGkUNACAWQQJ0IgQgBmogBCAHaioCADgCACAEQQRyIgQgBmogBCAHaioCADgCAAsgGEEMaigCACIEIApBDGoiGigCAEcNGSAKQQRqIRYCQCAERQ0AIBYoAgAhCCAYQQRqKAIAIQogBEEDcSEFQQAhCyAEQQRPBEAgBEF8cSEYQQAhBANAIAQgCmoiByAEIAhqIgYqAgA4AgAgB0EEaiAGQQRqKgIAOAIAIAdBCGogBkEIaioCADgCACAHQQxqIAZBDGoqAgA4AgAgBEEQaiEEIBggC0EEaiILRw0ACwsgBUUNACALQQJ0IgcgCGohBCAHIApqIQoDQCAKIAQqAgA4AgAgBEEEaiEEIApBBGohCiAFQQFrIgUNAAsLQQAhC0EAIQggDioC/AEiKCEmIA4qAvgBIiohKSAPKAIAIgYEQEEAIQpBBCEHQQAhBANAIARBAWoiBCAPKAIASw0cIAQgGigCAEsNHCARKAIAIAdqIgVBBGsiCCAIKgIAICggFigCACAKaioCACImlJM4AgAgBSAqICaUIAUqAgCSOAIAIAdBCGohByAKQQRqIQogBCAGRw0ACyAOKgL8ASEmIA4qAvgBISkgDygCACEICyAlQQhqIQUCQCAIRQ0AICkgECoCcCIplCAOKQKUAiIwQiCIp74iLiAukpIhLiAwp74iLyAvkiAmICmUkyEmQQAhBEEEIQogBSEHA0AgBEEBaiIGIA8oAgBLDRwgBCAVRg0cIBEoAgAgCmoiBCAmIAcqAgAiKZQgBCoCAJI4AgAgBEEEayIEIAQqAgAgLiAplJM4AgAgCkEIaiEKIAdBDGohByAIIAYiBEcNAAsgDygCACIIRQRADAELIA4qApgCISYgDioClAIhKUEAIQRBBCEKIAUhBwNAIARBAWoiBiAPKAIASw0cIAQgFUYNHCARKAIAIApqIgQgKSAHKgIAIi6UIAQqAgCSOAIAIARBBGsiBCAEKgIAICYgLpSTOAIAIApBCGohCiAHQQxqIQcgCCAGIgRHDQALIA8oAgAhCwsgCwRAICpDAAAAAJQgJyAolJMhJiAoQwAAAICUICcgKpSTIShBACEEQQQhCgNAIARBAWoiByAPKAIASw0cIAQgFUYNHCARKAIAIApqIgQgJiAFKgIAIiqUIAQqAgCSOAIAIARBBGsiBCAoICqUIAQqAgCSOAIAIApBCGohCiAFQQxqIQUgCyAHIgRHDQALCyAOLQDkAQ0DIA8oAgAgDigCjAIiB0EDICRpIgVrIgRqSQ0aIBEoAgAhCCAJQdgAaiIGQSBqQQA2AgAgBkEYakIANwMAIAZBEGpCADcDACAGQQhqQgA3AwAgCUIANwNYIARBBE8NAiAJIAQ2ApwBIAkgBjYCmAEgCSAUKgIEIiYgDioCICIolCAUKgIAIiogDioCJCIplJI4AoQBIAkgKiAolCAmICmUkzgCgAEgDkEgaiAJQYABaiAJQZgBahCPBCAFQQNGDQMgCCAHQQN0aiEEIAVBA2shCiAnICeSISYDQCAEIAQqAgAgBioCACInQwAAAACUkiIoOAIAICYgJ5QgBEEEaiIFKgIAkiEnIAUgJzgCACAFICcgBkEEaioCACInQwAAAACUkjgCACAEICggJiAnlJM4AgAgBEEIaiEEIAZBDGohBiAKQQFqIgoNAAsMAwtBnPvBAEETQYSGwgAQ+AkACyAJQQA2AmggCUEBNgJcIAlBiKLCADYCWCAJQgQ3AmAgCUHYAGpBkKLCABDcCwALIAlBADYCkAEgCUEBNgKEASAJQeDswQA2AoABIAlCBDcCiAEgCUGAAWpB+OzBABDcCwALAkAgACgC9AEiBCAMSwRAIAAoAoACIgQgDEsNASAMIARBtIbCABCwCQALIAwgBEGkhsIAELAJAAsgIkEIaiEHIA4qAoQCIScgDioCgAIhKAJAAn8gACgC8AEgEmoiCkEMaiILKAIAIhFFBEAgECoCcCEmQQAMAQsgACgC/AEgEmohBUEAIQZBBCEIQQAhBANAIARBAWoiBCALKAIASw0CIAQgBUEMaigCAEsNGSAKQQRqIhQoAgAgCGoiD0EEayIVIBUqAgAgJyAFQQRqKAIAIAZqKgIAIiaUkzgCACAPICggJpQgDyoCAJI4AgAgCEEIaiEIIAZBBGohBiAEIBFHDQALIBAqAnAhJkEAIAsoAgAiD0UNABogDioCgAIgJoyUISogJiAOKgKEAoyUISZBACEEQQQhBiAHIQgDQCAEQQFqIgUgCygCAEsNGSAEIB9GDRkgFCgCACAGaiIEICYgCCoCACIplCAEKgIAkjgCACAEQQRrIgQgKiAplCAEKgIAkjgCACAGQQhqIQYgCEEMaiEIIA8gBSIERw0ACyAQKgJwISYgCygCAAsiBARAIAQhBSAoQwAAAACUICcgJpSTISogJ0MAAACAlCAoICaUkyEmQQAhBEEEIQYDQCAEQQFqIgggCygCAEsNGSAEIB9GDRkgCkEEaigCACAGaiIEICogByoCACInlCAEKgIAkjgCACAEQQRrIgQgJiAnlCAEKgIAkjgCACAGQQhqIQYgB0EMaiEHIAUgCCIERw0ACwsgACgC9AEiBCAMTQ0CAn8CQAJAIAAoAoACIgQgDEsEQAJAAkAgACgCkAIiByAAKALwASASaiIEQQxqKAIARgRAIAAoAvwBIBJqIQogACgCiAIhC0EAIAdFDQYaIARBBGooAgAhBSAHQQFxIQwgB0EBayIODQFBACEIDAILDBwLIAdBfnEhD0EAIQggBSEEIAshBgNAIAYgBCoCADgCACAGQQRqIARBBGoqAgA4AgAgBkEMaiAEQQhqKgIAOAIAIAZBEGogBEEMaioCADgCACAEQRBqIQQgBkEYaiEGIA8gCEECaiIIRw0ACwsgDARAIAsgCEEMbGoiBCAIQQN0IgYgBWoqAgA4AgAgBEEEaiAFQQRqIAZqKgIAOAIACyABIC2UISYgASAslCEnIA4NAUEAIQYMAgsgDCAEQdSGwgAQsAkACyAHQX5xIQhBACEGA0AgBiALaiIEICcgBCoCAJQ4AgAgBEEEaiIFICYgBSoCAJQ4AgAgBEEMaiIFICcgBSoCAJQ4AgAgBEEQaiIEICYgBCoCAJQ4AgAgBkEYaiEGIAhBAmsiCA0ACwsgDARAIAYgC2oiBCAnIAQqAgCUOAIAIARBBGoiBCAmIAQqAgCUOAIACyAAKAKIAiELIAAoApACCyEFIApBBGooAgAhByAJIApBDGooAgAiBDYChAEgCUEBNgKAASAJQQE2ApgBIAkgBTYCnAEgBCAFRw0DIAUEfyAFQQFxIQpBACEIIAVBAUcEQCALQRRqIQQgBUF+cSEFIAchBgNAIARBDGsgKyABIAYqAgCUlDgCACAEICsgASAGQQRqKgIAlJQ4AgAgBkEIaiEGIARBGGohBCAFIAhBAmoiCEcNAAsLIAoEQCALQQhqIAhBDGxqICsgASAHIAhBAnRqKgIAlJQ4AgALIAAoAogCIQsgACgCkAIFQQALIQwgISgCACEOICMoAgAhCCAAKAKgASEEIAkgACgCpAEiBTYCnAEgCSAENgKYASAJIAw2AoQBIAkgCDYCgAEgBCAIRw0EIAUgDEcNBAJAIAxFDQAgCEUNACAAKAKYASEHIAhBAnQhEEEAIQUDQCALIAVBDGxqIQ8gCCEKIAchBiAOIQQDQCAGIAYqAgAgBCoCACAPKgIAlCAEQQRqKgIAIA9BBGoqAgCUkiAEQQhqKgIAIA9BCGoqAgCUkpI4AgAgBkEEaiEGIARBDGohBCAKQQFrIgoNAAsgByAQaiEHIAwgBUEBaiIFRw0ACwsgDSAXSSIFIA1qIQQgBQ0BDAwLCwwVCyAMIARBxIbCABCwCQALIAlCADcCZCAJQoGAgIDAADcCXCAJQZj0wQA2AlggCUGYAWogCUGAAWogCUHYAGpB7PTBABCfCwALIAlCADcCZCAJQoGAgIDAADcCXCAJQZTswQA2AlggCUGYAWogCUGAAWogCUHYAGpBjPPBABCfCwALIAggDUGMzsEAEPkLAAtBBCAIQaDrwQAQ+QsACyAEIAhBjM7BABD5CwALQQQgB0Gg68EAEPkLAAsgBCAHQYzOwQAQ+QsACyAKIA1BjM7BABD5CwALIAogBkGMzsEAEPkLAAsCQCAAKAKUAiICRQ0AIAAoAihFDQIgACgCoAFFDQMgACgCpAFFDQMgACgCmAEiAyABIAAoAiAqAgCUIAMqAgCSOAIAIAAoAihFDQQgACgCVEUNBSAAKAJYRQ0FIAAoAkwiAyABIAAoAiAqAgCUIAMqAgCSOAIAIAJBAUYNAEEEIQZBASEEA0AgACgCKCIDQQFGDQMgAyAETQ0DIAAoAqABIgMgBE0NBCAEIAAoAqQBTw0EIAAoApgBIAMgBGxBAnRqIARBAnQiA2oiBSABIAAoAiAgBmoqAgCUIAUqAgCSOAIAIAAoAigiBUEBRg0FIAQgBU8NBSAAKAJUIgUgBE0NBiAEIAAoAlhPDQYgACgCTCAEIAVsQQJ0aiADaiIDIAEgACgCICAGaioCAJQgAyoCAJI4AgAgBkEEaiEGIAIgBEEBaiIERw0ACwsgAEGUAWohAwJ/IAAoApABIgJBf0YEQCAAKAKgAQwBCyAAKAKMASACagshAiATIAMQ6wEgEyAZEOsBIBMgAxB5IBMgGRB5IAAoAqABIgQgAkkNCyACIAAoAqQBSw0KIAAoApgBIQMgCSAENgJoIAkgAiACbCIFNgJkIAkgAzYCXCAJIAM2AlggCSADIAJBACAFGyIHQQJ0ajYCYCAJQTRqIgMgAiACIAlB2ABqIgQQ0wIgBCADEFkgACgCqAEiAwRAIAAoAqwBIANBAnRBBBCfDQsgAEGoAWohAyAAKAK8ASIEBEAgACgCwAEgBEEDdEEEEJ8NCyADIAkpAlg3AgAgA0EgaiAJQdgAaiIEQSBqKQIANwIAIANBGGogBEEYaikCADcCACADQRBqIARBEGopAgA3AgAgA0EIaiAEQQhqKQIANwIAIAAoAlQiDSACSQ0LIAIgACgCWEsNBSAAKAJMIQMgCSANNgJoIAkgBTYCZCAJIAMgB0ECdGo2AmAgCSADNgJcIAkgAzYCWCAJQTRqIgMgAiACIAQQ0wIgBCADEFkgACgCXCICBEAgACgCYCACQQJ0QQQQnw0LIABB3ABqIQIgACgCcCIDBEAgACgCdCADQQN0QQQQnw0LIAIgCSkCWDcCACACQSBqIAlB2ABqIgBBIGopAgA3AgAgAkEYaiAAQRhqKQIANwIAIAJBEGogAEEQaikCADcCACACQQhqIABBCGopAgA3AgALIAlBoAFqJAAPCyAJQQA2AmggCUEBNgJcIAlBjPDBADYCWCAJQgQ3AmAgCUHYAGpB+IPCABDcCwALIAlBADYCaCAJQQE2AlwgCUGM8MEANgJYIAlCBDcCYCAJQdgAakGIhMIAENwLAAsgCUEANgJoIAlBATYCXCAJQYzwwQA2AlggCUIENwJgIAlB2ABqQZiEwgAQ3AsACyAJQQA2AmggCUEBNgJcIAlBjPDBADYCWCAJQgQ3AmAgCUHYAGpBqITCABDcCwALDAQLQejKwQBBKEGQjcIAEPkKAAsgCCAHQaCNwgAQsAkACyAJQQA2AmggCUEBNgJcIAlBoKLCADYCWCAJQgQ3AmAgCUHYAGpBqKLCABDcCwALIAlBADYCaCAJQQE2AlwgCUHU9MEANgJYIAlCBDcCYCAJQdgAakHc9MEAENwLAAsgCUEANgJoIAlBATYCXCAJQeDswQA2AlggCUIENwJgIAlB2ABqQfjswQAQ3AsACyAJQQA2AmggCUEBNgJcIAlB4OzBADYCWCAJQgQ3AmAgCUHYAGpB6OzBABDcCwAL0zkDEn8KfQR+IwBBwAJrIgYkAEKAgID8AyEiIASnIg2+Ih0gHZQgBEIgiKciC74iHiAelJIiGEMAAIAoXgRAIB0gGJEiGJW8rSAeIBiVvK1CIIaEISILAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIEQCACQQN0IQ8CQCACQQFGDQAgASoCCCAip74iGJQgAUEMaioCACAiQiCIp74iGpSSIhkgASoCACAYlCABQQRqKgIAIBqUkiIcXiEIQQIhCSACQQJGDQAgGSAcIAgbIRkgAUEQaiEHIA9BGGsiDARAIAxBA3ZBAWpB/v///wNxIREDQCAHKgIAIBiUIAdBBGoqAgAgGpSSIhwgGV4hCiAHQQhqKgIAIBiUIAdBDGoqAgAgGpSSIh8gHCAZIAobIhleIQ4gHyAZIA4bIRkgCUEBaiAJIAggChsgDhshCCAHQRBqIQcgCSARRyEKIAlBAmohCSAKDQALCyAMQQhxDQAgCSAIIAcqAgAgGJQgB0EEaioCACAalJIgGV4bIQgLIAIgCE0NEiADQgA3AmQgAyALNgIcIAMgDTYCGCADIAEgCEEDdGopAgAiIjcCECADICKnviAdkzgCCCADICJCIIinviAekzgCDCAGQZgBaiADENIBAkAgBioCmAEiGSAZlCAGKgKcASIaIBqUkkMAAAAAXkUNACABQRBqIQwgD0EYayIKQQhxIRIgHkMAAAAAlCAdkiEcIB4gHUMAAAAAlJMhHyAKQQN2QQFqQf7///8DcSERQ///f38hGEEAIQ4gAUEEaiEQIAFBDGohEwJAAkACQAJAA0AgGiAalCAZIBmUkiIgQwAAyCteRQ0FICCRIhsgGGANBCAajCAblSEYIBmMIBuVIRpBACEIAkAgAkEBRg0AIBogASoCCJQgGCATKgIAlJIiGSAaIAEqAgCUIBggECoCAJSSIiBeIQggAkECRg0AIBkgICAIGyEZAkAgCkUEQEECIQkgDCEHDAELQQIhCSAMIQcDQCAaIAcqAgCUIBggB0EEaioCAJSSIiAgGV4hDSAaIAdBCGoqAgCUIBggB0EMaioCAJSSIiEgICAZIA0bIhleIQsgISAZIAsbIRkgCUEBaiAJIAggDRsgCxshCCAHQRBqIQcgCSARRyENIAlBAmohCSANDQALCyASDQAgCSAIIBogByoCAJQgGCAHQQRqKgIAlJIgGV4bIQgLIAIgCE0NGCAaIAEgCEEDdGopAgAiIqe+IByTIhmUIBggIkIgiKe+IB+TIhqUkiIYvEH/////B3FBgICA/AdPDQcgGEP//3//XUUEQCAbIBiSIBtDvRuPOpRfDQQgBiAfOALsASAGIBw4AugBIAYgIjcC4AEgBiAaOALcASAGIBk4AtgBIAMgBkHYAWoiBxDwA0UNAiAHIAMQ0gEgAygCaEECRg0DIAYpA9gBIiJCIIinviEaICKnviEZIBshGCAOQQFqIg5B5ABHDQELC0Hg1sIAQShB5PHCABD5CgALQwAAAAAhGQJ9QwAAAAAgAygCaCIBQQFqIgJFDQAaIAMqAlAiGyADKQIQIgSnvpRDAAAAAJIhGSAbIARCIIinvpRDAAAAAJIiGyABRQ0AGiACQQJHDQcgGSADKgJUIhggAykCKCIEp76UkiEZIBsgGCAEQiCIp76Ukgu8IQcgGbwMFAsgGEMAAKC1X0UNAgwSC0MAAAAAIRkCfUMAAAAAIAMoAmgiAUEBaiICRQ0AGiADKgJQIhsgAykCECIEp76UQwAAAACSIRkgGyAEQiCIp76UQwAAAACSIhsgAUUNABogAkECRw0GIBkgAyoCVCIYIAMpAigiBKe+lJIhGSAbIBggBEIgiKe+lJILvCEHIBm8DBILDBALIAVFBEAgBkKAgICAwAA3AiQgBkIENwIcIAZCADcCFCAGQoCAgIDAADcCDCAGQQA2AiwgAygCaCIFQX9GBEBBAEEAQaztwgAQsAkACyAGQQxqIglB1PHCABCsBiAGKAIQIgcgA0EIaiIIKQIANwIAIAdBEGogCEEQaikCADcCACAHQQhqIAhBCGopAgA3AgAgBkEBNgIUIAVFDQ0gBUECaiEIIANBIGohBSAGQSRqIQwgBkEYaiEOIAYoAgxBAUYEQCAJQdTxwgAQrAYgBigCECEHCyAHIAUpAgA3AhggB0EoaiAFQRBqKQIANwIAIAdBIGogBUEIaikCADcCACAGQQI2AhQgCEEDRg0GIANBOGohAyAGKAIMQQJGBEAgBkEMakHU8cIAEKwGIAYoAhAhBwsgByADKQIANwIwIAdBQGsgA0EQaikCADcCACAHQThqIANBCGopAgA3AgAgBkEDNgIUIAhBBEYNBUEDQQNBmPPCABCwCQALIAAgBDcCACAAQQE6AAgMEQtBAEEAQdi0wwAQsAkAC0H08cIAQSdBnPLCABD5CgALQQJBAkH48sIAELAJAAtBAkECQfjywgAQsAkACyAHKQIYIiKnviAHKgIAIhiTIAcpAjAiI0IgiKe+IAcqAgQiGZOUICJCIIinviAZkyAjp74gGJOUXQRAIANBEGopAgAhIiADQQhqKQIAISMgB0EYaiIFKQIAISQgBSADKQIANwIAIAVBCGoiAykCACElIAMgIzcCACAFQRBqIgMpAgAhIyADICI3AgAgB0EwaiIDQRBqICM3AgAgA0EIaiAlNwIAIAMgJDcCAAsgBkKBgICAIDcCOCAGQoCAgIAQNwIwIAZCAjcCQCAGQdgBaiIDIAdBAyAGQTBqEJ8DIAZByABqIgVBIGoiESADQSBqIgcoAgA2AgAgBUEYaiADQRhqIggpAgA3AwAgBUEQaiIQIANBEGoiCSkCADcDACAFQQhqIhMgA0EIaiIKKQIANwMAIAYgBikC2AE3A0ggBi0A/AEhDSADIAYoAhAgBigCFCAGQThqEJ8DIAZB8ABqIgVBIGogBygCADYCACAFQRhqIAgpAgA3AwAgBUEQaiAJKQIANwMAIAVBCGogCikCADcDACAGIAYpAtgBNwNwIAYtAPwBIQsgAyAGKAIQIAYoAhQgBkFAaxCfAyAGQZgBaiIDQSBqIAcoAgA2AgAgA0EYaiAIKQIANwMAIANBEGogCSkCADcDACADQQhqIAopAgA3AwAgBiAGKQLYATcDmAEgBi0A/AEhCiAGKAIgIgMgBigCGEYEQCAOQfztwgAQrgYLIAYoAhwgA0EkbGoiBSAGKQNINwIAIAVBIGogESgCADYCACAFQRhqIAZB4ABqKQMANwIAIAVBEGogECkDADcCACAFQQhqIBMpAwA3AgAgBiADQQFqIgU2AiAgBigCGCAFRgRAIA5BjO7CABCuBgsgBigCHCAFQSRsaiIFIAYpA3A3AgAgBUEgaiAGQfAAaiIHQSBqKAIANgIAIAVBGGogB0EYaikDADcCACAFQRBqIAdBEGopAwA3AgAgBUEIaiAHQQhqKQMANwIAIAYgA0ECaiIFNgIgIAYoAhggBUYEQCAOQZzuwgAQrgYLIAYoAhwgBUEkbGoiBSAGKQOYATcCACAFQSBqIAZBmAFqIgdBIGooAgA2AgAgBUEYaiAHQRhqKQMANwIAIAVBEGogB0EQaikDADcCACAFQQhqIAdBCGopAwA3AgAgBiADQQNqIgM2AiACQCANQQFxRQ0AAkAgAwRAIAYoAhRFDQEgBigCHCIDKgIIIAYoAhAiBSoCAJQgA0EMaioCACAFQQRqKgIAlJIiGEMAAKC1XQ0MIBiMIRggBigCLCIHIAYoAiRGBEAgDEH4vMIAEMkGCyAGKAIoIgMgB0EDdGoiBSAYOAIEIAVBADYCACAGIAdBAWo2AixBACEJAkAgB0UNAANAIAMgB0EBayIFQQF2IglBA3RqIghBBGoqAgAgGF1FBEAgByEJDAILIAMgB0EDdGogCCkCADcCACAJIQcgBUEBSw0ACwsgAyAJQQN0aiIDIBg4AgQgA0EANgIADAILQQBBAEGs7sIAELAJAAtBAEEAQbzuwgAQsAkACwJAIAtBAXFFDQACQCAGKAIgIgNBAk8EQCAGKAIUIgNBAU0NASAGKAIcIgMqAiwgBigCECIFKgIYlCADQTBqKgIAIAVBHGoqAgCUkiIYQwAAoLVdDQwgGIwhGCAGKAIsIgcgBigCJEYEQCAMQfi8wgAQyQYLIAYoAigiAyAHQQN0aiIFIBg4AgQgBUEBNgIAIAYgB0EBajYCLAJAIAdFBEBBACEIDAELA0AgAyAHQQFrIgVBAXYiCEEDdGoiCUEEaioCACAYXUUEQCAHIQgMAgsgAyAHQQN0aiAJKQIANwIAIAghByAFQQFLDQALCyADIAhBA3RqIgMgGDgCBCADQQE2AgAMAgtBASADQczuwgAQsAkAC0EBIANB3O7CABCwCQALAkAgCkEBcUUNAAJAIAYoAiAiA0EDTwRAIAYoAhQiA0ECTQ0BIAYoAhwiAyoCUCAGKAIQIgUqAjCUIANB1ABqKgIAIAVBNGoqAgCUkiIYQwAAoLVdDQwgGIwhGCAGKAIsIgcgBigCJEYEQCAMQfi8wgAQyQYLIAYoAigiAyAHQQN0aiIFIBg4AgQgBUECNgIAIAYgB0EBajYCLAJAIAdFBEBBACEIDAELA0AgAyAHQQFrIgVBAXYiCEEDdGoiCUEEaioCACAYXUUEQCAHIQgMAgsgAyAHQQN0aiAJKQIANwIAIAghByAFQQFLDQALCyADIAhBA3RqIgMgGDgCBCADQQI2AgAMAgtBAiADQezuwgAQsAkAC0ECIANB/O7CABCwCQALIA1BAXENASALQQFxDQEgCkEBcQ0BQez6wwAoAgBBBEkNCUHw78IAKAIAIQFB6O/CACkCACEiIAZCADcCkAIgBkKBgICAwAA3AogCIAZB4O/CADYChAIgBkEZNgKAAiAGQfjvwgA2AvwBIAZBBDYC+AEgBiAiNwLwASAGQhk3AugBIAZB+O/CADYC5AEgBkEANgLgASAGIAE2AtwBIAZBATYC2AFByPrDACgCAEHItsMAQej6wwAoAgBBAkYiARsgBkHYAWpBzPrDACgCAEGwtsMAIAEbKAIQEQAADAkLQgAhIiAHKgIYIAcqAgCTIhggGJQgB0EcaioCACAHQQRqKgIAkyIZIBmUkiIaQwAAgCheIgMEQCAZIBqRIhmVvK0gGIwgGZW8rUIghoQhIgsgA0UhByAGKAIgIgUgBigCGEYEQCAOQZTwwgAQrgYLIAYoAhwgBUEkbGoiAyAHOgAgIANCgICA/AM3AhggA0IANwIQIAMgIjcCCCADQoCAgIAQNwIAIAYgBUEBaiIHNgIgIAYoAhQiA0EBTQ0FIAYoAhAiAyoCACADKgIYkyIYIBiUIANBBGoqAgAgA0EcaioCAJMiGSAZlJIiGkMAAIAoXiIDBEAgGSAakSIZlbytIBiMIBmVvK1CIIaEISMLIANFIQggBigCGCAHRgRAIA5BpPDCABCuBgsgBigCHCAHQSRsaiIDIAg6ACAgA0KAgID8AzcCGCADQgA3AhAgAyAjNwIIIANCATcCACAGIAVBAmoiAzYCICADRQ0EIAYoAhQiBUUNAyADQQFGDQIgBUEBRg0BIAYoAhwiAyoCCCAGKAIQIgUqAgCUIANBDGoqAgAgBUEEaioCAJSSIhlDAACgNV4NCCADQTBqKgIAIAVBHGoqAgCUIRggAyoCLCAFKgIYlCEaIAYoAiwiByAGKAIkRgRAIAxB+LzCABDJBgsgGiAYkiEYIAYoAigiAyAHQQN0aiIFIBk4AgQgBUEANgIAIAYgB0EBajYCLEEAIQkCQCAHRQ0AA0AgGSADIAdBAWsiBUEBdiIJQQN0aiIIQQRqKgIAXkUEQCAHIQkMAgsgAyAHQQN0aiAIKQIANwIAIAkhByAFQQFLDQALCyADIAlBA3RqIgMgGTgCBCADQQA2AgAgGEMAAKA1Xg0IIAYoAiwiByAGKAIkRgRAIAxB+LzCABDJBgsgBigCKCIDIAdBA3RqIgUgGDgCBCAFQQE2AgAgBiAHQQFqNgIsAkAgB0UEQEEAIQgMAQsDQCAYIAMgB0EBayIFQQF2IghBA3RqIglBBGoqAgBeRQRAIAchCAwCCyADIAdBA3RqIAkpAgA3AgAgCCEHIAVBAUsNAAsLIAMgCEEDdGoiAyAYOAIEIANBATYCAAsgBigCLARAIAYoAigoAgAhCiAGQbwBaiAMEJ4DAkAgBigCvAFBAUcNACAeIB1DAAAAAJSTIRwgHkMAAAAAlCAdkiEeIAFBEGohBSAPQRhrIhFBCHEhFCARQQN2QQFqQf7///8DcSEVIAZBgAJqIQ9D//9/fyEdQQAhDSABQQxqIRYgAkECRiEXA0ACQAJAAkACQAJAIAYoAsABIgsgBigCICIDSQRAIAYoAhwgC0EkbGoiBy0AIA0CIAcqAgghGCAHKgIMIRpBACEJAkAgAkEBRg0AIBggASoCCJQgGiAWKgIAlJIiGSAYIAEqAgCUIBogAUEEaioCAJSSIh9eIQkgFw0AIBkgHyAJGyEZAkAgEUUEQEECIQMgBSEIDAELQQIhAyAFIQgDQCAYIAgqAgCUIBogCEEEaioCAJSSIh8gGV4hECAYIAhBCGoqAgCUIBogCEEMaioCAJSSIiAgHyAZIBAbIhleIRMgICAZIBMbIRkgA0EBaiADIAkgEBsgExshCSAIQRBqIQggAyAVRyEQIANBAmohAyAQDQALCyAUDQAgAyAJIBggCCoCAJQgGiAIQQRqKgIAlJIgGV4bIQkLIAIgCU0NASAHKQIAISIgBioCxAEhGSABIAlBA3RqKQIAIiOnviAekyEfICNCIIinviAckyEgIAYoAhQiAyAGKAIMRgRAIAZBDGpBlPHCABCsBgsgBigCECADQRhsaiIHIBw4AhQgByAeOAIQIAcgIzcCCCAHICA4AgQgByAfOAIAIAYgA0EBaiIHNgIUIAsgCiAYIB+UIBogIJSSIhggHV0iCBshCiAZIBggHSAIGyIdkkMAAEg3XUUEQCAZjCEYIAYgAzYCzAEgBiADNgLQASAGICI+AsgBIAYgIkIgiD4C1AEgBkHYAWogBigCECAHIAZByAFqEJ8DIA8gBigCECAGKAIUIAZB0AFqEJ8DIAYtAPwBRQRAIAYtAPgBIQMMBQsgBioC4AEgBioC6AGUIAYqAuQBIAYqAuwBlJIiGSAYXQRAIAZB2AFqIQ8MBgsgBi0A+AEiAw0EIBlDAACgtV0iCA0RIBmMIRkgBigCICELIAYoAiwiByAGKAIkRgRAIAxB+LzCABDJBgsgGyAZIAgbIRsgEiALIAgbIRIgBigCKCIJIAdBA3RqIgggGTgCBCAIIAs2AgAgBiAHQQFqNgIsAkAgB0UEQEEAIQgMAQsDQCAbIAkgB0EBayILQQF2IghBA3RqIhBBBGoqAgBeRQRAIAchCAwCCyAJIAdBA3RqIBApAgA3AgAgCCEHIAtBAUsNAAsLIAkgCEEDdGoiByAbOAIEIAcgEjYCAAwECyAGKAIgIgEgCksEQCAGQdgBaiAGKAIcIApBJGxqIAYoAhAgBxDfBSAGKALcASEJIAYoAtgBIQgMEAsgCiABQbTxwgAQsAkACyALIANBhPHCABCwCQALIAkgAkGsl8MAELAJAAsgBkG8AWogDBCeAyAGKAK8AQ0DDAQLIAYpA/ABISIgBikD6AEhIyAGKQPgASEkIAYpA9gBISUgBigCICIIIAYoAhhGBEAgDkGk8cIAEK4GCyAGKAIcIAhBJGxqIgcgAzoAICAHICI3AhggByAjNwIQIAcgJDcCCCAHICU3AgAgBiAIQQFqIgg2AiACQCAGLQCkAkUEQCAGLQCgAiEDDAELIBggBioCiAIgBioCkAKUIAYqAowCIAYqApQClJIiGF4NASAGLQCgAiIDDQAgGEMAAKC1XSIJDQ0gGIwhGCAGKAIsIgcgBigCJEYEQCAMQfi8wgAQyQYLIBsgGCAJGyEbIBIgCCAJGyESIAYoAigiCSAHQQN0aiILIBg4AgQgCyAINgIAIAYgB0EBajYCLAJAIAdFBEBBACEIDAELA0AgGyAJIAdBAWsiC0EBdiIIQQN0aiIQQQRqKgIAXkUEQCAHIQgMAgsgCSAHQQN0aiAQKQIANwIAIAghByALQQFLDQALCyAJIAhBA3RqIgcgGzgCBCAHIBI2AgAgBigCICEICyAGKQOYAiEiIAYpA5ACISMgBikDiAIhJCAGKQOAAiElIAYoAhggCEYEQCAOQaTxwgAQrgYLIAYoAhwgCEEkbGoiByADOgAgIAcgIjcCGCAHICM3AhAgByAkNwIIIAcgJTcCACAGIAhBAWo2AiAgDUHkAEcNAQwDCyAPKAIAIgIgBigCFCIBSQRAIA8oAgQiAyABTwRAIAMgAUHc7cIAELAJAAsgDyoCGCIbIAYoAhAiASACQRhsaikCCCIEp76UIA8qAhwiGCABIANBGGxqKQIIIiKnvpSSvCEIIBsgBEIgiKe+lCAYICJCIIinvpSSvCEJDAsLIAIgAUHM7cIAELAJAAsgBkG8AWogDBCeAyANQQFqIQ0gBigCvAENAAsLIAYoAiAiASAKTQRAIAogAUHE8cIAELAJAAsCQCAGKAIcIApBJGxqIgEoAgAiAyAGKAIUIgJJBEAgASgCBCIFIAJPDQEgASoCGCIbIAYoAhAiAiADQRhsaikCCCIEp76UIAEqAhwiGCACIAVBGGxqKQIIIiKnvpSSvCEIIBsgBEIgiKe+lCAYICJCIIinvpSSvCEJDAkLIAMgAkHM7cIAELAJAAsgBSACQdztwgAQsAkAC0H08MIAEKUNAAtBAUEBQeTwwgAQsAkAC0EBQQFB1PDCABCwCQALQQBBAEHE8MIAELAJAAtBAEEAQbTwwgAQsAkAC0EBIANBrO3CABCwCQALIAFBEGohAyAPQRhrIgxBCHEhDiAMQQN2QQFqQf7///8DcSEPIAcqAgwhHSAHKgIIIR5DAACAPyEaQwAAAAAhGCABQQRqIQ0gAUEMaiELIAJBAkYhEUEBIQUDQEEAIQgCQCACQQFGDQAgGCABKgIIlCAaIAsqAgCUkiIbIBggASoCAJQgGiANKgIAlJIiGV4hCCARDQAgGyAZIAgbIRkCQCAMRQRAQQIhCSADIQcMAQtBAiEJIAMhBwNAIBggByoCAJQgGiAHQQRqKgIAlJIiGyAZXiEKIBggB0EIaioCAJQgGiAHQQxqKgIAlJIiHCAbIBkgChsiG14hEiAcIBsgEhshGSAJQQFqIAkgCCAKGyASGyEIIAdBEGohByAJIA9HIQogCUECaiEJIAoNAAsLIA4NACAJIAggGCAHKgIAlCAaIAdBBGoqAgCUkiAZXhshCAsgAiAITQ0GQQAhCSABIAhBA3RqKQIAIgSnviAekyIbIBuUIARCIIinviAdkyIZIBmUkiIcQwBAHC9eRQRAQQAhCAwCCyAaIBkgHJEiGZUiHJQgGCAbIBmVIhqUkkMAAEg3XQRAQQAhCAwCCyAFQeQASSIHIAVqIQUgHIwhGEEAIQggBw0ACwsgCK0gCa1CIIaEIQQLIAAgBDcCACAAQQE6AAggBigCDCIABEAgBigCECAAQRhsQQQQnw0LIAYoAhgiAARAIAYoAhwgAEEkbEEEEJ8NCyAGKAIkIgBFDQIgBigCKCAAQQN0QQQQnw0MAgsgBkHYAWogA0EBENUCIAYoAtwBIQcgBigC2AELIQEgAEEAOgAIIAAgAa0gB61CIIaENwIACyAGQcACaiQADwsgCCACQayXwwAQsAkAC7o3Awh/BH4CfSMAQRBrIggkACAIQQRqIAAoAgAgACgCBCIAKAIIQQFrQXhxakEIaiAAKAKkAREAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCCgCBEEBaw4PAQIDBAUPDg0MCwoJCAcGAAsgCCgCCCECIAEoAgAiASgCCCEDQQAhACABKAIAIANrQQNNBEAgASADQQRBAUEBEOMEIAEoAgghAwsgASgCBCADakEANgAAIAEgA0EEaiIDNgIIIAIqAgAhDiABKAIAIANrQQNNBEAgASADQQRBAUEBEOMEIAEoAgghAwsgASADQQRqNgIIIAEoAgQgA2ogDjgAAAwPCyAIKAIIIQMgASgCACIAKAIIIQIgACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAoAgQgAmpBATYAACAAIAJBBGoiAjYCCCADQQRqKgIAIQ4gAyoCACEPIAAoAgAgAmtBA00EQCAAIAJBBEEBQQEQ4wQgACgCCCECCyAAKAIEIAJqIA84AAAgACACQQRqIgI2AgggACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAgAkEEajYCCCAAKAIEIAJqIA44AABBACEADA4LIAgoAgghAiABKAIAIgMoAgghACADKAIAIABrQQNNBEAgAyAAQQRBAUEBEOMEIAMoAgghAAsgAyAAQQRqNgIIIAMoAgQgAGpBAjYAACACIAEQ2QQiAA0NIAIqAhAhDiADKAIAIAMoAggiAGtBA00EQCADIABBBEEBQQEQ4wQgAygCCCEACyADIABBBGo2AgggAygCBCAAaiAOOAAAQQAhAAwNCyAIKAIIIQMgASgCACIAKAIIIQIgACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAgAkEEajYCCCAAKAIEIAJqQQM2AAAgAyABENkEIQAMDAsgCCgCCCEDIAEoAgAiACgCCCECIAAoAgAgAmtBA00EQCAAIAJBBEEBQQEQ4wQgACgCCCECCyAAIAJBBGo2AgggACgCBCACakEENgAAIAMgARC6AyEADAsLIAgoAgghBiABKAIAIgAoAgghAiAAKAIAIAJrQQNNBEAgACACQQRBAUEBEOMEIAAoAgghAgsgACACQQRqNgIIIAAoAgQgAmpBBTYAACABIAYQjAIiAA0KIAYoAigiAikDACEKIAYoAjQiB60hCyABKAIAIgQoAgghACAEKAIAIABrQQdNBEAgBCAAQQhBAUEBEOMEIAQoAgghAAsgBCAAQQhqIgU2AgggBCgCBCAAaiALNwAAIAcEQCACQQhqIQAgCkJ/hUKAgYKEiJCgwIB/gyEKA0AgClAEQANAIAJBgAFrIQIgACkDACEKIABBCGohACAKQoCBgoSIkKDAgH+DIgpCgIGChIiQoMCAf1ENAAsgCkKAgYKEiJCgwIB/hSEKCyACIAp6p0EBdEHwAXFrIgNBBGs1AgAhCyADQQhrNQIAIQwgA0EMaygCACEJIANBEGsoAgAhAyAEKAIAIAVrQQNNBEAgBCAFQQRBAUEBEOMEIAQoAgghBQsgBCgCBCAFaiADNgAAIAQgBUEEaiIDNgIIIAQoAgAgA2tBA00EQCAEIANBBEEBQQEQ4wQgBCgCCCEDCyAEKAIEIANqIAk2AAAgBCADQQRqIgM2AgggCkIBfSENIAQoAgAgA2tBB00EQCAEIANBCEEBQQEQ4wQgBCgCCCEDCyAEKAIEIANqIAw3AAAgBCADQQhqIgM2AgggCiANgyEKIAQoAgAgA2tBB00EQCAEIANBCEEBQQEQ4wQgBCgCCCEDCyAEIANBCGoiBTYCCCAEKAIEIANqIAs3AAAgB0EBayIHDQALCyAGKAJMIQIgBigCUCIFrSEKIAEoAgAiACgCCCEEIAAoAgAgBGtBB00EQCAAIARBCEEBQQEQ4wQgACgCCCEECyAAIARBCGoiAzYCCCAAKAIEIARqIAo3AAAgBQRAIAIgBUEDdGohBQNAIAJBBGooAgAhByACKAIAIQQgACgCACADa0EDTQRAIAAgA0EEQQFBARDjBCAAKAIIIQMLIAAoAgQgA2ogBDYAACAAIANBBGoiBDYCCCAAKAIAIARrQQNNBEAgACAEQQRBAUEBEOMEIAAoAgghBAsgACAEQQRqIgM2AgggACgCBCAEaiAHNgAAIAUgAkEIaiICRw0ACwsgBigCWCEHIAYoAlwiBK0hCiABKAIAIgIoAgghACACKAIAIABrQQdNBEAgAiAAQQhBAUEBEOMEIAIoAgghAAsgAiAAQQhqIgM2AgggAigCBCAAaiAKNwAAIAQEQCAHIARBCHRqIQUDQEEAIQADQCAAIAdqLQAAIQkgAiADIAIoAgBHBH8gAwUgAiADQQFBAUEBEOMEIAIoAggLIgRBAWoiAzYCCCACKAIEIARqIAk6AAAgAEEBaiIAQYACRw0ACyAFIAdBgAJqIgdHDQALCyAGKAJkIQIgBigCaCIFrSEKIAEoAgAiACgCCCEEIAAoAgAgBGtBB00EQCAAIARBCEEBQQEQ4wQgACgCCCEECyAAIARBCGoiAzYCCCAAKAIEIARqIAo3AAAgBQRAIAVBAnQhBQNAIAI1AgAhCiACQQRqIQIgACAAKAIAIANrQQdLBH8gAwUgACADQQhBAUEBEOMEIAAoAggLIgRBCGoiAzYCCCAAKAIEIARqIAo3AAAgBUEEayIFDQALCyAGKgJEIQ4gBioCQCEPIAEoAgAiACgCCCECIAAoAgAgAmtBA00EQCAAIAJBBEEBQQEQ4wQgACgCCCECCyAAKAIEIAJqIA84AAAgACACQQRqIgI2AgggACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAgAkEEajYCCCAAKAIEIAJqIA44AABBACEADAoLAkBBOEEBENQMIgEEQCABQTBqQeCpwQApAAA3AAAgAUEoakHYqcEAKQAANwAAIAFBIGpB0KnBACkAADcAACABQRhqQcipwQApAAA3AAAgAUEQakHAqcEAKQAANwAAIAFBCGpBuKnBACkAADcAACABQbCpwQApAAA3AABBDEEEENQMIgBFDQEgAEE4NgIIIAAgATYCBCAAQTg2AgAMCwtBAUE4QairwQAQ+QsAC0EEQQxB8PrDACgCACIAQe8HIAAbEQAAAAsgCCgCCCECIAEoAgAiAygCCCEAIAMoAgAgAGtBA00EQCADIABBBEEBQQEQ4wQgAygCCCEACyADIABBBGo2AgggAygCBCAAakEONgAAIAIgARD4AiIADQggAioCGCEOIAMoAgAgAygCCCIAa0EDTQRAIAMgAEEEQQFBARDjBCADKAIIIQALIAMgAEEEajYCCCADKAIEIABqIA44AABBACEADAgLIAgoAgghAiABKAIAIgMoAgghACADKAIAIABrQQNNBEAgAyAAQQRBAUEBEOMEIAMoAgghAAsgAyAAQQRqNgIIIAMoAgQgAGpBDTYAACACIAEQugMiAA0HIAIqAhghDiADKAIAIAMoAggiAGtBA00EQCADIABBBEEBQQEQ4wQgAygCCCEACyADIABBBGo2AgggAygCBCAAaiAOOAAAQQAhAAwHCyAIKAIIIQMgASgCACIAKAIIIQIgACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAoAgQgAmpBDDYAACAAIAJBBGoiAjYCCCADKgIEIQ4gAyoCACEPIAAoAgAgAmtBA00EQCAAIAJBBEEBQQEQ4wQgACgCCCECCyAAKAIEIAJqIA84AAAgACACQQRqIgI2AgggACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAoAgQgAmogDjgAACAAIAJBBGoiAjYCCCADKgIIIQ4gACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAgAkEEajYCCCAAKAIEIAJqIA44AABBACEADAYLIAgoAgghAyABKAIAIgAoAgghAiAAKAIAIAJrQQNNBEAgACACQQRBAUEBEOMEIAAoAgghAgsgACACQQRqNgIIIAAoAgQgAmpBCzYAACADIAEQ+AIhAAwFCyABKAIAIgAoAgghAiAAKAIAIAJrQQNNBEAgACACQQRBAUEBEOMEIAAoAgghAgsgACACQQRqNgIIIAAoAgQgAmpBCjYAACAIKAIIIgRBBGooAgAhAiAEQQhqKAIAIgWtIQogASgCACIAKAIIIQMgACgCACADa0EHTQRAIAAgA0EIQQFBARDjBCAAKAIIIQMLIAAgA0EIajYCCCAAKAIEIANqIAo3AAAgBUEYbCEDA0AgAwRAIAIgARDZBCIADQYgA0EYayEDIAJBEGohACACQRhqIQIgACABECYiAEUNAQwGCwsgASAEQQxqEIwCIgANBCAEQThqKAIAIQMgBEE8aigCACIFrSEKIAEoAgAiACgCCCECIAAoAgAgAmtBB00EQCAAIAJBCEEBQQEQ4wQgACgCCCECCyAAIAJBCGo2AgggACgCBCACaiAKNwAAIAVBBHQhAgNAIAIEQCACQRBrIQIgAyABENkEIQAgA0EQaiEDIABFDQEMBgsLIARBQGsgARDZBCEADAQLIAgoAgghBiABKAIAIgIoAgghACACKAIAIABrQQNNBEAgAiAAQQRBAUEBEOMEIAIoAgghAAsgAiAAQQRqNgIIIAIoAgQgAGpBCTYAACABIAYQhAUiAA0DIAYoAhQhAyAGKAIYIgWtIQogAigCACACKAIIIgRrQQdNBEAgAiAEQQhBAUEBEOMEIAIoAgghBAsgAiAEQQhqIgA2AgggAigCBCAEaiAKNwAAIAUEQANAIAMtAAAhByADQQFqIQMgAiAAIAIoAgBHBH8gAAUgAiAAQQFBAUEBEOMEIAIoAggLIgRBAWoiADYCCCACKAIEIARqIAc6AAAgBUEBayIFDQALCyAGNQIcIQogAigCACAAa0EHTQRAIAIgAEEIQQFBARDjBCACKAIIIQALIAIgAEEIajYCCCACKAIEIABqIAo3AAAgBioCJCEOIAYqAiAhDyABKAIAIgAoAgghAiAAKAIAIAJrQQNNBEAgACACQQRBAUEBEOMEIAAoAgghAgsgACgCBCACaiAPOAAAIAAgAkEEaiICNgIIIAAoAgAgAmtBA00EQCAAIAJBBEEBQQEQ4wQgACgCCCECCyAAIAJBBGo2AgggACgCBCACaiAOOAAAIAZBKGogARDZBCEADAMLIAgoAgghAyABKAIAIgAoAgghAiAAKAIAIAJrQQNNBEAgACACQQRBAUEBEOMEIAAoAgghAgsgACgCBCACakEINgAAIAAgAkEEaiICNgIIIANBBGoqAgAhDiADKgIAIQ8gACgCACACa0EDTQRAIAAgAkEEQQFBARDjBCAAKAIIIQILIAAoAgQgAmogDzgAACAAIAJBBGoiAjYCCCAAKAIAIAJrQQNNBEAgACACQQRBAUEBEOMEIAAoAgghAgsgACACQQRqNgIIIAAoAgQgAmogDjgAAEEAIQAMAgsgCCgCCCEFIAEoAgAiACgCCCECIAAoAgAgAmtBA00EQCAAIAJBBEEBQQEQ4wQgACgCCCECCyAAIAJBBGo2AgggACgCBCACakEHNgAAIAEgBRCMAiIADQEgBSgCLCECIAUoAjAiBq0hCiABKAIAIgAoAgghBCAAKAIAIARrQQdNBEAgACAEQQhBAUEBEOMEIAAoAgghBAsgACAEQQhqIgM2AgggACgCBCAEaiAKNwAAIAYEQCACIAZBA3RqIQYDQCACQQRqKgIAIQ4gAioCACEPIAAoAgAgA2tBA00EQCAAIANBBEEBQQEQ4wQgACgCCCEDCyAAKAIEIANqIA84AAAgACADQQRqIgQ2AgggACgCACAEa0EDTQRAIAAgBEEEQQFBARDjBCAAKAIIIQQLIAAgBEEEaiIDNgIIIAAoAgQgBGogDjgAACAGIAJBCGoiAkcNAAsLIAUoAjghAyAFKAI8IgKtIQogASgCACIBKAIIIQAgASgCACAAa0EHTQRAIAEgAEEIQQFBARDjBCABKAIIIQALIAEgAEEIaiIENgIIIAEoAgQgAGogCjcAAEEAIQAgAkUNASADIAJBA3RqIQIDQCADQQRqKAIAIQYgAygCACEFIAEoAgAgBGtBA00EQCABIARBBEEBQQEQ4wQgASgCCCEECyABKAIEIARqIAU2AAAgASAEQQRqIgU2AgggASgCACAFa0EDTQRAIAEgBUEEQQFBARDjBCABKAIIIQULIAEgBUEEaiIENgIIIAEoAgQgBWogBjYAACACIANBCGoiA0cNAAsMAQsgCCgCCCEGIAEoAgAiACgCCCECIAAoAgAgAmtBA00EQCAAIAJBBEEBQQEQ4wQgACgCCCECCyAAIAJBBGo2AgggACgCBCACakEGNgAAIAEgBhCMAiIADQAgBigCLCECIAYoAjAiBa0hCiABKAIAIgAoAgghBCAAKAIAIARrQQdNBEAgACAEQQhBAUEBEOMEIAAoAgghBAsgACAEQQhqIgM2AgggACgCBCAEaiAKNwAAIAUEQCACIAVBA3RqIQUDQCACQQRqKgIAIQ4gAioCACEPIAAoAgAgA2tBA00EQCAAIANBBEEBQQEQ4wQgACgCCCEDCyAAKAIEIANqIA84AAAgACADQQRqIgQ2AgggACgCACAEa0EDTQRAIAAgBEEEQQFBARDjBCAAKAIIIQQLIAAgBEEEaiIDNgIIIAAoAgQgBGogDjgAACAFIAJBCGoiAkcNAAsLIAYoAjghAiAGKAI8IgWtIQogASgCACIAKAIIIQQgACgCACAEa0EHTQRAIAAgBEEIQQFBARDjBCAAKAIIIQQLIAAgBEEIaiIDNgIIIAAoAgQgBGogCjcAACAFBEAgAiAFQQxsaiEFA0AgAigCACEEIAAoAgAgA2tBA00EQCAAIANBBEEBQQEQ4wQgACgCCCEDCyAAKAIEIANqIAQ2AAAgACADQQRqIgM2AgggAkEEaigCACEEIAAoAgAgA2tBA00EQCAAIANBBEEBQQEQ4wQgACgCCCEDCyAAKAIEIANqIAQ2AAAgACADQQRqIgQ2AgggAkEIaigCACEHIAAoAgAgBGtBA00EQCAAIARBBEEBQQEQ4wQgACgCCCEECyAAIARBBGoiAzYCCCAAKAIEIARqIAc2AAAgBSACQQxqIgJHDQALCyABKAIAIQACQCAGKAJAQYCAgIB4RwRAIAAoAggiAiAAKAIARgRAIAAgAkEBQQFBARDjBCAAKAIIIQILIAAoAgQgAmpBAToAACAAIAJBAWoiBDYCCCAGKAJEIQMgBigCSCIFrSEKIAAoAgAgBGtBB00EQCAAIARBCEEBQQEQ4wQgACgCCCEECyAAIARBCGoiAjYCCCAAKAIEIARqIAo3AAAgBQRAIAVBAnQhBQNAIAMoAgAhByADQQRqIQMgACAAKAIAIAJrQQNLBH8gAgUgACACQQRBAUEBEOMEIAAoAggLIgRBBGoiAjYCCCAAKAIEIARqIAc2AAAgBUEEayIFDQALCyAGKAJQIQMgBigCVCIFrSEKIAAoAgAgAmtBB00EQCAAIAJBCEEBQQEQ4wQgACgCCCECCyAAIAJBCGoiBDYCCCAAKAIEIAJqIAo3AAAgBQRAIAVBAnQhBQNAIAMoAgAhByADQQRqIQMgACAAKAIAIARrQQNLBH8gBAUgACAEQQRBAUEBEOMEIAAoAggLIgJBBGoiBDYCCCAAKAIEIAJqIAc2AAAgBUEEayIFDQALCyAGKAJcIQIgBigCYCIFrSEKIAAoAgAgBGtBB00EQCAAIARBCEEBQQEQ4wQgACgCCCEECyAAIARBCGoiAzYCCCAAKAIEIARqIAo3AAAgBUUNASACIAVBBHRqIQUDQCACKAIAIQQgACgCACADa0EDTQRAIAAgA0EEQQFBARDjBCAAKAIIIQMLIAAoAgQgA2ogBDYAACAAIANBBGoiAzYCCCACQQRqKAIAIQQgACgCACADa0EDTQRAIAAgA0EEQQFBARDjBCAAKAIIIQMLIAAoAgQgA2ogBDYAACAAIANBBGoiAzYCCCACQQhqKAIAIQQgACgCACADa0EDTQRAIAAgA0EEQQFBARDjBCAAKAIIIQMLIAAoAgQgA2ogBDYAACAAIANBBGoiBDYCCCACQQxqKAIAIQcgACgCACAEa0EDTQRAIAAgBEEEQQFBARDjBCAAKAIIIQQLIAAgBEEEaiIDNgIIIAAoAgQgBGogBzYAACAFIAJBEGoiAkcNAAsMAQsgACgCCCICIAAoAgBGBEAgACACQQFBAUEBEOMEIAAoAgghAgsgACACQQFqNgIIIAAoAgQgAmpBADoAAAsgASgCACEAAkAgBigCZEGAgICAeEcEQCAAKAIIIgIgACgCAEYEQCAAIAJBAUEBQQEQ4wQgACgCCCECCyAAKAIEIAJqQQE6AAAgACACQQFqIgQ2AgggBigCaCEDIAYoAmwiBa0hCiAAKAIAIARrQQdNBEAgACAEQQhBAUEBEOMEIAAoAgghBAsgACAEQQhqIgI2AgggACgCBCAEaiAKNwAAIAUEQCAFQQJ0IQUDQCADKAIAIQcgA0EEaiEDIAAgACgCACACa0EDSwR/IAIFIAAgAkEEQQFBARDjBCAAKAIICyIEQQRqIgI2AgggACgCBCAEaiAHNgAAIAVBBGsiBQ0ACwsgBigCdCEEIAYoAngiBa0hCiAAKAIAIAJrQQdNBEAgACACQQhBAUEBEOMEIAAoAgghAgsgACACQQhqIgM2AgggACgCBCACaiAKNwAAIAUEQCAFQQJ0IQUDQCAEKAIAIQcgBEEEaiEEIAAgACgCACADa0EDSwR/IAMFIAAgA0EEQQFBARDjBCAAKAIICyICQQRqIgM2AgggACgCBCACaiAHNgAAIAVBBGsiBQ0ACwsgBigCgAEhAiAGKAKEASIFrSEKIAAoAgAgA2tBB00EQCAAIANBCEEBQQEQ4wQgACgCCCEDCyAAIANBCGoiBDYCCCAAKAIEIANqIAo3AAAgBUUNASAFQQJ0IQUDQCACNQIAIQogAkEEaiECIAAgACgCACAEa0EHSwR/IAQFIAAgBEEIQQFBARDjBCAAKAIICyIDQQhqIgQ2AgggACgCBCADaiAKNwAAIAVBBGsiBQ0ACwwBCyAAKAIIIgIgACgCAEYEQCAAIAJBAUEBQQEQ4wQgACgCCCECCyAAIAJBAWo2AgggACgCBCACakEAOgAACyAGLwGIASEDIAEoAgAiACgCCCECIAAoAgAgAmtBAU0EQCAAIAJBAkEBQQEQ4wQgACgCCCECCyAAIAJBAmo2AgggACgCBCACaiADOwAAQQAhAAsgCEEQaiQAIAAL+z4DV38DfhV9IwBB4AprIgUkAAJAAkAgASAAKAI4Tw0AIAIgACgCNCABQRRsaiIEKAIARw0AAkACQAJAAkACQAJAAkAgBCgCBCIHIAAoAkxPDQAgACgCSCAHQaQCbGoiFCgCACIlQYCAgIB4Rg0AIAQoAgggFCgCoAJHDQAgBCgCECEmIAQoAgwhBiAAKQI8IVsgBUHwBmoiBCAUQQRqQaAC/AoAACAUIFs3AgQgFEGAgICAeDYCACAAIAc2AkAgAEEBNgI8IAAgACgCUEEBajYCUCAAIAAoAlRBAWs2AlQgBUEYaiAEQZwC/AoAACAFICU2AhQgJiAFKAIcIhNPDQEgBSgCGCIUICZBoAJsaiIEKAKIAgRAIAQoApACIgQgE08NAyAUIARBoAJsaiIHKALwASIZIAAoAjhPDQQgBygC9AEiGiAAKAI0IBlBFGxqIgQoAgBHDQQgBCgCDCIEIAAoAiAiFU8NByAAKAIsIQ8gACgCKCEOIAAoAhwiFyAEQQR0akEIaiIHIQkDQAJAIA8gCSgCACIETQRAA0AgDyAHKAIEIgRNDQsgDiAEQQR0aiIHKAIIIAZHDQAMAgsACyAOIARBBHRqIgkoAgwgBkcNAQsLIA4gBEEEdGoiHSkCCCJcpyIHIBVPDQYgHSkCACJbpyEGIFxCIIinIQggFyAHQQR0aiIHKAIIIgkgBEcEQANAIAkgD08NByAOIAlBBHRqIgcoAgAiCSAERw0ACyAHIAY2AgAMBgsgB0EIaiAGNgIADAULIAVBFGoQoAIMBwtBjKnCABClDQALQZypwgAQpQ0AC0GsqcIAEKUNAAtBvKnCABClDQALIAggFU8NACBbQiCIpyEGIBcgCEEEdGoiBygCDCIJIARHBEADQCAJIA9PDQIgDiAJQQR0aiIHKAIEIgkgBEcNAAsgB0EEaiAGNgIADAELIAdBDGogBjYCAAsgACAPQQFrIgg2AiwgDiAIQQR0aiIHKQIAIVsgHUEIaiAHQQhqKQIANwIAIB0gWzcCACAEIAhPDQAgDiAEQQR0aikCCCJbpyIHIBVPDQAgW0IgiKchBgJAIAggFyAHQQR0aiIHKAIIIg1HBEADQCAIIA1NDQIgCCAOIA1BBHRqIgcoAgAiDUcNAAsgByAENgIADAELIAdBCGogBDYCAAsgBiAVTw0AIAggFyAGQQR0aiIHKAIMIg1HBEADQCAIIA1NDQIgCCAOIA1BBHRqIgcoAgQiDUcNAAsgB0EEaiAENgIADAELIAdBDGogBDYCAAsgAwRAIAAgASACEOUCIAAgGSAaEOUCCyAFLQCxAiEbIAUoApwCIU4gBSgCmAIhMyAFKAKUAiEnIAUoApACIR0gBSgCjAIhNCAFKAKIAiEoIAUoAoQCIRkgBSgCgAIhNSAFKAL0ASFPIAUoAvABITYgBSgC6AEhUCAFKALkASE3IAUoAtQBIVEgBSgC0AEhOCAFKALAASFSIAUoArwBITkgBSgCrAEhUyAFKAKoASE6IAUoApwBIVQgBSgCmAEhOyAFKAKIASFVIAUoAoQBITwgBSgCdCFWIAUoAnAhPSAFKAJgIVcgBSgCXCE+IAUoAlghKSAFKAJUIQggBSgCUCE/IAUoAkwhWCAFKAJEISogBSgCQCFAIAUoAjwhWSAFKAI0ISsgBSgCMCFBIAUoAiwhWiAFKAIkISwgBSgCICFCIAVBADYCnAkgBUKAgICAwAA3ApQJAkACQAJAAkAgE0ECdCIhQQQQ1AwiEARAIBAhASATQQFHBEAgIUEEayIBBEAgEEH/ASAB/AsACyABIBBqIQELIAFBfzYCACAhQQQQ1AwiD0UNASAPIQEgAEE8aiFDIABBGGohGiATQQFHBEAgIUEEayIBBEAgD0H/ASAB/AsACyABIA9qIQELIAFBfzYCACAUIBNBoAJsaiEtIAVBtwJqIUQgBUHTBGohRSAFQZcHaiFGQQAhDUEEIQcgFCEEQQAhCQNAIARB5AFqLQAAIkdBAkYNBSAEQcsBai0AACEuIARByQFqLwAAIS8gBEGQAmooAAAhJCAEQdQBaioCACFeIARB0AFqKgIAIV8gBEHOAWovAQAhMCAEQc0Bai0AACEOIARBzAFqLQAAIUggBEHIAWotAAAhAiAEQcQBai0AACFJIARBwAFqKgIAIWAgBEG8AWoqAgAhYSAEQagBai0AACFKIARBpAFqKgIAIWIgBEGgAWoqAgAhYyAEQYwBai0AACEVIARBiAFqKgIAIWQgBEGEAWoqAgAhZSAEQewAaioCACFmIARB6ABqKgIAIWcgBEHkAGoqAgAhaCAEQeAAaioCACFpIARB3ABqKgIAIWogBEHYAGoqAgAhayAEQdQAaioCACFsIARB0ABqKgIAIW0gBEEwaioCACFuIARBKGopAwAhXCAEQSRqKgIAIW8gBEEgaioCACFwIARBCGopAwAhWyAEQQRqKgIAIXEgBCoCACFyIAVBkApqIgFBCGoiSyAEQTxqKQIANwMAIAFBEGoiTCAEQcQAaikCADcDACABQRhqIk0gBEHMAGooAgA2AgAgBUGACmoiGCAEQYABaigCADYCACAFIARBGGopAwA3A7gKIAUgBEEQaikDADcDsAogBSAEQTRqKQIANwOQCiAFIARB8ABqKQMANwPwCSAFIARB+ABqKQMANwP4CSAFQdgJaiIBQQ9qIh4gBEGcAWooAAA2AAAgAUEIaiIiIARBlQFqKQAANwMAIAVBwAlqIgFBCGoiIyAEQbEBaikAADcDACABQQ9qIhwgBEG4AWooAAA2AAAgBUG+CWoiMSAEQccBai0AADoAACAFQbgJaiIWIARB4AFqKAIANgIAIAUgBEGNAWopAAA3A9gJIAUgBEGpAWopAAA3A8AJIAUgBEHFAWovAAA7AbwJIAUgBEHYAWopAwA3A7AJIEYgBEGMAmooAAA2AAAgBUHwBmoiAUEgaiIKIARBhQJqKQAANwMAIAFBGGoiDCAEQf0BaikAADcDACABQRBqIgsgBEH1AWopAAA3AwAgAUEIaiIRIARB7QFqKQAANwMAIAVBqAlqIhcgBEGcAmooAAA2AgAgBSAEQeUBaikAADcD8AYgBSAEQZQCaikAADcDoAkCfwJAAkACQAJAAkAgCUUgCSAmRnIiBgRAIAkgE08NAiANIBBqIB82AgAgBUEANgLEAiAFQgA3ArwCIAVCgICAgMAANwK0AiAFQdAEaiAFQbQCaiIBEFkgBUEANgLcCiAFQgA3AtQKIAVCgICAgMAANwLMCiABIAVBzApqEFkgBSgClAkgH0YEQCMAQSBrIgEkAEEEIAVBlAlqIjIoAgAiEkEBdCIDIANBBE0bIgetQqACfiJdQiCIQgBSBEBBAEEAQYiCwgAQ+QsACwJAIF2nIgNB/P///wdNBH8gASASBH8gASASQaACbDYCHCABIDIoAgQ2AhRBBAVBAAs2AhggAUEIakEEIAMgAUEUahCRCCABKAIIQQFHDQEgASgCECEgIAEoAgwFQQALICBBiILCABD5CwALIAEoAgwhAyAyIAc2AgAgMiADNgIEIAFBIGokACAFKAKYCSEHCyAHIB9BoAJsaiIDQQA2AlggA0IANwJQIANCgICAgMAANwJIIANCBDcCQCADQgA3AjggA0IENwIwIANCADcCKCADQgQ3AiAgA0IANwIYIANCBDcCECADQgA3AgggA0KAgICAgAI3AgAgAyAFKQLQBDcCXCADQeQAaiAFQdAEaiIBQQhqKQIANwIAIANB7ABqIAFBEGopAgA3AgAgA0H0AGogAUEYaikCADcCACADQfwAaiABQSBqKQIANwIAIANBADYCpAEgA0KAgICAwAA3AoQBIANCgICAgHA3AowBIANCgICAgMAANwKUASADQgA3ApwBIAMgBSkCtAI3AqgBIANBsAFqIAVBtAJqIgFBCGopAgA3AgAgA0G4AWogAUEQaikCADcCACADQcABaiABQRhqKQIANwIAIANByAFqIAFBIGopAgA3AgAgA0EENgKIAiADQoCAgIDAADcC0AEgA0IANwLYASADQgQ3AuABIANCADcC6AEgA0IENwLwASADQoCAgIDAADcC+AEgA0IANwKAAiADQgA3AowCIANBlAJqQgA3AgAgA0GcAmpBADoAACADIBs6AJ0CIAUgH0EBaiIfNgKcCQwBCyATICRNDQkgCSATTw0KIA0gEGogECAkQQJ0aigCADYCAAsgCSATRg0BIA0gEGooAgAiASAfTw0CIA0gD2ogBSgCmAkiByABQaACbGoiEigCCCIDNgIAIAYNAyAvIC5BEHRyDAQLIAkgE0H4gcIAELAJAAsgEyATQZiCwgAQsAkACyABIB9BqILCABCwCQALIEVCADcAACBFQQhqQgA3AAAgREIANwAAIERBCGpCADcAACAYQQA2AgAgS0IANwMAIExCADcDACBNQQA2AgAgFkEANgIAICIgBUHQBGoiAUEIaikAADcDACAeIAFBD2ooAAA2AAAgBUIA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CyAJIAFBoPnBABCwCQALQZz7wQBBE0HsqcIAEPgJAAsgIiACa0GgAm4hBCACICJHBEADQCACEKACIAJBoAJqIQIgBEEBayIEDQALCyAXRQ0AIAcgF0GgAmxBBBCfDQsgBUHgCmokAA8LIAVBADYC4AQgBUEBNgLUBCAFQeDswQA2AtAEIAVCBDcC2AQgBUHQBGpB6OzBABDcCwALwDQDGX8MfQJ+IwBB8ABrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAggEQCABKAKIAiEKIAAoAgQiAygC8AEiBiABKAKMAiINTw0NIAogBkEIdGoiCSgCAEEBRw0NIAkoAgQgAygC9AFHDQ0gCUEQaiELIAktAPEBRSIBIAAtAJwCRg0MIAsgAyACGyoCACEcIAlBFGogA0EEaiACGyoCACEdIAlBGGogA0EIaiACGykDACEoAkAgAUUEQCAAKAIYQQJLDQFBpIfCAEE2QdyHwgAQ+QoACyAEQTBqIgFBC2pCADcAACAEQdgAaiIGQQtqQgA3AAAgBEIANwAzIARBGGoiBUEIaiIHIAFBCGopAAA3AwAgBUEPaiIFIAFBD2ooAAA2AAAgBEIANwBbIARBCGoiASAGQQhqKQAANwMAIARBD2oiCCAGQQ9qKAAANgAAIAQgBCkAMDcDGCAEIAQpAFg3AwAgA0IANwI0IANBgICA/AM2AjAgA0IANwMoIANCgICA/AM3AyAgA0E8akIANwIAIANBxABqQgA3AgBBACEGIANBzABqQQA2AgAgA0IANwNwIANC////+////7//ADcDaCADQv////sHNwNgIANCgICAgPD//79/NwNYIANC////+////7//ADcDUCADQfgAakIANwMAIANBgAFqQQA2AgAgA0EAOgCMASADQv////sHNwKEASADLQDIASEOIANC////+wc3A6ABIANBADoAqAEgA0GcAWogBSgAADYAACADQZUBaiAHKQMANwAAIAMgBCkDGDcAjQEgA0EANgLIASADIBw4AtABIAMgHTgC1AEgAyAoNwPYASADQQA2AuABIANBgAI7AcwBIANC////+wc3ArwBIANBADoA5AEgA0EAOgDEASADQbgBaiAIKAAANgAAIANBsQFqIAEpAwA3AAAgAyAEKQMANwCpASAAKAIIRQ0FIAAoAgRBADYCjAIgACAAKAKUAkEDajYClAIgACgCFCIDQQJ0IQUgA0H/////A0sNAiAFQfz///8HSw0CIAAoAhAhCAJAIAVFBEBBBCEHQQAhAQwBC0EEIQYgAyEBIAVBBBDUDCIHRQ0DCyAFBEAgByAIIAX8CgAACyAEIAAoAhgiBjYCPCAEIAM2AjggBCAHNgI0IAQgATYCMCAEQdgAaiAGQQNqIgcgBEEwahDlAyAEKAJYIQggBCgCXCEBIAQoAmAhAyAEKAJkIQUCQCAHRQ0AIAZBAnQiBkUNACABQQxqIAEgBvwKAAALIAVBAk0NEiABQQA2AgggAUIANwIAIAMgBUcNEyAAKAIMIgYEQCAAKAIQIAZBAnRBBBCfDQsgACADNgIYIAAgAzYCFCAAIAE2AhAgACAINgIMIAAoAiQiA0ECdCEFQQAhByADQf////8DSw0DIAVB/P///wdLDQMgACgCICEIAkAgBUUEQEEEIQFBACEGDAELQQQhByADIQYgBUEEENQMIgFFDQQLIAUEQCABIAggBfwKAAALIAQgACgCKCIFNgI8IAQgAzYCOCAEIAE2AjQgBCAGNgIwIARB2ABqIAVBA2oiByAEQTBqEOUDIAQoAlghCCAEKAJcIQEgBCgCYCEDIAQoAmQhBgJAIAdFDQAgBUECdCIFRQ0AIAFBDGogASAF/AoAAAsgBkECTQ0SIAFBADYCCCABQgA3AgAgAyAGRw0TIAAoAhwiBgRAIAAoAiAgBkECdEEEEJ8NCyAAIAM2AiggACADNgIkIAAgATYCICAAIAg2AhwgACgCNCIDQQJ0IQVBACEHIANB/////wNLDQQgBUH8////B0sNBCAAKAIwIQgCQCAFRQRAQQQhAUEAIQYMAQtBBCEHIAMhBiAFQQQQ1AwiAUUNBQsgBQRAIAEgCCAF/AoAAAsgBCAAKAI4IgU2AjwgBCADNgI4IAQgATYCNCAEIAY2AjAgBEHYAGogBUEDaiIHIARBMGoQ5QMgBCgCWCEIIAQoAlwhASAEKAJgIQMgBCgCZCEGAkAgB0UNACAFQQJ0IgVFDQAgAUEMaiABIAX8CgAACyAGQQJNDRIgAUEANgIIIAFCADcCACADIAZHDRMgACgCLCIGBEAgACgCMCAGQQJ0QQQQnw0LIAAgAzYCOCAAIAM2AjQgACABNgIwIAAgCDYCLCAAKAIIIgFFDQYgAUGgAmwiBUGgAkYNDCAOaSEBIAAoAgQhBiAFQcAEayIIQaACbiIDQQdxQQdGBH8gBkGgAmoFQQAgA0EBakEHcWshByAGQawEaiEDA0AgAyADKAIAIAFqNgIAIANBoAJqIQMgB0EBaiIHDQALIANBjAJrCyEDIAhB4A9JDQwgBSAGaiEGA0AgA0GMAmoiBSAFKAIAIAFqNgIAIANBrARqIgUgBSgCACABajYCACADQcwGaiIFIAUoAgAgAWo2AgAgA0HsCGoiBSAFKAIAIAFqNgIAIANBjAtqIgUgBSgCACABajYCACADQawNaiIFIAUoAgAgAWo2AgAgA0HMD2oiBSAFKAIAIAFqNgIAIANB7BFqIgUgBSgCACABajYCACAGIANBgBJqIgNHDQALDAwLIAAoAihBAk0NBiAAKAI4QQJNDQcgBEEwaiIBQQtqQgA3AAAgBEHYAGoiBkELakIANwAAIARCADcAMyAEQRhqIgVBCGoiByABQQhqKQAANwMAIAVBD2oiBSABQQ9qKAAANgAAIARCADcAWyAEQQhqIgEgBkEIaikAADcDACAEQQ9qIgggBkEPaigAADYAACAEIAQpADA3AxggBCAEKQBYNwMAIANCADcCNCADQYCAgPwDNgIwIAMgKDcDKCADIB04AiQgAyAcOAIgIANBPGpCADcCACADQcQAakIANwIAIANBzABqQQA2AgAgA0IANwNwIANC////+////7//ADcDaCADQv////sHNwNgIANCgICAgPD//79/NwNYIANC////+////7//ADcDUCADQfgAakIANwMAIANBgAFqQQA2AgAgA0EAOgCMASADQv////sHNwKEASADLQDIASEGIANC////+wc3A6ABIANBADoAqAEgA0GcAWogBSgAADYAACADQZUBaiAHKQMANwAAIAMgBCkDGDcAjQEgA0EHNgLIASADQv////sHNwK8ASADQYCAgPwDNgLQASADQYACOwHMASADQQA6AMQBIAMgBCkDADcAqQEgA0GxAWogASkDADcAACADQbgBaiAIKAAANgAAIANB5AFqQQA6AAAgA0HcAWpCADcCACADQgA3AtQBIAAoAghFDQggACgCBEEANgKMAiAAIAAoApQCIgNBAyAGaWsiAWs2ApQCIAEgA0YEQCAAKAIMIgME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BygCHBEAACAJQTBqIAkoAhAiCyAJKAIUKAIMEQAAAkAgC0UNACAJKQMwQpXm9bD5+M3NTYUgCSkDOEL9562Jv7rX2e0AhYRCAFINACALIAstABhBf3NBAXEiEjoAGCAGKAIIIRAgBigCBCEUIAZCBDcCBCAGKAIAIRogBkEANgIAIAMgBCgCECIIEQQAIRUgCSACKQNAIh6nviIvQwAAAD+UIjY4AiggCSAeQiCIp74iMEMAAAA/lCI3OAIsQ///f38hLkP//3//ISdD//9//yEqQ///f/8hBUP//39/IShD//9/fyEpAkAgAigCCCIMRQ0AAkACQCACKAIEIgcoAixB/////wNxIAcoAhRB/////wNxag4CAgABCyAHKgIQISogByoCDCEFIAcqAgQhKCAHKgIAISkMAQsgByoCECIFIAcqAigiJSAFICVgGyEqIAcqAgwiBSAHKgIkIiUgBSAlYBshBSAHKgIEIiUgByoCHCImICUgJl8bISggByoCACIlIAcqAhgiJiAlICZfGyEpCwJAIAMgCBEEACIHKAIIRQRAQ///f/8hJUP//39/ISYMAQtD//9//yElQ///f38hJgJAAkAgBygCBCIHKAIsQf////8DcSAHKAIUQf////8DcWoOAgIAAQsgByoCECEnIAcqAgwhJSAHKgIEIS4gByoCACEmDAELIAcqAhAiJSAHKgIoIiYgJSAmYBshJyAHKgIMIiUgByoCJCImICUgJmAbISUgByoCBCImIAcqAhwiLCAmICxfGyEuIAcqAgAiJiAHKgIYIiwgJiAsXxshJgsgKSABKgIIIjggASoCACIsICUgJpJDAAAAP5QiK5QgJyAukkMAAAA/lCIxIAEqAgQiMpSTkiIzICyLIjQgJSAmk0MAAAA/lCIllCAnIC6TQwAAAD+UIiYgMosiLpSSIieTIi0gKSAtYBsiNSAFIDMgJ5IiKSAFIClfGyIFXg0EICggASoCDCIzICwgMZQgKyAylJKSIicgJiA0lCAlIC6UkiIlkyIrICggK2AbIiYgKiAnICWSIiggKCAqYBsiJV4NBCAFIC+VjfwAIgetICUgMJWN/AAiCK1CIIaEIR8gNSAvlY78ACIKrSAmIDCVjvwAIgGtQiCGhCEgIAiyQwAAAD+SIDCUIQUgB7JDAAAAP5IgL5QhJSABskMAAAA/kiAwlCEmIAqyQwAAAD+SIC+UIScCQCAMRQRAQQAhCEEAIQcMAQtBACEIAn9BACAlIAIoAgQiDCkCACIep75gRQ0AGkEAIAUgHkIgiKe+YEUNABogDEEAICYgDEEMaikCACIeQiCIp75fG0EAICcgHqe+XxsLIQcgDCgCLEH/////A3FFDQAgJSAMQRhqIgEpAgAiHqe+YEUNACAFIB5CIIinvmBFDQAgJyAMQSRqKQIAIh6nvl8gJiAeQiCIp75fcSEICyAJKQMoIR4gCUEENgLQAyAJQQQ2AuQBIAkgHzcC3AEgCSAgNwLUASAJIAI2AtABIAkgBTgCzAEgCSAlOALIASAJICY4AsQBIAkgJzgCwAEgCSAHNgK8ASAJIAI2ArgBIAkgCDYCtAEgCSABNgI0IAlBADYCMCAJQcgFaiIBIAlBMGoQjgEgCSgCyAVBAUcNAyAoIB5CIIinvkMAACBBlCIFkiElICkgHqe+QwAAIEGUIiqSISYgKyAFkyEnIC0gKpMhKiAJQfAIaiEWIAQoAgwhHCAJQfgHaiENIAlB5AdqIRcgCUG8B2ohDiAJQbwGaiEMIAlB+AVqIRsgAUEEaiERA0AgCUHoBWoiBEEYaiARQRhqKAIAIgE2AgAgGyARQRBqKQIANwMAIARBCGogEUEIaikCADcDACAJIBEpAgA3A+gFAkAgAUH/AXEiBEERSQRAAkAgBEHXlsEAai0AAA4EAgAAAgALIAkpA/AFIR4gCUG4BmoiBCACEJ8EIAkpA7gGISAgBCACEJ8EQQAhBCAJIB4gIEL/////D3wiHyABQQ9zQQAgAUEPa0H/AXFBAk8bIgFBAnEbIiKnIgeyQwAAAD+SIC+UIgUgKiAqIAUgBSAqXRsgBSAFXBsgByAepyIHRhsiKCAeIAkpAsAGIiEgAUEBcRsiI6ciCLJDAAAAP5IgL5QiBSAFIAUgJiAFICZdGyAmICZcGyAHIAhGGyIpkkMAAAA/lCItOAKIBiAJICBCIIinQQFrIgggHkIgiCIgpyIKIAFB/wFxQQhJGyIHskMAAAA/kiAwlCIFICcgJyAFIAUgJ10bIAUgBVwbIAcgCkYbIisgHiAhIAFBBHEbQiCIIh6nIgGyQwAAAD+SIDCUIgUgBSAFICUgBSAlXRsgJSAlXBsgHiAgURsiBZJDAAAAP5QiMTgCjAYgCSA3IAUgK5NDAAAAP5SSOAKUBiAJIDYgKSAok0MAAAA/lJI4ApAGIAkgMyAxkzgCpAYgCSA4IC2TOAKgBiAJKQOQBiEeIAkgMjgCnAYgCSkCoAYhICAJICw4ApgGIAkgMiAgp74iKJQgLCAgQiCIp74iKZSTIi0gLiAep74iK5QgNCAeQiCIp74iMZSSIjWSIgU4ArQGIAkgLCAojJQgMiAplJMiOSA0ICuUIC4gMZSSIiuSIig4ArAGIAkgLSA1kyIpOAKsBiAJIDkgK5MiLTgCqAYgIiAffacgByAIayAhIB99pyIHbGohGCAjIB99pyABIAhrIAdsaiEZAkAgFSgCCEUEQEEAIQEMAQsCfwJAICggFSgCBCIHKQIAIh6nvmBFDQAgBSAeQiCIp75gRQ0AIC0gB0EMaikCACIep75fRQ0AIAcgKSAeQiCIp75fDQEaC0EACyEBIAcoAixB/////wNxRQ0AICggB0EYaiIIKQIAIh6nvmBFDQAgLSAHQSRqKQIAIh+nvl8gKSAfQiCIp75fcSAFIB5CIIinvmBxIQQLIAkgATYCyAcgCSAVNgLAByAJIAQ2ArwHIAkgCDYCvAYgCUEANgK4BiAYQd2h8ct8c60hICAZQbfTsIV8c60hISAJIAlBqAZqNgLEBwNAIAkCfwJAAkACQAJAIAkoAsgHIgdFBEACQCAJKAK8ByIHQSFPBEAgCSgCvAYiBEUNAyAJKALABiEIIAwhASAEIQcMAQsgDiEBIAwhCCAHRQ0JCyABIAdBAWsiATYCACAIIAFBAnRqKAIAIQcLIAlBADYCyAcgBygCFEH/////A3FBAUcEQCAHKAIIIgEgCSgCwAciBygCCCIETw0CQQEhBAJAIAcoAgQgAUEwbGoiBykCACIep74gCSgCxAciASoCCCIFX0UNACABKgIMIB5CIIinvmBFDQAgASoCACAHQQxqKQIAIh6nvl9FDQAgASoCBCAeQiCIp75fRQ0AIAkgBzYCyAcgASoCCCEFQQAhBAsgBSAHKQIYIh6nvmBFDQYgASoCDCAeQiCIp75gRQ0GIAEqAgAgB0EkaikCACIep75fRQ0GIAEqAgQgHkIgiKe+X0UNBiAHQRhqIQcgBEUEQAJ/IAkoArwHIgRBIUkEQCAEIQggDCEKQSAhBCAODAELIAkoArwGIQggCSgCwAYhCiAMCyEBIAQgCEYEQCAJQbgGahCVAyAJKAK8BiEIIAkoAsAGIQogDCEBCyAKIAhBAnRqIAc2AgAgASABKAIAQQFqNgIADAcLIAkgBzYCyAcMBgsgCygCBCIEIAcoAggiCCALKQMQQoOAgIAQhSIeQiCIIh8gIX4gHkL/////D4MiHiAgfoUgHiAhfiAfICB+hUIgiYUiHqdzrSIfQt2h8csMfiAeQiCIIh5Ct9OwhQx+hSAfQrfTsIUMfiAeQt2h8csMfoVCIImFIh+nIhNxIQcgH0IZiCIjQv8Ag0KBgoSIkKDAgAF+ISQgCygCACEPQQAhAQJAA0ACQCAHIA9qKQAAIiIgJIUiHkKBgoSIkKDAgAF9IB5Cf4WDQoCBgoSIkKDAgH+DIh5CAFIEQANAAkAgGCAPIB56p0EDdiAHaiAEcUFobGoiCkEYaygCAEcNACAZIApBFGsoAgBHDQAgCCAKQRBrKAIARg0DCyAeQgF9IB6DIh5CAFINAAsLICIgIkIBhoNCgIGChIiQoMCAf4NCAFINAiAHIAFBCGoiAWogBHEhBwwBCwsgCkEMayEBQQEgCkEEayIPLQAAIBJGDQUaIAEoAgAiBCAQTw0DIAlBuAhqIBQgBEH8AGxqIgRBKGoiBxCyAiAEKAIoBEAgB0EANgIACyANIAkpArgINwIAIBcgBCkCFDcCACAJQdAHaiIHQQhqIARBCGopAgA3AwAgB0EQaiAEQRBqKAIANgIAIBdBCGogBEEcaikCADcCACAXQRBqIARBJGooAgA2AgAgDUE4aiAWKAIANgIAIA1BMGogCUG4CGoiB0EwaikCADcCACANQShqIAdBKGopAgA3AgAgDUEgaiAHQSBqKQIANwIAIA1BGGogB0EYaikCADcCACANQRBqIAdBEGopAgA3AgAgDUEIaiAHQQhqKQIANwIAIAkgBCkCADcD0AcgBCgCeCETIAQoAnQhHSAEKQJsIR4gBCkCZCEfIApBCGtBADYCACAPIBI6AAAgASAGKAIIIgc2AgAgBigCACAHRgRAIAZBzOXCABCvBgsgBigCBCAHQfwAbGoiBCAJQdAHakHkAPwKAAAgBCATNgJ4IAQgHTYCdCAEIB43AmwgBCAfNwJkIAYgB0EBajYCCAwECyAGKAIIIQQgCS0AJyEHIAkoAuwFIQEgCSgC6AUhCiAWQQhqQgA3AgAgFkIANwIAIAEgCkEIdGohCiAGKAIAIARGBEAgBkHc5cIAEK8GCyAGKAIEIARB/ABsaiIBQQA2AiggAUEANgIUIAFBADYCACABQSxqIAlBuAhqQcgA/AoAACABIAogCCAHGzYCeCABIAggCiAHGzYCdCAGIARBAWo2AgggCSASOgDMCCAJQQA2AsgIIAkgBDYCxAggCSAINgLACCAJIBk2ArwIIAkgGDYCuAggCygCBCIPIBNxIgEgCygCACIHaikAAEKAgYKEiJCgwIB/gyIeUARAQQghCgNAIAEgCmohASAKQQhqIQogByABIA9xIgFqKQAAQoCBgoSIkKDAgH+DIh5QDQALCyAHIB56p0EDdiABaiAPcSIBaiwAACIEQQBOBH8gByAHKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAFIAQLQQFxIgQgCygCCCIKRXFFBEAgASAHaiAjp0H/AHEiEzoAACAHIAFBCGsgD3FqQQhqIBM6AAAgCyAKIARrNgIIIAsgCygCDEEBajYCDCAHIAFBaGxqIgRBGGsiAUEQaiAJQbgIaiIHQRBqKQIANwIAIAFBCGogB0EIaikCADcCACABIAkpArgINwIAIARBDGshAQwECyAJQQhqIAsgC0EQahC3ASALIB8gCygCACALKAIEIB8QsgggCUG4CGoQiAhBDGshAQwDCyAJQQA2AsgHIAkoAsAGIAdBAnRBBBCfDQwGCyABIARB6NLCABCwCQALIAQgEEG85cIAELAJAAtBAAs6AM8HIAEoAgAiBCAGKAIIIgdPBEAgBCAHQezlwgAQsAkABSAGKAIEIQcgCSABQQRqNgLkCCAJIBs2AuAIIAlBgOzCADYC0AggCSAANgLMCCAJIAcgBEH8AGxqNgLECCAJIAlBKGo2AtwIIAkgCUEgajYC2AggCSAJQZAGajYC1AggCSAJQYgGajYCyAggCSAJQSdqNgLACCAJIAlBzwdqNgK8CCAJIAlBmAZqNgK4CCADIAggCUG4CGpB/OXCACAcEQIADAELAAsACyAEQRFBpKfDABCwCQALIAlByAVqIAlBMGoQjgEgCSgCyAUNAAsMAwtBnOXCABClDQALQYzlwgAQpQ0AC0EIQSBB8PrDACgCACIAQe8HIAAbEQAAAAsgCSgCMEECRg0AIAkoArQBIgBBIUkNACAJKAI4IABBAnRBBBCfDQsCQCALKAIMIgNFDQAgBigCBCIMQSxqIQ4gCygCACIIQQhqIQcgCCkDAEJ/hUKAgYKEiJCgwIB/gyEeIAYoAgghBAJAA0ACQCAeUARAA0AgCEHAAWshCCAHKQMAIR4gB0EIaiEHIB5CgIGChIiQoMCAf4MiHkKAgYKEiJCgwIB/UQ0ACyAeQoCBgoSIkKDAgH+FIR4LIBIgCCAeeqdBA3ZBaGxqIgJBBGstAABGBEAgAkEMaygCACIAIARPDQEgAEH8AGwiDSAMaiIAQShqIRECQAJ/IAAoAigiAEUEQEEAIQpBAAwBCyACQQhrKAIAIQFBACEGAkADQCABIAZ2QQFxRQ0BIAAgBkEBaiIGRw0AC0EAIQoMAgtBASEKIAZBAWoLIgEgAEYNACAOIA0gAUEcbGpqIQYgAkEIaygCACENA0ACQCANIAF2QQFxRQRAIApBAWohCgwBCyAGIApBZGxqIgIgBikCADcCACACQRhqIAZBGGooAgA2AgAgAkEQaiAGQRBqKQIANwIAIAJBCGogBkEIaikCADcCAAsgBkEcaiEGIAAgAUEBaiIBRw0ACwsgESAAIAprNgIACyAeQgF9IB6DIR4gA0EBayIDDQEMAgsLIAAgBEGs5cIAELAJAAsgCygCDCIBRQ0AIAsoAgQhAyALKAIAIgBBCGohByAAKQMAQn+FQoCBgoSIkKDAgH+DIR4gCygCCCECIAAhBiABIQoDQCAeUARAA0AgBkHAAWshBiAHKQMAIR4gB0EIaiEHIB5CgIGChIiQoMCAf4MiHkKAgYKEiJCgwIB/UQ0ACyAeQoCBgoSIkKDAgH+FIR4LIB5CAX0hHyASIAYgHnqnQQN2QWhsaiIEQQRrLQAARwRAQYABIQggACAEa0EYbSIEIABqIgwpAAAiIEIBhiAgg0KAgYKEiJCgwIB/g3qnQQN2IAAgBEEIayADcWoiBCkAACIgQgGGICCDQoCBgoSIkKDAgH+DeadBA3ZqQQdNBEAgCyACQQFqIgI2AghB/wEhCAsgDCAIOgAAIAsgCkEBayIKNgIMIARBCGogCDoAAAsgHiAfgyEeIAFBAWsiAQ0ACwsCQCAQRQ0AIBBBA3EhBkEAIQggEEEETwRAIBRBnANqIQcgEEF8cSEAA0AgB0H0AmsiASgCAARAIAFBADYCAAsgB0H4AWsiASgCAARAIAFBADYCAAsgB0H8AGsiASgCAARAIAFBADYCAAsgBygCAARAIAdBADYCAAsgB0HwA2ohByAAIAhBBGoiCEcNAAsLIAZFDQAgCEH8AGwgFGpBKGohBwNAIAcoAgAEQCAHQQA2AgALIAdB/ABqIQcgBkEBayIGDQALCyAaBEAgFCAaQfwAbEEEEJ8NCyAJQYAJaiQAC70lAhp/A34jAEHABmsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEpAwAiH0IAUgRAIAEpAwgiIFANASABKQMQIiFQDQIgHyAhfCAfVA0DIB8gIFQNBCABLgEYIQEgCCAfPgIMIAhBAUECIB9CgICAgBBUIgYbNgKsASAIQQAgH0IgiKcgBhs2AhAgCEEUakEAQZgB/AsAIAhBtAFqQQBBnAH8CwAgCEEBNgKwASAIQQE2AtACIAGsIB9CAX15fULCmsHoBH5CgKHNoLQCfEIgiKciBsEhDgJAIAFBAE4EQCAIQQxqIAEQqwEaDAELIAhBsAFqQQAgAWvBEKsBGgsCQCAOQQBIBEAgCEEMakEAIA5rQf//A3EQmAEMAQsgCEGwAWogBkH//wFxEJgBCyAIQZwFaiAIQbABakGkAfwKAAAgAyIHQQpPBEAgCEGUBWohCwNAIAgoArwGIgFBKU8NFAJAIAFFDQAgAUH/////A2ohBiABQQJ0IQUCfyABQQFGBEBCACEfIAhBnAVqIAVqDAELIAUgC2ohASAGQf////8DcUEBakH+////B3EhCUIAIR8DQCABQQRqIgU1AgAgH0IghoQiIEKAlOvcA4AhHyAFIB8+AgAgASABNQIAICAgH0KAlOvcA359QiCGhCIfQoCU69wDgCIgPgIAIB8gIEKAlOvcA359IR8gAUEIayEBIAlBAmsiCQ0ACyAfQiCGIR8gAUEIagshASAGQQFxDQAgAUEEayIBIB8gATUCAIRCgJTr3AOAPgIACyAHQQlrIgdBCUsNAAsLIAdBAnRB2NvDAGooAgBBAXQiB0UNBSAIKAK8BiIBQSlPDRIgAQR/IAFB/////wNqIQYgAUECdCEFIAetIR8CfyABQQFGBEBCACEgIAhBnAVqIAVqDAELIAUgCGpBlAVqIQEgBkH/////A3FBAWpB/v///wdxIQlCACEgA0AgAUEEaiIFNQIAICBCIIaEIiEgH4AhICAFICA+AgAgASABNQIAICEgHyAgfn1CIIaEIiAgH4AiIT4CACAgIB8gIX59ISAgAUEIayEBIAlBAmsiCQ0ACyAgQiCGISAgAUEIagshASAGQQFxRQRAIAFBBGsiASAgIAE1AgCEIB+APgIACyAIKAK8BgVBAAshAQJAAkACQCAIKAKsASIGIAEgASAGSRsiBUEoTQRAIAVFBEBBACEFDAQLIAVBAXEhDCAFQQFHDQFBACEHDAILIAVBKEGg88MAEKMNAAsgBUE+cSEPQQAhByAIQZwFaiEBIAhBDGohCQNAIAEgB0EBcSABKAIAIgsgCSgCAGoiB2oiETYCACAHIAtJIAcgEUtyIAFBBGoiESgCACIUIAlBBGooAgBqIgdqIQsgESALNgIAIAcgFEkgByALS3IhByAJQQhqIQkgAUEIaiEBIA8gCkECaiIKRw0ACwsgDAR/IApBAnQiCyAIQZwFamoiCSgCACEBIAkgByABIAhBDGogC2ooAgBqIgdqIgs2AgAgASAHSyAHIAtLcgUgBwtBAXFFDQAgBUEoRg0UIAhBnAVqIAVBAnRqQQE2AgAgBUEBaiEFCyAIIAU2ArwGIAgoAtACIgogBSAFIApJGyIBQSlPDRIgAUECdCEBAkACQANAIAFFDQEgAUEEayIBIAhBnAVqaigCACIFIAEgCEGwAWpqKAIAIgdGDQALIAUgB08NAQwJCyABDQgLIA5BAWohDgwIC0HEysMAQRxBzM3DABD5CgALQfDKwwBBHUHczcMAEPkKAAtBoMvDAEEcQezNwwAQ+QoAC0GEzcMAQTZB3M7DABD5CgALQbzMwwBBN0HMzsMAEPkKAAtB5/PDAEEbQaDzwwAQ+QoACwALIAZFBEBBACEGIAhBADYCrAEMAQsgBkEBa0H/////A3EiAUEBaiIFQQNxIQkCQCABQQNJBEAgCEEMaiEBQgAhHwwBCyAFQfz///8HcSEHIAhBDGohAUIAIR8DQCABIAE1AgBCCn4gH3wiHz4CACABQQRqIgU1AgBCCn4gH0IgiHwhHyAFIB8+AgAgAUEIaiIFNQIAQgp+IB9CIIh8IR8gBSAfPgIAIAFBDGoiBTUCAEIKfiAfQiCIfCEgIAUgID4CACAgQiCIIR8gAUEQaiEBIAdBBGsiBw0ACwsgCQRAA0AgASABNQIAQgp+IB98IiA+AgAgAUEEaiEBICBCIIghHyAJQQFrIgkNAAsLICBCgICAgBBaBEAgBkEoRg0MIAhBDGogBkECdGogHz4CACAGQQFqIQYLIAggBjYCrAELQQAhBUEBIQwgDsEiASAEwSIHSCIaDQYgDiAEa8EgAyABIAdrIANJGyILRQ0GIAhB1AJqIgEgCEGwAWoiBEGkAfwKAABBASERIAFBARCrASEUIAhB+ANqIgEgBEGkAfwKAAAgAUECEKsBIRUgCEGcBWoiASAEQaQB/AoAACAIQawBaiEbIAhB0AJqIRwgCEH0A2ohHSABQQRrIR4gAUEDEKsBIRYgFCgCoAEhFyAVKAKgASEYIBYoAqABIRlBACEPIAgoAqwBIQYgCCgC0AIhCgJAA0AgBkEpTw0NIAZBAnQhBEEAIQECfwJAAkADQCABIARGDQEgCEEMaiABaiEFIAFBBGohASAFKAIARQ0ACyAZIAYgBiAZSRsiBEEpTw0GIARBAnQhAQJAA0AgAUUNASABIB5qIQUgAUEEayIBIAhBDGpqKAIAIgcgBSgCACIFRg0ACyAFIAdNDQJBAAwDCyABRQ0BQQAMAgsgAyALSQ0GAkAgCyAPRg0AIAsgD2siAUUNACACIA9qQTAgAfwLAAsgACAOOwEIIAAgCzYCBAwLC0EBIQcgBEEBcSEMQQAhBiAEQQFHBEAgBEE+cSESIAhBDGohASAIQZwFaiEJA0AgASAHQQFxIAEoAgAiByAJKAIAQX9zaiIFaiIQNgIAIAUgB0kgBSAQS3IgAUEEaiIQKAIAIg0gCUEEaigCAEF/c2oiBWohByAQIAc2AgAgBSANSSAFIAdLciEHIAlBCGohCSABQQhqIQEgEiAGQQJqIgZHDQALCyAMBH8gBkECdCIGIAhBDGpqIgUoAgAhASAFIAEgBiAWaigCAEF/c2oiBiAHaiIFNgIAIAUgBkkgASAGS3IFIAcLQQFxRQ0PIAggBDYCrAEgBCEGQQgLIQwgGCAGIAYgGEkbIgRBKU8NBSAEQQJ0IQECQAJAAkADQCABRQ0BIAEgHWohBSABQQRrIgEgCEEMamooAgAiByAFKAIAIgVGDQALIAUgB00NASAGIQQMAgsgAUUNACAGIQQMAQsgBARAQQEhByAEQQFxIRJBACEGIARBAUcEQCAEQT5xIRAgCEEMaiEBIAhB+ANqIQkDQCABIAdBAXEgASgCACIHIAkoAgBBf3NqIgVqIg02AgAgBSAHSSAFIA1LciABQQRqIg0oAgAiEyAJQQRqKAIAQX9zaiIFaiEHIA0gBzYCACAFIBNJIAUgB0tyIQcgCUEIaiEJIAFBCGohASAQIAZBAmoiBkcNAAsLIBIEfyAGQQJ0IgYgCEEMamoiBSgCACEBIAUgASAGIBVqKAIAQX9zaiIGIAdqIgU2AgAgBSAGSSABIAZLcgUgBwtBAXFFDRALIAggBDYCrAEgDEEEciEMCyAXIAQgBCAXSRsiBUEpTw0GIAVBAnQhAQJAAkACQANAIAFFDQEgASAcaiEGIAFBBGsiASAIQQxqaigCACIHIAYoAgAiBkYNAAsgBiAHTQ0BIAQhBQwCCyABRQ0AIAQhBQwBCyAFBEBBASEHIAVBAXEhEkEAIQYgBUEBRwRAIAVBPnEhECAIQQxqIQEgCEHUAmohCQNAIAEgB0EBcSABKAIAIgcgCSgCAEF/c2oiBGoiDTYCACAEIAdJIAQgDUtyIAFBBGoiDSgCACITIAlBBGooAgBBf3NqIgRqIQcgDSAHNgIAIAQgE0kgBCAHS3IhByAJQQhqIQkgAUEIaiEBIBAgBkECaiIGRw0ACwsgEgR/IAZBAnQiBCAIQQxqaiIGKAIAIQEgBiABIAQgFGooAgBBf3NqIgQgB2oiBjYCACABIARLIAQgBktyBSAHC0EBcUUNEAsgCCAFNgKsASAMQQJqIQwLIAogBSAFIApJGyIGQSlPDQ0gBkECdCEBAkACQAJAA0AgAUUNASABIBtqIQQgAUEEayIBIAhBDGpqKAIAIgcgBCgCACIERg0ACyAEIAdNDQEgBSEGDAILIAFFDQAgBSEGDAELIAYEQEEBIQcgBkEBcSESQQAhBSAGQQFHBEAgBkE+cSEQIAhBDGohASAIQbABaiEJA0AgASAHQQFxIAEoAgAiByAJKAIAQX9zaiIEaiINNgIAIAQgB0kgBCANS3IgAUEEaiINKAIAIhMgCUEEaigCAEF/c2oiBGohByANIAc2AgAgBCATSSAEIAdLciEHIAlBCGohCSABQQhqIQEgECAFQQJqIgVHDQALCyASBH8gBUECdCIEIAhBDGpqIgUoAgAhASAFIAEgCEGwAWogBGooAgBBf3NqIgQgB2oiBTYCACABIARLIAQgBUtyBSAHC0EBcUUNEAsgCCAGNgKsASAMQQFqIQwLIAMgD00NASACIA9qIAxBMGo6AAAgBkEpTw0NAkAgBkUEQEEAIQYMAQsgBkEBa0H/////A3EiAUEBaiIEQQNxIQkCQCABQQNJBEAgCEEMaiEBQgAhIAwBCyAEQfz///8HcSEHIAhBDGohAUIAISADQCABIAE1AgBCCn4gIHwiHz4CACABQQRqIgQ1AgBCCn4gH0IgiHwhHyAEIB8+AgAgAUEIaiIENQIAQgp+IB9CIIh8IR8gBCAfPgIAIAFBDGoiBDUCAEIKfiAfQiCIfCEfIAQgHz4CACAfQiCIISAgAUEQaiEBIAdBBGsiBw0ACwsgCQRAA0AgASABNQIAQgp+ICB8Ih8+AgAgAUEEaiEBIB9CIIghICAJQQFrIgkNAAsLIB9CgICAgBBUDQAgBkEoRg0NIAhBDGogBkECdGogID4CACAGQQFqIQYLIAggBjYCrAEgD0EBaiEPIAsgEUsiASARaiERIAENAAtBACEMIAshBQwHCyAPIANBrM7DABCwCQALAAsgBEEoQaDzwwAQow0ACyALIANBvM7DABCjDQALIARBKEGg88MAEKMNAAsgBUEoQaDzwwAQow0ACwALAkACfwJAAkACQCAKQSlJBEACQCAKRQRAQQAhCgwBCyAKQQFrQf////8DcSIBQQFqIgRBA3EhCQJAIAFBA0kEQCAIQbABaiEBQgAhHwwBCyAEQfz///8HcSEHIAhBsAFqIQFCACEfA0AgASABNQIAQgV+IB98Ih8+AgAgAUEEaiIENQIAQgV+IB9CIIh8IR8gBCAfPgIAIAFBCGoiBDUCAEIFfiAfQiCIfCEfIAQgHz4CACABQQxqIgQ1AgBCBX4gH0IgiHwhICAEICA+AgAgIEIgiCEfIAFBEGohASAHQQRrIgcNAAsLIAkEQANAIAEgATUCAEIFfiAffCIgPgIAIAFBBGohASAgQiCIIR8gCUEBayIJDQALCyAgQoCAgIAQVA0AIApBKEYNCiAIQbABaiAKQQJ0aiAfPgIAIApBAWohCgsgCCAKNgLQAiAKIAYgBiAKSRsiAUEpTw0IIAFBAnQhASAIQQhqIQcgCEGsAWohCwJAAn8CQANAIAFFDQEgASALaiEGIAEgB2ohBCABQQRrIQEgBCgCACIEIAYoAgAiBkYNAAsgBCAGSyAEIAZJawwBC0F/QQAgARsLQf8BcQ4CAAMEC0EAIAwNBBogAyAFQQFrIgFLBEAgASACai0AAEEBcQ0DDAQLIAEgA0H8zcMAELAJAAsgCkEoQaDzwwAQow0ACwALIAMgBUkNBCACIAVqIQRBACEBAkACQANAIAEgBWpFDQEgBCABQQFrIgFqIgYtAAAiB0E5Rg0ACyAGIAdBAWo6AAAgASAFakEBaiIEIAVNDQEgBCAFQeDcwwAQog0ACwJAIAwEQEExIQEMAQsgAkExOgAAQTAhASAFQQFrIgZFIgcNACAHDQAgAkEBakEwIAb8CwALIA5BAWohDiAaDQEgAyAFTQ0BIAQgAToAACAFQQFqIQUMAQsgAUF/Rg0AIAFBf3MiAUUNACAGQQFqQTAgAfwLAAsgAyAFSQ0BIAULIQEgACAOOwEIIAAgATYCBAwBCyAFIANBnM7DABCjDQALIAAgAjYCACAIQcAGaiQADwsgBSADQYzOwwAQow0ACyABQShBoPPDABCjDQALQShBKEGg88MAELAJAAsgBkEoQaDzwwAQow0AC0Gw88MAQRpBoPPDABD5CgAL8CUDGn8XfQR+IwBBMGsiDSQAIAIgACgCICIDTwRAAkACQCACIANrIgVBAWoiBCAAKAIYIANrSwRAIABBGGogAyAEQQgQ5gQgACgCICEDDAELIARFDQELIARBA3EhCCAAKAIcIQcgBUEDTwRAIARBfHEhBCAHIANBA3RqIQUDQCAFQQA2AgAgBUEYakEANgIAIAVBEGpBADYCACAFQQhqQQA2AgAgBUEgaiEFIANBBGohAyAEQQRrIgQNAAsLIAhFDQAgAyAIaiEEIAcgA0EDdGohBQNAIAVBADYCACAFQQhqIQUgCEEBayIIDQALIAQhAwsgACADNgIgCwJAAkACQCACIANJBEAgACgCHCACQQN0aiIDKAIAIQQgA0IBNwIAIARFBEAgACAAKAIkQQFqNgIkCyACIAAoAiBPDQEgACgCHCACQQN0aiIFKAIAQQFHDQEgACgCCCIEDQIgASkCCCE0IAEpAgAhNSAAKAIARQRAIABBuMfCABCrBgsgACgCBCIBQgA3AhggAUGBgICAfDYCFCABIDQ3AgwgASACNgIIIAEgNTcCACABQSBqQgA3AgAgAUEoakIANwIAIABBATYCCCAAKAIUIgEgACgCDEYEQCAAQQxqQcjHwgAQxwYLIAAoAhAgAUECdGpBADYCACAAIAFBAWo2AhQgBUEANgIEDAMLIAIgA0HotMMAELAJAAtB2MTCAEEPQajHwgAQ+AkACyAAKAIEIgMoAixB/////wNxBEAgASoCDCEkIAEqAgghHiABKgIEISUgASoCACExQQAhCANAIAhBMGwiHCAAKAIEIglqIgMoAgwiEr4iHSADKAIAIhW+Ih+TIAMoAhAiFr4iIiADKAIEIhe+IiCTlCADKAIUIg5B/////wNxIgyzlCADKAIkIhO+IiEgAygCGCIUviIjkyADKAIoIhi+IiYgAygCHCIZviIpk5QgAygCLCIPQf////8DcSILs5SSITMgAygCICEFIAMoAgghB0P//39/ISdD//9/fyEoQQAhEAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAMQQFGIhpFBEAgBCAHTQ0BIAkgB0EwbGoiBioCDCIoIAYqAgAiKpMgBioCECIrIAYqAgQiLJOUIAYoAhRB/////wNxIgqzlCAGKgIkIi0gISAhIC1fGyAGKgIYIi4gIyAjIC5gG5MgBioCKCIvICYgJiAvXxsgBioCHCIwICkgKSAwYBuTlCAGKAIsQf////8DcSIGIAtqs5SSIjIgKCAhICEgKF8bICogIyAjICpgG5MgKyAmICYgK18bICwgKSApICxgG5OUIAogC2qzlCAtIC6TIC8gMJOUIAazlJIiKF0hECAyICggEBsgM5MhKAtBACERIAtBAUYiG0UEQCAEIAVNDQIgCSAFQTBsaiIGKgIMIicgBioCACIqkyAGKgIQIisgBioCBCIsk5QgBigCFEH/////A3EiCrOUIAYqAiQiLSAdIB0gLV8bIAYqAhgiLiAfIB8gLmAbkyAGKgIoIi8gIiAiIC9fGyAGKgIcIjAgICAgIDBgG5OUIAYoAixB/////wNxIgYgDGqzlJIiMiAnIB0gHSAnXxsgKiAfIB8gKmAbkyArICIgIiArXxsgLCAgICAgLGAbk5QgCiAMarOUIC0gLpMgLyAwk5QgBrOUkiInXSERIDIgJyARGyAzkyEnCyAoQwAAAABdICdDAAAAAF1yRQ0KICcgKF5FBEAgBCAFTQ0DIAAoAhQiBiAFTQ0EIAkgBUEwbGoiBCgCLCETIAQoAhQhFCAEKQIkITQgBCgCICEKIAQpAhghNSAEKQIMITYgBCgCCCELIAQpAgAhNyAAKAIQIg8gBUECdGogCEEBdCIQNgIAIANBGGohCSARRQRAIAkgCjYCCCAJIDQ3AgwgCSATNgIUIAkgNTcCACADIAU2AgggBCAHNgIgIAQgEjYCJCAEIBY2AiggBCAONgIsIAQgFzYCHCAEIBU2AhggAyAEKgIAIiEgHyAfICFgGzgCACADIAQqAgQiHyAgIB8gIF8bOAIEIAMgBCoCDCIfIB0gHSAfXxs4AgwgAyAEKgIQIh0gIiAdICJgGzgCECADIAQoAhQiA0H/////A3EgDGogAyAOckGAgICAfHFyNgIUAkACQCATQf////8DcUEBRwRAIAYgCk0NASAPIApBAnRqIBBBAXI2AgAMDgsgCiAAKAIgTw0BIAAoAhwgCkEDdGoiAygCAEUNASADIBBBAXI2AgQMDQsgCiAGQdjJwgAQsAkAC0HYxMIAQQ9B6MnCABD4CQALIAQgBzYCCCAJIDY3AgwgBCAWNgIQIAQgEjYCDCAJIDc3AgAgBCAXNgIEIAQgFTYCACAJIBQ2AhQgBCAONgIUIAkgCzYCCCADIAU2AgggAyAiIAQqAigiISAhICJfGzgCECADIB0gBCoCJCIiIB0gImAbOAIMIAMgICAEKgIcIh0gHSAgYBs4AgQgAyAfIAQqAhgiHSAdIB9gGzgCACADIAQoAiwiA0H/////A3EgDGogAyAOckGAgICAfHFyNgIUAkACQCAUQf////8DcUEBRwRAIAYgC00NASAPIAtBAnRqIBBBAXI2AgAMDAsgCyAAKAIgTw0BIAAoAhwgC0EDdGoiAygCAEUNASADIBBBAXI2AgQMCwsgCyAGQZjKwgAQsAkAC0HYxMIAQQ9BqMrCABD4CQALIAQgB00NBSAAKAIUIgYgB00NBCAJIAdBMGxqIgQoAiwhESAEKAIUIRIgBCkCJCE0IAQoAiAhCSAEKQIYITUgBCkCDCE2IAQoAgghCiAEKQIAITcgACgCECIMIAdBAnRqIAhBAXQiDkEBcjYCACAQRQRAIAQgBTYCICADIDQ3AgwgBCAYNgIoIAQgEzYCJCADIDU3AgAgBCAZNgIcIAQgFDYCGCADIBE2AhQgBCAPNgIsIAMgCTYCCCADIAc2AiAgAyAEKgIQIh0gJiAdICZgGzgCKCADIAQqAgwiHSAhIB0gIWAbOAIkIAMgBCoCBCIdICkgHSApXxs4AhwgAyAEKgIAIh0gIyAdICNfGzgCGCADIAQoAhQiA0H/////A3EgC2ogAyAPckGAgICAfHFyNgIsAkACQCARQf////8DcUEBRwRAIAYgCU0NASAMIAlBAnRqIA42AgAMCwsgCSAAKAIgTw0BIAAoAhwgCUEDdGoiAygCAEUNASADIA42AgQMCgsgCSAGQfjKwgAQsAkAC0HYxMIAQQ9BiMvCABD4CQALIAMgCjYCCCADIDY3AgwgAyASNgIUIAMgNzcCACAEIAU2AgggBCATNgIMIAQgGDYCECAEIA82AhQgBCAZNgIEIAQgFDYCACADIAc2AiAgAyAjIAQqAhgiHSAdICNgGzgCGCADICkgBCoCHCIdIB0gKWAbOAIcIAMgISAEKgIkIh0gHSAhXxs4AiQgAyAmIAQqAigiHSAdICZfGzgCKCADIAQoAiwiA0H/////A3EgC2ogAyAPckGAgICAfHFyNgIsAkACQCASQf////8DcUEBRwRAIAYgCk0NASAMIApBAnRqIA42AgAMCQsgCiAAKAIgTw0BIAAoAhwgCkEDdGoiAygCAEUNASADIA42AgQMCAsgCiAGQbjLwgAQsAkAC0HYxMIAQQ9ByMvCABD4CQALIAcgBEGYycIAELAJAAsgBSAEQajJwgAQsAkACyAFIARBuMnCABCwCQALIAUgBkHIycIAELAJAAsgByAGQejKwgAQsAkACyAHIARB2MrCABCwCQALAkACQCAbRQRAIAUgBk8NASAMIAVBAnRqIAdBAXQ2AgAMBgsgBSAAKAIgTw0BIAAoAhwgBUEDdGoiAygCAEUNASADIAdBAXQ2AgQMBQsgBSAGQdjLwgAQsAkAC0HYxMIAQQ9B6MvCABD4CQALAkAgG0UEQCAFIAZPDQEgDCAFQQJ0aiAHQQF0QQFyNgIADAQLAkAgBSAAKAIgTw0AIAAoAhwgBUEDdGoiAygCAEUNACADIAdBAXRBAXI2AgQMBAtB2MTCAEEPQajLwgAQ+AkACyAFIAZBmMvCABCwCQALAkAgGkUEQCAGIAdNDQEgDyAHQQJ0aiAFQQF0NgIADAMLAkAgByAAKAIgTw0AIAAoAhwgB0EDdGoiAygCAEUNACADIAVBAXQ2AgQMAwtB2MTCAEEPQcjKwgAQ+AkACyAHIAZBuMrCABCwCQALIBpFBEAgBiAHTQ0CIA8gB0ECdGogBUEBdEEBcjYCAAwBCwJAIAcgACgCIE8NACAAKAIcIAdBA3RqIgMoAgBFDQAgAyAFQQF0QQFyNgIEDAELQdjEwgBBD0GIysIAEPgJAAsgACgCCCIFIAhNDQECQAJAAkAgHCAAKAIEIgRqIgMqAgwiHSAeIB0gHmAbIAMqAgAiHSAxIB0gMV8bIimTIAMqAhAiHyAkIB8gJGAbIAMqAgQiHyAlIB8gJV8bIieTlCADKAIUIglB/////wNxIgdBAWqzlCADKQIkIjSnviIiIAMqAhgiIJMgNEIgiKe+IiEgAyoCHCIjk5QgAygCLCIKQf////8DcSIGs5SSIiggAykCDCI0p74iJiAdkyA0QiCIp74iHSAfk5QgB7OUIAMqAiQiHyAeIB4gH18bICAgMSAgIDFfGyIfkyADKgIoIiAgJCAgICRgGyAjICUgIyAlXxsiIJOUIAZBAWqzlJIiI11FBEAgBiAHTQ0BICMgKFwNAQsgB0EBRw0CIA1BEGoiByADQRBqKQIANwMAIA1BCGoiBiADQQhqKQIANwMAIA0gAykCADcDACABKQIIITQgASkCACE1IAAoAgAgBUYEfyAAQbjIwgAQqwYgACgCBAUgBAsgBUEwbGoiASANKQMANwIAIAFBgYCAgHw2AiwgASA0NwIkIAEgAjYCICABIDU3AhggAUEQaiAHKQMANwIAIAFBCGogBikDADcCACAAIAVBAWo2AgggCEEBdCEDIAAoAhQiASAAKAIMRgRAIABBDGpByMjCABDHBgsgACgCECABQQJ0aiADNgIAIAAgAUEBajYCFCAAKAIIIgEgCE0NByAAKAIEIAhBMGxqIgEoAggiAyAAKAIgTw0IIAAoAhwgA0EDdGoiAygCAEUNCCADIAVBAXQiAzYCBCACIAAoAiBPDQEgACgCHCACQQN0aiIAKAIARQ0BIAAgA0EBcjYCBCABIAU2AgggASABKAIUQQFqNgIUIAEgASoCACIeIDWnviIdIB0gHmAbOAIAIAEgASoCBCIeICUgHiAlXxs4AgQgASABKgIMIh4gNKe+IiUgHiAlYBs4AgwgASABKgIQIh4gJCAeICRgGzgCEAwMCyAGQQFGBEAgDUEgaiIHIANBIGopAgA3AwAgDUEoaiIGIANBKGopAgA3AwAgDSADKQIYNwMYIAEpAgghNCABKQIAITUgACgCACAFRgR/IABB6MfCABCrBiAAKAIEBSAECyAFQTBsaiIBQYGAgIB8NgIUIAEgNDcCDCABIAI2AgggASA1NwIAIAEgDSkDGDcCGCABQSBqIAcpAwA3AgAgAUEoaiAGKQMANwIAIAAgBUEBajYCCCAIQQF0QQFyIQMgACgCFCIBIAAoAgxGBEAgAEEMakH4x8IAEMcGCyAAKAIQIAFBAnRqIAM2AgAgACABQQFqNgIUIAAoAggiASAITQ0FIAIgACgCIE8NBiAAKAIcIAJBA3RqIgEoAgBFDQYgACgCBCECIAEgBUEBdCIBNgIEAkAgAiAIQTBsaiICKAIgIgMgACgCIE8NACAAKAIcIANBA3RqIgAoAgBFDQAgACABQQFyNgIEIAJBGGoiACAFNgIIIAAgACgCFEEBajYCFCAAIAAqAgAiHiA1p74iHSAdIB5gGzgCACAAIAAqAgQiHiAlIB4gJV8bOAIEIAAgACoCDCIeIDSnviIlIB4gJWAbOAIMIAAgACoCECIeICQgHiAkYBs4AhAMDQtB2MTCAEEPQajIwgAQ+AkACyADIApBAWo2AiwgAyAhICQgISAkYBs4AiggAyAiIB4gHiAiXxs4AiQgAyAgOAIcIAMgHzgCGCADKAIgIQgMCAtB2MTCAEEPQfjIwgAQ+AkACyADICc4AgQgAyApOAIAIAMgCUEBajYCFCADIB0gJCAdICRgGzgCECADICYgHiAeICZfGzgCDCADKAIIIQgMBgsgByAGQfjJwgAQsAkACyAIIAVB2MfCABCwCQALIAggAUGIyMIAELAJAAtB2MTCAEEPQZjIwgAQ+AkACyAIIAFB2MjCABCwCQALQdjEwgBBD0HoyMIAEPgJAAsgACgCCCIEIAhLDQALIAggBEGIycIAELAJAAsgA0GBgICAfDYCLCADIAI2AiAgAyABKQIINwIkIAMgASkCADcCGCAFQQE2AgQLIA1BMGokAAvSJAMRfwZ+E30jAEHADmsiCSQAAn8CQAJAAkACfwJAAkAgBigCACIIRQ0AIAlBIGogCCAGKAIEKAIYEQAAIAlBgAZqIAkoAiAiCCAJKAIkKAIMEQAAIAhFDQAgCSkDgAZC18bKkI6OorXlAIUgCSkDiAZCzdG76P3vgZkThYRQDQELQSBBCBDUDCIIRQ0DIAhBADoAGCAIQonZueKO076XCDcDECAIQQhqQeDVwQApAwA3AwAgCEHY1cEAKQMANwMAAkAgBigCACIKRQ0AIAYoAgQiDCgCACILBEAgCiALEQYACyAMKAIEIgtFDQAgCiALIAwoAggQnw0LIAZB0NbBADYCBCAGIAg2AgBB0NbBAAwBCyAGKAIAIghFDQEgBigCBAshBiAJQRhqIAggBigCHBEAACAJQYAGaiIIIAkoAhgiDCAJKAIcKAIMEQAAAkAgDEUNACAJKQOABkLXxsqQjo6iteUAhSAJKQOIBkLN0bvo/e+BmROFhEIAUg0AIAwgDC0AGEF/c0EBcSIROgAYIAUoAgghEiAFKAIEIRMgBUIENwIEIAUoAgAhFSAFQQA2AgAgASkDQCEZIAlBKGoiBiABEMoHIAlBOGoiCiACIAAgAygClAERAQAgCSkDQCEaIAkpAzghGyAJQcwAaiAGIAoQnghBBCEOQQAgCSgCTEUNBBogCUHoAGogCUHYAGopAgA3AwAgCSAJKQJQNwNgIAlB9ABqIgYgASAJQeAAahCQCCAIIAZBjAX8CgAAIAlBmAtqIAgQ5QEgCSgCmAtBAUcNAyAZQiCIp75DAAAAP5QiJEMAACBBlCIgIBpCIIinvpIhJiAbQiCIp74gIJMhJyAZp75DAAAAP5QiJUMAACBBlCIgIBqnvpIhKCAbp74gIJMhKUHEAUG8ASAHGyEXICRDCtcjPJIiKowhKyAlQwrXIzySIiyMIS0gCUGYDmohFiAAKgIEIS4gACoCACEvIAAqAgwhMCAAKgIIITEgCUGcC2ohEANAIAlBuAtqIgZBEGogEEEQaikCADcDACAGQQhqIBBBCGopAgA3AwAgBkEYaiAQQRhqKAIAIgY2AgAgCSAQKQIANwO4CwJAAkAgBhDfC0H/AXEOBAEAAAEACyAJQdQLaiABIAlBuAtqEOcEIAwoAgQiCiAMKQMQQoKAgIAQhSIaQiCIIhsgCSkC5AsiGUIgiCIeQrfTsIUMhSIcfiAZQv////8Pg0LdofHLDIUiHSAaQv////8PgyIafoUgGiAcfiAbIB1+hUIgiYUiGqciFHEhBiAaQhmIIhxC/wCDQoGChIiQoMCAAX4hHSAepyELIAwoAgAhDiAZpyENQQAhDwJAAkACQAJAAkACQANAAkAgBiAOaikAACIbIB2FIhlCgYKEiJCgwIABfSAZQn+Fg0KAgYKEiJCgwIB/gyIZQgBSBEADQCANIA4gGXqnQQN2IAZqIApxQWxsaiIIQRRrKAIARgRAIAhBEGsoAgAgC0YNAwsgGUIBfSAZgyIZQgBSDQALCyAbIBtCAYaDQoCBgoSIkKDAgH+DQgBSDQIgD0EIaiIPIAZqIApxIQYMAQsLIAhBDGsiDigCACEGIBEgCEEEayIKLQAARwRAIAYgEk8NAiAJQewLaiATIAZB1AFsahDUAiAIQQhrQQA2AgAgCiAROgAAIA4gBSgCCCIGNgIAIAUoAgAgBkYEQCAFQfTRwQAQpwYLIAUoAgQgBkHUAWxqIAlB7AtqQdQB/AoAACAFIAZBAWoiCDYCCAwDCyAFKAIIIgggBk0NAyAFKAIEIAZB1AFsaiEGDAULIAUoAgghCCAJKAK8CyEGIAkoArgLIQogFkEIakIANwIAIBZCADcCACAGIApBCHRqIQogBSgCACAIRgRAIAVBhNLBABCnBgsgBSgCBCAIQdQBbGoiBkEANgJgIAZCgICAgIACNwJAIAZBADYCNCAGQQA2AiggBkEANgIUIAZBADYCACAGQgA3AkggBkHQAGpCADcCACAGQdYAakIANwEAIAZB5ABqIAlBwA1qQegA/AoAACAGIApBACAHGzYC0AEgBkEAIAogBxs2AswBIAUgCEEBajYCCCAJIBE6ANANIAlBADYCzA0gCSAINgLIDSAJIAs2AsQNIAkgDTYCwA0gDCgCBCIOIBRxIgggDCgCACILaikAAEKAgYKEiJCgwIB/gyIZUARAQQghCgNAIAggCmohBiAKQQhqIQogCyAGIA5xIghqKQAAQoCBgoSIkKDAgH+DIhlQDQALCyALIBl6p0EDdiAIaiAOcSIIaiwAACIGQQBOBEAgCyALKQMAQoCBgoSIkKDAgH+DeqdBA3YiCGotAAAhBgsCQCAGQQFxIgYgDCgCCCIKRXFFBEAgCCALaiAcp0H/AHEiDToAACALIAhBCGsgDnFqQQhqIA06AAAgDCAKIAZrNgIIIAwgDCgCDEEBajYCDCALIAhBbGxqIghBFGsiBkEQaiAJQcANaiIKQRBqKAIANgIAIAZBCGogCkEIaikCADcCACAGIAkpAsANNwIADAELIAlBEGogDCAMQRBqEMIBIAwgGiAMKAIAIAwoAgQgGhCyCCAJQcANahCHCCEICyAIQQxrIQ4gBSgCCCEIDAELIAYgEkHk0cEAELAJAAsgCCAOKAIAIgZLDQELIAYgCEGU0sEAELAJAAsgBSgCBCEIIAkgJjgCzA0gCSAoOALIDSAJICc4AsQNIAkgKTgCwA0gCUGwDmogCUHUC2ogASAJQbgLaiAJQcANahCoBCAJKQOwDiEZIAkqArAOISAgCSoCtA4hHyAJIAkpA7gONwOoDiAJIDAgH5M4ArwOIAkgMSAgkzgCuA4gCSAuOAK0DiAJIC84ArAOIBlCIIinvgJ+IAZB1AFsIgsgCGoiBgJ/IAdFBEBCACAGKAIARQ0CGkEMDAELQgAgBigCFEEBRw0BGkEgC2opAgALIhpCIIinvpMhICAZp74gGqe+kyEfIAYoAmAiCkEsbCINIAZqQeQAaiEPAkACQAJAIAdFBEAgCkUNAiANQSxrIg1BLG4iCkEDcUEDRgR/IAZB5ABqBUEAIApBAWpBA3FrIQogCCALakH4AGohCANAIAggCCoCACAgkzgCACAIQQRrIgsgCyoCACAfkzgCACAIQSxqIQggCkEBaiIKDQALIAhBFGsLIQggDUGEAUkNAQNAIAhBEGoiCiAKKgIAIB+TOAIAIAhBFGoiCiAKKgIAICCTOAIAIAhBPGoiCiAKKgIAIB+TOAIAIAhBQGsiCiAKKgIAICCTOAIAIAhB6ABqIgogCioCACAfkzgCACAIQewAaiIKIAoqAgAgIJM4AgAgCEGUAWoiCiAKKgIAIB+TOAIAIAhBmAFqIgogCioCACAgkzgCACAPIAhBsAFqIghHDQALDAELIApFDQIgDUEsayINQSxuIgpBA3FBA0YEfyAGQeQAagVBACAKQQFqQQNxayEKIAggC2pBgAFqIQgDQCAIIAgqAgAgIJM4AgAgCEEEayILIAsqAgAgH5M4AgAgCEEsaiEIIApBAWoiCg0ACyAIQRxrCyEIIA1BhAFJDQADQCAIQRhqIgogCioCACAfkzgCACAIQRxqIgogCioCACAgkzgCACAIQcQAaiIKIAoqAgAgH5M4AgAgCEHIAGoiCiAKKgIAICCTOAIAIAhB8ABqIgogCioCACAfkzgCACAIQfQAaiIKIAoqAgAgIJM4AgAgCEGcAWoiCiAKKgIAIB+TOAIAIAhBoAFqIgogCioCACAgkzgCACAPIAhBsAFqIghHDQALCyAHDQELIAYgGTcCDCAGQoCAgPwDNwIEIAZBATYCACAGIAlBsA5qIAlBqA5qQcjTwQAgAiADQQAgBkEAIAYgBCAGECIaDAELIAYgGTcCICAGQoCAgPwDNwIYIAZBATYCFCAJIAkqArAOIiA4AsANIAkgCSoCtA4iH4w4AsQNIAkgHyAJKQK4DiIZp74iIZQgICAZQiCIp74iIpSTOALMDSAJICAgIYyUIB8gIpSTOALIDSAGIAlBwA1qIAIgAyAJQagOakHI08EAQQAgBkEAIAYgBCAGECIaCyAJIAYgF2opAgAiGTcDsA4gBigCYCIIRQ0AIAhBLGwhDyAZp74hIEEBIQtBACEIQQAhCgNAAkACfgJAAkACQCAGIAhqIg1BhAFqIhQqAgBDAAAAAF0EQCAJKgLMCyEfIAkqAsgLISEgCSoCtA4hIiAJQQhqIAIgAygCtAERAAAgCSgCCCIYRQ0BIAlBwA1qIBggACAJQbAOaiAJKAIMKAIUEQIAICCMISMgFCoCACAJKQPADSIZQiCIp74gJCAijJggH5KTIAkqArQOjJQgCSoCsA4iICAZp74gJSAjmCAhkpOUk15FDQULIAcNAiAGKAIAQQFxRQ0BIAYqAgwgBioCBCIfIA1B9ABqKgIAIiGUIAYqAggiIiANQfgAaioCACIjlJOSvK0gBioCECAiICGUIB8gI5SSkrytQiCGhAwDC0GQ1cEAQRtBrNXBABD4CQALIA1B9ABqKQIADAELIAYoAhRBAXFFBEAgDUH8AGopAgAMAQsgBioCICAGKgIYIh8gDUH8AGoqAgAiIZQgBioCHCIiIA1BgAFqKgIAIiOUk5K8rSAGKgIkICIgIZQgHyAjlJKSvK1CIIaECyEZIA4gDigCBCAZp74gCSoCyAuTIh8gLF5FIB8gLV1Bf3NxIBlCIIinviAJKgLMC5MiHyAqXkUgHyArXUF/c3FxIAp0cjYCBAsgC0EfcSEKIAtBAWohCyAPIAhBLGoiCEcNAAsLIAlBmAtqIAlBgAZqEOUBIAkoApgLDQALDAMLQdTRwQAQpQ0AC0HE0cEAEKUNAAtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAALAkAgCSgCgAZBAkYNACAJKAKEByIAQSFJDQAgCSgCiAYgAEECdEEEEJ8NCyAFKAIEIQ4gBSgCCAshAQJAIAwoAgwiA0UNACAOQeQAaiEHIAwoAgAiC0EIaiEGIAspAwBCf4VCgIGChIiQoMCAf4MhGQNAAkAgGVAEQANAIAtBoAFrIQsgBikDACEZIAZBCGohBiAZQoCBgoSIkKDAgH+DIhlCgIGChIiQoMCAf1ENAAsgGUKAgYKEiJCgwIB/hSEZCyARIAsgGXqnQQN2QWxsaiICQQRrLQAARgRAIAJBDGsoAgAiACABTw0BIABB1AFsIg0gDmoiAEHgAGohEAJAAn8gACgCYCIFRQRAQQAhCkEADAELIAJBCGsoAgAhAEEAIQgCQANAIAAgCHZBAXFFDQEgBSAIQQFqIghHDQALQQAhAAwCCyAIQQFqIQpBAQshACAFIApGDQAgByANIApBLGxqaiEIIAJBCGsoAgAhDQNAAkAgDSAKdkEBcUUEQCAAQQFqIQAMAQsgCCAAQVRsaiICIAgpAgA3AgAgAkEoaiAIQShqKAIANgIAIAJBIGogCEEgaikCADcCACACQRhqIAhBGGopAgA3AgAgAkEQaiAIQRBqKQIANwIAIAJBCGogCEEIaikCADcCAAsgCEEsaiEIIAUgCkEBaiIKRw0ACwsgECAFIABrNgIACyAZQgF9IBmDIRkgA0EBayIDDQEMAgsLIAAgAUG81cEAELAJAAsgDCgCDCIKBEAgDCgCBCEDIAwoAgAiAUEIaiEGIAEpAwBCf4VCgIGChIiQoMCAf4MhGSAMKAIIIQIgASEIIAohAANAIBlQBEADQCAIQaABayEIIAYpAwAhGSAGQQhqIQYgGUKAgYKEiJCgwIB/gyIZQoCBgoSIkKDAgH9RDQALIBlCgIGChIiQoMCAf4UhGQsgGUIBfSEaIBEgCCAZeqdBA3ZBbGxqIgVBBGstAABHBEBBgAEhCyABIAVrQRRtIgUgAWoiBykAACIbIBtCAYaDQoCBgoSIkKDAgH+DeqdBA3YgASAFQQhrIANxaiIFKQAAIhsgG0IBhoNCgIGChIiQoMCAf4N5p0EDdmpBB00EQCAMIAJBAWoiAjYCCEH/ASELCyAHIAs6AAAgDCAAQQFrIgA2AgwgBUEIaiALOgAACyAZIBqDIRkgCkEBayIKDQALCyASBEAgE0HgAGohBgNAIAYoAgAEQCAGQQA2AgALIAZBIGsoAgAiAARAIAZBHGsoAgAgAEEwbEEQEJ8NCyAGQdQBaiEGIBJBAWsiEg0ACwsgFQRAIBMgFUHUAWxBBBCfDQsgCUHADmokAAunIQMSfwV+C30jAEHQEGsiCSQAIAkgCDoAHyAJIAU4AhgCQAJAAkACQAJ/AkACQCAHKAIAIghFDQAgCUEQaiAIIAcoAgQoAhgRAAAgCUGABmogCSgCECIIIAkoAhQoAgwRAAAgCEUNACAJKQOABkKV5vWw+fjNzU2FIAkpA4gGQv3nrYm/utfZ7QCFhFANAQtBIEEIENQMIghFDQMgCEEAOgAYIAhCidm54o7TvpcINwMQIAhBCGpB4NXBACkDADcDACAIQdjVwQApAwA3AwACQCAHKAIAIgtFDQAgBygCBCINKAIAIgoEQCALIAoRBgALIA0oAgQiCkUNACALIAogDSgCCBCfDQsgB0Ho1cEANgIEIAcgCDYCAEHo1cEADAELIAcoAgAiCEUNASAHKAIECyEHIAlBCGogCCAHKAIcEQAAIAlBgAZqIgcgCSgCCCIKIAkoAgwoAgwRAAACQCAKRQ0AIAkpA4AGQpXm9bD5+M3NTYUgCSkDiAZC/eetib+619ntAIWEQgBSDQAgCiAKLQAYQX9zQQFxIhE6ABggBigCCCESIAYoAgQhEyAGQgQ3AgQgBigCACEUIAZBADYCACADIAQoAhAiCBEEACEYIAkgAikDQCIbp75DAAAAP5Q4AiAgCSAbQiCIp75DAAAAP5Q4AiQgCUEoaiILIAIQygcgByADIAgRBAAQygcgCSABKgIMIiggCSoCgAYiBSAJKgKIBpJDAAAAP5QiIiABKgIEIiCUIAEqAgAiISAJKgKEBiIjIAkqAowGkkMAAAA/lCIklJKSIiUgIIsiJiAJKQKIBiIbp74gBZNDAAAAP5QiBZQgIYsiJyAbQiCIp74gI5NDAAAAP5QiI5SSIimSOAJEIAkgASoCCCIqICEgIpQgICAklJOSIiIgJyAFlCAmICOUkiIFkjgCQCAJICUgKZM4AjwgCSAiIAWTOAI4IAkpAyAhGyAJKQNAIRwgCSkDOCEdIAlBzABqIAsgCUE4ahCeCCAJKAJMRQ0EIAlB6ABqIAlB2ABqKQIANwMAIAkgCSkCUDcDYCAJQfQAaiIBIAIgCUHgAGoQkAggByABQYwF/AoAACAJQZALaiIBIAcQ5QEgCSgCkAtBAUcNAyAbQiCIp75DAAAgQZQiBSAcQiCIp76SISIgHUIgiKe+IAWTISMgG6e+QwAAIEGUIgUgHKe+kiEkIB2nviAFkyElIAlBpA9qIRUgBCgCDCEZIAlBtA1qIQsgCUG0DmohDSAgjCEmIAlBwAtqIRYgAUEEaiEPA0AgFiAPQRBqKQIANwMAIAlBsAtqIgFBCGogD0EIaikCADcDACABQRhqIA9BGGooAgAiATYCACAJIA8pAgA3A7ALAkACQCABEN8LQf8BcQ4EAQAAAQALIAlB0AtqIgEgAiAJQbALaiIEEOcEIAkgIjgC2A4gCSAkOALUDiAJICM4AtAOIAkgJTgCzA4gCUGwDWoiByABIAIgBCAJQcwOaiIBEKgEIAkgCSkDsA0iGzcD6AsgCSAJKQO4DTcD8AsgCSAoIBtCIIinvpM4AogMIAkgKiAbp76TOAKEDCAJICE4AvwLIAkgIDgCgAwgCSAmOALQDiAJICE4AswOIAkgICAJKQKEDCIbp74iBZQgISAbQiCIp74iJ5STOALYDiAJICEgBYyUICAgJ5STOALUDiAJQYwMaiIEIAlB8AtqIAEQ3QggCUGcDGoiASAYIAQQ6QQgByABQZQB/AoAAANAIAkCfwJAAkACQAJAIAkoAsAOIgdFBEACQCAJKAK0DiIHQSFPBEAgCSgCtA0iBEUNAyAJKAK4DSEIIAshASAEIQcMAQsgDSEBIAshCCAHRQ0ICyABIAdBAWsiATYCACAIIAFBAnRqKAIAIQcLIAlBADYCwA4gBygCFEH/////A3FBAUcEQCAHKAIIIgEgCSgCuA4iBygCCCIETw0CQQEhBAJAIAcoAgQgAUEwbGoiBykCACIbp74gCSgCvA4iASoCCCIFX0UNACABKgIMIBtCIIinvmBFDQAgASoCACAHQQxqKQIAIhunvl9FDQAgASoCBCAbQiCIp75fRQ0AIAkgBzYCwA4gASoCCCEFQQAhBAsgBSAHKQIYIhunvmBFDQYgASoCDCAbQiCIp75gRQ0GIAEqAgAgB0EkaikCACIbp75fRQ0GIAEqAgQgG0IgiKe+X0UNBiAHQRhqIQwgBEUEQAJ/IAkoArQOIgRBIUkEQCAEIQggCyEHQSAhBCANDAELIAkoArQNIQggCSgCuA0hByALCyEBIAQgCEYEQCAJQbANahCUAyAJKAK0DSEIIAkoArgNIQcgCyEBCyAHIAhBAnRqIAw2AgAgASABKAIAQQFqNgIADAcLIAkgDDYCwA4MBgsgBygCCCIMIAopAxBCg4CAgBCFIhtCIIgiHCAJKALkCyIIQbfTsIV8c60iHX4gG0L/////D4MiGyAJKALgCyIQQd2h8ct8c60iHn6FIBsgHX4gHCAefoVCIImFIhunc60iHELdofHLDH4gG0IgiCIbQrfTsIUMfoUgHEK307CFDH4gG0LdofHLDH6FQiCJhSIcpyIaIAooAgQiBHEhByAcQhmIIh5C/wCDQoGChIiQoMCAAX4hHyAKKAIAIQ5BACEXAkADQAJAIAcgDmopAAAiHSAfhSIbQoGChIiQoMCAAX0gG0J/hYNCgIGChIiQoMCAf4MiG0IAUgRAA0ACQCAQIA4gG3qnQQN2IAdqIARxQWhsaiIBQRhrKAIARw0AIAggAUEUaygCAEcNACAMIAFBEGsoAgBGDQMLIBtCAX0gG4MiG0IAUg0ACwsgHSAdQgGGg0KAgYKEiJCgwIB/g0IAUg0CIBdBCGoiFyAHaiAEcSEHDAELCyABQQxrIQdBASABQQRrIggtAAAgEUYNBRogBygCACIEIBJPDQMgCUHMDmogEyAEQdQBbGoQ1AIgAUEIa0EANgIAIAggEToAACAHIAYoAggiATYCACAGKAIAIAFGBEAgBkHg4MEAEKcGCyAGKAIEIAFB1AFsaiAJQcwOakHUAfwKAAAgBiABQQFqNgIIDAQLIAYoAgghBCAJLQAfIQcgCSgCtAshASAJKAKwCyEOIBVBCGpCADcCACAVQgA3AgAgASAOQQh0aiEOIAYoAgAgBEYEQCAGQfDgwQAQpwYLIAYoAgQgBEHUAWxqIgFBADYCYCABQoCAgICAAjcCQCABQQA2AjQgAUEANgIoIAFBADYCFCABQQA2AgAgAUIANwJIIAFB0ABqQgA3AgAgAUHWAGpCADcBACABQeQAaiAJQcwOakHoAPwKAAAgASAOIAwgBxs2AtABIAEgDCAOIAcbNgLMASAGIARBAWo2AgggCSAROgDgDiAJQQA2AtwOIAkgBDYC2A4gCSAMNgLUDiAJIAg2AtAOIAkgEDYCzA4gCigCBCIQIBpxIgEgCigCACIIaikAAEKAgYKEiJCgwIB/gyIbUARAQQghBwNAIAEgB2ohASAHQQhqIQcgCCABIBBxIgFqKQAAQoCBgoSIkKDAgH+DIhtQDQALCyAIIBt6p0EDdiABaiAQcSIBaiwAACIEQQBOBH8gCCAIKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAFIAQLQQFxIgQgCigCCCIHRXFFBEAgASAIaiAep0H/AHEiDjoAACAIIAFBCGsgEHFqQQhqIA46AAAgCiAHIARrNgIIIAogCigCDEEBajYCDCAIIAFBaGxqIgRBGGsiAUEQaiAJQcwOaiIHQRBqKQIANwIAIAFBCGogB0EIaikCADcCACABIAkpAswONwIAIARBDGshBwwECyAJIAogCkEQahC3ASAKIBwgCigCACAKKAIEIBwQsgggCUHMDmoQiAhBDGshBwwDCyAJQQA2AsAOIAkoArgNIAdBAnRBBBCfDQwFCyABIARBqMfBABCwCQALIAQgEkHQ4MEAELAJAAtBAAs6AMsOIAcoAgAiASAGKAIIIgRPBEAgASAEQYDhwQAQsAkABSAGKAIEIQQgCSAHQQRqNgLMECAJIBY2AsgQIAlBrMjBADYCuBAgCSAANgK0ECAJIAQgAUHUAWxqNgKsECAJIAlBIGo2AsQQIAkgCUEYajYCwBAgCSAJQfALajYCvBAgCSAJQegLajYCsBAgCSAJQR9qNgKoECAJIAlByw5qNgKkECAJIAlB/AtqNgKgECADIAwgCUGgEGpBkOHBACAZEQIADAELAAsACyAJQZALaiAJQYAGahDlASAJKAKQCw0ACwwDC0Gw4MEAEKUNAAtBoODBABClDQALQQhBIEHw+sMAKAIAIgBB7wcgABsRAAAACyAJKAKABkECRg0AIAkoAoQHIgBBIUkNACAJKAKIBiAAQQJ0QQQQnw0LAkAgCigCDCICRQ0AIAYoAgQiDUHkAGohDCAKKAIAIghBCGohByAIKQMAQn+FQoCBgoSIkKDAgH+DIRsgBigCCCELAkADQAJAIBtQBEADQCAIQcABayEIIAcpAwAhGyAHQQhqIQcgG0KAgYKEiJCgwIB/gyIbQoCBgoSIkKDAgH9RDQALIBtCgIGChIiQoMCAf4UhGwsgESAIIBt6p0EDdkFobGoiAUEEay0AAEYEQCABQQxrKAIAIgAgC08NASAAQdQBbCIPIA1qIgBB4ABqIRACQAJ/IAAoAmAiA0UEQEEAIQRBAAwBCyABQQhrKAIAIQBBACEGAkADQCAAIAZ2QQFxRQ0BIAMgBkEBaiIGRw0AC0EAIQAMAgsgBkEBaiEEQQELIQAgAyAERg0AIAwgDyAEQSxsamohBiABQQhrKAIAIQ8DQAJAIA8gBHZBAXFFBEAgAEEBaiEADAELIAYgAEFUbGoiASAGKQIANwIAIAFBKGogBkEoaigCADYCACABQSBqIAZBIGopAgA3AgAgAUEYaiAGQRhqKQIANwIAIAFBEGogBkEQaikCADcCACABQQhqIAZBCGopAgA3AgALIAZBLGohBiADIARBAWoiBEcNAAsLIBAgAyAAazYCAAsgG0IBfSAbgyEbIAJBAWsiAg0BDAILCyAAIAtBwODBABCwCQALIAooAgwiAUUNACAKKAIEIQQgCigCACIDQQhqIQcgAykDAEJ/hUKAgYKEiJCgwIB/gyEbIAooAgghAiADIQYgASEAA0AgG1AEQANAIAZBwAFrIQYgBykDACEbIAdBCGohByAbQoCBgoSIkKDAgH+DIhtCgIGChIiQoMCAf1ENAAsgG0KAgYKEiJCgwIB/hSEbCyAbQgF9IRwgESAGIBt6p0EDdkFobGoiC0EEay0AAEcEQEGAASEIIAMgC2tBGG0iCyADaiINKQAAIh1CAYYgHYNCgIGChIiQoMCAf4N6p0EDdiADIAtBCGsgBHFqIgspAAAiHUIBhiAdg0KAgYKEiJCgwIB/g3mnQQN2akEHTQRAIAogAkEBaiICNgIIQf8BIQgLIA0gCDoAACAKIABBAWsiADYCDCALQQhqIAg6AAALIBsgHIMhGyABQQFrIgENAAsLIBIEQCATQeAAaiEHA0AgBygCAARAIAdBADYCAAsgB0EgaygCACIABEAgB0EcaygCACAAQTBsQRAQnw0LIAdB1AFqIQcgEkEBayISDQALCyAUBEAgEyAUQdQBbEEEEJ8NCyAJQdAQaiQAC54mAgt/AX4jAEEQayIJJAACQAJAAkACQAJAAkAgAEH1AU8EQCAAQcz/e0sEQEEAIQAMBwsgAEELaiIBQXhxIQNBtP7DACgCACIIRQ0EQR8hB0EAIANrIQQgAEH0//8HTQRAIANBBiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBwsgB0ECdEGY+8MAaigCACICRQRAQQAhAEEAIQEMAgtBACEAIANBGSAHQQF2a0EAIAdBH0cbdCEFQQAhAQNAAkAgAigCBEF4cSIGIANJDQAgBiADayIGIARPDQAgAiEBIAYiBA0AQQAhBCABIQAMBAsgAigCFCIGIAAgBiACIAVBHXZBBHFqKAIQIgJHGyAAIAYbIQAgBUEBdCEFIAINAAsMAQsCQAJAAkACQEGw/sMAKAIAIgJBECAAQQtqQfgDcSAAQQtJGyIDQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgZBA3QiAUGo/MMAaiIFIAFBsPzDAGooAgAiACgCCCIERg0BIAQgBTYCDCAFIAQ2AgggACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAkLIANBuP7DACgCAE0NByABDQFBtP7DACgCACIARQ0HIABoQQJ0QZj7wwBqKAIAIgEoAgRBeHEgA2shBCABIQIDQAJAIAEoAhAiAA0AIAEoAhQiAA0AIAIgA2ohCCACKAIYIQcCQAJAIAIgAigCDCIARgRAIAJBFEEQIAIoAhQiABtqKAIAIgENAUEAIQAMAgsgAigCCCIBIAA2AgwgACABNgIIDAELIAJBFGogAkEQaiAAGyEFA0AgBSEGIAEiACgCFCEBIABBFGogAEEQaiABGyEFIABBFEEQIAEbaigCACIBDQALIAZBADYCAAsgB0UNBQJAIAIoAhxBAnRBmPvDAGoiASgCACACRwRAIAIgBygCEEcEQCAHIAA2AhQgAA0CDAgLIAcgADYCECAADQEMBwsgASAANgIAIABFDQULIAAgBzYCGCACKAIQIgEEQCAAIAE2AhAgASAANgIYCyACKAIUIgFFDQUgACABNgIUIAEgADYCGAwFCyAAKAIEQXhxIANrIgUgBEkhASAFIAQgARshBCAAIAIgARshAiAAIQEMAAsAC0Gw/sMAIAJBfiAGd3E2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAcLAkBBAiAAdCIFQQAgBWtyIAEgAHRxaCIGQQN0IgFBqPzDAGoiBSABQbD8wwBqKAIAIgAoAggiBEcEQCAEIAU2AgwgBSAENgIIDAELQbD+wwAgAkF+IAZ3cTYCAAsgACADQQNyNgIEIAAgA2oiBSABIANrIgYiAUEBcjYCBCABIAVqIAE2AgBBuP7DACgCACICBEBBwP7DACgCACEBAn9BsP7DACgCACIEQQEgAkEDdnQiA3FFBEBBsP7DACADIARyNgIAIAJBeHFBqPzDAGoiBAwBCyACQXhxIgJBqPzDAGohBCACQbD8wwBqKAIACyECIAQgATYCCCACIAE2AgwgASAENgIMIAEgAjYCCAtBwP7DACAFNgIAQbj+wwAgBjYCAAwGC0G0/sMAQbT+wwAoAgBBfiACKAIcd3E2AgALAkACQCAEQRBPBEAgAiADQQNyNgIEIAggBEEBcjYCBCAEIAhqIAQ2AgBBuP7DACgCACIBRQ0BQcD+wwAoAgAhAAJ/QbD+wwAoAgAiBUEBIAFBA3Z0IgZxRQRAQbD+wwAgBSAGcjYCACABQXhxQaj8wwBqIgEMAQsgAUF4cSIFQaj8wwBqIQEgBUGw/MMAaigCAAshBSABIAA2AgggBSAANgIMIAAgATYCDCAAIAU2AggMAQsgAiADIARqIgBBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMAQtBwP7DACAINgIAQbj+wwAgBDYCAAsgAkEIaiIARQ0DDAULIAAgAXJFBEBBACEBQQIgB3QiAEEAIABrciAIcSIARQ0DIABoQQJ0QZj7wwBqKAIAIQALIABFDQELA0AgASAAIAEgACgCBEF4cSIBIANrIgIgBEkiBRsgASADSSIGGyEBIAQgAiAEIAUbIAYbIQQgACgCECICBH8gAgUgACgCFAsiAA0ACwsgAUUNAEG4/sMAKAIAIgAgA08gBCAAIANrT3ENACABIANqIQcgASgCGCEIAkACQCABIAEoAgwiAEYEQCABQRRBECABKAIUIgAbaigCACICDQFBACEADAILIAEoAggiAiAANgIMIAAgAjYCCAwBCyABQRRqIAFBEGogABshBQNAIAUhBiACIgAoAhQhAiAAQRRqIABBEGogAhshBSAAQRRBECACG2ooAgAiAg0ACyAGQQA2AgALAkAgCEUNAAJAAkAgASgCHEECdEGY+8MAaiICKAIAIAFHBEAgASAIKAIQRwRAIAggADYCFCAADQIMBAsgCCAANgIQIAANAQwDCyACIAA2AgAgAEUNAQsgACAINgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAEoAhQiAkUNASAAIAI2AhQgAiAANgIYDAELQbT+wwBBtP7DACgCAEF+IAEoAhx3cTYCAAsCQCAEQRBPBEAgASADQQNyNgIEIAcgBEEBcjYCBCAEIAdqIAQ2AgAgBEGAAk8EQCAHIAQQiAQMAgsCf0Gw/sMAKAIAIgBBASAEQQN2dCICcUUEQEGw/sMAIAAgAnI2AgAgBEH4AXFBqPzDAGoiAAwBCyAEQfgBcSICQaj8wwBqIQAgAkGw/MMAaigCAAshAiAAIAc2AgggAiAHNgIMIAcgADYCDCAHIAI2AggMAQsgASADIARqIgBBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLIAFBCGoiAA0CCwJAAkBBuP7DACgCACICIANJBEBBvP7DACgCACIAIANNBEAgCUEEaiEAAn8gA0GvgARqQYCAfHEiAUEQdiABQf//A3FBAEdqIgFAACIFQX9GBEBBACEBQQAMAQsgAUEQdCICQRBrIAIgBUEQdCIBQQAgAmtGGwshAiAAQQA2AgggACACNgIEIAAgATYCACAJKAIEIgFFBEBBACEADAYLIAkoAgwhBEHI/sMAIAkoAggiBUHI/sMAKAIAaiIANgIAQcz+wwAgAEHM/sMAKAIAIgIgACACSxs2AgACQEHE/sMAKAIABEBBmPzDACEAA0AgACgCACAAKAIEaiABRg0CIAAoAggiAA0ACwwEC0HU/sMAKAIAIgBBAEcgACABTXFFBEBB1P7DACABNgIAC0HY/sMAQf8fNgIAQaT8wwAgBDYCAEGc/MMAIAU2AgBBmPzDACABNgIAQbT8wwBBqPzDADYCAEG8/MMAQbD8wwA2AgBBsPzDAEGo/MMANgIAQcT8wwBBuPzDADYCAEG4/MMAQbD8wwA2AgBBzPzDAEHA/MMANgIAQcD8wwBBuPzDADYCAEHU/MMAQcj8wwA2AgBByPzDAEHA/MMANgIAQdz8wwBB0PzDADYCAEHQ/MMAQcj8wwA2AgBB5PzDAEHY/MMANgIAQdj8wwBB0PzDADYCAEHs/MMAQeD8wwA2AgBB4PzDAEHY/MMANgIAQfT8wwBB6PzDADYCAEHo/MMAQeD8wwA2AgBB8PzDAEHo/MMANgIAQfz8wwBB8PzDADYCAEH4/MMAQfD8wwA2AgBBhP3DAEH4/MMANgIAQYD9wwBB+PzDADYCAEGM/cMAQYD9wwA2AgBBiP3DAEGA/cMANgIAQZT9wwBBiP3DADYCAEGQ/cMAQYj9wwA2AgBBnP3DAEGQ/cMANgIAQZj9wwBBkP3DADYCAEGk/cMAQZj9wwA2AgBBoP3DAEGY/cMANgIAQaz9wwBBoP3DADYCAEGo/cMAQaD9wwA2AgBBtP3DAEGo/cMANgIAQbz9wwBBsP3DADYCAEGw/cMAQaj9wwA2AgBBxP3DAEG4/cMANgIAQbj9wwBBsP3DADYCAEHM/cMAQcD9wwA2AgBBwP3DAEG4/cMANgIAQdT9wwBByP3DADYCAEHI/cMAQcD9wwA2AgBB3P3DAEHQ/cMANgIAQdD9wwBByP3DADYCAEHk/cMAQdj9wwA2AgBB2P3DAEHQ/cMANgIAQez9wwBB4P3DADYCAEHg/cMAQdj9wwA2AgBB9P3DAEHo/cMANgIAQej9wwBB4P3DADYCAEH8/cMAQfD9wwA2AgBB8P3DAEHo/cMANgIAQYT+wwBB+P3DADYCAEH4/cMAQfD9wwA2AgBBjP7DAEGA/sMANgIAQYD+wwBB+P3DADYCAEGU/sMAQYj+wwA2AgBBiP7DAEGA/sMANgIAQZz+wwBBkP7DADYCAEGQ/sMAQYj+wwA2AgBBpP7DAEGY/sMANgIAQZj+wwBBkP7DADYCAEGs/sMAQaD+wwA2AgBBoP7DAEGY/sMANgIAQaj+wwBBoP7DADYCAEHE/sMAIAEgAUEIaiIAQQdqQXhxIABrIgFqIgA2AgBBvP7DACAFIAFrQShrIgE2AgAgACABQQFyNgIEIAAgAWpBKDYCBEHQ/sMAQYCAgAE2AgAMBAsgACgCDCICQQFxDQIgAkEBdiAERw0CQcT+wwAoAgAiAiAAKAIAIgZPBH8gAiAGIAAoAgRqSQVBAAtFDQIgACAAKAIEIAVqNgIEQbz+wwBBvP7DACgCACAFakHE/sMAKAIAIgFBCGoiAEEHakF4cSAAayICayIANgIAQcT+wwAgASACaiIBNgIAIAEgAEEBcjYCBCAAIAFqQSg2AgRB0P7DAEGAgIABNgIADAMLQbz+wwAgACADayIBNgIAQcT+wwAgA0HE/sMAKAIAIgBqIgI2AgAgAiABQQFyNgIEIAAgA0EDcjYCBAwDC0HA/sMAKAIAIQAgAiADayIBQQ9NBEBBwP7DAEEANgIAQbj+wwBBADYCACAAIAJBA3I2AgQgACACaiIBIAEoAgRBAXI2AgQMAwtBuP7DACABNgIAQcD+wwAgACADaiICNgIAIAIgAUEBcjYCBCABIAJqIAE2AgAgACADQQNyNgIEDAILQdT+wwBB1P7DACgCACIAIAEgACABSRs2AgAgASAFaiECQZj8wwAhAAJAAkADQCAAKAIAIgYgAkcEQCAAKAIIIgANAQwCCwsgACgCDCICQQFxDQAgAkEBdiAERg0BC0HE/sMAKAIAIQJBmPzDACEAAkADQCACIAAoAgAiBk8EQCAAKAIEIAZqIAJLDQILIAAoAggiAA0AC0EAIQALIAAoAgAgACgCBGoiC0EvayIGQQhqIQAgAiAAQQdqQXhxIABrIAZqIgAgACACQRBqSRsiBkEIaiEHIAZBGGohAEHE/sMAIAFBCGoiCEEHakF4cSAIayIKIAFqIgg2AgBBvP7DACAFIAprQShrIgo2AgAgCCAKQQFyNgIEIAggCmpBKDYCBEHQ/sMAQYCAgAE2AgAgBkEbNgIEQZj8wwApAgAhDCAHQQhqQaD8wwApAgA3AgAgByAMNwIAQaT8wwAgBDYCAEGc/MMAIAU2AgBBmPzDACABNgIAQaD8wwAgBzYCAANAIABBBzYCBCAAQQRqIgBBBGogC0kNAAsgAiAGRg0BIAYgAmsiACACaiIBIAEoAgRBfnE2AgQgAiAAQQFyNgIEIAEgADYCACAAQYACTwRAIAIgABCIBAwCCwJ/QbD+wwAoAgAiAUEBIABBA3Z0IgVxRQRAQbD+wwAgASAFcjYCACAAQfgBcUGo/MMAaiIADAELIABB+AFxIgFBqPzDAGohACABQbD8wwBqKAIACyEBIAAgAjYCCCABIAI2AgwgAiAANgIMIAIgATYCCAwBCyAAIAE2AgAgACAAKAIEIAVqNgIEIAMgASABQQhqIgBBB2pBeHEgAGtqIgBqIgEhAiAAIANBA3I2AgQgBiAGQQhqIgVBB2pBeHEgBWtqIgQgAWshAwJAQcT+wwAoAgAgBEcEQCAEQcD+wwAoAgBGDQEgBCgCBCIBQQNxQQFGBEAgBCABQXhxIgEQ0QMgASADaiEDIAEgBGohBAsgBCAEKAIEQX5xNgIEIAIgA0EBcjYCBCACIANqIAM2AgAgA0GAAk8EQCACIAMQiAQMBAsCf0Gw/sMAKAIAIgFBASADQQN2dCIFcUUEQEGw/sMAIAEgBXI2AgAgA0H4AXFBqPzDAGoiAwwBCyADQfgBcSIBQaj8wwBqIQMgAUGw/MMAaigCAAshASADIAI2AgggASACNgIMIAIgAzYCDCACIAE2AggMAwtBxP7DACACNgIAQbz+wwBBvP7DACgCACADaiIBNgIAIAIgAUEBcjYCBAwCC0HA/sMAIAI2AgBBuP7DAEG4/sMAKAIAIANqIgE2AgAgAiABQQFyNgIEIAEgAmogATYCAAwBC0EAIQBBvP7DACgCACIBIANNDQFBvP7DACABIANrIgE2AgBBxP7DACADQcT+wwAoAgAiAGoiAjYCACACIAFBAXI2AgQgACADQQNyNgIECyAAQQhqIQALIAlBEGokACAAC7ofAx5/FX0CfiMAQeABayICJAAgACgCACgCACEEIAAoAgwoAgAhAyAAKAIEKAIAIRQgAiAAKAIIKAIAIg42AjwgAiAUNgI4IAJBsMDBADYCNCACIAE2AjAgAkEANgIgIAJBADYCFCACQQA2AgggAiADQZQCajYCRCACIANBiAJqNgJAIAIgBEEAIARBIEkbNgIsIAAoAhgoAgAiAUEUaigCACEVIAFBEGooAgAhCSAAKAIQKAIAIgFBLGooAgAhGiABQShqKAIAIRsgFCgCjAIhASAAKAIUKAIAIRYCQCADKgL4ASIvQwAAAABbBEAgAUEIdCEAA0AgAEUNAiAAQYACayEADAALAAsgAygCgAJBAnFFBEAgAUEIdCEAA0AgAEUNAiAAQYACayEADAALAAsgFCgCiAIhBSABQQh0IQYgAyoCrAEhIiADKgKoASEkIAMqAqQBISUgAyoCoAEhKCADKgK8ASEqIAMqArgBIScgAyoCtAEhKyADKgKwASEsQQAhAEEAIQEDQCAAIAZGDQECQCAAIAVqIgQoAgBFDQAgBEEEaigCACEHIAIgBEEQaiIINgKkASACIAc2AqABIAIgATYCnAEgAkEANgKYASACQQhqIAJBmAFqEK4CRQ0AIARBFGoqAgAhKSAIKgIAIS0gKyEgICchIQJ9ICwhJiAqIARB8gFqLQAAQQFHDQAaQwAAgD8hIEMAAIA/ISFDAACAPyEmQwAAgD8gBEHgAWotAABBAUcNABogJSEgICQhISAoISYgIgshIyAEQRhqKgIAITAgAiAvICmUIjEgBEEcaioCACApIARBkAFqKgIAIjKUIC0gBEGUAWoqAgAiM5SSkiIukjgCjAEgAiAvIC2UIjQgMCAtIDKUICkgM5STkiIpkjgCiAEgAiAjOAKkASACICFDAACAPpQ4AqABIAIgIDgCnAEgAiAmQwAAAACUOAKYASACIC44AkwgAiApOAJIIAJBCGoiBCACQcgAaiIHIAJBiAFqIgggAkGYAWoiChDvAiACIDQgLpI4AowBIAIgKSAxkzgCiAEgAiAjOAKkASACICFDzczMPZQ4AqABIAIgIDgCnAEgAiAmQwAA8EKUOAKYASACIC44AkwgAiApOAJIIAQgByAIIAoQ7wILIAFBAWohASAAQYACaiEADAALAAsCQCADKAKAAiIAQQFxRQ0AIANBLGohCCADQShqIQogA0EkaiELIANBIGohDSADQTxqIRAgA0E4aiERIANBNGohEiADQTBqIQwgA0HMAGohEyADQcgAaiEXIANBxABqIRggA0FAayEcIA4oAhBBoAFsIR0gDigCDCEeQQAhAEEAIQEDQAJAAkAgACAdRwRAIAAgHmoiDygCAA0BDAILIAMoAoACIQAMAwsgAiABNgJMIAJBATYCSCACIA9BEGoiHzYCVCACIA9BBGooAgA2AlAgAkEIaiACQcgAahCuAkUNAAJ9AkAgD0H0AGooAgBBAXEEQCAUIA9BiAFqKAIAIA9BjAFqKAIAEOUKIhkNAQsgAyoCWCEiIAMqAlQhJCADKgJQISAgAyoCXAwBCwJ9AkAgGS0A4gFFDQAgD0HyAGotAAANAEMAAIA/ISJDAACAPyEkQwAAgD8hIEMAAIA/IBktANABQQFHDQEaIAMqAqgBISIgAyoCpAEhJCADKgKgASEgIAMqAqwBDAELIAMqArgBISIgAyoCtAEhJCADKgKwASEgIAMqArwBCyEjIA0hBiALIQQgCiEHIAghBQJAAkACQCAZLQDhAUEBaw4DAAEBAgsgDCEGIBIhBCARIQcgECEFDAELIBwhBiAYIQQgFyEHIBMhBQsgIiAHKgIAlCEiICQgBCoCAJQhJCAgIAYqAgCUISAgIyAFKgIAlAshIyAPQTBqKAIAIQQgD0E0aigCACIFKAIIIQYgAiAjOAKkASACICI4AqABIAIgJDgCnAEgAiAgOAKYASADIAJByABqIAJBCGogBCAGQQFrQXhxakEIaiAFIB8gAkGYAWoQbwsgAUEBaiEBIABBoAFqIQAMAAsACyADQaABaiEIIANBsAFqIQoCQCAAQcAAcUUNACADQeABaiEFIA4oAhBBoAFsIQQgDigCDCEAQQAhAQNAAkAgBARAIAAoAgBFDQEgAEEEaigCACELIABBEGoiBigCJCEHIAJB4ABqIg0gBigCICAHKAIIQQFrQXhxakEIaiAGIAcoApQBEQEAIAIgBjYCpAEgAiALNgKgASACIAE2ApwBIAJBAjYCmAEgAiACKQJoIjWnviACKgJgk0MAAAA/lDgCcCACIDVCIIinviACKgJkk0MAAAA/lDgCdCACIA02AqgBIAJBCGoiBiACQZgBaiIHEK4CRQ0BIAJCgICA/AM3AnggAiACKgJkIAIqAmySQwAAAD+UOAKEASACIAIqAmAgAioCaJJDAAAAP5Q4AoABIAJBiAFqIgtBCGogBUEIaikCADcDACACIAUpAgA3A4gBIAMgByAGIAJB8ABqQdy4wQAgAkH4AGogCxBvDAELIAMoAoACIQAMAgsgAEGgAWohACABQQFqIQEgBEGgAWshBAwACwALIAIgCjYCVCACIAg2AlAgAiAUNgJMIAIgAkEIajYCSAJAIABBCHFFDQAgGkUNACAaQfABbCEIIANB8ABqIQYgA0HgAGohByACQcwBaiEKIAJBvAFqIQEgAkGsAWohBUEAIQQDQCAEIBtqIgBBwAFqKQMAITUgBUEIaiAHQQhqKQIANwIAIAUgBykCADcCACABIAYpAgA3AgAgAUEIaiAGQQhqKQIANwIAIAIgADYC2AEgAiA1NwLQASACQQM2AswBIAIgADYCmAEgAiAAQbwBaigCACILNgKoASACIABBuAFqKAIAIg02AqQBIAIgAEG0AWooAgAiEDYCoAEgAiAAQbABaigCACIRNgKcASACQcgAaiARIBAgDSALIAAgBSABIAoQxwIgCCAEQfABaiIERw0ACyADKAKAAiEACwJAIABBBHFFDQAgFigCOCIBRQ0AIBYoAjQhACADQZABaiEKIANBgAFqIQsgAUEUbEEUayEEIBYoAkghDSAWKAJMIRAgAkHMAWohESACQbwBaiEHIAJBrAFqIQhBACEBA0ACQAJAIAAoAgAiEkF/RwRAIABBEGooAgAiBQ0BCyAERQ0DDAELAkACQAJAAkAgAEEEaigCACIGIBBPDQAgDSAGQaQCbGoiBigCAEGAgICAeEYNACAGKAKgAiAA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CSgCJCIBKgIAISsgASoCBCElIAEpAgghMSAJQQA2AnAgCUH0AGogCUHQAGogASAJQeAAahDLASAJKAJ0RQ0FIDFCIIinviEdIDGnviIqjCEeIC8gCSkDQCIxp76SQwAAIEGUISggMCAxQiCIp76SQwAAIEGUISlD//9//yEYQ///f38hFwJAIBVFBEBD//9/fyEGQ///f/8hGQwBC0P//39/IQZD//9//yEZAkACQCASKAIEIgIoAixB/////wNxIAIoAhRB/////wNxag4CAgABCyACKgIQIRkgAioCDCEYIAIqAgQhBiACKgIAIRcMAQsgAioCECIXIAIqAigiBiAGIBdfGyEZIAIqAgwiFyACKgIkIgYgBiAXXxshGCACKgIEIhcgAioCHCIGIAYgF2AbIQYgAioCACIaIAIqAhgiFyAXIBpgGyEXCyAlICqUIR8gKyAdlCEbICUgHZQhIiArIB6UISAgKSAliyIuIBggF5NDAAAAP5QiIZQgASoCACIjiyIkIBkgBpNDAAAAP5QiHpSSIhogJSAXIBiSQwAAAD+UIhiUICMgBiAZkkMAAAA/lCIXlJIgHZIiBpKSIRwgBiAakyApkyEdAkAgIyAYlCAlIBeUkyAqkiIYICEgJJQgLiAelJIiF5MgKJMiHiAJKQNQIjOnviAokyIGIAYgHl8bIgYgKCAXIBiSkiIaICggCSkDWCIxp76SIhcgFyAaYBsiGV5FBEAgHSAzQiCIp74gKZMiFyAXIB1fGyIXIBwgKSAxQiCIp76SIhggGCAcYBsiGF5FDQELIB4hBiAdIRcgGiEZIBwhGAsgHyAbkyEbICAgIpMhISAJKQKQASE4IAkpAogBITkgCSkCgAEhMiAJKQJ4ITUgCSAYOAKkASAJIBk4AqABIAkgFzgCnAEgCSAGOAKYAUP//3//IRdD//9/fyEYAkAgFkUEQEP//39/IQZD//9//yEZDAELQ///f38hBkP//3//IRkCQAJAIBMoAgQiASgCLEH/////A3EgASgCFEH/////A3FqDgICAAELIAEqAhAhGSABKgIMIRcgASoCBCEGIAEqAgAhGAwBCyABKgIQIhcgASoCKCIGIAYgF18bIRkgASoCDCIXIAEqAiQiBiAGIBdfGyEXIAEqAgQiGCABKgIcIgYgBiAYYBshBiABKgIAIhogASoCGCIY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AAsgBSAGagsiBSAJNgIIIAUgFjcDAAsgA0EQaiEDIAcgDUkiCSAHaiEFIAchBiAJDQALCyANQQR0IgUgC2ohAyAEIAxJBEAgACAFaiEKIARBBHQhDkEQIQggAyEJA0AgAiEFIARBBHQiAiADaiIGIAIgCmoiAikDACIWNwMAIAZBCGogAkEIaikDACIVNwMAIBWnIgQgBkEIaygCAEkgBkEQaykDACIVIBZWIBUgFlEbQQFGBEAgCCEHIAkhBgJ/A0AgBiAOaiIPQRBrIQIgDyACKQMANwMAIA9BCGogAkEIaikDADcDACADIAcgDkYNARogB0EQaiEHIAZBEGshBiAEIA9BGGsoAgBJIA9BIGspAwAiFSAWViAVIBZRGw0ACyAGIA5qCyICIAQ2AgggAiAWNwMACyAIQRBrIQggCUEQaiEJIAUgDEkiBiAFaiECIAUhBCAGDQALCyADQRBrIQYgAUEEdEEQayIEIABqIQIgBCALaiEHIAshBQNAIAAgAyAFIANBCGooAgAgBUEIaigCAEkgAykDACIWIAUpAwAiFVQgFSAWURsiCBsiBCkDADcDACAAQQhqIARBCGopAwA3AwAgAiAGIAcgB0EIaigCACAGQQhqKAIASSAHKQMAIhYgBikDACIVVCAVIBZRGyIJGyIEKQMANwMAIAJBCGogBEEIaikDADcDACADIAhBBHRqIQMgBSAIQQFzQQR0aiEFIAYgCUEEdCIEayEGIAQgB2pBEGshByACQRBrIQIgAEEQaiEAIA1BAWsiDQ0ACyAGQRBqIQQgAUEBcQRAIAAgBSADIAQgBUsiAhsiASkDADcDACAAQQhqIAFBCGopAwA3AwAgAyAEIAVNQQR0aiEDIAUgAkEEdGohBQsgBCAFRiADIAdBEGpGcQ0AEMILAAsgC0GABmokAAuEHgMPfzt9BH4jAEHgAWsiBCQAIARC////+w83ApgBIARC////+/f//79/NwKQASAEQoCAgIDw//+//wA3AogBIARC////+////79/NwKAASAEQv////v3//+//wA3AnggBEL////7DzcCcCAEQv////v3//+/fzcCaCAEQoCAgIDw//+//wA3AmAgBEL////7////v383AlggBEL////79///v/8ANwJQIARC////+w83AkggBEL////79///v383AkAgBEKAgICA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wgAQsAkACyACIANB6MXCABCwCQALIAIgA0GYxsIAELAJAAsgBEHgAWokAAv5FwIcfwJ8IwBBsARrIgMkACADQgA3A5gBIANCADcDkAEgA0IANwOIASADQgA3A4ABIANCADcDeCADQgA3A3AgA0IANwNoIANCADcDYCADQgA3A1ggA0IANwNQIANCADcDSCADQgA3A0AgA0IANwM4IANCADcDMCADQgA3AyggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACADQgA3A7gCIANCADcDsAIgA0IANwOoAiADQgA3A6ACIANCADcDmAIgA0IANwOQAiADQgA3A4gCIANCADcDgAIgA0IANwP4ASADQgA3A/ABIANCADcD6AEgA0IANwPgASADQgA3A9gBIANCADcD0AEgA0IANwPIASADQgA3A8ABIANCADcDuAEgA0IANwOwASADQgA3A6gBIANCADcDoAEgA0IANwPYAyADQgA3A9ADIANCADcDyAMgA0IANwPAAyADQgA3A7gDIANCADcDsAMgA0IANwOoAyADQgA3A6ADIANCADcDmAMgA0IANwOQAyADQgA3A4gDIANCADcDgAMgA0IANwP4AiADQgA3A/ACIANCADcD6AIgA0IANwPgAiADQgA3A9gCIANCADcD0AIgA0IANwPIAiADQgA3A8ACIANB4ANqQQBB0AD8CwBB3PbDACgCACIKIQUgAkEDa0EYbSIEQQAgBEEAShsiDiEHIA5BAnRB7PbDAGohCEEAIQQDQCADIARBA3RqIAdBAEgEfEQAAAAAAAAAAAUgCCgCALcLOQMAIAQgBUkiCwRAIAhBBGohCCAHQQFqIQcgBSAEIAtqIgRPDQELCyACQRhrIQVBACEHA0AgA0HAAmogB0EDdGogACsDACADIAdBA3RqKwMAokQAAAAAAAAAAKA5AwAgByAKSSIEBEAgCiAEIAdqIgdPDQELCyAFIA5BaGwiF2oiBkH+D0shD0HwaCAGIAZB8GhNG0GSD2ogBkHJB2ogBkG5cEkiEhshDUQAAAAAAADwf0QAAAAAAADgfyAPG0QAAAAAAAAAAEQAAAAAAABgAyASG0QAAAAAAADwPyAGQYJ4SCITGyAGQf8HSiIUG0H9FyAGIAZB/RdPG0H+D2sgBkH/B2sgDxsiECANIAYgExsgFBtB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RAAAAAAAAAAAIR8MAQsgCEEBakF+cSENRAAAAAAAAAAAIR9BACEEQQAhAgNAIB8gBEH4+MMAaisDACAEIAlqIhArAwCioCAEQYD5wwBqKwMAIBBBCGorAwCioCEfIARBEGohBCANIAJBAmoiAkcNAAsLIANBoAFqIAdBA3RqIQQgCEEBcUUEQCAfIAJBA3RB+PjDAGorAwAgA0HAAmogACACakEDdGorAwCioCEfCyAEIB85AwAgCUEIayEJIABBAWshBCAADQALAkAgBkEDcSIARQRARAAAAAAAAAAAIR8gBSECDAELIANBoAFqIAVBA3RqIQREAAAAAAAAAAAhHyAFIQIDQCACQQFrIQIgHyAEKwMAoCEfIARBCGshBCAAQQFrIgANAAsLIAVBA08EQCACQQN0IANqQYgBaiEEA0AgHyAEQRhqKwMAoCAEQRBqKwMAoCAEQQhqKwMAoCAEKwMAoCEfIARBIGshBCACQQNHIQAgAkEEayECIAANAAsLIAEgH5ogHyALGzkDACADQbAEaiQAIAxBB3EL/TcDIn8Hfgh9IwBBoAJrIgQkACAEQTBqQcC+wgApAwA3AwAgBEIANwMgIARCgICAgMAANwMYIARCBDcDECAEQgA3AwggBEKAgICAwAA3AwAgBEEANgJoIARCgICAgMAANwNgIARCwAA3A1ggBEIANwNQIARCgICAgMAANwNIIARCidm54o7TvpcINwM4IARBuL7CACkDADcDKCAEIAEpAgA3A0ACQAJAAkACQAJAAkACQAJ/IANFBEBBACEDQbC+wgAMAQsgAiADQQN0aiEPIARB1ABqIQwgBEHIAGohBiAEQThqIQkgBEEoaiEFA0AgAikCACIpQj+IpyEKICmnIgNBH3YhCCAEKAIsIgcgBCkDOEKCgICAEIUiJkIgiCIqIClCIIinIgEgCmpBEG0gCmsiDUG307CFfHOtIih+ICZC/////w+DIicgAyAIakEQbSAIayILQd2h8ct8c60iJn6FICcgKH4gJiAqfoVCIImFIiuncSEKICtCGYhC/wCDQoGChIiQoMCAAX4hKiALrSImIA2tQiCGhCEoICkgJkIEhn2nIAEgDUEEdGtBBHRqIQ4gAkEIaiECIAQoAighA0EAIQgCQANAIAMgCmopAAAiKSAqhSImQoGChIiQoMCAAX0gJkJ/hYNC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AGByRQ0BIANBLGohAyAGIAJBAWoiAkcNAAsMAgtBASEHIAJBAWohAgsgAiAGRg0AIAEqAgAiCEMAAAAAYEUEQCAIQwAAoECUIQggBiACayEFIAJBLGwgAGpBJGohAwNAAkACQCADKgIAIhNDAAAAAGANACAIIBNfDQAgB0EBaiEHDAELIAMgB0FUbGoiAiADQSBrIgFBIGopAgA3AgAgAkEIaiABQShqKAIANgIAIAJBIGsiAiABKQIANwIAIAJBGGogAUEYaikCADcCACACQRBqIAFBEGopAgA3AgAgAkEIaiABQQhqKQIANwIACyADQSxqIQMgBUEBayIFDQALDAELIAIhASAGIAJrQQNxIgUEQCACIAVqIQEgB0FUbCELIAJBLGwgAGpBBGohAwNAIAMgC2oiBCADKQIANwIAIARBKGogA0EoaigCADYCACAEQSBqIANBIGopAgA3AgAgBEEYaiADQRhqKQIANwIAIARBEGogA0EQaikCADcCACAEQQhqIANBCGopAgA3AgAgA0EsaiEDIAVBAWsiBQ0ACwsgAiAGa0F8Sw0AIAYgAWshAiABQSxsIQsgACAHQVRsaiEFIAAhAQNAIAUgC2oiA0EsaiABIAtqIgRBLGooAgA2AgAgA0EkaiAEQSRqKQIANwIAIANBHGogBEEcaikCADcCACADQRRqIARBFGopAgA3AgAgA0EMaiAEQQxqKQIANwIAIANBBGogBEEEaikCADcCACADQTBqIARBMGopAgA3AgAgA0E4aiAEQThqKQIANwIAIANBQGsgBEFAaykCADcCACADQcgAaiAEQcgAaikCADcCACADQdAAaiAEQdAAaikCADcCACADQdgAaiAEQdgAaigCADYCACADQYQBaiAEQYQBaigCADYCACADQfwAaiAEQfwAaikCADcCACADQfQAaiAEQfQAaikCADcCACADQewAaiAEQewAaikCADcCACADQeQAaiAEQeQAaikCADcCACADQdwAaiAEQdwAaikCADcCACADQYgBaiAEQYgBaikCADcCACADQZABaiAEQZABaikCADcCACADQZgBaiAEQZgBaikCADcCACADQaABaiAEQaABaikCADcCACADQagBaiAEQagBaikCADcCACADQbABaiAEQbABaigCADYCACABQbABaiEBIAVBsAFqIQUgAkEEayICDQALCyAAIAYgB2s2AgALIAkgDCkDGCIkIAwpAygiJSAKGzcCxAEgCSAlICQgChs3ArwBIAkoAmAiAEUNACAMKAJwIgFFDQAgCSAAQSxsakHkAGohAyABQSxsIgEgDEH0AGoiAGohBCAJQeQAaiELIAFBLGsiBUEsbkEBcSEGIAxBoAFqIQEgDCgCnAEhByAMKAKYASEKA0AgCygCJCECIAAhCQJAIAYNACABIQkgAiAKRw0AIAsoAiggB0cNACALIAApAgA3AgAgC0EIaiAAQQhqKQIANwIACyAFQSxPBEADQAJAIAIgCUEkaigCAEcNACALKAIoIAlBKGooAgBHDQAgCyAJKQIANwIAIAtBCGogCUEIaikCADcCAAsCQCACIAlB0ABqKAIARw0AIAsoAiggCUHUAGooAgBHDQAgCyAJQSxqIg0pAgA3AgAgC0EIaiANQQhqKQIANwIACyAEIAlB2ABqIglHDQALCyADIAtBLGoiC0cNAAsLIAxB0AFqJAALjxIDFX8Ffgt9IwBBoAJrIggkACAGENMFAkACQAJAAkAgBigCACIJBEAgCEEQaiAJIAYoAgQoAhwRAAAgCEEwaiAIKAIQIgwgCCgCFCgCDBEAACAIKQMwQuuo8IWixZPu8QCFIAgpAzhC6OOvgdjg7rFhhYRQBEAgDCAMLQAYQX9zQQFxIhE6ABggCEEYaiACIAAgAygClAERAQAgBEMAAAAAYARAIAgpAyAhHSAIKQMYIR4gBSgCCCEPIAUoAgQhEiAFQgQ3AgQgBSgCACEUIAVBADYCACAEIB2nvpIgASoCICInlSIlQwAAAL9dDQUgHqe+IASTICeVIiNDAAAAP14NBSABKgIkISYgASAjQwAAgD8gASgCDCITs0MAAIC/kpUiIxC8CyIGIAEgJSAjEL0LIhVPDQUgE0EBRg0DIAQgHUIgiKe+kiAmlSElIB5CIIinviAEkyAmlSEpIAEoAgQhFiAAKgIEIiQgACkCCCIdp74iIpQgACoCACIqIB1CIIinviIolJMhKyAqICKMlCAkICiUkyEoIAhBiAFqIRcgJIwhLEEEIQkgDEEQaiEZA0AgBiIKQQFqIQYCQCABIAoQ3wgNACAKIBNPDQYgBiATTw0IIBYgCkECdGoqAgAiJCAlXiAWIAZBAnRqKgIAIiIgJV5xDQAgJCApXSAiICldcQ0AQQAhDiAIQQA2AiggCCAmICKUOAIkIAggJyAjICMgCrOUQwAAAL+SIiKSlDgCICAIICYgJJQ4AhwgCCAnICKUOAIYIAogDCkDECIdp3OtIh5C3aHxywx+IB1CIIgiHUK307CFDH6FIB5Ct9OwhQx+IB1C3aHxywx+hUIgiYUiHqciGiAMKAIEIhBxIQ0gHkIZiCIgQv8Ag0KBgoSIkKDAgAF+ISEgDCgCACIYQQxrIRsCQAJAAkADQAJAIA0gGGopAAAiHyAhhSIdQoGChIiQoMCAAX0gHUJ/hYNCgIGChIiQoMCAf4MiHUIAUgRAA0AgCiAdeqdBA3YgDWogEHFBdGwiHCAbaigCAEYNAiAdQgF9IB2DIh1CAFINAAsLIB8gH0IBhoNCgIGChIiQoMCAf4NCAFINAiAOQQhqIg4gDWogEHEhDQwBCwsgGCAcaiIOQQhrIgooAgAiDSAPTw0BIAhBMGogEiANQdQBbGoQ1AIgDkEEayAROgAAIAogCzYCACAFKAIAIAtGBEAgBUGQ3MEAEKcGIAUoAgQhCQsgCSALQdQBbGogCEEwakHUAfwKAAAgBSALQQFqIgs2AggMAgsgF0IANwIAIBdBCGpCADcCACAFKAIAIAtGBEAgBUGg3MEAEKcGIAUoAgQhCQsgCSALQdQBbGoiCUEANgJgIAlCgICAgIACNwJAIAlBADYCNCAJQQA2AiggCUEANgIUIAlBADYCACAJQgA3AkggCUHQAGpCADcCACAJQdYAakIANwEAIAlB5ABqIAhBMGpB6AD8CgAAIAkgCkEAIAcbNgLQASAJQQAgCiAHGzYCzAEgBSALQQFqNgIIIAggEToAOCAIIAs2AjQgCCAKNgIwIAwoAgQiDSAacSILIAwoAgAiCmopAABCgIGChIiQoMCAf4MiHVAEQEEIIQkDQCAJIAtqIQsgCUEIaiEJIAogCyANcSILaikAAEKAgYKEiJCgwIB/gyIdUA0ACwsgDCgCCCEOIAogHXqnQQN2IAtqIA1xIgtqLAAAIglBAE4EQCAKIAopAwBCgIGChIiQoMCAf4N6p0EDdiILai0AACEJCwJAIAlBAXEiCSAORXFFBEAgCiALaiAgp0H/AHEiEDoAACAKIAtBCGsgDXFqQQhqIBA6AAAgDCAOIAlrNgIIIAwgDCgCDEEBajYCDCAKIAtBdGxqIgpBDGsiCUEIaiAIQThqKAIANgIAIAkgCCkCMDcCAAwBCyAIQQhqIAwgGRDJASAMIB4gDCgCACAMKAIEIB4QsgggCEEwahC6CCEKCyAKQQhrIQogBSgCCCELDAELIA0gD0GA3MEAELAJAAsCQCAKKAIAIgkgC0kEQCAJQdQBbCAFKAIEIglqIQogBw0BIAYgACAIQRhqQeTdwQAgAiADQQAgBkEAIAYgBCAKECIaDAILIAkgC0Gw3MEAELAJAAsgCCArOAKcAiAIICg4ApgCIAggLDgClAIgCCAqOAKQAiAGIAhBkAJqIAIgAyAIQRhqQeTdwQBBACAGQQAgBiAEIAoQIhoLIAYgFUcNAAsMBQsgCEEANgJAIAhBATYCNCAIQZDHwQA2AjAgCEIENwI4IAhBMGpBmMfBABDcCwALQfDbwQAQpQ0AC0Hg28EAEKUNAAsDQCABIAYQ3wgEQCAVIAZBAWoiBkcNAQwDCwsgBkUNAgsgCEEANgJAIAhBATYCNCAIQYzwwQA2AjAgCEIENwI4IAhBMGpB4OjBABDcCwALIAwoAgwiAgRAIAwoAgQhByAMKAIAIgBBCGohBiAAKQMAQn+FQoCBgoSIkKDAgH+DIR0gDCgCCCEDIAAhCiACIQUDQCAdUARAA0AgCkHgAGshCiAGKQMAIR0gBkEIaiEGIB1CgIGChIiQoMCAf4MiHUKAgYKEiJCgwIB/UQ0ACyAdQoCBgoSIkKDAgH+FIR0LIB1CAX0hHiARIAogHXqnQQN2QXRsaiIJQQRrLQAARwRAQYABIQEgACAJa0EMbSIJIABqIgspAAAiHyAfQgGGg0KAgYKEiJCgwIB/g3qnQQN2IAAgCUEIayAHcWoiCSkAACIfIB9CAYaDQoCBgoSIkKDAgH+DeadBA3ZqQQdNBEAgDCADQQFqIgM2AghB/wEhAQsgCyABOgAAIAwgBUEBayIFNgIMIAlBCGogAToAAAsgHSAegyEdIAJBAWsiAg0ACwsgDwRAIBJB4ABqIQYDQCAGKAIABEAgBkEANgIACyAGQSBrKAIAIgAEQCAGQRxrKAIAIABBMGxBEBCfDQsgBkHUAWohBiAPQQFrIg8NAAsLIBQEQCASIBRB1AFsQQQQnw0LIAhBoAJqJAAPCyAIQQA2AkAgCEEBNgI0IAhBjPDBADYCMCAIQgQ3AjggCEEwakHw6MEAENwLAAvxEAMJfyN9BH5BfyEKAkACQAJAAkACQAJAAkACQAJAIAEuAVwiCUEATARAQX8hCyAAQX9HBEAgASgCKEEBcUUNBCABKAIsIgggAigCjAJPDQMgAigCiAIgCEEIdGoiCCgCAEEBRw0DIAgoAgQgASgCMEcNAyAIKAI4IQoLIAlBAEgNAQsgAEF/RgRAQX8hCwwBCyABKAI0QQFxRQ0EIAEoAjgiCCACKAKMAk8NAyACKAKIAiAIQQh0aiICKAIAQQFHDQMgAigCBCABKAI8Rw0DIAIoAjghCwsgCiADKAIIIglJBEAgAygCBCAKQQxsaiICKgIIIRwgAikCACE1CyADKAIQIQhDAACAPyEdIAogAygCFCIMSQRAIAggCkEFdGoiAikCFCE0IAIqAhAhHiACKgIMISYgAioCCCElIAIqAgAhHSACKgIEIRsLIAkgC0sEQCADKAIEIAtBDGxqIgIqAgghICACKQIAITYLAn8gCyAMTwRAQQAhA0MAAIA/ISFBAAwBCyAIIAtBBXRqIgIqAhAhHyACKgIMIScgAioCCCEoIAIqAgQhIiACKgIAISEgAikCFCI3pyEDIDdCIIinCyECIAEoAkgiCUUNBSAJIAlBAXYiDGshCEEBIAggCBsgDGpBAWshECABKgJQIheMISMgNKe+IAO+kiISIAEqAlQiGJQgGJQgFyA0QiCIp74gAr6SIhYgI5SUkyEvIBYgGIwiJJQgJJQgFyASICOUlJMhKSADrSACrUIghoQhNyA2QiCIp74hMCA1QiCIp74hMSABKAJEIQMgNqe+ITIgNae+ITNBACEMQQAhAgNAIAIgCUsNBSACQQF2IgggB08NByAFIAhNDQggCSAMaiINQQJJIQ4gBiAIQdABbGoiASANQQIgDhs6AMwBIAEgADYCyAEgASALNgLEASABIAo2AsABIAEgNzcCECABIDQ3AgggASAkOAIEIAEgIzgCAAJAIAIgCUYNACABIANBLGooAgA6AM0BIAEgA0EgaigCADYCkAEgASADQRxqKgIAOAJAIAEgAyoCACITICiTIhIgGJQgFyADQQRqKgIAIhQgJ5MiFpSTIhE4AiwgASAXIBQgJpMiFJQgEyAlkyITIBiUkyIZOAIoIAEgHyARlCIVOAI0IAEgHiAZlCIaOAIwIAFDAAAAAEMAAIA/IBEgFZQgKSAZIBqUkpIiEZUgEYtDCOU8Hl0bOAJIIANBDGoqAgAhGSADQRBqKgIAIREgA0EoaioCACEqIANBCGoqAgAhKyABIBggA0EUaigCACINvpQgFyADQRhqKAIAIg++lJMiLDgCjAEgASAfIBcgEpQgFiAYlJIiFZQiLTgChAEgASAeIBMgI5QgFCAYlJMiGpQiLjgCgAEgASAVOAJ8IAEgGjgCeCABICw4AogBIAFDAAAAAEMAAIA/IBUgLZQgLyAaIC6UkpIiFZUgFYtDCOU8Hl0bOAKYASAEIAhBBnRqIgggHSATlCAbIBSUkrytIB0gFJQgGyATlJO8rUIghoQ3AgggCCAhIBKUICIgFpSSvK0gISAWlCAiIBKUk7ytQiCGhDcCECAIIA02AgAgCCAPNgIEIAggKzgCHCAIIBwgE5QgMZIgICASlCAwkpMgJJQgFyAzIBwgFJSTIDIgICAWlJOTlJMgESARQwAAAABeIBFDAACAP2AgKkMAAAAAXBuzlJQ4AhggDkUEQCABIANB3ABqKAIAOgDOASABIANB0ABqKAIANgK0ASABIANBzABqKgIAOAJsIAEgA0EwaioCACITICiTIhIgGJQgFyADQTRqKgIAIhQgJ5MiFpSTIhE4AlggASAXIBQgJpMiFJQgEyAlkyITIBiUkyIZOAJUIAEgHyARlCIVOAJgIAEgHiAZlCIaOAJcIAFDAAAAAEMAAIA/IBEgFZQgKSAZIBqUkpIiEZUgEYtDCOU8Hl0bOAJ0IANBPGoqAgAhGSADQUBrKgIAIREgA0HYAGoqAgAhKiADQThqKgIAISsgASAYIANBxABqKAIAIg2+lCAXIANByABqKAIAIg++lJMiLDgCsAEgASAfIBcgEpQgFiAYlJIiFZQiLTgCqAEgASAeIBMgI5QgFCAYlJMiGpQiLjgCpAEgASAVOAKgASABIBo4ApwBIAEgLDgCrAEgAUMAAAAAQwAAgD8gFSAtlCAvIBogLpSSkiIVlSAVi0MI5TweXRs4ArwBIAggHSATlCAbIBSUkrytIB0gFJQgGyATlJO8rUIghoQ3AiggCCAhIBKUICIgFpSSvK0gISAWlCAiIBKUk7ytQiCGhDcCMCAIIA02AiAgCCAPNgIkIAggKzgCPCAIIBwgE5QgMZIgICASlCAwkpMgJJQgFyAzIBwgFJSTIDIgICAWlJOTlJMgESARQwAAAABeIBFDAACAP2AgKkMAAAAAXBuzlJQ4AjgLIAEgGTgCHCAODQBDAAAAACERQwAAAAAhGUMAAAAAIRYgAUMAAAAAQwAAgD8gASoCSCIUlSAUi0MI5TweXRsiFUMAAAAAQwAAgD8gASoCdCISlSASi0MI5TweXRsiGpQgKSABKgJUIAEqAjCUkiABKgJYIAEqAjSUkiISIBKUkyITQwAAAABeBH0gGiATlSEUIBUgE5UhESASjCATlSEZIBIFQwAAAAALOAJQIAEgGTgCTCABIBE4AiQgASAUOAIgCyAMQQJrIQwgA0HgAGohAyACQQJqIQIgEEEBaiIQIAlHDQALDAULQZz7wQBBE0Gkq8IAEPgJAAtBlKvCABClDQALQZz7wQBBE0HEq8IAEPgJAAtBtKvCABClDQALIAIgCUGQkcIAEKQNAAsPCyAIIAdBoJHCABCwCQALIAggBUGwkcIAELAJAAvzOQMZfx59BH4jAEHAA2siAiQAIAAoAgAoAgAiB0EgSSEDIAAoAgQiBCgCAEEBRgRAIAQoAgQiBEH//wNxIQ0gBEEQdiELQQEhCgsgB0EAIAMbIQ8gACgCFCEHIAAoAgwiAygCCCEEIAMoAgQhBSADKAIAIQMgACgCCCIGKAIEIRAgBigCACERAkAgACgCECIGKAIAQQFGBEAgBioCBCEvDAELIANBAXFFDQAgBygCACAFIAQQ5QoiBkUNAEMAAAAAQwAAgD8gBioCiAEiG5UgG0MAAAAAWxshLwsgBygCACEGIAAoAiAoAgAhCSAAKAIcKAIAIQggACgCGCgCACEMIAJBDGoiB0EIaiIOIA02AgAgB0EQaiINIBE2AgAgB0EYaiIRIAM2AgAgAiAMNgJEIAJBATYCGCACIAs2AhAgAiAKNgIMIAgoAjwhCiAIKAJAIQMgAiAJNgJMIAIgBjYCSCACIAM2AkAgAiAKIAMoAghBAWtBeHFqQQhqIgg2AjwgAiAQNgIgIAIgBTYCKCAHQSBqIgUgBDYCACACIA82AjAgB0EoaiIEIAE2AgAgAkHYwcEANgI4IAAoAiQiDygCAEEANgJEIA8oAgAhByAAKAIoIhcqAgAhLCACQdAAaiIBQShqIAQpAgA3AwAgAUEgaiAFKQIANwMAIAFBGGogESkCADcDACABQRBqIA0pAgA3AwAgAUEIaiAOKQIANwMAIAIgCTYCkAEgAiAGNgKMASACIAw2AogBIAIgAzYChAEgAiAINgKAASACIAIpAgw3A1AgACgCMCEDIAAoAiwiECgCACEGIBAoAgQiBSgCCCEJIAIgACgCNCgCACkCACI5NwOYASACQQA7AagBIAJCADcDoAEjAEEQayIEJAAgBCAGIAlBAWtBeHFqQQhqIgYgBSgCgAERAAAgAkGwAWoiCSAEKQIIIjunviAEKgIAkyIbIAcpAiQiPKdB/////wdxviIdIBsgHZQgO0IgiKe+IAQqAgSTIh0gPEIgiKdB/////wdxviIclJIiG5STIh4gHpQgHSAcIBuUkyIdIB2UkpG8rSAbvK1CIIaENwIAIARBEGokACACIDk3A7gBIAcgLCABIAYgBSADIAlBAEEAEFchGCACQgA3AsABIAMqAgQhIiADKgIAISUgAyoCDCEnIAMqAgghIwJAAkAgOae+IhsgG5QgOUIgiKe+Ih0gHZSSIhxD/ubbLl4EQCAHKgIEIh4gHiACKgK0AZQgBygCABshNSAHQTxqIQogByoCNCEyIAJB2AFqIQlBayERIActADhBAXEhGUEAIQEDQAJAIAIgGyAckSIblbytIB0gG5W8rUIghoQ3A8gBIBFBAWoiEUUNACACICI4AoQCIAIgJTgCgAIgAiAjIAIpA6ABIjmnvpI4AogCIAIgJyA5QiCIp76SOAKMAiACQYACOwHwAiACIDU4AuwCIAIgGzgC6AIgAkHQAWogAkHQAGogAkGAAmogAkHIAWogBiAFIAJB6AJqEFggAi0A/AFBBEYNAyACQZACaiIBQQhqIAlBCGoiDSkCADcDACABQRBqIAlBEGoiDCkCADcDACABQRhqIAlBGGoiEikCADcDACABQSBqIAlBIGoiFCkCADcDACACIAkpAgA3A5ACIAIgAioCoAEgAioCkAIiGyACKQPIASI5p76UIh2SOAKgASACIAIqAqQBIBsgOUIgiKe+lCIbkjgCpAEgAigC1AEhDiACKALQASELIAIgAioCuAEgHZM4ArgBIAIgAioCvAEgG5M4ArwBICMgAikDoAEiOae+krwhFSAnIDlCIIinvpK8IRYgAikDuAEhOiAHKAJEIgMgBygCPEYEQEEAIQQjAEEgayIBJABBBCAKKAIAIghBAXQiEyAT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IAooAggiBCABKAI8IgVPDQEgASgCOCAEQQN0aiIHKAIAIgUgASgCMCIETw0CIAcoAgQiByAETw0DIAMgASgCLCIBIAdBA3RqKQIANwOgASADIAEgBUEDdGopAgA3A5gBIANBrAFqIANBmAFqIAIQ9QIgAygCuAEiDEEDRg0EIBggAyoCrAEiHZMiGCAYlCAWIAMqArABIh6TIhggGJSSkUP//39/XUUNBCADKAK8ASELIAMoArQBIRIgCigCCCEPCyADIAw2AgwgA0GsAWohEwwDCyAEIAVB5P7CABCwCQALIAUgBEH0/sIAELAJAAsgByAEQYT/wgAQsAkACyATIAs2AgAgAygClAEiAUEhTwRAIAMoAhggAUECdEEEEJ8NCyADKAIMQQNHBEAgACAPNgIQIABBATYCDCAAIBI2AgggACAeOAIEIAAgHTgCACADQcABaiQADwtByPjCABClDQALqBwDGH8CfgJ9IwBB4AFrIgIkAAJAIAEoAgQiBUUEQEECIQEMAQsgASAFQQFrNgIEIAIgASgCACIHNgIIIAACfwJAAkAgBygCBCIFQQRPBEAgByAFQQRrIgE2AgQgByAHKAIAIgNBBGo2AgAgAUEESQRAIAJBADoAMyACQSU7ADEgAkEANgI0IAJBAToAMCACQTBqEMcLDAQLIAMoAAAhECAHIAVBCGsiATYCBCAHIANBCGo2AgACQCABQQRPBEAgAyoABCEcIAcgBUEMayIBNgIEIAcgA0EMajYCACABQQNLDQELIAJBADoAMyACQSU7ADEgAkEANgI0IAJBAToAMCACQTBqEMcLDAQLIAMoAAghESAHIAVBEGsiATYCBCAHIANBEGo2AgAgAkEJNgIMIAFBBEkNASADKAAMIRIgByAFQRRrIgE2AgQgByADQRRqNgIAIAFBBEkEQCACQQA6ADMgAkElOwAxIAJBADYCNCACQQE6ADAgAkEwahDHCwwECyADKAAQIRMgByAFQRhrIgE2AgQgByADQRhqNgIAAkAgAUEETwRAIAMqABQhHSAHIAVBHGsiATYCBCAHIANBHGo2AgAgAUEDSw0BCyACQQA6ADMgAkElOwAxIAJBADYCNCACQQE6ADAgAkEwahDHCwwECyADKAAYIRQgByAFQSBrIgE2AgQgByADQSBqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADKAAcIRUgByAFQSFrIgE2AgQgByADQSFqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADLQAgIRYgByAFQSJrIgE2AgQgByADQSJqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADLQAhIRcgByAFQSNrIgE2AgQgByADQSNqNgIAIAJBBTYCDCABRQRAIAJCgcoANwMwIAJBMGoQxwsMBAsgAy0AIiEYIAcgBUEkazYCBCAHIANBJGo2AgAgAy0AIyEZIAJBMGohASMAQRBrIgQkAAJAIAJBCGoiBSgCBCIDRQRAIAFBADYCAAwBCyAFIANBAWs2AgQCfwJAAkACQAJAAkAgBSgCACIJKAIEIgxBBE8EQCAJIAxBBGsiAzYCBCAJIAkoAgAiCkEEajYCACADQQRJDQEgCigAACEGIAkgDEEIayIDNgIEIAkgCkEIajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgCigABCEIIAkgDEEMayIDNgIEIAkgCkEMajYCACADQQRJDQIgCigACCENIAkgDEEQayIDNgIEIAkgCkEQajYCACADQQRJDQMgCigADCELIAkgDEEUayIDNgIEIAkgCkEUajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgCigAECEPIAkgDEEYayIDNgIEIAkgCkEYajYCACADQQRJDQQgCigAFCEOIAkgDEEcayIDNgIEIAkgCkEcajYCACADQQRJDQUgCigAGCEHIAkgDEEgayIDNgIEIAkgCkEgajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgASAKKAAcNgIgIAEgBzYCHCABIA42AhggASAPNgIUIAEgCzYCECABIA02AgwgASAINgIIIAEgBjYCBCABQQE2AgAgCSAMQSRrNgIEIAkgCkEkajYCACABIAooACA2AiQMBwsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBQsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBAsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAwsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAgsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAQsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsLIQMgAUECNgIAIAEgAzYCBAsgBEEQaiQAIAIoAjQiDyACKAIwIgdBAkYNAxogAkEQaiIDQRhqIAJB0ABqKQIANwMAIANBEGogAUEYaikCADcDACACQRhqIAFBEGopAgA3AwAgAiACKQI4NwMQIAdBAXFFDQIjAEGAAWsiBiQAQRghBwJAIAUoAgQiA0UEQEECIQgMAQsgBSADQQFrNgIEIAYgBSgCADYCICAGQQM2AiQgBkEoaiAGQSBqEKoCIAECfyAGLQBAIg1BA0YEQCAGKAIoDAELIA1BAkcEQCAGQcQAaiAGQSBqEKoCIAYtAFwiC0EDRgRAIAYoAkQMAgsCQAJAAkAgC0ECRwRAIAZB4ABqIAZBIGoQqgIgBi0AeCIIQQJrDgICAQMLQQEgBkH/AGpBhLzBABDNCAwECyAGKAJgDAMLQQIgBkH/AGpBhLzBABDNCAwCCyABIAYpAmA3AjggASAGLwB5OwBRIAEgBikCLDcCBCABQcgAaiAGQeAAaiIFQRBqKQIANwIAIAFBQGsgBUEIaikCADcCACABQdMAaiAGQfsAai0AADoAACABQQxqIAZBKGoiBUEMaikCADcCACABQRRqIAVBFGooAgA2AgAgBigCKCEHIAZBBGoiDkECaiAGQcEAaiIDQQJqLQAAOgAAIAZBF2ogBkHEAGoiBUEQaikCADcAACAGQQ9qIAVBCGopAgA3AAAgAUE3aiAGQd0AaiIFQQJqLQAAOgAAIAEgBS8AADsANSAGIAMvAAA7AQQgBiAGKQJENwAHIAEgDToAGCABIAc2AgAgASALOgA0IAEgBikBBDcAGSABQSFqIA5BCGopAQA3AAAgAUEpaiAOQRBqKQEANwAAIAFBMGogBkEbaigAADYAAEHQACEHDAILQQAgBkH/AGpBhLzBABDNCAs2AgBBAyEICyABIAdqIAg6AAAgBkGAAWokACACKAIwIg4gAi0ASCINQQNGDQMaIAJByAFqIgFBEGogAkHEAGooAgA2AgAgAUEIaiACQTxqKQIANwMAIAJBiAFqIgFBCGogAkHRAGopAAA3AwAgAUEQaiACQdkAaikAADcDACACQaABaiACQeEAaikAADcDACACQagBaiACQekAaikAADcDACACQbABaiACQfEAaikAADcDACACQbgBaiACQfkAaikAADcDACACQb8BaiACQYABaigAADYAACACIAIpAjQ3A8gBIAIgAikASTcDiAECQCANQQJHBEAgAkEwaiACQQhqEN8GIAItADBFDQEgAigCNAwFC0EHQZifwQBB8JfBABDNCAwECwJAIAItADEiAUECRwRAIwBBEGsiCCQAIAJBMGoiBQJ/AkAgAkEIaiILKAIEIgNFBEAgBUEDOgABDAELIAsgA0EBazYCBAJAIAUCfyALKAIAIgsoAgQiA0EDTQRAIAhCgcoANwMAIAgQxwsMAQsgCyADQQRrNgIEIAsgCygCACIDQQRqNgIAIAMoAAAiA0EDSQ0BIAhBAToAACAIIAOtNwMIIAhBuJ/BAEHwl8EAEI0JCzYCBEEBDAILIAUgAzoAAQtBAAs6AAAgCEEQaiQAIAItADBFDQEgAigCNAwFC0EIQZifwQBB8JfBABDNCAwECwJAIAItADEiB0EDRwRAIAJBMGohCCMAQRBrIgskAAJAIAJBCGoiAygCBCIFRQRAIAhCADcDCCAIQgA3AwAMAQsgAyAFQQFrNgIEIAMoAgAiAygCBCIFQQ9NBEAgC0KBygA3AwggC0EIahDHCyEFIAhCADcDCCAIQgI3AwAgCCAFNgIQDAELIAMgBUEQazYCBCADIAMoAgAiBUEQajYCACAFKQAAIRogCCAFKQAINwMYIAggGjcDECAIQgA3AwggCEIBNwMACyALQRBqJAAgAigCQCEFIAIpAzggAikDMCIaQgKFhEIAUg0BIAUMBQtBCUGYn8EAQfCXwQAQzQgMBAsgGqdBAXFFBEBBCkGYn8EAQfCXwQAQzQgMBAsgAkHMAGo1AgAhGiACKQJEIRsgACACKQMQNwI0IAAgAikDyAE3AlggACACKQOIATcAbSAAQcwAaiACQRBqIgNBGGopAwA3AgAgAEHEAGogA0EQaikDADcCACAAQTxqIANBCGopAwA3AgAgAEHgAGogAkHIAWoiA0EIaikDADcCACAAQegAaiADQRBqKAIANgIAIABB9QBqIAJBiAFqIgNBCGop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CSAJKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAFIAoLQQFxIgogC0VxRQRAIAEgCWogGKdB/wBxIg06AAAgCSABQQhrIAxxakEIaiANOgAAIAggCyAKazYCCCAIIAgoAgxBAWo2AgwgCSABQQR0ayIBQRBrIghBCGogBkGIA2opAgA3AgAgCCAGKQKAAzcCAAwBCyAGQQhqIAggCEEQahDPASAIIBYgCCgCACAIKAIEIBYQsgggBkGAA2oQxgghAQsgAUEIayEBIAcoAgghCAsCQAJAIAggASgCACIBSwRAIAcoAgQgAUHUAWxqIQEgACgCKCEHIAAoAiQhCCASLQAADQEgBiAGKgIQIho4AoADIAYgBioCFCIbjDgChAMgBiAbIAYpAxgiFae+IhyUIBogFUIgiKe+Ih2UkzgCjAMgBiAaIByMlCAbIB2UkzgCiAMgCCAGQYADaiAAKAIsIAAoAjAgAiADIAAoAjQiAigCACACKAIEIAQgBSAAKAI4KgIAIAEgBygCKBEUABoMAgsgASAIQaDjwQAQsAkACyAIIAZBEGogAiADIAAoAiwgACgCMCAEIAUgACgCNCICKAIAIAIoAgQgACgCOCoCACABIAcoAigRFAAaCyAGQZADaiQAC/sMAwd/DH0FfiMAQeAFayIGJAAgBCgCCCEJIARBADYCCCAEKAIEIQwCQCAJRQ0AIAlBA3EhByAJQQRPBEAgDEGcA2ohCCAJQXxxIQkDQCAIQfQCayILKAIABEAgC0EANgIACyAIQfgBayILKAIABEAgC0EANgIACyAIQfwAayILKAIABEAgC0EANgIACyAIKAIABEAgCEEANgIACyAIQfADaiEIIAkgCkEEaiIKRw0ACwsgB0UNACAKQfwAbCAMakEoaiEIA0AgCCgCAARAIAhBADYCAAsgCEH8AGohCCAHQQFrIgcNAAsLQ///f38hD0P//3//IRACQCABKAIIIghFBEBD//9//yERQ///f38hDgwBC0P//3//IRFD//9/fyEOAkACQCABKAIEIgcoAixB/////wNxIAcoAhRB/////wNxag4CAgABCyAHKgIQIREgByoCDCEQIAcqAgQhDiAHKgIAIQ8MAQsgByoCECINIAcqAigiESANIBFgGyERIAcqAgwiDSAHKgIkIg4gDSAOYBshECAHKgIEIg0gByoC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aiIIKQMAIQQgCSAAIAcgB0EIaigCACAIQQhqKAIASSADIARUIAMgBFEbIgwbIAlBCGooAgAgAEEIaigCAEkgCSkDACIDIAApAwAiBFQgAyAEURsiDhsiC0EIaigCACEQIAggByAAIA4bIAwbIg1BCGooAgAhEiALKQMAIQMgDSkDACEEIAJByABqIAcgCCAMGyIHQQhqKQMAIgY3AwAgAkFAayIIIAcpAwAiBTcDACACQdAAaiALIA0gECASSSADIARUIAMgBFEbIgcbIgwpAwA3AwAgAkHYAGogDEEIaikDADcDACACQegAaiANIAsgBxsiB0EIaikDADcDACACQeAAaiAHKQMANwMAIAJB8ABqIgcgACAJIA4bIgApAwA3AwAgAkH4AGoiCSAAQQhqKQMANwMAIAEgCCACIBEoAgAgBqdLIAIpAwAiAyAFViADIAVRGyIAGyILKQMANwMAIAFBCGogC0EIaikDADcDACABIAogByAJKAIAIA8oAgBJIAcpAwAiAyAKKQMAIgRUIAMgBFEbIgsbIgkpAwA3A3AgAUH4AGogCUEIaikDADcDACAIIABBBHRqIgkpAwAhAyACIABBAXNBBHRqIgIpAwAhBCABIAkgAiAJQQhqKAIAIAJBCGooAgBJIAMgBFQgAyAEURsiCBsiACkDADcDECABQRhqIABBCGopAwA3AwAgCiALQQR0IgprIQAgByAKakEQayIHKQMAIQMgASAAIAcgB0EIaigCACAAQQhqKAIASSAAKQMAIgQgA1YgAyAEURsiCxsiCikDADcDYCABQegAaiAKQQhqKQMANwMAIAkgCEEEdGoiCSkDACEDIAIgCEEBc0EEdGoiAikDACEEIAEgCSACIAlBCGooAgAgAkEIaigCAEkgAyAEVCADIARRGyIKGyIIKQMANwMgIAFBKGogCEEIaikDADcDACAAIAtBBHQiCGshACAHIAhqQRBrIgcpAwAhAyABIAAgByAHQQhqKAIAIABBCGooAgBJIAApAwAiBCADViADIARRGyIIGyILKQMANwNQIAFB2ABqIAtBCGopAwA3AwAgCSAKQQR0aiIJKQMAIQMgAiAKQQFzQQR0aiICKQMAIQQgASAJIAIgCUEIaigCACACQQhqKAIASSADIARUIAMgBFEbIgobIgspAwA3AzAgAUE4aiALQQhqKQMA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DGogBEEMaikCADcCACADQQRqIARBBGopAgA3AgAgA0E4aiAEQThqKAIANgIAIANBMGogBEEwaikCADcCACADQShqIARBKGopAgA3AgAgA0EgaiAEQSBqKQIANwIAIANB1ABqIARB1ABqKAIANgIAIANBzABqIARBzABqKQIANwIAIANBxABqIARBxABqKQIANwIAIANBPGogBEE8aikCADcCACADQdgAaiAEQdgAaikCADcCACADQeAAaiAEQeAAaikCADcCACADQegAaiAEQegAaikCADcCACADQfAAaiAEQfAAaigCADYCACAAQfAAaiEAIAdB8ABqIQcgAkEEayICDQALCyABIAUgBms2AgALIAkgCykDICIZIAspAzAiGiAKGzcCbCAJIBogGSAKGzcCZAsgC0HAAWokAAuVDAMDfwN+A30jAEGwAmsiCyQAIAsgCjoAHiALIAc4AhggCRDRBQJAAkAgCSgCACIKBEAgC0EQaiAKIAkoAgQoAhwRAAAgC0HgAGogCygCECIMIAsoAhQoAgwRAAAgCykDYEKfwsXrsLDU6op/hSALKQNoQr/TnKSbz4Hwi3+FhEIAUg0BIAwgDC0AGEF/c0EBcSIJOgAYIAsgCToAHyALQSBqIglBCGogAUEIaikCACIONwMAIAsgASkCADcDICALIAsqAiAiBzgCMCALIAsqAiQiEYw4AjQgCyARIA6nviISlCAHIA5CIIinviITlJM4AjwgCyAHIBKMlCARIBOUkzgCOCALQfgBaiAFIAkgBigClAERAQAgCyoCGCIHQwAAAABgRQ0CIAspA/gBIQ4gCyAHIAspA4ACIg+nvpIiETgCSCALIA6nviAHkyISOAJAIAsgByAPQiCIp76SIhM4AkwgCyAOQiCIp74gB5MiBzgCRCALQdgAaiAIQQhqIgEoAgA2AgAgAUEANgIAIAgpAgAhDiAIQoCAgIDAADcCACALIA43A1ACQCACIAQRBAAiDSgCCEUEQEEAIQlBACEKDAELAn8CQCARIA0oAgQiASkCACIOp75gRQ0AIBMgDkIgiKe+YEUNACASIAFBDGopAgAiDqe+X0UNACABIAcgDkIgiKe+Xw0BGgtBAAshCkEAIQkgASgCLEH/////A3FFDQAgESABQRhqIgQpAgAiDqe+YEUNACASIAFBJGopAgAiD6e+XyAH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IAAgGTgCACAAQRxqIAhBKGopAwA3AgAgAEEUaiAIQSBqKQMANwIAIABBDGogCEEYaikDADcCACAAQSdqIAhBDmotAAA6AAAMAQsgACAIKQMQNwIEIAAgCC8BDDsAJSAAIAs6ACQgACAZOAIAIABBHGogCEEoaikDADcCACAAQRRqIAhBIGopAwA3AgAgAEEMaiAIQRhqKQMANwIAIABBJ2ogCEEOai0AADoAAAsgCEHQAWokAAuMCwMJfwV+CH0jAEEQayIDJAACQCAAKAIgIgcgAU0NACAAKAIcIgggAUEDdGoiASgCACECIAFBADYCACACRQ0AIAEoAgQhBSAAIAAoAiRBAWsiATYCJCABRQRAIABBADYCFCAAQQA2AggMAQsgBUEBcyEEAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBAk8EQCAAKAIUIgYgBUEBdiIBTQ0BIAAoAggiBSABTQ0CIAAoAhAiCiABQQJ0aigCACECIAMgACgCBCIJIAFBMGxqIgA2AgggAyAAQRhqNgIMIANBCGogBEEBcUECdGooAgAiBCgCCCEAIAQoAhRB/////wNxQQFHDQQgACAHTw0DIAggAEEDdGoiACgCAEUNAyAAIAI2AgQMCgsgACgCCCIGRQ0EIAMgACgCBCIBNgIIIAMgAUEYaiICNgIMIANBCGogBEECdGoiBCgCACgCFEH/////A3FBAUYEQCAFQQFxRQRAIAEgAikCADcCACABQQhqIAJBCGopAgA3AgAgAUEQaiACQRBqKQIANwIAIAEoAiAiACAHTw0HIAggAEEDdGoiACgCAEEBRw0HIABBADYCBAsgAkIANwIAIAJBEGpCADcCACACQQhqQgA3AgAMDQsgAyACNgIMIAMgATYCCCAEKAIAKAIIIgIgBk8NBiABIAJBMGxqIgIpAgAhDCACQQhqKQIAIQsgAkEYaikCACENIAJBIGopAgAhDiACQShqKQIAIQ8gAUEQaiACQRBqKQIANwIAIAFBKGogDzcCACABQSBqIA43AgAgAUEYaiANNwIAIAFBCGogCzcCACABIAw3AgAgC6chAiABKAIUQf////8DcUEBRgRAIAIgB08NCCAIIAJBA3RqIgIoAgBFDQggAkEANgIEDAwLIAAoAhQiBiACSw0KIAIgBkH41MIAELAJAAsgASAGQajVwgAQ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IAMoAgBBAWo2AgAMAgsgASAINgKMAQwBCwsgAigCCCIJIAEoAqABIgwoAlwiA08NBiAMKAJQIgMgCUsNBCAJIANB/KjDABCwCQALIAFBADYCjAEgByACQQJ0QQQQnw0LIAFBAjYCACAGIARBgANqQbAB/AoAAAsgASgCoANBBEYNBCAEQYADaiABQaADaiIBENoBIAQoAoADRQRAIAFBBDYCAAsgACAEKQKAAzcCACAAQRhqIARBgANqIgFBGGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBCGogAUEIaikCADcCAAwGCyAEQaACaiIGQRhqIAtBGGooAgAiATYCACAGQRBqIAtBEGopAgAiETcDACAGQQhqIAtBCGopAgAiEjcDACAEIAspAgAiEDcDoAIgAEEcaiABNgIAIABBFGogETcCACAAQQxqIBI3AgAgACAQNwIEIAAgAzYCAAwFCyAMKAJMIAlBA3RqKQIAIRMgDCgCWCEHIAEpAqQBIREgASkCrAEhEiAEQegAaiIDIARBoAJqQdwA/AoAACAEQQxqIgIgBEHEAWpB3AD8CgAAIAFBAzYCtAEgDyADQdwA/AoAACABQQM2ApQCIA4gAkHcAPwKAAAgASASpyICIBNCBIYiEKciCEEQaiIDIAIgA0gbIgU2ApwDIAEgEaciAyAIIAMgCEobIgM2ApgDIAEgCTYClAMgASAQQvD///+PfoM3AowDIAEgA60gEUIgiKciAiATQhyIp0FwcSIDIAIgA0obrUIghoQ3AvwCIAEgByAJQQh0ajYC+AIgASAMNgL0AiABIAWtIBJCIIinIgIgEEKAgICAgH6DQoCAgICAAnxCIIinIgMgAiADSButQiCGhDcChAMMAwsgBSADQejSwgAQsAkACyAJIANB7KjDABCwCQALIABBADYCAAwBC0EAIQIMAQsLIARBsARqJAAL+woCDX8DfiMAQfAAayICJAACQAJAAkAgASgCBCIERQRAIABBgICAgHg2AgAMAQsgASAEQQFrNgIEIAEoAgAhASACQQI2AhQgAiABNgIQIAJBQGsiAyACQRBqEJUCIAIoAkQiDCEBAkACQCACKAJAIghBgYCAgHhGDQAgAkEwaiIBIAJB0ABqKAIANgIAIAIgAikCSDcDKAJAAkAgCEGAgICAeEcEQCACQSBqIAEoAgA2AgAg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bGoiEUEEay0AACEYIBFBCGs1AgAhKiARQQxrKAIAIREgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogETYAACAKIAtBBGoiCzYCCCApQgF9ISsgCigCACALa0EHTQRAIAogC0EIQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogKjcAACAKIAtBCGoiDTYCCCApICuDISkgDSAKKAIARgRAIAogDUEBQQFBARDjBCAKKAIIIQ0LIAogDUEBaiILNgIIIAooAgQgDWogGEEBcToAACAPQQFrIg8NAAsMCQsgCigCACAKKAIIIgxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMakECNgAAIAogDEEEaiIMNgIIIA8tABghCyAMIAooAgBGBEAgCiAMQQFBAUEBEOMEIAooAgghDAsgCiAMQQFqIg02AgggCigCBCAMaiALOgAAIA8oAgAiECkDACEpIA8oAgwiD60hKiAKKAIAIA1rQQdNBEAgCiANQQhBAUEBEOMEIAooAgghDQsgCiANQQhqIgs2AgggCigCBCANaiAqNwAAIA9FDQggEEEIaiEMIClCf4VCgIGChIiQoMCAf4MhKQNAIClQBEADQCAQQYABayEQIAwpAwAhKSAMQQhqIQwgKUKAgYKEiJCgwIB/gyIpQoCBgoSIkKDAgH9RDQALIClCgIGChIiQoMCAf4UhKQsgECApeqdBAXRB8AFxayIRQQRrLQAAIRggEUEIazUCACEqIBFBDGsoAgAhDSARQRBrKAIAIREgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogETYAACAKIAtBBGoiCzYCCCAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiANNgAAIAogC0EEaiILNgIIIClCAX0hKyAKKAIAIAtrQQdNBEAgCiALQQhBAUEBEOMEIAooAgghCwsgCigCBCALaiAqNwAAIAogC0EIaiINNgIIICkgK4MhKSANIAooAgBGBEAgCiANQQFBAUEBEOMEIAooAgghDQsgCiANQQFqIgs2AgggCigCBCANaiAYQQFxOgAAIA9BAWsiDw0ACwwICyAKKAIAIAooAggiDGtBA00EQCAKIAxBBEEBQQEQ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CygCBCAKaiApNwAAIAwEQCAMQaABbCEQQQAhDgNAAkACQAJAAkACQCAOIBFqIgsoAgBBAUYEQCASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANakEBNgAAIAogDUEEajYCCCALQQRqKAIAIQwgEigCGCIKKAIIIQ0gCigCACANa0EESQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWogDDYAACAKIA1BBGo2AgggC0GQAWotAAAhDCASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEajYCCCALQTBqIBJBGGoQJiIKDQggC0E4aigCAEEBaw4CAgMBCyASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANakEANgAAIAogDUEEajYCCCASKAIYIQogC0EEaigCAEEBRgRAIAtBCGooAgAhDCAKKAIIIgsgCigCAEYEQCAKIAtBAUEBQQEQ4wQgCigCCCELCyAKKAIEIAtqQQE6AAAgCiALQQFqIgs2AgggCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogDDYAACAKIAtBBGo2AggMBQsgCigCCCILIAooAgBGBEAgCiALQQFBAUEBEOMEIAooAgghCwsgCigCBCALakEAOgAAIAogC0EBajYCCAwECyALQTxqKgIAISwgEigCGCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWpBADYAACAKIA1BBGoiDTYCCCAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCiANQQRqNgIIIAooAgQgDWogLDgAAAwCCyALQTxqKgIAISwgEigCGCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWpBATYAACAKIA1BBGoiDTYCCCAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCiANQQRqNgIIIAooAgQgDWogLDgAAAwBCyALQTxqKAIAIQwgEigCGCIKKAII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QRBGDQEgBEHMAGogBEEsaiAGIAwQtgEgBCgCTEEBRw0BIAACfiAEKgJYIhBDAAAAAF1FBEAgECARX0UNAyAEKQJQDAELIAoEQEMAAAAAIRBCAAwBCyARIAQqAmgiEGBFDQIgBCkCYAs3AgwgACAQOAIIIABBATYCACAAIAEgAkEIdHI2AgQMCQsgAUGAAkGsqcMAELAJAAtD//9/fyEDQ///f38hECAEIAg6AEggBCAJOgBAIAkgFUMAAAAAXXIEQEP//39/IBogGyAJGyAXkyAVlSIQIBBDAAAAAF0bIRALIAggEkMAAAAAXXIEQEP//39/IBwgHSAIGyAYkyASlSIDIANDAAAAAF0bIQMLIBAgEV4gAyARXnENBiADIBBdIgtBAnQiByAEQRBqciIBKAIAIQUgAQJ/IARBPGogC0EDdGotAARFBEAgBSAEQRhqIAdyKAIATA0IQX8MAQsgBSAEQSBqIAdyKAIAQQFrTg0HQQELIAVqNgIAIAQpAxAhHgwACwALIABBAzYCAAwFC0H2u8IAQRxBlLzCABD5CgALIABBAzYCAAwDCyACIAZB/KjDABCwCQALIAIgBkHsqMMAELAJAAsgAEEDNgIACyAEQfAAaiQAC4ILAgZ/AX4jAEGgBmsiAyQAIANBADYCECADQgA3AgggA0KAgICAwAA3AgAgA0H0A2oiBCADEFkgA0EANgKsBCADQgA3AqQEIANCgICAgMAANwKcBCADQbAEaiIFIANBnARqEFkgA0HkAGogBEEIaiIHKQIANwIAIANB7ABqIARBEGopAgA3AgAgA0H0AGogBEEYaikCADcCACADQfwAaiAEQSBqKQIANwIAIANBADYCWCADQgA3AlAgA0KAgICAwAA3AkggA0IENwJAIANCADcCOCADQgQ3AjAgA0IANwIoIANCBDcCICADQgA3AhggA0IENwIQIANCADcCCCADQoCAgICAAjcCACADIAMpAvQDNwJcIANBsAFqIAVBCGoiCCkCADcCACADQbgBaiAFQRBqKQIANwIAIANBwAFqIAVBGGopAgA3AgAgA0HIAWogBUEgaikCADcCACADQQA2AqQBIANCADcCnAEgA0KAgICAwAA3ApQBIANCgICAgHA3AowBIANCgICAgMAANwKEASADQgA3ApQCIANBAToAnQIgA0EANgKQAiADQoCAgIDAADcC0AEgA0IANwLYASADQgQ3AuABIANCADcC6AEgA0IENwLwASADQoCAgIDAADcC+AEgA0IANwKAAiADQgQ3AogCIAMgAykCsAQ3AqgBIANBgANqQQA2AgAgA0H4AmpCADcDACADQaACaiIGQSxqQQA2AgAgA0HEAmpCADcCACAGQRxqQgA3AgAgA0EBOgCcAiAFQQtqQgA3AAAgBEELakIANwAAIANCADcD8AIgA0GAgID8AzYCsAIgA0KAgID8AzcDoAIgA0IANwOoAiADQgA3ArQCIANCADcAswQgA0IANwD3AyADQQA6AIwDIANC////+wc3AoQDIANC////+////7//ADcD6AIgA0L////7BzcD4AIgA0KAgICA8P//v383A9gCIANC////+////7//ADcD0AIgBkH8AGogBUEPaigAADYAACADQZUDaiAIKQAANwAAIAMgAykAsAQ3AI0DIANBADoAqAMgA0L////7BzcDoAMgA0G4A2ogBEEPaigAADYAACADQbEDaiAHKQAANwAAIAMgAykA9AM3AKkDIANBgICA/AM2AtADIANBgAI7AcwDIANBADYCyAMgA0EAOgDEAyADQv////sHNwK8AyADQeQDakEAOgAAIANB3ANqQgA3AgAgA0IANwLUAyADQQxqQQMQgwIgA0EcakEDEIMCIANBLGpBAxCDAiADKAJEIgQgAygCPEYEQCADQTxqIARBAUEEQRAQmgUgAygCRCEECyADKAJAIARBBHRqIgVCADcCCCAFQoCAgIDAADcCACADIARBAWo2AkQgAyADKAKUAkEDaiIFNgKUAgJAIAMoAihBAksEQCADKAIgQQhqQc2Zs+4DNgIAIANB9ANqIANBoAJqIgQQ2wMgA0HQBGogBEHQAfwKAAAgA0HIBGogA0H8A2opAgAiCTcDACADIAk3A7gEIAMgAykC9AMiCTcDsAQgAyAJNwPABCADKAIIIgYgAygCAEYEQCADQdiCwgAQqAYgAygClAIhBQsgAygCBCAGQaACbGoiBCADQbAEakHwAfwKAAAgBEIANwP4ASAEQYACakIANwMAIARBiAJqQgA3AwAgBEGQAmpCADcDACAEQZgCakIANwMAIAQgAjYC9AEgBCABNgLwASADIAZBAWoiATYCCCADQdABaiABIAUQ7gMgAygCCEUNASAAIANBoAL8CgAAIANBoAZqJAAPCyADQQA2AsAEIANBATYCtAQgA0Hg7MEANgKwBCADQgQ3ArgEIANBsARqQejswQAQ3AsAC0EAQQBB6ILCABCwCQAL0gkCGn8CfiMAQTBrIg0kACANQQhqIAEQuQMgASgCMCIPQQN0IQMCQAJAAkACQAJAAkACQAJAIA9B/////wFLDQAgA0H8////B0sNACABKAIsIQQCQCADRQRAQQQhEAwBC0EEIQUgDyEWIANBBBDUDCIQRQ0BCyADBEAgECAEIAP8CgAACyABKAI8IhStQgx+IhynIQRBACEFIBxCIIinDQEgBEH8////B0sNASABKAI4IQMCQCAERQRAQQQhEQwBC0EEIQUgFCEXIARBBBDUDCIRRQ0CCyAEBEAgESADIAT8CgAAC0GAgICAeCEFAkAgASgCQEGAgICAeEYEQEGAgICAeCEVDAELIAEoAkgiA0ECdCECIANB/////wNLDQMgAkH8////B0sNAyABKAJEIQQCQCACRQRAQQQhBgwBC0EEIQcgAyEVIAJBBBDUDCIGRQ0ECyACBEAgBiAEIAL8CgAACyABKAJUIgRBAnQhAiAEQf////8DSw0EIAJB/P///wdLDQQgASgCUCEHAkAgAkUEQEEEIRIMAQtBBCEKIAQhGCACQQQQ1AwiEkUNBQsgAgRAIBIgByAC/AoAAAsgASgCYCIHQQR0IQIgB0H/////AEsNBSACQfz///8HSw0FIAEoAlwhCAJAIAJFBEBBBCEKDAELQQQhCyAHIRkgAkEEENQMIgpFDQYLIAIEQCAKIAggAvwKAAALIAatIAOtQiCGhCEcCyABKAJkQYCAgIB4RwRAIAEoAmwiC0ECdCEDQQAhAiALQf////8DSw0GIANB/P///wdLDQYgASgCaCEIAkAgA0UEQEEEIRNBACEFDAELQQQhAiALIQUgA0EEENQMIhNFDQcLIAMEQCATIAggA/wKAAALIAEoAngiA0ECdCECIANB/////wNLDQcgAkH8////B0sNByABKAJ0IQ4CQCACRQRAQQQhBkEAIQgMAQtBBCEMIAMhCCACQQQQ1AwiBkUNCAsgAgRAIAYgDiAC/AoAAAsgASgChAEiAkECdCEJIAJB/////wNLDQggCUH8////B0sNCCABKAKAASEaAkAgCUUEQEEEIQxBACEO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ASgCJCICKAIIQQFrQXhxakEIaiABIAIoApQBEQEAIAUgBJRDAAAAP5QgASoCNJIiBEMAAAAAYARAIAQgFikDECIZp76SIQUgFikDCCIap74gBJMhBiAEIBlCIIinvpIhCSAaQiCIp74gBJMMAgsMAgsgAioCHCEEIAIqAighBSAWQQhqIgIgASgCICABKAIkIgMoAghBAWtBeHFqQQhqIhcgASADKAKUASIDEQEAIAUgBJRDAAAAP5QgASoCNJIiBEMAAAAAYEUNASAEIBYpAxAiGae+kiEFIBYpAwgiGqe+IASTIQYgBCAZQiCIp76SIQkgGkIgiKe+IASTIgggGEUNABogFiANOAIUIBYgBzgCECAWIBI4AgwgFiATOAIIIBZBGGogFyACIAMRAQAgBSAEIBYpAyAiGae+kiIHIAUgB2AbIQUgBiAWKQMYIhqnviAEkyIHIAYgB18bIQYgCSAEIBlCIIinvpIiByAHIAlfGyEJIAggGkIgiKe+IASTIgQgBCAIYBsLIQggACAJOAIMIAAgBTgCCCAAIAg4AgQgACAGOAIAIBZBMGokAA8LIBZBADYCKCAWQQE2AhwgFkGQx8EANgIYIBZCBDcCICAWQRhqQZjHwQAQ3AsAC70KAwd/A30EfiMAQbABayILJAAgC0EoaiADIAQoArQBEQAAIAsoAiwhDSALKAIoIQwgC0EgaiAGIAcoArQBEQAAAkACQAJAAkACQCAMBEAgCygCICIQDQELIAtBGGogAyAEKAK4AREAACALKAIYIgxFDQEgC0GAAWogDCALKAIcIAEgAiAFIAYgByAIIAkgChBNIAstAKgBIgFBBEcEQCALQdAAaiALQaQBaigCADYCACALQcgAaiALQZwBaikCADcDACALQUBrIAtBlAFqKQIANwMAIAtBOGogC0GMAWopAgA3AwAgC0H2AGogC0GrAWotAAA6AAAgCyALKQKEATcDMCALIAsvAKkBOwF0CyAAIAspAzA3AgAgACABOgAkIAAgCy8BdDsAJSAAQSBqIAtBMGoiAUEgaigCADYCACAAQRhqIAFBGGopAwA3AgAgAEEQaiABQRBqKQMANwIAIABBCGogAUEIaikDADcCACAAQSdqIAtB9gBqLQAAOgAADAQLIAsoAiQhDiAKBH9BAAUgBygCrAEhCiAEKAKsASEPIAcoAqgB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TQRAIABBADYCFCABQQA2AgggB0EoaiIJIANBKGopAgA3AwAgB0EgaiIKIANBIGopAgA3AwAgB0EYaiIIIANBGGopAgA3AwAgB0EQaiIEIANBEGopAgA3AwAgB0EIaiICIANBCGopAgA3AwAgByADKQIANwMAIAEoAgBFBEAgAUGo0cIAEKsGCyAAQQxqIQYgASgCBCIDIAcpAwA3AgAgA0EIaiACKQMANwIAIANBEGogBCkDADcCACADQRhqIAgpAwA3AgAgA0EgaiAKKQMANwIAIANBKGogCSkDADcCACADIAMoAhQiAkH/////B0H/////AyACQf////97SxtxNgIUIAMoAiwiAkH/////A3EiBA0BDAULIAUgASgCCCIESwRAIAEoAgAgBCICayAFIAJrIglJBEAgASACIAlBMBDmBCABKAIIIQILIAEoAgQiCiACQTBsaiEGIAlBAk8EQCAFIARBf3NqQTBsIggEQCAGQQAgCPwLAAsgCiAEQVBsaiACIAVqQTBsakEwayEGIAIgCWpBAWshAgsgBkIANwIAIAZBKGpCADcCACAGQSBqQgA3AgAgBkEYakIANwIAIAZBEGpCADcCACAGQQhqQgA3AgAgAygCFCEGIAJBAWohBQsgAEEYaiEIIAEgBTYCCCAHQQE2AgAgAygCICEEAkAgBkH/////A3FBAUYEQCADQQhqKQIAIQwgAykCACELIAEoAgQiAkEQaiADQRBqKQIANwIAIAIgCzcCACACQQhqIAw3AgAgAkH/////B0H/////AyACKAIUIgJB/////3tLGyACcTYCFAwBCyAAIAEgCCAAKAIQIAAoAhQgAygCCCAHQQAQ1QEgACgCCEUNAgsCQCAAKAIEIgUoAixB/////wNxQQFHBEAgACABIAggACgCECAAKAIUIAQgB0EBENUBDAELIAEoAghFDQMgBUEgaikCACEMIAUpAhghCyABKAIEIgJBKGogBUEoaikCADcCACACQSBqIAw3AgAgAiALNwIYIAEoAghFDQQgASgCBCIEKAIsIgJB/////3tNBEAgBCACQf////8DcTYCLAwBCyAEIAJB/////wdxNgIsCyAAKAIIIgUgBygCACICTwRAIAAgAjYCCCACIQULIAEoAggiBCACTwRAIAEgAjYCCCACIQQLIAIgACgCFEsNBSAAIAI2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IAIqAggiFCAUlJIiFUMAAAAAXkUEQCACIAc2AgAgCiAINgIAQQIhCAwBCyAGIBMgFZEiE5W8rSAUIBOVvK1CIIaENwMoIAZBkANqIgdCADcDUCAHQgA3AxggB0EAOgBsIAdC////+wc3AmQgB0L////7////v/8ANwNIIAdC////+wc3A0AgB0KAgICA8P//v383AzggB0L////7////v/8ANwMwIAdCADcDCCAHQeAAakEANgIAIAdB2ABqQgA3AwAjAEEwayIIQR1qIgtBC2pCADcAACAIQQpqIgxBC2pCADcAACAHQSBqIhFCADcDACAHQShqQgA3AwAgByAGQShqKQIAIhKnIg02AhAgByANNgIAIAcgEkIgiKciDTYCFCAHIA02AgQgCEIANwAgIAhCADcADSAHQv////sHNwOAASAHQQA6AIgBIAdBBjYCqAEgB0GAAjsBrAEgB0L////7BzcCnAEgB0EAOgCkASAHQfwAaiALQQ9qKAAANgAAIAdB9QBqIAtBCGopAAA3AAAgByAIKQAdNwBtIAcgCCkACjcAiQEgB0GRAWogDEEIaikAADcAACAHQZgBaiAMQQ9qKAAANgAAIAZB0AFqIgsgB0EQaiINKQMANwMAIAYgCSkCACISNwOYAyAGIAYpA5ADNwPAASAGIBI3A8gBIAZBMGoiDCAGQbADakGNAfwKAAAgBi8BvgQhCSAGLQC9BCEIIBApAgAhEiADBEAgDSALKQMANwMAIAYgBikDyAE3A5gDIAYgBikDwAE3A5ADIAYgEjcDqAMgESAMQY0B/AoAACAGIAk7Ab4EIAYgCDoAvQQgBiAFOALMBCAGIAQ4AsgEIAcgBkHIBGopAgA3AzAgByAHLQCpAUEBcjoAqQEgBkHgAWoiAyAHQbAB/AoAACALIANBEGopAwA3AwAgBiAGKQPgATcDwAEgBiAGKQPoATcDyAEgBikD+AEhEiAMIANBIGpBjQH8CgAAIAYtAI0DIQggBi8BjgMhCQsgCigCACEDIAIgAigCAEEBazYCACAKIANBAWsiAjYCACACDQAgBkEkahDNCwsgASABKAIAQQFrNgIAIA8gDygCAEEBayIBNgIAIAFFBEAgBkEYahDNCwsgACAAKAIAQQFrNgIAIA4gDigCAEEBayIANgIAIABFBEAgBkEMahDNCwtBACECIAhBAkcEQCAGQaQDaiAGKQPIATcCACAGQZADaiIBQRxqIAZB0AFqKQMANwIAIAYgBikDwAE3ApwDQdABQRAQ1AwiAEUNBCAAQQA2AhAgAEKBgICAEDcDACAAIAYpApADNwIUIAAgEjcDOCAAQRxqIAZBmANqKQIANwIAIABBJGogAUEQaikCADcCACAAQSxqIAZBqANqKQIANwIAIABBNGogBkGwA2ooAgA2AgAgAEFAayAGQTBqQY0B/AoAACAAIAk7Ac4BIAAgCDoAzQEgAEEQaiECCyAGQdAEaiQAIAIPCxCvDQsACxCwDQALQRBB0AFB8PrDACgCACIAQe8HIAAbEQAAAAvTBwIPfwV+IwBBMGsiBSQAIAUgAjYCKCABKAIMIQogBSAFQShqNgIsAkAgCiAKQQFqIgJNBEAgASgCBCILIAtBAWpBA3ZBB2wgC0EISRsiA0EBdiACSQRAAkACQAJAAn8gA0EBaiIDIAIgAiADSRsiAkEPTwRAIAJB/////wFLDQJBfyACQQN0QQduQQFrZ3ZBAWoMAQtBBEEIQRAgAkEISRsgAkEESRsLIgKtQhR+IhJCIIinDQEgEqciA0F4Sw0BIANBB2pBeHEiByACQQhqIgxqIQMgAyAHSQ0BIANB+P///wdLDQEgA0EIENQMIgYNAkEIIANB8PrDACgCACIAQe8HIAAbEQAAAAsQ0AogBSgCJCECIAUoAiAhAwwECxDQCiAFKAIUIQIgBSgCECEDDAMLIAYgB2ohBiAMBEAgBkH/ASAM/AsACyACQQFrIgkgAkEDdkEHbCAJQQhJGyENAkAgCkUEQCABKAIAIQcMAQsgBkEIaiEOIAEoAgAiBykDAEJ/hUKAgYKEiJCgwIB/gyESIAUoAighD0EAIQIgCiEMIAchAwNAIBJQBEADQCACQQhqIQIgA0EIaiIDKQMAQoCBgoSIkKDAgH+DIhJCgIGChIiQoMCAf1ENAAsgEkKAgYKEiJCgwIB/hSESCyAHIBJ6p0EDdiACaiIQQWxsaiIEQRRrKQIAIA8pAwCFIhNCIIgiFCAEQQhrNQIAQrfTsIUMhSIVfiAEQQxrNQIAQt2h8csMhSIWIBNC/////w+DIhN+hSATIBV+IBQgFn6FQiCIhaciESAJcSIEIAZqKQAAQoCBgoSIkKDAgH+DIhNQBEBBCCEIA0AgBCAIaiEEIAhBCGohCCAEIAlxIgQgBmopAABCgIGChIiQoMCAf4MiE1ANAAsLIBJCAX0gEoMhEiATeqdBA3YgBGogCXEiBCAGaiwAAEEATgRAIAYpAwBCgIGChIiQoMCAf4N6p0EDdiEECyAEIAZqIBFBGXYiCDoAACAOIARBCGsgCXFqIAg6AAAgBiAEQX9zQRRsaiIEQRBqIAcgEEF/c0EUbGoiCEEQaigAADYAACAEQQhqIAhBCGopAAA3AAAgBCAIKQAANwAAIAxBAWsiDA0ACwsgASAJNgIEIAEgBjYCACABIA0gCms2AghBgYCAgHghAyALRQ0CIAcgC0EUbEEbakF4cSICayACIAtqQQlqQQgQnw0MAgsgASAFQSxqQaIBQRQQgQJBgYCAgHghAwwBCxDQCiAFKAIMIQIgBSgCCCEDCyAAIAI2AgQgACADNgIAIAVBMGokAAuGCAMSfwV9AX4jAEGgBmsiAyQAIAKnskMAAAA/kiAAKAIAIgYqAkAiFpQhFSABp7JDAAAAP5IgFpQhFiACQiCIp7JDAAAAP5IgBioCRCIXlCEYIAFCIIinskMAAAA/kiAXlCEXAkAgBigCCEUEQAwBCwJ/QQAgFSAGKAIEIgQpAgAiGqe+YEUNABpBACAYIBpCIIinvmBFDQAaIARBACAXIARBDGopAgAiGkIgiKe+XxtBACAWIBqnvl8bCyEFIAQoAixB/////wNxRQ0AIBUgBEEYaiIIKQIAIhqnvmBFDQAgGCAaQiCIp75gRQ0AIBYgBEEkaikCACIap75fIBcgGkIgiKe+X3EhBwsgA0EENgKgAyADQQQ2ArQBIAMgAjcCrAEgAyABNwKkASADIAY2AqABIAMgGDgCnAEgAyAVOAKYASADIBc4ApQBIAMgFjgCkAEgAyAFNgKMASADIAY2AogBIAMgBzYChAEgAyAINgIEIANBADYCACADQYwFaiADEI4BIAMoAowFQQFGBEAgACgCICIHQSVqIQggB0EEaiEEIAAoAhwhCiADQegFaiIFQSVqIQsgBUEEaiEFIAAoAhghDCAAKAIUIQ0gACgCECEOIAAoAgwhDyAAKAIIIRAgACgCBCERA0ACQCADLQCoBUEQRg0AIAYqAkQhFSAGKgJAIRYgAykCmAUhASADIAYpA0AiAqe+QwAAAD+UOAKsBSADIAJCIIinvkMAAAA/lDgCsAUgESgCACIAQQxqKgIAIRggACoCACEXIAAqAgQhGSADIAAqAgggFiABp7JDAAAAP5KUkzgCvAUgAyAZOAK4BSADIBc4ArQFIAMgGCAVIAFCIIinskMAAAA/kpSTOALABSADQZAGaiIAQQhqIAxBCGooAgA2AgAgAyAMKQIANwOQBiADQegFaiAQIANBtAVqIA8gA0GsBWpBtOfCACAOIA0gABBKIAMtAIwGIgBBBUYNACADQcgFaiIJQQhqIhIgBUEIaikCADcDACAJQRBqIhMgBUEQaikCADcDACAJQRhqIgkgBUEYaikCADcDACADQcYFaiIUIAtBAmotAAA6AAAgAyAFKQIANwPIBSADIAsvAAA7AcQFIABBBEYNACADKgLoBSIVIAoqAgBdRQ0AIAogFTgCACAHIBU4AgAgBCADKQPIBTcCACAHIAA6ACQgCCADLwHEBTsAACAEQQhqIBIpAwA3AgAgBEEQaiATKQMANwIAIARBGGogCSkDADcCACAIQQJqIBQtAAA6AAALIANBjAVqIAMQjgEgAygCjAUNAAsLAkAgAygCAEECRg0AIAMoAoQBIgBBIUkNACADKAIIIABBAnRBBBCfDQsgA0GgBmokAAvRBwIPfwV+IwBBMGsiBSQAIAUgAjYCKCABKAIMIQogBSAFQShqNgIsAkAgCiAKQQFqIgJNBEAgASgCBCILIAtBAWpBA3ZBB2wgC0EISRsiA0EBdiACSQRAAkACQAJAAn8gA0EBaiIDIAIgAiADSRsiAkEPTwRAIAJB/////wFLDQJBfyACQQN0QQduQQFrZ3ZBAWoMAQtBBEEIQRAgAkEISRsgAkEESRsLIgKtQhR+IhJCIIinDQEgEqciA0F4Sw0BIANBB2pBeHEiByACQQhqIgxqIQMgAyAHSQ0BIANB+P///wdLDQEgA0EIENQMIgYNAkEIIANB8PrDACgCACIAQe8HIAAbEQAAAAsQ0AogBSgCJCECIAUoAiAhAwwECxDQCiAFKAIUIQIgBSgCECEDDAMLIAYgB2ohBiAMBEAgBkH/ASAM/AsACyACQQFrIgkgAkEDdkEHbCAJQQhJGyENAkAgCkUEQCABKAIAIQcMAQsgBkEIaiEOIAEoAgAiBykDAEJ/hUKAgYKEiJCgwIB/gyESIAUoAighD0EAIQIgCiEMIAchAwNAIBJQBEADQCACQQhqIQIgA0EIaiIDKQMAQoCBgoSIkKDAgH+DIhJCgIGChIiQoMCAf1ENAAsgEkKAgYKEiJCgwIB/hSESCyAPKQMAQoKAgIAQhSITQiCIIhQgByASeqdBA3YgAmoiEEFsbGoiBEEQazUCAEK307CFDIUiFX4gBEEUazUCAELdofHLDIUiFiATQv////8PgyITfoUgEyAVfiAUIBZ+hUIgiIWnIhEgCXEiBCAGaikAAEKAgYKEiJCgwIB/gyITUARAQQghCANAIAQgCGohBCAIQQhqIQggBCAJcSIEIAZqKQAAQoCBgoSIkKDAgH+DIhNQDQALCyASQgF9IBKDIRIgE3qnQQN2IARqIAlxIgQgBmosAABBAE4EQCAGKQMAQoCBgoSIkKDAgH+DeqdBA3YhBAsgBCAGaiARQRl2Igg6AAAgDiAEQQhrIAlxaiAIOgAAIAYgBEF/c0EUbGoiBEEQaiAHIBBBf3NBFGxqIghBEGooAAA2AAAgBEEIaiAIQQhqKQAANwAAIAQgCCkAADcAACAMQQFrIgwNAAsLIAEgCTYCBCABIAY2AgAgASANIAprNgIIQYGAgIB4IQMgC0UNAiAHIAtBFGxBG2pBeHEiAmsgAiALakEJakEIEJ8NDAILIAEgBUEsakHkAkEUEIECQYGAgIB4IQMMAQsQ0AogBSgCDCECIAUoAgghAwsgACACNgIEIAAgAzYCACAFQTBqJAAL3gcDA38HfQN+IwBBQGoiDCQAIAwgACkCCCIYNwMAIAxBKGogASAMIAMRAQAgDC0AMCENIAwoAjghAyAMKAI0IQ4gDCkDKCEXIAwCfiAYp74iEiAMKgIokyIPIA+UIBhCIIinviITIAwqAiyTIhAgEJSSIhRDAAAAAF4EQCAPIBSRIhGVvK0gECARlbytQiCGhAwBC0KAgID8AyASIBKUIBMgE5SSIg9DAAAAAF5FDQAaIBIgD5EiD5W8rSATIA+VvK1CIIaECyIWNwMIIBZCIIinviEPIBanviEQIA1BAXEEQCAMIA+MIg84AgwgDCAQjCIQOAIIIBGMIRELAkACQCARIAQgCZJfRQRAIAooAihFDQEgCkEANgIoDAELIBAgACoCBCIUlCAPIAAqAgAiFZSTIQkgDCAVIBCMlCAPIBSUkyIQvK0gCbytQiCGhDcDEAJAAkAgBQRAIAUgACAMQQhqIAxBEGogBigCFBEQAEUNAQsgB0UNASAHIAAgDEEIaiAMQRBqIAgoAhgREAANAQsgCigCKEUNASAKQQA2AigMAQsgDCkDECIWQiCIp74hDwJAAkACQAJAIBAgFqe+IhBbIAkgD1txRQRAIAwCfiANQQFxRQRAIAwoAghBgICAgHhzrSAMKAIMQYCAgIB4c61CIIaEDAELIAwpAwgLIhY3AyAgDCAYNwMYIAxBKGogASAMQRhqQ///f39BACACEQwAIAwoAigiDkEDRg0BIAwqAjAiCSAWp76UIBKSvK0gCSAWQiCIp76UIBOSvK1CIIaEIRcgCYwgCSANQQFxGyERIAwoAiwhAwtBACEAIA5BAWsOAgEDAgsgCigCKEUNAyAKQQA2AigMAwsgDCADQYCAgIB8cSIANgIYIABFBEAgA0GAgICAfHIhAAwCCyAMQQA2AihBACAMQRhqQazywgAgDEEoakGwncMAEKALAAsgDCADQYCAgIB8cSIANgIYIAANAiADQYCAgIAEciEACyAEIBCUvK0gBCAPlLytQiCGhCEYAkAgC0UEQCAXIRYgGCEXIAAhA0GAgICAfCEADAELQYCAgIB8IQMgGCEWCyARIASTIQQCQCAKKAIoQQFHBEAgCiAANgJEIAogAzYCQCAKIAQ4AjwgCiAXNwI0IAogFjcCLCAKQQE2AigMAQsgCiAANgJEIAogAzYCQCAKIBc3AjQgCiAWNwIsIAogBDgCPAsgCiAMKQMIIhcgDCkDECIWIAsbNwJsIAogFiAXIAsbNwJkCyAMQUBrJAAPCyAMQQA2AihBACAMQRhqQazywgAgDEEoakGgncMAEKALAAvgCAIKfwZ+IwBBMGsiBSQAIAUgAjYCFCAFIAE2AhACQAJAIAEgAkcEQCAAKAIAIgcoAhAiCCABTQ0CIAcoAgwiByABQaABbGoiCSgCAEEBRw0CIAIgCE8NAiAHIAJBoAFsaiIHKAIAQQFHDQIgCSgCBCEDIAcoAgQhByABIAJNBEAgAiEIIAchCSADIQcgASECDAILIAEhCCADIQkMAQsgBUEANgIYQQEgBUEQaiAFQRRqIAVBGGpBkKDCABCgCwALIAAoAgQiAykDECACrSAHrUIghoSFIg1CIIgiDiAJQbfTsIV8c60iD34gDUL/////D4MiDSAIQd2h8ct8c60iEH6FIA0gD34gDiAQfoVCIImFIg5CGYgiEEL/AINCgYKEiJCgwIABfiERIAitIAmtQiCGhCESIAMoAgAhBiADKAIEIgogDqdxIgEhBAJAA0AgBCAGaikAACIPIBGFIg1CgYKEiJCgwIABfSANQn+Fg0KAgYKEiJCgwIB/gyINQgBSBEADQAJAIAYgDXqnQQN2IARqIApxQWxsaiILQRRrKAIAIAJHDQAgC0EQaygCACAHRw0AIAggC0EMaygCAEcNACAJIAtBCGsoAgBGDQQLIA1CAX0gDYMiDUIAUg0ACwsgDyAPQgGGg0KAgYKEiJCgwIB/g1AEQCAMQQhqIgwgBGogCnEhBAwBCwsgBSAAKAIIKAIANgIoIAUgEjcCICAFIAc2AhwgBSACNgIYIAEgBmopAABCgIGChIiQoMCAf4MiDVAEQEEIIQQDQCABIARqIQEgBEEIaiEEIAYgASAKcSIBaikAAEKAgYKEiJCgwIB/gyINUA0ACwsgAygCCCELIAYgDXqnQQN2IAFqIApxIgRqLAAAIgFBAE4EQCAGIAYpAwBCgIGChIiQoMCAf4N6p0EDdiIEai0AACEBCwJAIAFBAXEiASALRXFFBEAgBCAGaiAQp0H/AHEiDDoAACAGIARBCGsgCnFqQQhqIAw6AAAgAyALIAFrNgIIIAMgAygCDEEBajYCDCAGIARBbGxqQRRrIgFBEGogBUEYaiIDQRBqKAIANgIAIAFBCGogA0EIaikCADcCACABIAUpAhg3AgAMAQsgBUEIaiADIANBEGoQwAEgAygCACADKAIEIA4QsggiASADKAIAIgRqIgYtAAAhCiAGIA6nQRl2IgY6AAAgBCADKAIEIAFBCGtxakEIaiAGOgAAIAMgAygCDEEBajYCDCADIAMoAgggCkEBcWs2AgggBCABQWxsakEUayIBIAVBGGoiAykCADcCACABQQhqIANBCGopAgA3AgAgAUEQaiADQRBqKAIANgIACyAAKAIMIgAoAggiAyAAKAIARgRAIABBgKDCABClBgsgACgCBCADQRRsaiIBIAk2AhAgASAINgIMIAEgBzYCCCABIAI2AgQgAUEANgIAIAAgA0EBajYCCAwBCyALQQRrIAAoAggoAgA2AgALIAVBMGokAAvhBwILfwl9IwBBIGsiDCQAAkACQAJAAkACQCAIKAIMIg4gASgClAIiD0EBdCIQIAcoAgAiDWpPBEAgACoCACEYIAIoAowCIAYgDWpqIRMgCCgCBCEIIAMqAhAhHiADKgIAIRkgAyoCBCEfIAMqAgwhHCADKgIIIRsgAy0AGCEWIBAEQCAIIA1BAnRqIgMgEEECdGohDSAQIQAgAyECA0AgDkECdCIUIAJqIhUgAyADIA1GIhEbIhJBADYCACASQQRqIhIgAyAUaiANIBEbIg1GIQMgFSACIBEbIgIgFGoiESASIAMbIhVBADYCACARIAIgAxshAiASIBRqIA0gAxshDSAVIABBAkdBAnRqIQMgAEECayIADQALCyAOQQFGIgAgE0EAR3ENASATQQAgDkEBRyICGyIDIA5PDQEgCCADQQJ0akGAgID8AzYCACAAIA8gE2oiA0EAR3ENAiADQQAgAhsiACAOTw0CIAggAEECdGoiAEGAgID8AzYCACAHKAIAIgMgD2oiAiAPaiAOSw0FIAFB3ABqIAggAkECdGogDxCnASAAKgIAIR0gBSgCAEEBRgRAQwAAAABDAACAPyAYlSAYQwAAAABbGyIaIAUqAgQgBJOUIhcgGiAFKgIIIASTlCIaX0UNBCAaIBcgGSAXIBleGyIZIBkgGl4bIRkLIAsoAgAiAiAKSQ0EIAIgCkGgjsIAELAJAAsMBAsgDEEANgIYIAxBATYCDCAMQYzwwQA2AgggDEIENwIQIAxBCGpB8I3CABDcCwALIAxBADYCGCAMQQE2AgwgDEGM8MEANgIIIAxCBDcCECAMQQhqQYCOwgAQ3AsACyAXIBoQsQkACyAJIAJByABsaiIAQQA7AUQgACAYIB6UIhc4AiwgACAXjDgCKCAAQv////8PNwIgIAAgAzYCHCAAIA82AhggAEIANwIQIAAgASgCmAI2AgwgAEF/NgIIIAAgBjYCBCAAQQE2AgAgAEMAAAAAQwAAgD8gHZUgHYtDCOU8Hl8bOAIwIABDAAAAAEMAAIA/IBggGJQgG5QgGCAclJIiF5UgF4tDCOU8Hl8bIhdDAAAAACAWQQFxIgEbOAJAIABDAAAAACAXIAEbOAI8IAAgBCAfkyAbQwAAAABDAACAPyAYIBuUIBySIgSVIASLQwjlPB5fG5QiBJRDAAAAAJJDAAAAACAEQwAAAABcGyAZkyIEOAI4IAAgBDgCNCAHIAMgEGo2AgAgCyACQQFqNgIAIAxBIGokAA8LIAxBADYCGCAMQQE2AgwgDEHg7MEANgIIIAxCBDcCECAMQQhqQejswQAQ3AsAC+wbAg1+GH8jAEEwayIlJAAgASkDGCIFIAIpAggiCoVC88rRy6eM2bL0AIUiBCABKQMQIgdC4eSV89bs2bzsAIV8IQwgDCAEQhCJhSIEIAVC7d6R85bM3LfkAIUiBiAHQvXKzYPXrNu38wCFfCIFQiCJfCEJIAkgBEIViYVCgICAgICAgIAIhSIEIAUgBkINiYUiBiAMfCIFQiCJfCEMIAwgBEIQiYUiByAFIAZCEYmFIgUgCSAKhXwiBEIgiXwhCSAEIAVCDYmFIgYgDHwiBUIgiUL/AYUgCSAHQhWJhSIEfCEKIAogBEIQiYUiBCAFIAZCEYmFIgYgCUKAgICAgICAgAiFfCIFQiCJfCEHIAcgBEIViYUiBCAFIAZCDYmFIgYgCnwiBUIgiXwhCSAJIARCEImFIgQgBSAGQhGJhSIGIAd8IgVCIIl8IQogCiAEQhWJhSIHIAZCDYkgBYUiBiAJfCIEQiCJfCIFIAZCEYkgBIUiBCAKfCAEQg2JhSIEfCEGIAYgB0IQiSAFhUIViSAEQhGJhSAGQiCIhYUhECABKAIIRQRAICVBCGohJiABQRBqIRgjAEEgayIcJAAgASgCDCIaQQFqIRICQCASIBpPBEAgASgCBCIZQQFqIhtBA3YhFAJAIBkgFEEHbCAZQQhJGyIgQQF2IBJJBEACQAJAAkACfyAgQQFqIhMgEiASIBNJGyITQQ9PBEAgE0H/////AUsNAkF/IBNBA3RBB25BAWtndkEBagwBC0EEQQhBECATQQhJGyATQQRJGwsiE61CHH4iBEIgiKcNASAEpyIUQXhLDQEgFEEHakF4cSIWIBNBCGoiEmohESARIBZJDQEgEUH4////B0sNASARQQgQ1AwiFA0CQQggEUHw+sMAKAIAIgBB7wcgABsRAAAACxDRCiAcKAIcIRMgHCgCGCEWDAULENEKIBwoAgwhEyAcKAIIIRYMBAsgFCAWaiEVIBIEQCAVQf8BIBL8CwALIBNBAWsiFyATQQN2QQdsIBdBCEkbIR8gASgCACESIBoEQCAVQRxrISAgFUEIaiEhIBJBHGshIiASQRRrISMgGCkDCCIGQu3ekfOWzNy35ACFIgUgGCkDACIHQvXKzYPXrNu38wCFfCIEQiCJIQ4gBCAFQg2JhSIEQhGJIQ8gB0Lh5JXz1uzZvOwAhSIMIAR8IQkgBkLzytHLp4zZsvQAhSEKIBIpAwBCf4VCgIGChIiQoMCAf4MhCyASIRZBACETIBohFANAIAtQBEADQCATQQhqIRMgFkEIaiIWKQMAQoCBgoSIkKDAgH+DIgRCgIGChIiQoMCAf1ENAAsgBEKAgYKEiJCgwIB/hSELCyAjIAt6p0EDdiATaiIkQWRsaikAACIHIAqFIgQgDHwgBEIQiYUiBSAOfCEIIAggBUIViYVCgICAgICAgIAIhSIFIAQgCXwiBEIgiXwhDSANIAVCEImFIgUgBCAPhSIGIAcgCIV8IgRCIIl8IQggCCAFQhWJhSIFIAQgBkINiYUiBiANfCIEQiCJQv8BhXwhByAHIAVCEImFIgUgBCAGQhGJhSIGIAhCgICAgICAgIAIhXwiBEIgiXwhCCAIIAVCFYmFIgUgBCAGQg2JhSIGIAd8IgRCIIl8IQcgByAFQhCJhSIFIAQgBkIRiYUiBiAIfCIEQiCJfCEIIAcgBkINiSAEhSIHfCIEQiCJIAggBUIViYUiBnwiBSAHQhGJIASFIgQgCHwgBEINiYUiBHwhByAVIAcgBkIQiSAFhUIViSAEQhGJhSAHQiCIhYWnIhggF3EiEWopAABCgIGChIiQoMCAf4MiBFAEQEEIIR0DQCARIB1qIREgHUEIaiEdIBUgESAXcSIRaikAAEKAgYKEiJCgwIB/gyIEUA0ACwsgC0IBfSALgyELIBUgBHqnQQN2IBFqIBdxIhFqLAAAQQBOBEAgFSkDAEKAgYKEiJCgwIB/g3qnQQN2IRELIBEgFWogGEEZdiIYOgAAICEgEUEIayAXcWogGDoAACAgIBFBZGxqIhhBGGogIiAkQWRsaiIRQRhqKAAANgAAIBhBEGogEUEQaikAADcAACAYQQhqIBFBCGopAAA3AAAgGCARKQAANwAAIBRBAWsiFA0ACwsgASAXNgIEIAEgFTYCACABIB8gGms2AghBgYCAgHghFiAZRQ0BIBkgG0EcbEEHakF4cSITakEJaiIURQ0BIBIgE2sgFEEIEJ8NDAELIAEoAgAhFwJAIBQgG0EHcUEAR2oiFEUNACAUQQFxIRIgFEEBRwRAIBRB/v///wNxIREDQCATIBdqIhQpAwAhBCAUIARCf4VCB4hCgYKEiJCgwIABgyAEQv/+/fv379+//wCEfDcDACAUQQhqIhQpAwAhBCAUIARCf4VCB4hCgYKEiJCgwIABgyAEQv/+/fv379+//wCEfDcDACATQRBqIRMgEUECayIRDQALCyASRQ0AIBMgF2oiEykDACEEIBMgBEJ/hUIHiEKBgoSIkKDAgAGDIARC//79+/fv37//AIR8NwMACwJAAkAgG0EITwRAIBcgG2ogFykAADcAAAwBCyAbBEAgF0EIaiAXIBv8CgAACyAbRQ0BCyAYKQMIIgZC7d6R85bM3LfkAIUiBSAYKQMAIgdC9crNg9es27fzAIV8IgRCIIkhDiAEIAVCDYmFIgRCEYkhDyAHQuHklfPW7Nm87ACFIgwgBHwhCSAXQQhqIR8gF0EUayEkIBdBHGshISAGQvPK0cunjNmy9ACFIQpBASERQQAhEwNAIBMhFCARIRMCQCAUIBdqIiItAABBgAFHDQAgFEFkbCISICFqIRUgEiAkaiEYA0AgGCkAACIHIAqFIgQgDHwgBEIQiYUiBSAOfCEIIAggBUIViYVCgICAgICAgIAIhSIFIAQgCXwiBEIgiXwhDSANIAVCEImFIgUgBCAPhSIGIAcgCIV8IgRCIIl8IQggCCAFQhWJhSIFIAQgBkINiYUiBiANfCIEQiCJQv8BhXwhByAHIAVCEImFIgUgBCAGQhGJhSIGIAhCgICAgICAgIAIhXwiBEIgiXwhCCAIIAVCFYmFIgUgBCAGQg2JhSIGIAd8IgRCIIl8IQcgByAFQhCJhSIFIAQgBkIRiYUiBiAIfCIEQiCJfCEIIAcgBkINiSAEhSIHfCIEQiCJIAggBUIViYUiBnwiBSAHQhGJIASFIgQgCHwgBEINiYUiBHwhByAXIAcgBkIQiSAFhUIViSAEQhGJhSAHQiCIhYWnIiMgGXEiFiIRaikAAEKAgYKEiJCgwIB/gyILUARAQQghHQNAIBEgHWohEiAdQQhqIR0gFyASIBlxIhFqKQAAQoCBgoSIkKDAgH+DIgtQDQALCyAXIAt6p0EDdiARaiAZcSIRaiwAAEEATgRAIBcpAwBCgIGChIiQoMCAf4N6p0EDdiERCyARIBZrIBQgFmtzIBlxQQhPBEAgESAXaiISLQAAIRYgEiAjQRl2IhI6AAAgHyARQQhrIBlxaiASOgAAICEgEUFkbGohESAWQf8BRgRAICJB/wE6AAAgHyAUQQhrIBlxakH/AToAACARQRhqIBVBGGooAAA2AAAgEUEQaiAVQRBqKQAANwAAIBFBCGogFUEIaikAADcAACARIBUpAAA3AAAMAwsgESgAACESIBEgFSgAADYAACAVIBI2AAAgFSgABCESIBUgESgABDYABCARIBI2AAQgESgACCESIBEgFSgACDYACCAVIBI2AAggFSgADCESIBUgESgADDYADCARIBI2AAwgESgAECESIBEgFSgAEDYAECAVIBI2ABAgFSgAFCESIBUgESgAFDYAFCARIBI2ABQgESgAGCESIBEgFSgAGDYAGCAVIBI2ABgMAQsLICIgI0EZdiISOgAAIB8gFEEIayAZcWogEjoAAAsgEyAbSSIUIBNqIREgFA0ACwsgASAgIBprNgIIQYGAgIB4IRYLDAELENEKIBwoAgQhEyAcKAIAIRYLICYgFjYCACAmIBM2AgQgHEEgaiQACyABKAIAIhFBHGshEiABKAIEIhogEKdxIRYgEEIZiCIKQv8Ag0KBgoSIkKDAgAF+IQcgAikCCCEGIAIpAgAhBQNAAn8CQAJAAkAgESAWaikAACIJIAeFIgRCgYKEiJCgwIABfSAEQn+Fg0KAgYKEiJCgwIB/gyIEQgBSBEADQCAFIBJBACAEeqdBA3YgFmogGnFrIhRBHGxqIhMpAgCFIAYgEykCCIWEUA0CIARCAX0gBIMiBEIAUg0ACwsgCUKAgYKEiJCgwIB/gyEEICdFBEAgBFANAyAEeqdBA3YgFmogGnEhHgtBASAEIAlCAYaDUA0DGiARIB5qLAAAIhZBAE4EQCARIBEpAwBCgIGChIiQoMCAf4N6p0EDdiIeai0AACEWCyARIB5qIAqnQf8AcSITOgAAIBEgHkEIayAacWpBCGogEzoAACABIAEoAgggFkEBcWs2AgggASABKAIMQQFqNgIMIBEgHkFkbGpBHGsiASACKQIANwIAIAFBCGogAkEIaikCADcCACABQRBqIAMpAgA3AgAgAUEYaiADQQhqKAIANgIAIABBgICAgHg2AgAMAQsgACARIBRBHGxqQQxrIgEpAgA3AgAgASADKQIANwIAIABBCGogAUEIaiIAKAIANgIAIAAgA0EIaigCADYCAAsgJUEwaiQA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IAEoArABQQR0ayEEIANBAWshAkEAIAEoArwBIgUgAyADIAVIG2shByABKAKkASEDAkADQCACIAdqQX9GDQIgASACQQJqNgK4ASAEQf8BSw0BIAJBAWohAiADIARqIQUgBEEQaiEEIAUtAABBEEYNAAsMAgsgBEGAAkHoqcEAELAJAAsgAUEDNgJgIABBADYCAA8LIAAgBq0gAq1CIIaENwIEIABBATYCAAulBwMJfwp9BH4jAEHgAGsiAiQAIAJBNGoiA0IANwIAIANBCGoiBUIANwIAIAJBIGpCADcDACACQShqQgA3AwAgAkEwakEANgIAIAJBDmogAkHfAGotAAA6AAAgAiACKQI0NwMQIAIgAkE8aikCADcDGCACIAIvAF07AQwgASkDGCEXIAEpAxAhGCABKAI8IQYgAS0AViEHIAEqAighDCABKQMgIRUgASkDCCEWIAEqAgQhDSABKgIAIQ4gA0IANwIAIAVCADcCACABKgJEIQsCQAJAAkAgASgCQEUEQCALIAIqAjRcDQEgASoCSCACKgI4XA0BIAEqAkwgAioCPFwNASABKgJQIAIqAkBbDQIMAQsgC0MAAAAAWw0BC0EUQQQQ1AwiBEUNASAEIAFBQGsiAykCADcCACAEQRBqIANBEGooAgA2AgAgBEEIaiADQQhqKQIANwIACyABKgI4IRAgAS0AWSEFIAEtAFohCCABLQBVIQkgASoCLCERIAEqAjQhEiABKgIwIRMgAS0AVCEKQwAAgL8hCwJAIAEtAFdFBEBBACEDQwAAgL8hDwwBC0EBIQNDzczMPiEPQwAAAD8hCyABLQBYQQFHBEBBACEDDAELQwAAAEAhFEMAAAAAIQxCACEVCyAAIBg3AzAgACAMOAJgIAAgFTcDWCAAIBI4AlQgACATOAJQIAAgBToATSAAQQA6AEwgACAQOAJIIABC////+wc3A0AgAEL/////DzcDKCAAQn83AyAgACAWNwMYIAAgDTgCFCAAIA44AhAgACAWNwMIIAAgDTgCBCAAIA44AgAgACAXNwM4IABB9ABqQQA2AgAgAEHsAGpCADcCACAAQgA3AmQgACAROAJ4IABBADYCfCAAIAQ2AqQBIAAgCjoAqAEgACACKQMQNwOAASAAQYgBaiACKQMYNwMAIABBkAFqIAJBIGopAwA3AwAgAEGYAWogAkEo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viIMkiENIAogCZQgCyAIlJMgAae+IgqSIQsgAyAJIAggBCoCECIQlCAJIAQqAhQiEZSSIAySIA2TIgyUIAggCSAQlCAIIBGUkyAKkiALkyIKlJM4AkQgAyAJIAqUIAggDJSSOAJAIAMgC7ytIA28rUIghoQ3AjggACgCDCEEIAAoAhQqAgAhCCAAKAIQKgIAIQkgA0EANgJ8AkAgDiAPYEUEQCADQYgBaiAEIAcgDyADQQhqIAYgDiADQQRqIAkgCCADQfwAahBLIAMtAKwBIgBBBEYNASADIAMqAogBOAJUDAELIANB1ABqIAQgA0EMaiAOIANBBGogA0EwaiAPIANBCGogCSAIIANB/ABqEEsgAy0AeCEACyADKgJUIQggA0GwAWokAEP//39/IAggAEH/AXFBBEYbC5gJAwl/A34CfSMAQYADayIFJAACQAJAAkACQCAARQ0AIABBCGsiBygCAEEBaiEEIAcgBDYCACAERQ0BIAAoAgAiBEF/Rg0CIAAgBEEBajYCACAFIAc2AgggBSAANgIEIAUgAEEEaiIGNgIAIAFFDQAgAUEIayIIKAIAQQFqIQQgCCAENgIAIARFDQEgASgCACIEQX9GDQIgASAEQQFqNgIAIAUgCDYCFCAFIAE2AhAgBSABQQRqNgIMIAJFDQAgAkEIayIJKAIAQQFqIQQgCSAENgIAIARFDQEgAigCACIEQX9GDQIgAiAEQQFqNgIAIAUgCTYCICAFIAI2AhwgBSACQQRqIgo2AhggA0UNACADQQhrIgsoAgBBAWohBCALIAQ2AgAgBEUNASADKAIAIgRBf0YNAiADIARBAWo2AgAgBSALNgIsIAUgAzYCKCAFIANBBGo2AiQgAyoCBCEQIAMqAgghESAKKQIAIQ8gASkCBCENIAYpAgAhDiAFQdABaiIEQgA3A1AgBEIANwIUIARBADoAbCAEQv////sHNwJkIARC////+////7//ADcDSCAEQv////sHNwNAIARCgICAgPD//79/NwM4IARC////+////7//ADcDMCAEQYCAgPwDNgIQIARCADcDCCAEQoCAgPwDNwMAIARB4ABqQQA2AgAgBEHYAGpCADcDACMAQTBrIgZBHWoiCkELakIANwAAIAZBCmoiDEELakIANwAAIARBHGpCADcCACAEQSRqQgA3AgAgBEEsakEANgIAIAZCADcAICAGQgA3AA0gBEL////7BzcDgAEgBEEAOgCIASAEQQA6AKQBIARC////+wc3ApwBIARBgAI7AawBIARBBzYCqAEgBEH8AGogCkEPaigAADYAACAEQfUAaiAKQQhqKQAANwAAIAQgBikAHTcAbSAEIAYpAAo3AIkBIARBkQFqIAxBCGopAAA3AAAgBEGYAWogDEEPaigAADYAACAFIA43A9gBIAUgDTcD0AEgBSANNwPAASAFIA43A8gBIAVBMGogBUHwAWpBkAH8CgAAIAMgAygCAEEBazYCACALIAsoAgBBAWsiAzYCACADRQRAIAVBLGoQzQsLIAIgAigCAEEBazYCACAJIAkoAgBBAWsiAjYCACACRQRAIAVBIGoQzQsLIAEgASgCAEEBazYCACAIIAgoAgBBAWsiATYCACABRQRAIAVBFGoQzQsLIAAgACgCAEEBazYCACAHIAcoAgBBAWsiADYCACAARQRAIAVBCGoQzQsLIAVB5AFqIAUpA8gBNwIAIAUgBSkDwAE3AtwBQdABQRAQ1AwiAEUNAyAAQQA2AhAgAEKBgICAEDcDACAAIAUpAtABNwIUIAAgDzcDOCAAIBE4AjQgACAQOAIwIABBHGogBUHYAWopAgA3AgAgAEEkaiAFQeABaikCADcCACAAQSxqIAVB6AFqKAIANgIAIABBQGsgBUEwakGQAfwKAAAgBUGAA2okACAAQRBqDwsQrw0LAAsQsA0AC0EQQdABQfD6wwAoAgAiAEHvByAAGxEAAAAL2gYBCX8CQCACIAAoAggiBkkEQCAAKAIEIQcDQAJAIAMgBkkEQCAHIANBMGxqIgNBGGohCQJ/AkACQCAHIAJBMGxqIgIoAhRBgICAgHxxQYCAgIAERwRAQQAhBSADKAIUQYCAgIB8cUGAgICABEcNAQsgAiADEM8KIQUgAigCFEGAgICAfHFBgICAgARGDQELQQAgAygCLEGAgICAfHFBgICAgARHDQEaCyACIAkQzwoLIQggAkEYaiEKAn8CQAJAIAIoAixBgICAgHxxQYCAgIAERwRAQQAhCyADKAIUQYCAgIB8cUGAgICABEcNAQsgCiADEM8KIQsgAigCLEGAgICAfHFBgICAgARGDQELQQAgAygCLEGAgICAfHFBgICAgARHDQEaCyAKIAkQzwoLIQ0gBUUNASADKAIUQf////8DcSEFIAIoAhRB/////wNxQQFGBEAgBUEBRwRAIAcgBiABIAIgAygCCCAEELYDDAMLIAQgAigCCCADKAIIEMQBDAILIAIoAgghDCAFQQFHBEAgACABIAwgAygCCCAEEIACDAILIAcgBiABIAMgDCAEELYDDAELIAMgBkH00MEAELAJAAsCQCAIRQ0AIAMoAixB/////wNxIQUgAigCFEH/////A3FBAUYEQCAFQQFHBEAgByAGIAEgAiADKAIgIAQQtgMMAgsgBCACKAIIIAMoAiAQxAEMAQsgAigCCCEIIAVBAUcEQCAAIAEgCCADKAIgIAQQgAIMAQsgByAGIAEgCSAIIAQQtgMLAkAgC0UNACADKAIUQf////8DcSEFIAIoAixB/////wNxQQFGBEAgBUEBRwRAIAcgBiABIAogAygCCCAEELYDDAILIAQgAigCICADKAIIEMQBDAELIAIoAiAhCCAFQQFHBEAgACABIAggAygCCCAEEIACDAELIAcgBiABIAMgCCAEELYDCyANRQRADwsgAygCLEH/////A3EhBSACKAIsQf////8DcUEBRgRAIAVBAUcEQCAHIAYgASAKIAMoAiAgBBC2Aw8LIAQgAigCICADKAIgEMQBDwsgAigCICECIAVBAUYNAiADKAIgIQMgAiAGSQ0ACwsgAiAGQeTQwQAQsAkACyAHIAYgASAJIAIgBBC2Awv3CAINfwF+IAAoAgAhBgJAIAAoAgRBAWoiD0EDdiAPQQdxQQBHaiIHRQ0AIAdBAXEhDCAHQQFHBEAgB0H+////A3EhBQNAIAQgBmoiBykDACERIAcgEUJ/hUIHiEKBgoSIkKDAgAGDIBFC//79+/fv37//AIR8NwMAIAdBCGoiBykDACERIAcgEUJ/hUIHiEKBgoSIkKDAgAGDIBFC//79+/fv37//AIR8NwMAIARBEGohBCAFQQJrIgUNAAsLIAxFDQAgBCAGaiIHKQMAIREgByARQn+FQgeIQoGChIiQoMCAAYMgEUL//v379+/fv/8AhHw3AwALAn8CQCAPQQhPBEAgBiAPaiAGKQAANwAADAELIA8EQCAGQQhqIAYgD/wKAAALIA8NAEF/IQRBAAwBC0EBIQVBACEHA0AgByEGIAUhBwJAIAAoAgAiBSAGai0AAEGAAUcNACAFIAMg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k5QgEyALIA+TlF5FRg0AIAEgCiAMkyAFKgI4lCALIA2TIAUqAjyUXnMNACAAQoCAgICAgIDAPzcCDCAAQQA2AgggAEIBNwIADAELIAVBzABqIAVBCGogAiADIAQQ5wEgBUHQAGohBkP//39/IQoCf0EDIAUoAkwiB0EDRg0AGkEDIAUqAlQiC0P//39/XUUNABogBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCALIQogBwshASAFQcwAaiAJIAIgAyAEEOcBAkAgBSgCTCIHQQNGDQAgBSoCVCILIApdRQ0AIAVBQGsgBkEIaikCADcDACAFIAYpAgA3AzggByEBIAshCgsgBUHMAGogCCACIAMgBBDnAQJAIAUoAkwiAkEDRg0AIAUqAlQgCl1FDQAgBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCACIQELIAAgATYCACAAIAUpAzg3AgQgAEEMaiAFQUBrKQMANwIACyAFQeAAaiQAC9cEAQZ/IwBBQGoiAiQAIAICf0EAIAEoAgAiA0UNABogAiABKQIYNwIcIAIgASoCFDgCGCACIAEpAgw3AhAgAiABKQIENwIIQQEgA0EcbCIFQQRqIgRBIEYNABogAiABKQI0NwI4IAIgASoCMDgCNCACIAEpAig3AiwgAiABKQIgNwIkQQIgBEE8Rg0AGkHUs8IAEKENQdgAIQNBAyAEQdgARg0AGiAFQfAAayIEQRxuIQYgBEEcSQR/IAFB2ABqBSAGQQFqQf7///8BcSEHQQAhAwNAIAJBBGogA2oiBEHsAGogASADaiIFQewAaikCADcCACAEQegAaiAFQegAaioCADgCACAEQeAAaiAFQeAAaikCADcCACAEQdgAaiAFQdgAaikCADcCACAEQYgBaiAFQYgBaikCADcCACAEQYQBaiAFQYQBaioCADgCACAEQfwAaiAFQfwAaikCADcCACAEQfQAaiAFQfQAaikCADcCACADQThqIQMgB0ECayIHDQALIANB2ABqIgMgAWoLIQEgBkEBcUUEQCACQQRqIANqIgMgASkCFDcCFCADIAEqAhA4AhAgAyABKQIINwIIIAMgASkCADcCAAsgBkEEags2AgQgACACKQIENwIAIABBCGogAkEEaiIBQQhqKQIANwIAIABBEGogAUEQaikCADcCACAAQRhqIAFBGGopAgA3AgAgAEEgaiABQSBqKQIANwIAIABBKGogAUEoaikCADcCACAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKAIANgIAIAJBQGskAAuABQIGfwF+IwBBIGsiAyQAIAAoAlghCCAAKAJcIQcgAyABQoCAgIBwgyIJIAFCAX1C/////w+DhDcDGCADQQxqIAAgA0EYahCuAwJAAkACQCADKAIMQQFHDQAgByADKAIQIgRNDQEgAygCFCIFQYACTw0CIAggBEEIdGogBWoiBC0AACIFQRBGDQAgBCAFQf4BcSACQQFzcjoAAEEAQQIgAhshBgsgAyAJIAFCAXxC/////w+DhDcDGCADQQxqIAAgA0EYahCuAwJAAkACQCADKAIMRQ0AIAcgAygCECIETQ0BIAMoAhQiBUGAAk8NAiAIIARBCHRqIAVqIgQtAAAiBUEQRg0AIAJFBEAgBCAFQQJyOgAAIAZBAXIhBgwBCyAEIAVB/QFxOgAACyADIAFCgICAgBB9NwMYIANBDGogACADQRhqEK4DAkAgAygCDEEBRw0AIAcgAygCECIETQ0DIAMoAhQiBUH/AUsNBCAIIARBCHRqIAVqIgQtAAAiBUEQRg0AIAJFBEAgBCAFQQRyOgAAIAZBCHIhBgwBCyAEIAVB+wFxOgAACyADIAFCgICAgHCDIAFC/////w+DhEKAgICAEHw3AxggA0EMaiAAIANBGGoQrgMCQCADKAIMQQFHDQAgByADKAIQIgRNDQEgAygCFCIFQf8BSw0CIAggBEEIdGogBWoiAC0AACIEQRBGDQAgAkUEQCAAIARBCHI6AAAgBkEEciEGDAELIAAgBEH3AXE6AAALIANBIGokAEEQIAYgAhsPCyAEIAdB7KrDABCwCQALIAVBgAJB/KrDABCwCQALIAQgB0HMqsMAELAJAAsgBUGAAkHcqsMAELAJAAuMBQMOfwF+An0jAEGQAWsiAyQAIAEoAgAoAgAhBCABKAIEIgYoAgBBAUYEQCAGKAIEIgVB//8DcSEJIAVBEHYhCkEBIQULIARBIEkhB0EAIQYgASgCCCIIKAIAQQFGBEAgCCkDCCIRQiCIpyELIBGnIQxBASEGCyAEQQAgBxshCCABKAIMIgQoAgBBAUcEf0EABSAEKQMIIhFCIIinIQ0gEachDkEBCyEEIAEoAhgoAgAhDyABKAIcKAIAIRAgASgCFCgCACEHIAMgASgCECgCADYCOCADQfjAwQA2AiwgAyACNgIoIAMgCDYCJCADIA02AiAgAyAONgIcIAMgBDYCGCADIAs2AhQgAyAMNgIQIAMgBjYCDCADIAk2AgggAyAKNgIEIAMgBTYCACAHKAI8IQQgBygCQCECIAMgEDYCQCADIA82AjwgAyACNgI0IAMgBCACKAIIQQFrQXhxakEIajYCMCABKAIkKAIAIgIqAgAhEiACKgIEIRMgAyABKAIgKAIAKQIANwJMIAMgEzgCSCADIBI4AkQgASgCKCgCACECIAEoAiwoAgAiBCgCACEFIAQoAgQiBCgCCCEGIANBAToAjQEgAyABKAI0LQAAOgCMASADIAEoAjgqAgA4AogBIAMgASgCMCoCADgChAEgA0HUAGoiASADIANBxABqIAIgBSAGQQFrQXhxakEIaiAEIANBhAFqEFgCQCADLQCAAUEERwRAIAAgAykCXDcCCCAAIAMpAlQ3AgAgAEEQaiABQRBqKQIANwIAIABBGGogAUEYaikCADcCACAAQSBqIAFBIGopAgA3AgAgAEEoaiABQShqKQIANwIADAELIABBBDoALAsgA0GQAWokAAvoBAMHfwF+An0gAUEEaiEGIAFBhAFqIQcgAigCACEIAkACQANAIAEoAowBIgJFBEAgBiEEIAciAygCACICQSFPBEAgASgCCCEEIAYhAyABKAIEIQILIAJFDQMgAyACQQFrIgI2AgAgBCACQQJ0aigCACECCyABQQA2AowBIAIoAhRB/////wNxQQFHBEAgAigCCCIEIAEoAogBIgMoAggiAk8NAiADKAIEIARBMGxqIgJBGGohCSABKgKcASELQQEhAwJAIAEqApgBIgwgAikCACIKp75gRQ0AIAsgCkIgiKe+YEUNACABKgKQASACQQxqKQIAIgqnvl9FDQAgASoClAEgCkIgiKe+X0UNACABIAI2AowBQQAhAwsgDCAJKQIAIgqnvmBFDQEgCyAKQiCIp75gRQ0BIAEqApABIAJBJGopAgAiCqe+X0UNASABKgKUASAKQiCIp75fRQ0BIANFBEACfyAHKAIAIgVBIUkEQCAFIQIgBiEEQSAhBSAHDAELIAEoAgQhAiABKAIIIQQgBgshAyACIAVGBH8gARCUAyABKAIIIQQgBiED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f39dRQ0AGiAFQUBrIAZBCGopAgA3AwAgBSAGKQIANwM4IAohCSAECyEBIAVBKGohCCAFQcwAaiAHIAIgA0EAEOcBAkAgBSgCTCIEQQNGDQAgBSoCVCIKIAldRQ0AIAVBQGsgBkEIaikCADcDACAFIAYpAgA3AzggBCEBIAohCQsgBUHMAGogCCACIANBABDnAQJAIAUoAkwiAkEDRg0AIAUqAlQgCV1FDQAgBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCACIQELIAAgATYCACAAIAUpAzg3AgQgAEEMaiAFQUBrKQMANwIACyAFQeAAaiQAC+MHAgh/AX4jAEGAA2siAyQAAkACQAJAAkAgAEUNACAAQQhrIgUoAgBBAWohAiAFIAI2AgAgAkUNASAAKAIAIgJBf0YNAiAAIAJBAWo2AgAgAyAFNgIQIAMgADYCDCADIABBBGoiCTYCCCABRQ0AIAFBCGsiBigCAEEBaiECIAYgAjYCACACRQ0BIAEoAgAiAkF/Rg0CIAEgAkEBajYCACADIAY2AhwgAyABNgIYIAMgAUEEajYCFCADQdABaiICQgA3A1AgAkIANwIUIAJBADoAbCACQv////sHNwJkIAJC////+////7//ADcDSCACQv////sHNwNAIAJCgICAgPD//79/NwM4IAJC////+////7//ADcDMCACQYCAgPwDNgIQIAJCADcDCCACQoCAgPwDNwMAIAJB4ABqQQA2AgAgAkHYAGpCADcDACMAQTBrIgRBHWoiB0ELakIANwAAIARBCmoiCEELakIANwAAIAJBHGpCADcCACACQSRqQgA3AgAgAkEsakEANgIAIARCADcAICAEQgA3AA0gAkL////7BzcDgAEgAkEAOgCIASACQQA6AKQBIAJC////+wc3ApwBIAJBgAI7AawBIAJBAzYCqAEgAkH8AGogB0EPaigAADYAACACQfUAaiAHQQhqKQAANwAAIAIgBCkAHTcAbSACIAQpAAo3AIkBIAJBkQFqIAhBCGopAAA3AAAgAkGYAWogCEEPaigAADYAACADQcABaiACQRBqKQMANwMAIAMgCSkCACIKNwPYASADIAMpA9ABNwOwASADIAo3A7gBIANBIGogA0HwAWpBjQH8CgAAIAMvAf4CIQQgAy0A/QIhAiABIAEoAgBBAWs2AgAgASkC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IAAoAgxBAWo2AgwgBEEAIA5rIghBDGxqIgBBDGsgATYCACAAQQhrIAI2AgALIAQgCEEMbGpBBGsgAzgCACARQRBqJAAPC0EACyEQIBlBCGoiGSAFaiAKcSEFDAALAAutBwIIfwF+IwBBgANrIgQkAAJAAkACQAJAIAFFDQAgAUEIayIGKAIAQQFqIQMgBiADNgIAIANFDQEgASgCACIDQX9GDQIgASADQQFqNgIAIAQgBjYCECAEIAE2AgwgBCABQQRqIgo2AgggAkUNACACQQhrIgcoAgBBAWohAyAHIAM2AgAgA0UNASACKAIAIgNBf0YNAiACIANBAWo2AgAgBCAHNgIcIAQgAjYCGCAEIAJBBGo2AhQgBEHQAWoiA0IANwNQIANCADcCFCADQQA6AGwgA0L////7BzcCZCADQv////v///+//wA3A0ggA0L////7BzcDQCADQoCAgIDw//+/fzcDOCADIAA4AjQgA0GAgID8AzYCECADQgA3AwggA0KAgID8AzcDACADQeAAakEANgIAIANB2ABqQgA3AwAjAEEwayIFQR1qIghBC2pCADcAACAFQQpqIglBC2pCADcAACADQRxqQgA3AgAgA0EkakIANwIAIANBLGpCADcCACAFQgA3ACAgBUIANwANIANC////+wc3A4ABIANBADoAiAEgA0EAOgCkASADQv////sHNwKcASADQYCCgBg2AqgBIANBgAI7AawBIANB/ABqIAhBD2ooAAA2AAAgA0H1AGogCEEIaikAADcAACADIAUpAB03AG0gAyAFKQAKNwCJASADQZEBaiAJQQhqKQAANwAAIANBmAFqIAlBD2ooAAA2AAAgBEHAAWogA0EQaikDADcDACAEIAopAgAiCzcD2AEgBCAEKQPQATcDsAEgBCALNwO4ASAEQSBqIARB8AFqQZAB/AoAACACIAIoAgBBAWs2AgAgAikCBCELIAcgBygCAEEBayICNgIAIAJFBEAgBEEcahDNCwsgASABKAIAQQFrNgIAIAYgBigCAEEBayIBNgIAIAFFBEAgBEEQahDNCwsgBEHkAWogBCkDuAE3AgAgBEHQAWoiAkEcaiAEQcABaikDADcCACAEIAQpA7ABNwLcAUHQAUEQENQMIgFFDQMgAUEANgIQIAFCgYCAgBA3AwAgASAEKQLQATcCFCABIAs3AzggAUEcaiAEQdgBaikCADcCACABQSRqIAJBEGopAgA3AgAgAUEsaiAEQegBaikCADcCACABQTRqIARB8AFqKAIANgIAIAFBQGsgBEEgakGQAfwKAAAgBEGAA2okACABQRBqDwsQrw0LAAsQsA0AC0EQQdABQfD6wwAoAgAiAUHvByABGxEAAAALlQQCDn8BfSMAQSBrIgQkAEEEIQcCQCADKAIMIgVFBEBBACEDDAELIAMoAgAiCCADKAIIIgxGIQYgAygCBCINIAMoAhAiEEECdCIOaiIPIAggBhsiCUUEQEEAIQMMAQtBBCAFIAVBBE0bIgpBAnQhAwJAAkAgBUH/////A0sNACADQfz///8HSw0AIAkqAgAhEkEEIQsgA0EEENQMIgdFDQAgByASOAIAQQEhAyAEQQE2AhAgBCAHNgIMIAQgCjYCCCAFQQFrIhENAQwCCyALIANBjM7BABD5CwALIAggDmogDCAGGyELIA8gDSAGGyEIIAkgEUEAR0ECdGohBiAFQQJrIQVBBCEJAn8DQCAEKAIIIgogEEECdCIOIAhqIg8gBiAGIAtGIgwbIg1FDQEaIA0qAgAhEiAGIA5qIAsgDBshCyAPIAggDBshCCAFQQBHQQJ0IA1qIQYgAyAKRgRAIARBCGogAyAFQQFqQQRBBBCaBSAEKAIMIQcLIAcgCWogEjgCACAEIANBAWoiAzYCECAJQQRqIQkgBUEBayIFQX9HDQALIAQoAggLIQogBCgCDCEHCyABIAJsIANHBEAgBEEANgIYIARBATYCDCAEQZTIwQA2AgggBEIENwIQIARBCGpBnMjBABDcCwALIAAgAjYCECAAIAE2AgwgACADNgIIIAAgBzYCBCAAIAo2AgAgBEEgaiQAC7sEAgx/BX4jAEGQAWsiAiQAIAJBBGogAUHgAGoiAxC0AyABKAJgBEAgA0EANgIACyABKALQASEGIAEoAswBIQcgASkCxAEhDyABKQK8ASEQIAJB4ABqIgNBEGogAUEQaigCADYCACADQQhqIAFBCGopAgA3AwAgAiABKQIANwNgIAJB+ABqIgNBEGogAUEkaigCADYCACADQQhqIAFBHGopAgA3AwAgAiABKQIUNwN4IAEoAkgiA61CMH4iDqchBAJAIA5CIIinDQAgBEHw////B0sNACABKAJEIQggASkCUCEO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gICAgHhHDQILIABBgYCAgHg2AgAgACADNgIEDAILQQQgBkGkmMEAEPkLAAsgACAENgIIIAAgAzYCBCAAIAE2AgALIAJBIGokAAudBAEFfyMAQeAAayICJAACQAJAAkAgAARAIABBEGsiASgCACIEQQFqIQMgASADNgIAIANFDQEgACgCAA0CIAAoAswEIQMgAEECNgLMBCABIAQ2AgBBACEBIANBAkcEQCACQQhqIgFBEGoiBCAAQeAEaikDADcDACABQQhqIgUgAEHYBGopAwA3AwAgAiAAKQPQBDcDCCACQSBqIgFBPGogAEHIBGooAgA2AgAgAUE0aiAAQcAEaikCADcCACABQSxqIABBuARqKQIANwIAIAFBJGogAEGwBGopAgA3AgAgAUEcaiAAQagEaikCADcCACABQRRqIABBoARqKQIANwIAIAJBLGogAEGYBGopAgA3AgAgAiAAKQKQBDcCJEHoAEEIENQMIgBFDQQgAEEANgIIIABCgYCAgBA3AwAgACACKQIgNwIMIABBFGogAUEIaikCADcCACAAQRxqIAFBEGopAgA3AgAgAEEkaiACQThqKQIANwIAIABBLGogAkFAaykCADcCACAAQTRqIAJByABqKQIANwIAIABBPGogAkHQAGopAgA3AgAgAEHEAGogAkHYAGopAgA3AgAgACADNgJMIABB4ABqIAQpAwA3AwAgAEHYAGogBSkDADcDACAAIAIpAwg3A1AgAEEIaiEBCyACQeAAaiQAIAEPCxCvDQsACxCwDQALQQhB6ABB8PrDACgCACIAQe8HIAAbEQAAAAudBAEFfyMAQeAAayICJAACQAJAAkAgAARAIABBEGsiASgCACIEQQFqIQMgASADNgIAIANFDQEgACgCAA0CIAAoAqQFIQMgAEECNgKkBSABIAQ2AgBBACEBIANBAkcEQCACQQhqIgFBEGoiBCAAQbgFaikDADcDACABQQhqIgUgAEGwBWopAwA3AwAgAiAAKQOoBTcDCCACQSBqIgFBPGogAEGgBWooAgA2AgAgAUE0aiAAQZgFaikCADcCACABQSxqIABBkAVqKQIANwIAIAFBJGogAEGIBWopAgA3AgAgAUEcaiAAQYAFaikCADcCACABQRRqIABB+ARqKQIANwIAIAJBLGogAEHwBGopAgA3AgAgAiAAKQLoBDcCJEHoAEEIENQMIgBFDQQgAEEANgIIIABCgYCAgBA3AwAgACACKQIgNwIMIABBFGogAUEIaikCADcCACAAQRxqIAFBEGopAgA3AgAgAEEkaiACQThqKQIANwIAIABBLGogAkFAaykCADcCACAAQTRqIAJByABqKQIANwIAIABBPGogAkHQAGopAgA3AgAgAEHEAGogAkHYAGopAgA3AgAgACADNgJMIABB4ABqIAQpAwA3AwAgAEHYAGogBSkDADcDACAAIAIpAwg3A1AgAEEIaiEBCyACQeAAaiQAIAEPCxCvDQsACxCwDQALQQhB6ABB8PrDACgCACIAQe8HIAAbEQAAAAuVBAILfwN+IwBBEGsiByQAIAEpAxAhDiABLQAYIQsCfyABKAIEIgVFBEBBsL7CACEDQQAhBUEADAELAn8CQCAFQQFqrUIMfiINQiCIpw0AIA2nIgJBeEsNACAFQQlqIgQgAkEHakF4cSIDaiECIAIgA0kNACACQfj///8HSw0AIAJBCBDUDCIGRQRAQQggAkHw+sMAKAIAIgBB7wcgABsRAAAACyADIAZqDAELENAKIAcoAgAiBUEJaiEEQQALIQMgASgCACECIAQEQCADIAIgBPwKAAALIAEoAgwiCARAIAJBCGohBCACKQMAQn+FQoCBgoSIkKDAgH+DIQ0gCCEJIAIhBgNAIA1QBEADQCAGQeAAayEGIAQpAwAhDSAEQQhqIQQgDUKAgYKEiJCgwIB/gyINQoCBgoSIkKDAgH9RDQALIA1CgIGChIiQoMCAf4UhDQsgBiANeqdBA3ZBdGxqIgpBDGspAgAhDyADIAIgCmtBdG1BDGxqIgxBBGsgCkEEay0AADoAACAMQQxrIA83AgAgDUIBfSANgyENIAlBAWsiCQ0ACwsgASgCCAshAkEgQQgQ1AwiAQRAIAEgCzoAGCABIA43AxAgASAINgIMIAEgAjYCCCABIAU2AgQgASADNgIAIABBuNnCADYCBCAAIAE2AgAgB0EQaiQADwtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAALlQQCC38DfiMAQRBrIgckACABKQMQIQ4gAS0AGCELAn8gASgCBCIFRQRAQbC+wgAhA0EAIQVBAAwBCwJ/AkAgBUEBaq1CDH4iDUIgiKcNACANpyICQXhLDQAgBUEJaiIEIAJBB2pBeHEiA2ohAiACIANJDQAgAkH4////B0sNACACQQgQ1AwiBkUEQEEIIAJB8PrDACgCACIAQe8HIAAbEQAAAAsgAyAGagwBCxDQCiAHKAIAIgVBCWohBEEACyEDIAEoAgAhAiAEBEAgAyACIAT8CgAACyABKAIMIggEQCACQQhqIQQgAikDAEJ/hUKAgYKEiJCgwIB/gyENIAghCSACIQYDQCANUARAA0AgBkHgAGshBiAEKQMAIQ0gBEEIaiEEIA1CgIGChIiQoMCAf4MiDUKAgYKEiJCgwIB/UQ0ACyANQoCBgoSIkKDAgH+FIQ0LIAYgDXqnQQN2QXRsaiIKQQxrKQIAIQ8gAyACIAprQXRtQQxsaiIMQQRrIApBBGstAAA6AAAgDEEMayAPNwIAIA1CAX0gDYMhDSAJQQFrIgkNAAsLIAEoAggLIQJBIEEIENQMIgEEQCABIAs6ABggASAONwMQIAEgCDYCDCABIAI2AgggASAFNgIEIAEgAzYCACAAQYTfwgA2AgQgACABNgIAIAdBEGokAA8LQQhBIEHw+sMAKAIAIgBB7wcgABsRAAAAC7MEAgV9An8gACgCOCIKKAIIIQkgCigCACAJa0EBTQRAIAogCUECQQRBBBDjBCAKKAIIIQkLIAooAgQgCUECdGogASkCADcCACAKIAlBAmoiCTYCCCAKKAIAIAlrQQFNBEAgCiAJQQJBBEEEEOMEIAooAgghCQsgCiAJQQJqNgIIIAooAgQgCUECdGogAikCADcCACADKgIMIQQgAyoCCCEFIAMqAgQhByADKgIAIQYgACgCPCIAKAIIIQMgACgCACADa0EHTQRAIAAgA0EIQQRBBBDjBCAAKAIIIQMLIAAgA0EIajYCCCAAKAIEIANBAnRqIgAgBDgCHCAAIAQ4AgwgBiAGQwAAtEOVjkMAALRDlJNDAABwQpUiBEMAAAA/lI4hBiAAIAUgB0MAAIA/IAUgBZJDAACAv5KLk5QiBUMAAAA/lJMiByAFQwAAgD8gBCAGIAaSk0MAAIC/kouTlCIGIAYgBSAFQwAAAAAgBEMAAABAXSAEQwAAgD9gcSIBGyAEQwAAQEBdIARDAAAAQGBxIgMbIARDAACAQF0gBEMAAEBAYHEiAhsgBEMAAIA/XSAEQwAAAABgcSIJG5IiCDgCFCAAIAcgBiAGQwAAAABDAAAAACAFIAMbIAIbIARDAACgQF0gBEMAAIBAYHEiAxsgARuSIgQ4AhAgACAIOAIEIAAgBDgCACAAIAdDAAAAAEMAAAAAIAUgBSAGIAIbIAMbIAEbIAkbkiIEOAIYIAAgBDgCCAvSAwMJfQJ+AX8gAwRAAn8gASkCACIOp74gACoCACIIkyIFIAWUIA5CIIinviAAKgIEIgqTIgYgBpSSIgdDAAAAAF5FBEBBACEBQQAMAQsgBiAHkSILlbwhASAFIAuVvAshEAJAIAIpAgAiDqe+IAiTIgUgBZQgDkIgiKe+IAqTIgYgBpSSIghDAAAAAF5FDQAgB0MAAAAAXkUNACAAKQIAIQ9DAACAPyADsyIKlSAGIAiRIgaVIgcgEL4iCJQgBSAGlSIFIAG+IgmUkyAFIAiUIAcgCZSSEMMNlCIHEL4BIQUgBxC7ASEHIANBAWsiAkUNACAGIAuTIAqVIQYgBCgCCCIAQQN0IQMgEK0gAa1CIIaEIQ4gD0IgiKe+IQggD6e+IQoDQCAHIA6nviIJlCAFIA5CIIinviIMlJIiDbytQiCGIQ4gBSAJlCAHIAyUkyIJvK0hDyAGIAuSIgsgDZQgCJIhDCALIAmUIAqSIQkgBCgCACAARgRAIARBgLTDABDJBgsgDiAPhCEOIAQgAEEBaiIANgIIIAQoAgQgA2oiASAJOAIAIAFBBGogDDgCACADQQhqIQMgAkEBayICDQALCw8LQdCzwwBBHkHws8MAEPkKAAuRBQIHfwN+IwBB0ABrIgUkAAJAAkACQAJAIABFDQAgAEEIayIHKAIAQQFqIQQgByAENgIAIARFDQEgACgCACIEQX9GDQIgACAEQQFqNgIAIAUgBzYCHCAFIAA2AhggBSAAQQRqIgY2AhQgAUUNACABQQhrIggoAgBBAWohBCAIIAQ2AgAgBEUNASABKAIAIgRBf0YNAiABIARBAWo2AgAgBSAINgIoIAUgATYCJCAFIAFBBGoiCjYCICACRQ0AIAJBCGsiCSgCAEEBaiEEIAkgBDYCACAERQ0BIAIoAgAiBEF/Rg0CIAIgBEEBajYCACAFIAk2AjQgBSACNgIwIAUgAkEEajYCLCAFIAYpAgA3AzggBSAKKQIANwNAIAUgAikCBDcDSCAFQQhqIQYgBUHIAGopAgAhCyAFQUBrKQIAIQwgBUE4aikCACENQSRBBBDUDCIERQRAQQRBJEHw+sMAKAIAIgBB7wcgABsRAAAACyAEIAM4AiAgBCALNwIYIAQgDDcCECAEIA03AgggBEKBgICAEDcCACAGQfSfwwA2AgQgBiAENgIAIAUoAgwhBCAFKAIIIQYgAiACKAIAQQFrNgIAIAkgCSgCAEEBayICNgIAIAJFBEAgBUE0ahDNCwsgASABKAIAQQFrNgIAIAggCCgCAEEBayIBNgIAIAFFBEAgBUEoahDNCwsgACAAKAIAQQFrNgIAIAcgBygCAEEBayIANgIAIABFBEAgBUEcahDNCwtBFEEEENQMIgBFDQMgACAGNgIMIABBADYCCCAAQoGAgIAQNwIAIAAgBDYCECAFQdAAaiQAIABBCGoPCxCvDQsACxCwDQALQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAAC9UDAwJ/BH0CfiMAQUBqIgYkACAGIAEpAgg3AwggASoCDCEIIAEqAgghCSAGQSBqIgcgAiAGQQhqIAMoAjARAQAgBkEYaiAHQQhqKAIANgIAIAYgBikCICIMNwMQAn4gDKe+IAmTIgkgCZQgDEIgiKe+IAiTIgggCJSSIgpDAACAKF4EQCAIIAqRIgiVIQogCSAIlSEJIAYtABhFBEAgCCAEkyEIIAm8QYCAgIB4c60gCrxBgICAgHhzrUIghoQMAgsgCIwgBJMhCCAJvK0gCrytQiCGhAwBCyAGKgIUIQkgBioCECEKIAZBNGogAiAGKAIsIAYoAjAgBkEQaiADKALAAREHACAEjCEIIAYoAjRFBEBCgICAgICAgMA/IAogCpQgCSAJlJIiC0MAAIAoXkUNARogCiALkSIKlbytIAkgCpW8rUIghoQMAQsgBikCOAshDUEAIQMgACAFIAhgBH8gACAIOAIkIAAgDTcCFCAAIAw3AgQgACAEIAEqAgQiBSANp74iCJQgASoCACIJIA1CIIinviIKlJMiC5Q4AhAgACAEIAkgCIyUIAUgCpSTIgSUOAIMIAAgBLytIAu8rUIghoQ3AhxBAQVBAAs2AgAgBkFAayQAC4wEAgl/AX4jAEFAaiIFJAACQAJAAkACQCAARQ0AIABBCGsiCSgCAEEBaiEHIAkgBzYCACAHRQ0BIAAoAgAiB0F/Rg0CIAAgB0EBajYCACAFIAk2AhQgBSAANgIQIAUgAEEEaiIKNgIMIAJFDQAgAkEIayIHKAIAQQFqIQggByAINgIAIAhFDQEgAigCACIIQX9GDQIgAiAIQQFqNgIAIAUgBzYCICAFIAI2AhwgBSACQQRqIgs2AhggA0UNACADQQhrIggoAgBBAWohBiAIIAY2AgAgBkUNASADKAIAIgZBf0YNAiADIAZBAWo2AgAgBSAINgIsIAUgAzYCKCAFIANBBGo2AiQgCiABvSIOpyAOQiCIpxDmCiIGRQ0DIAYoAiAhCiAGKAIkIgwoAgghDSALKQIAIQ4gBSADKQIENwM4IAUgDjcDMCAKIA1BAWtBeHFqQQhqIAYgBUEwaiAEIAwoAiAREwAhBiADIAMoAgBBAWs2AgAgCCAIKAIAQQFrIgM2AgAgA0UEQCAFQSxqEM0LCyACIAIoAgBBAWs2AgAgByAHKAIAQQFrIgI2AgAgAkUEQCAFQSBqEM0LCyAAIAAoAgBBAWs2AgAgCSAJKAIAQQFrIgA2AgAgAEUEQCAFQRRqEJILCyAFQUBrJAAgBg8LEK8NCwALELANAAtBnL/BAEHMAEHov8EAEPgJAAuKBQIHfwN+IwBB0ABrIgMkAAJAAkACQAJAIABFDQAgAEEIayIGKAIAQQFqIQQgBiAENgIAIARFDQEgACgCACIEQX9GDQIgACAEQQFqNgIAIAMgBjYCHCADIAA2AhggAyAAQQRqIgU2AhQgAUUNACABQQhrIgcoAgBBAWohBCAHIAQ2AgAgBEUNASABKAIAIgRBf0YNAiABIARBAWo2AgAgAyAHNgIoIAMgATYCJCADIAFBBGoiCTYCICACRQ0AIAJBCGsiCCgCAEEBaiEEIAggBDYCACAERQ0BIAIoAgAiBEF/Rg0CIAIgBEEBajYCACADIAg2AjQgAyACNgIwIAMgAkEEajYCLCADIAUpAgA3AzggAyAJKQIANwNAIAMgAikCBDcDSCADQQhqIQUgA0HIAGopAgAhCiADQUBrKQIAIQsgA0E4aikCACEMQSBBBBDUDCIERQRAQQRBIEHw+sMAKAIAIgBB7wcgABsRAAAACyAEIAo3AhggBCALNwIQIAQgDDcCCCAEQoGAgIAQNwIAIAVB0OLCADYCBCAFIAQ2AgAgAygCDCEEIAMoAgghBSACIAIoAgBBAWs2AgAgCCAIKAIAQQFrIgI2AgAgAkUEQCADQTRqEM0LCyABIAEoAgBBAWs2AgAgByAHKAIAQQFrIgE2AgAgAUUEQCADQShqEM0LCyAAIAAoAgBBAWs2AgAgBiAGKAIAQQFrIgA2AgAgAEUEQCADQRxqEM0LC0EUQQQQ1AwiAEUNAyAAIAU2AgwgAEEANgIIIABCgYCAgBA3AgAgACAENgIQIANB0ABqJAAgAEEIag8LEK8NCwALELANAAtBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAAL1AMDCX0FfwJ+IAEpAggiEaciDr4iAyABKQIAIhKnIgy+IgSTIQYgEUIgiKciAb4gEkIgiKciDb4iB5MhCAJAAkAgAioCACIFIASTIAaUIAIqAgQiCSAHkyAIlJIiCkMAAAAAXwRAIAQhAyAMIQ4gDSEBQQAhDQwBCyAKIAYgBpQgCCAIlJIiC2AEQEEBIQ0MAQsgC0MAAAAAWw0BQwAAgD8gCiALlSIDk7whDSAIIAOUIAeSvCEBIAYgA5QgBJIiA7whDkEBIQ8LAkACQCADIAVbDQBBACEMIAWLIgRDAACAf1sNASADiyIHQwAAgH9bDQEgAyAFk4siA0MAAAA0Xw0AIAMgBCAHIAQgB14bQwAAADSUX0UNAQtBASEMIAG+IgMgCVsNAEEAIQwgCYsiBEMAAIB/Ww0AIAOLIgVDAACAf1sNAEEBIQwgAyAJk4siA0MAAAA0Xw0AIAMgBCAFIAQgBV4bQwAAADSUXyEMCyAAIA8Ef0EBIRAgCCACKQIAIhGnviAOvpOUIAYgEUIgiKe+IAG+k5STQwAAAABgRQUgDQs2AhAgACAQNgIMIAAgDDYCCCAAIA6tIAGtQiCGhDcCAA8LQdj4wgBBHkH4+MIAEPkKAAuWBAIMfwN+IwBBEGsiCCQAIAEpAxAhDyABLQAYIQwCfyABKAIEIgVFBEBBsL7CACEDQQAhBUEADAELAn8CQCAFQQFqIgJB/////wBLDQAgBUEJaiIEIAJBBHQiA2ohAiACIANJDQAgAkH4////B0sNACACQQgQ1AwiBkUEQEEIIAJB8PrDACgCACIAQe8HIAAbEQAAAAsgAyAGagwBCxDQCiAIKAIAIgVBCWohBEEACyEDIAEoAgAhAiAEBEAgAyACIAT8CgAACyABKAIMIgkEQCACQQhqIQQgAikDAEJ/hUKAgYKEiJCgwIB/gyEOIAkhCiACIQYDQCAOUARAA0AgBkGAAWshBiAEKQMAIQ4gBEEIaiEEIA5CgIGChIiQoMCAf4MiDkKAgYKEiJCgwIB/UQ0ACyAOQoCBgoSIkKDAgH+FIQ4LIAYgDnqnQQF0QfABcWsiB0EQaykCACEQIAdBCGsoAgAhDSADIAcgAmtqIgtBBGsgB0EEay0AADoAACALQQhrIA02AgAgC0EQayAQNwIAIA5CAX0gDoMhDiAKQQFrIgoNAAsLIAEoAggLIQJBIEEIENQMIgEEQCABIAw6ABggASAPNwMQIAEgCTYCDCABIAI2AgggASAFNgIEIAEgAzYCACAAQfzXwgA2AgQgACABNgIAIAhBEGokAA8LQQhBIEHw+sMAKAIAIgBB7wcgABsRAAAAC5YEAgx/A34jAEEQayIIJAAgASkDECEPIAEtABghDAJ/IAEoAgQiBUUEQEGwvsIAIQNBACEFQQAMAQsCfwJAIAVBAWoiAkH/////AEsNACAFQQlqIgQgAkEEdCIDaiECIAIgA0kNACACQfj///8HSw0AIAJBCBDUDCIGRQRAQQggAkHw+sMAKAIAIgBB7wcgABsRAAAACyADIAZqDAELENAKIAgoAgAiBUEJaiEEQQALIQMgASgCACECIAQEQCADIAIgBPwKAAALIAEoAgwiCQRAIAJBCGohBCACKQMAQn+FQoCBgoSIkKDAgH+DIQ4gCSEKIAIhBgNAIA5QBEADQCAGQYABayEGIAQpAwAhDiAEQQhqIQQgDkKAgYKEiJCgwIB/gyIOQoCBgoSIkKDAgH9RDQALIA5CgIGChIiQoMCAf4UhDgsgBiAOeqdBAXRB8AFxayIHQRBrKQIAIRAgB0EIaygCACENIAMgByACa2oiC0EEayAHQQRrLQAAOgAAIAtBCGsgDTYCACALQRBrIBA3AgAgDkIBfSAOgyEOIApBAWsiCg0ACwsgASgCCAshAkEgQQgQ1AwiAQRAIAEgDDoAGCABIA83AxAgASAJNgIMIAEgAjYCCCABIAU2AgQgASADNgIAIABB8NrCADYCBCAAIAE2AgAgCEEQaiQADwtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAAL+AMDBH8BfgJ9IAAoAgQhBCAAKAIIIgWtIQYgASgCACIBKAIIIQIgASgCACACa0EHTQRAIAEgAkEIQQFBARDjBCABKAIIIQILIAEgAkEIaiIDNgIIIAEoAgQgAmogBjcAACAFBEAgBCAFQQN0aiEFA0AgBEEEaioCACEHIAQqAgAhCCABKAIAIANrQQNNBEAgASADQQRBAUEBEOMEIAEoAgghAwsgASgCBCADaiAIOAAAIAEgA0EEaiICNgIIIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABIAJBBGoiAzYCCCABKAIEIAJqIAc4AAAgBSAEQQhqIgRHDQALCyAAKAIQIQQgACgCFCIArSEGIAEoAgAgA2tBB00EQCABIANBCEEBQQEQ4wQgASgCCCEDCyABIANBCGoiAjYCCCABKAIEIANqIAY3AAAgAARAIAQgAEEDdGohAANAIARBBGoqAgAhByAEKgIAIQggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogCDgAACABIAJBBGoiAzYCCCABKAIAIANrQQNNBEAgASADQQRBAUEBEOMEIAEoAgghAwsgASADQQRqIgI2AgggASgCBCADaiAHOAAAIAAgBEEIaiIERw0ACwtBAAvDAwIBfwp9IwBBQGoiCCQAIAggASoCACIJIAQqAgQiC5QgASoCBCIKIAQqAgAiDJSTOAIMIAggCSAMlCAKIAuUkjgCCCAIIAkgBCoCCCINIAEqAggiD5MiDpQgCiAEKgIMIhAgASoCDCIRkyISlJK8rSAJIBKUIAogDpSTvK1CIIaENwIQIAhBGGpBASAIQQhqIAIgAyAFIAYgBxBiAkAgCCgCGCIBQQJGDQAgAUEBcUUNACAIIBEgCiAIKgIcIgeUIAkgCCoCICIOlJKSOAIgIAggDyAJIAeUIAogDpSTkjgCHCAIIA0gDCAIKgIkIgeUIAsgCCoCKCINlJOSOAIkIAggECALIAeUIAwgDZSSkjgCKCAIIAkgCCoCLCIHlCAKIAgqAjAiDZSTvK0gCiAHlCAJIA2UkrytQiCGhDcCLCAIIAwgCCoCNCIHlCALIAgqAjgiCZSTvK0gCyAHlCAMIAmUkrytQiCGhDcCNAsgACAIKQIYNwIAIABBIGogCEEYaiIBQSBqKQIANwIAIABBGGogAUEYaikCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIAIAhBQGskAAuXBAIHfwF+IwBBMGsiAiQAAkAgASgCBCIDRQRAIABBgICAgHg2AgAMAQsgASADQQFrNgIEAkACQAJAAn8gASgCACIGKAIEIgRBB00EQCACQoHKADcDGCACQRhqEMcLIQNBAQwBCyAGIARBCGsiBDYCBCAGIAYoAgAiAUEIajYCACACIAEpAAAQtwYgAigCBCEDIAIoAgALQQFxDQAgA0UEQEEEIQNBACEBQQAhBAwDC0GAgBAgAyADQYCAEE8bIgFBAnQiBUEEENQMIgdFDQEgAiAHNgIQIAIgATYCDCACQQA2AhQgBigCACEFQQAhAQNAAkACfyAEQQdNBEAgAkKBygA3AxggAkEYahDHCwwBCyAGIARBCGsiBDYCBCAGIAVBCGoiBzYCACAFKQAAIglCgICAgBBUDQEgAkEBOgAYIAIgCTcDICACQRhqIAJBL2pBmJfBABCNCQshAyACKAIMIgFFDQIgAigCECABQQJ0QQQQnw0MAgsgCachBSACKAIMIAFGBEAgAkEMakG0mMEAEMcGCyACKAIQIAhqIAU2AgAgAiABQQFqIgE2AhQgCEEEaiEIIAchBSABIANHDQALIAIoAhAhAyACKAIMIgRBgICAgHhHDQILIABBgYCAgHg2AgAgACADNgIEDAILQQQgBUGkmMEAEPkLAAsgACABNgIIIAAgAzYCBCAAIAQ2AgALIAJBMGokAAuPBAEJfyMAQSBrIgIkAAJ/IAEoAgQiBEEHTQRAIAJCgcoANwMIQQEhAyACQQhqEMcLDAELIAEgBEEIayIENgIEIAEgASgCACIFQQhqNgIAIAIgBSkAABC3BiACKAIAIQMgAigCBAshBQJAIANBAXEEQCAAQYCAgIB4NgIAIAAgBTYCBAwBCwJ/AkACQAJAIAVFBEAgAkEANgIQIAJCgICAgMAANwIIDAELQYCACCAFIAVBgIAITxsiA0EDdCIGQQQQ1AwiB0UNASACIAc2AgwgAiADNgIIQQAhAyACQQA2AhAgASgCACEJQQAhBgNAIARBBEkNAyABIARBBGsiBDYCBCABIAMgCWoiCEEEaiIHNgIAIARBBEkEQCACQoHKADcDGCACQRhqEMcLDAULIAgoAAAhCCABIARBBGsiBDYCBCABIAdBBGo2AgAgBygAACEHIAIoAgggBkYEQCACQQhqQbSYwQAQyQYLIAIoAgwgA2oiCiAINgIAIApBBGogBzYCACACIAZBAWoiBjYCECADQQhqIQMgBSAGRw0ACwsgACACKQIINwIAIABBCGogAkEQaigCADYCAAwDC0EEIAZBpJjBABD5CwALIAJCgcoANwMYIAJBGGoQxwsLIQEgAEGAgICAeDYCACAAIAE2AgQgAigCCCIARQ0AIAIoAgwgAEEDdEEEEJ8NCyACQSBqJAALngQDCH0CfgF/IwBBIGsiDiQAIA5BCGogAUEIaikCACINNwMAIA4gASkCACIMNwMAIA2nviIFIAynviIGkyEKIA1CIIinviIIIAxCIIinviIEkyELAkACQAJAAkAgAioCACAGkyAKlCACKgIEIASTIAuUkiIJQwAAAABfBEAgBCEIIAYhBQwBCyAKIAqUIAsgC5SSIgcgCV8NACAHQwAAAABbDQEgCyAJIAeVIgWUIASSIQggCiAFlCAGkiEFCyACKQIAIgynviAFkyIJIAmUIAxCIIinviAIkyIHIAeUkiIEQwAAgCheBEAgASoCECIGIASRIgRgIgEgA0EAR3FFBEAgACABOgAIIAAgByAElSAGlCAIkjgCBCAAIAkgBJUgBpQgBZI4AgAMBAsgACAMNwIAIABBAToACAwDCyADDQEgDkEUaiICIA4pAggiDKe+IA4qAgCTIgcgB5QgDEIgiKe+IA4qAgSTIgYgBpSSIgRDAACAKF4EfyACIAYgBJEiBJW8rSAHjCAElbytQiCGhDcCBEEBBUEACzYCAAJ9IA4oAhQEQCABKgIQIgQgDikCGCIMp76UIAWSIQUgBCAMQiCIp76UDAELIAVDAAAAAJIhBSABKgIQCyEEIABBAToACCAAIAW8rSAEIAiSvK1CIIaENwIADAILQZDowQBBHkGw6MEAEPkKAAsgACAMNwIAIABBAToACAsgDkEgaiQAC/gDAgZ/AX4jAEEgayICJAAgACgCWCEHIAAoAlwhBiACIAFCgICAgHCDIgggAUIBfEL/////D4OENwMYIAJBDGogACACQRhqEK4DAkACQCACKAIMQQFGBEAgAigCECIEIAZPDQEgAigCFCIFQYACTw0CIAcgBEEIdGogBWotAABBEEchAwsgAiAIIAFC/////w98Qv////8Pg4Q3AxggAkEMaiAAIAJBGGoQrgMCQAJAIAIoAgwEQCACKAIQIgQgBk8NASACKAIUIgVBgAJPDQIgAyADQQJyIAcg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CGogDCkDADcCACAAQbyIwwA2AgQgACACNgIAIANB0ABqJAAPCyAFIARBkL/CABD5CwALIAkgAkGQv8IAEPkLAAtBBEHAAEHw+sMAKAIAIgBB7wcgABsRAAAAC4wEAgd/AX0jAEEQayICJAACQAJAIAEoAgQiA0UEQCAAQQI2AgAMAQsgASADQQFrNgIEAkAgASgCACIBKAIEIgVFBEAgAkKBygA3AwggAkEIahDHCyEBDAELIAEgBUEBazYCBCABIAEoAgAiA0EBajYCAAJAAkACQAJAAkAgAy0AACIEDgIDAAELIAVBBUkNAyABIAVBBWsiBDYCBCABIANBBWo2AgAgBEEESQRAIAJBADoACyACQSU7AAkgAkEANgIMIAJBAToACCACQQhqEMcLIQEMBQsgAygAASEGIAEgBUEJayIENgIEIAEgA0EJajYCACAEQQRPBEAgAyoABSEJIAEgBUENayIENgIEIAEgA0ENajYCACAEQQNLDQILIAJBADoACyACQSU7AAkgAkEANgIMIAJBAToACCACQQhqEMcLIQEMBAtBDEEEENQMIgFFDQUgASAENgIEIAFBhICAgHg2AgAMAwsgAygACSEHIAEgBUERazYCBCABIANBEWo2AgAgAygADSEIQQEhBAsgACAINgIQIAAgBzYCDCAAIAk4AgggACAGNgIEIAAgBDYCAAwCCyACQQA6AAsgAkElOwAJIAJBADYCDCACQQE6AAggAkEIahDHCyEBCyAAQQM2AgAgACABNgIECyACQRBqJAAPC0EEQQxB8PrDACgCACIAQe8HIAAbEQAAAAusAwESfSAAIAIqAgwiBCABKgIEIgUgAioCACIGlCABKgIAIgcgAioCBCIIlJKSIgkgBCAIIAEqAggiDJQgBiABKgIMIguUkpIiBCAJIAIqAggiCiAHIAaUIAUgCJSTkiIPQwAAAACUIhKSIAQgCiAGIAyUIAggC5STkiIGQwAAAACUIhOSXhsiECADKgIMIgogBSADKgIAIg2UIAcgAyoCBCIOlJKSIgggCiALIA2UIAwgDpSSkiIKIAggAyoCCCIRIAcgDZQgBSAOlJOSIgVDAAAAAJQiFJIgCiARIAwgDZQgCyAOlJOSIgdDAAAAAJQiDJJeGyILIAsgEF8bOAIMIAAgDyAGIA8gCUMAAAAAlCILkiAGIARDAAAA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AkEEaq1CgICAgJArhDcDECACIAKtQoCAgICgK4Q3AwhBnLjCACgCACEAQZS4wgApAgAhCCACQgI3AlAgAkECNgJIIAJBhLjCADYCRCACQQo2AkAgAkHkt8IANgI8IAJBBDYCOCACIAg3AjAgAkIKNwIoIAJB5LfCADYCJCACQQA2AiAgAiAANgIcIAJBATYCGCACIAJBCGo2AkxByPrDACgCAEHItsMAQej6wwAoAgBBAkYiABsgAkEYakHM+sMAKAIAQbC2wwAgABsoAhARAAALIAUhAwsgAkHgAGokACADDwsgASADQZS3wgAQsAkACyABIANB9LbCABCwCQALIAEgA0GEt8IAELAJAAuRAwMGfQR/An4gACgCCCIHBEAgACgCBCIIKQIAIgtCIIinIQAgC6chCQJ/IAdBAUYEQCAJIQcgAAwBCyAHQQN0IQogAL4hASAJviECAn8gB0EBcQRAIAIhAyABIQUgCEEIagwBCyABIAgpAggiC0IgiKe+IgMgASADYBshBSABIAMgASADXxshASACIAunviIEIAIgBGAbIQMgAiAEIAIgBF8bIQIgCEEQagshACAKQRBHBEAgCCAKaiEJA0AgBSAAKQIAIgtCIIinviIEIAQgBV8bIgUgAEEIaikCACIMQiCIp74iBiAFIAZgGyEFIAEgBCABIARfGyIBIAYgASAGXxshASADIAunviIEIAMgBGAbIgMgDKe+IgYgAyAGYBshAyACIAQgAiAEXxsiAiAGIAIgBl8bIQIgCSAAQRBqIgBHDQALCyACvCEHIAO8IQkgBbwhACABvAshCCAJviAHvpNDAAAAP5QiASAAviAIvpNDAAAAP5QiAiABIAJfGw8LQajBwgBB0gBBjMLCABD4CQALxwMCAn8BfCMAQTBrIgMkAEGBASEEIAMgAigCAEEBcQR/IAIrAgQQAAVBgQELNgIQIAMgAigCDEEBcQR/IAIrAhAQAAVBgQELNgIUIAMgAisCIBAANgIcIAMgAisCKBAANgIgIAMgAUEEaiABIANBHGogA0EgahCpDCIENgIYIANBCGogA0EYaiABIANBEGogA0EUahDjCiADKAIMIQECQAJAAkACQCADKAIIQQFxRQRAIARBhAFPBEAgBBACCyADKAIgIgJBhAFPBEAgAhACCyADKAIcIgJBhAFPBEAgAhACCyAD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rUIwfiIOpyECAkACQAJAIA5CIIinDQAgAkH8////B0sNACABKAIEIQQCQCACRQRAQQQhCAwBC0EEIQYgCiELIAJBBBDUDCIIRQ0BCyACBEAgCCAEIAL8CgAACyABKAIUIgJBAnQhAyACQf////8DSw0BIANB/P///wdLDQEgASgCECEEAkAgA0UEQEEEIQlBACEGDAELQQQhByACIQYgA0EEENQMIglFDQILIAMEQCAJIAQgA/wKAAALIAEoAiAiBEEDdCEFIARB/////wFLDQIgBUH8////B0sNAiABKAIcIQwgASgCJCEDAkAgBUUEQEEEIQFBACEHDAELQQQhDSAEIQcgBUEEENQMIgFFDQMLIAUEQCABIAwgBfwKAAALIAAgAzYCJCAAIAQ2AiAgACABNgIcIAAgBzYCGCAAIAI2AhQgACAJNgIQIAAgBjYCDCAAIAo2AgggACAINgIEIAAgCzYCAA8LIAYgAkGQv8IAEPkLAAsgByADQZC/wgAQ+QsACyANIAVBkL/CABD5CwALngMCAX8CfSAAKgIEIQMgACoCACEEIAEoAgAiASgCCCECIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgI2AgggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogAzgAACABIAJBBGoiAjYCCCAAKgIMIQMgACoCCCEEIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgI2AgggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogAzgAACABIAJBBGoiAjYCCCAAKgIUIQMgACoCECEEIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEQQFBARDjBCABKAIIIQALIAEgAEEEajYCCCABKAIEIABqIAM4AABBAAueAwICfwJ9IAEqAgQhBCABKgIAIQUgACgCACICKAIIIQAgAigCACAAa0EDTQRAIAIgAEEEQQFBARDjBCACKAIIIQALIAIoAgQgAGogBTgAACAC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KQIUNwMAQcwAQQQQ1AwiAEUNBCAAIAM2AgwgAEEANgIIIABCgYCAgBA3AgAgACABKQMANwIQIABBGGogCSkDADcCACAAQSBqIAgpAwA3AgAgAEEoaiAHKQMANwIAIABBMGogBikDADcCACAAQThqIAUpAwA3AgAgAEFAayAEKQMANwIAIABByABqIAIoAgA2AgAgAEEIaiECCyABQUBrJAAgAg8LEK8NCwALELANAAtBBEHMAEHw+sMAKAIAIgBB7wcgABsRAAAAC7gDAQl/IwBBQGoiASQAAkACQAJAIAAEQCAAQRBrIgIoAgAiBEEBaiEDIAIgAzYCACADRQ0BIAAoAgANAiAAKALABSEDIABBgICAgHg2AsAFIAIgBDYCAEEAIQIgA0GAgICAeEcEQCABQThqIgIgAEH8BWopAgA3AwAgAUEwaiIEIABB9AVqKQIANwMAIAFBKGoiBSAAQewFaikCADcDACABQSBqIgYgAEHkBWopAgA3AwAgAUEYaiIHIABB3AVqKQIANwMAIAFBEGoiCCAAQdQFaikCADcDACABQQhqIgkgAEHMBWopAgA3AwAgASAAKQLEBTcDAEHQAEEEENQMIgBFDQQgACADNgIMIABBADYCCCAAQoGAgIAQNwIAIAAgASkDADcCECAAQRhqIAkpAwA3AgAgAEEgaiAIKQMANwIAIABBKGogBykDADcCACAAQTBqIAYpAwA3AgAgAEE4aiAFKQMANwIAIABBQGsgBCkDADcCACAAQcgAaiACKQMANwIAIABBCGohAgsgAUFAayQAIAIPCxCvDQsACxCwDQALQQRB0ABB8PrDACgCACIAQe8HIAAbEQAAAAuVAwEHfyMAQSBrIgQkACACIAAoAggiBUkEQCABQQxqIQYgACgCBCEHA0ACQCAHIAJBMGxqIgIoAhRB/////wNxQQFGBEAgBEEIaiIDQRBqIgggAkEQaikCADcDACADQQhqIgkgAkEIaikCADcDACAEIAIpAgA3AwggASgCFCIDIAEoAgxGBEAgBkGYzMIAEKwGCyABIANBAWo2AhQgASgCECADQRhsaiIDIAQpAwg3AgAgA0EIaiAJKQMANwIAIANBEGogCCkDADcCAAwBCyAAIAEgAigCCBDDAwsgAigCLEH/////A3FBAUYEQCAEQQhqIgBBEGoiBSACQShqKQIA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ByADKAIAIAJrQQNNBEAgAyACQQRBAUEBEOMEIAMoAgghAgsgAygCBCACaiAHOAAAIAMgAkEEaiICNgIIIAQqAiAhByADKAIAIAJrQQNNBEAgAyACQQRBAUEBEOMEIAMoAgghAgsgAyACQQRqNgIIIAMoAgQgAmogBzgAACABQdQAaiEGIAAoAgAiAygCCCECA0AgBSAGaiIEKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQRqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQhqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQxqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRBqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRRqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRhqLQAAIQQgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBDYAACADIAJBBGoiAjYCCCAFQRxqIgVB1ABHDQALIAEtAK0BIQQgACgCACICKAIIIQMgAyACKAIARgRAIAIgA0EBQQFBARDjBCACKAIIIQMLIAIgA0EBajYCCCACKAIEIANqIARBAXE6AAAgACgCACICKAIIIQMgAigCACADayEEAkACQAJAAkACQCABLQCsAUEBaw4CAQIAC0EAIQUgBEEESQ0CDAMLQQEhBSAEQQRJDQEMAgtBAiEFIARBA0sNAQsgAiADQQRBAUEBEOMEIAIoAgghAwsgAigCBCADaiAFNgAAIAIgA0EEajYCCCABKQMgIQggASkDKCEJIAAoAgAiACgCCCEBIAAoAgAgAWtBD00EQCAAIAFBEEEB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IAAgDSANIAYgAhsgBiAGXBsiBiAGIAcgBiAHXRsgByAHXBsgC5M4AgQgACADIAMgBCABGyAEIARcGyIDIAMgBSADIAVdGyAFIAVcGyALkzgCACARQSBqJAALuAICAn8BfiMAQdAAayICJAACQAJAAkAgAUUEQCAARQ0BIABBCGsiASgCAEEBRw0CIAJByABqIABBPGopAgA3AwAgAkFAayAAQTRqKQIANwMAIAJBOGogAEEsaikCADcDACACQTBqIABBJGopAgA3AwAgAkEoaiAAQRxqKQIANwMAIAJBIGogAEEUaikCADcDACACQRhqIABBDGopAgA3AwAgACkCBCEEIAFBADYCACACIAQ3AxACQCABQX9GDQAgAEEEayIDKAIAQQFrIQAgAyAANgIAIAANACABQcwAQQQQnw0LIAJBEGoQrwgMAwsgAEUNACAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENAiACQQxqEJYLDAILEK8NAAtBuMLBAEE/EK4NAAsgAkHQAGokAAvMAgECfwJAAkACQAJ/AkBBFEEEENQMIgMEQCADIAEpAgA3AgAgA0EQaiABQRBqKAIANgIAIANBCGogAUEIaikCADcCACAAKAKkASIBRQRAIAAgACgCuAFBwAByIgQ2ArgBIABBuAFqDAMLIAEoAgAiBCADKAIARw0BAkAgBARAIAEqAgQgAyoCBFwNAwwBCyABKgIEIAMqAgRcDQIgASoCCCADKgIIXA0CIAEqAgwgAyoCDFwNAiABKgIQIAMqAhBcDQILIANBFEEEEJ8NDAMLQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAACyAAIAAoArgBQcAAciIENgK4ASABQRRBBBCfDSAAQbgBagshASAAIAM2AqQBIAJFDQAgAC0A4QFBAUYNACAALQDQAQ0BDAILDwsgASAEQQRyNgIACyAAQQA2AswBIABBADoA0AELmgIBA38gACgCCCIDIQICf0EBIAFBgAFJDQAaQQIgAUGAEEkNABpBA0EEIAFBgIAESRsLIgQgACgCACADa0sEfyAAIAMgBBDBBiAAKAIIBSACCyAAKAIEaiECAkACQCABQYABTwRAIAFBgBBJDQEgAUGAgARPBEAgAiABQT9xQYABcjoAAyACIAFBEnZB8AFyOgAAIAIgAUEGdkE/cUGAAXI6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NgIAIAMgCTYCjAcgAyAANgKIByADIABBBGo2AoQHIwBBwBNrIgIkACACIAE2AgAgAkEEaiEFAkACQCACKAIAIgcQGSIBQQBIDQACQCABRQRAQQEhBAwBC0EBIQYgAUEBENQMIgRFDQELEB8iChARIggQFyEGIAhBhAFPBEAgCBACCyAGIAcgBBAYIAZBhAFPBEAgBhACCyAKQYQBTwRAIAoQAgsgBSAHEBk2AgggBSAENgIEIAUgATYCAAwBCyAGIAFByLHCABD5CwALIAIoAgghBSACIAIoAgw2AvQLIAIgBTYC8AsgAkHQDGoiASACQfALaiIGECAgAigC0AwhBwJAAkAgAigCjBMiCkECRwRAIAJB0ARqIgRBBHIgAUEEckG4BvwKAAAgBEHoBmoiCCABQegGaikDADcDACAEQeAGaiILIAFB4AZqKQMANwMAIARB2AZqIgwgAUHYBmopAwA3AwAgBEHQBmoiDSABQdAGaikDADcDACAEQcgGaiIOIAFByAZqKQMANwMAIAIgAikDkBM3A5ALIAIgBzYC0AQgAkEQaiIFIARBwAT8CgAAIAIpA5AJIQ8gAkHQEGogAkGYCWpB2AD8CgAAIAYgAkHwCWpB2AD8CgAAIAJBgBJqIAJByApqQcQA/AoAACACQcALaiIEQShqIgcgCCkDADcDACAEQSBqIgggCykDADcDACAEQRhqIgsgDCkDADcDACAEQRBqIgQgDSkDADcDACACIA4pAwA3A8gLIAIgAikDkAs3A8ALIANB5AZqIAVBOGopAwA3AgAgA0HcBmogBUEwaikDADcCACADQdQGaiAFQShqKQMANwIAIANBzAZqIAVBIGopAwA3AgAgA0HEBmogBUEYaikDADcCACADQbwGaiAFQRBqKQMANwIAIANBtAZqIAIpAxg3AgAgAyACKQMQNwKsBiABQThqIAJBiAFqKQMANwMAIAFBMGogAkGAAWopAwA3AwAgAUEoaiACQfgAaikDADcDACABQSBqIAJB8ABqKQMANwMAIAFBGGogBUHYAGopAwA3AwAgAUEQaiACQeAAaikDADcDACACIAJB2ABqKQMANwPYDCACIAIpA1A3A9AMIAJBkA1qIAJBkAFqQaAB/AoAACACQbAOaiACQbACakGgAvwKAAAgAkGoEWogBkHYAPwKAAAgAyABQfQF/AoA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/sIAELAJAAsgCCABQei0wwAQsAkACyADQYABaiIBQRBqIgQgCkEQaikCADcDACABQQhqIgggCkEIaikCADcDACABQSBqIg0gCkEgaikCADcDACABQShqIgsgCkEoaikCADcDACADIAopAgA3A4ABIAMgCikCGDcDmAEgAygCDCIFIAMoAgRGBEAgA0EEakG408IAEKsGCyADKAIIIAVBMGxqIgEgAykDgAE3AgAgAUEgaiANKQMANwIAIAFBGGogA0GYAWopAwA3AgAgAUEQaiAEKQMANwIAIAFBCGogCCkDADcCACABQShqIAspAwA3AgAgAyAFQQFqNgIMIAMoAhgiASADKAIQRgRAIBFByNPCABDHBgsgAygCFCABQQJ0akEANgIAIAMgAUEBajYCGAJAIAMoAiQiBUUNACADKAIgIgEoAgBBAUcNACABQQA2AgQCQCAFQQFGDQAgASgCCEUNACABQQE2AgwMBAtB2MTCAEEPQejTwgAQ+AkAC0HYxMIAQQ9B2NPCABD4CQALIANBgAFqIgFBEGoiBCAKQRBqKQIANwMAIAFBCGoiCCAKQQhqKQIANwMAIAMgCikCADcDgAEgAygCDCIFIAMoAgRGBEAgA0EEakGI08IAEKsGCyADKAIIIAVBMGxqIgEgAykDgAE3AgAgAUIANwIYIAFBEGogBCkDADcCACABQQhqIAgpAwA3AgAgAUEgakIANwIAIAFBKGpCADcCACADIAVBAWo2AgwgAygCGCIBIAMoAhBGBEAgEUGY08IAEMcGCyADKAIUIAFBAnRqQQA2AgAgAyABQQFqNgIYAkAgAygCJEUNACADKAIgIgEoAgBBAUcNACABQQA2AgQMAgtB2MTCAEEPQajTwgAQ+AkACyADKAIEIAMoAgwiAWsgB0kEQCADQQRqIAEgB0EwEOYECyADKAIQIAMoAhgiAWsgB0kEQCADQRBqIAEgB0EEEOYEC0EAIQkgA0EANgIYIAMoAgwiBSADKAIERgRAIANBBGpB+NPCABCrBiADKAIYIQkLIAMoAgggBUEwbGoiAUIANwIAIAFBIGpCADcCACABQRhqQgA3AgAgAUEQakIANwIAIAFBCGpCADcCACABQShqQgA3AgAgAyAFQQFqNgIMIAMoAhAgCUYEQCARQYjUwgAQxwYLIAMoAhQgCUECdGpBADYCACAD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AUkNAQsgABACCyADKAIMIgBBhAFPBEAgABACCyADKAIIIgBBhAFPBEAgABACCyADQRBqJAAgAgutAgMDfwN9AX4jAEFAaiICJAAgAkEEaiIBQQE6ADggAUKAgICAoOH1kTw3AgAgAUKAgICAgICAwD83AiQgAULbn6T6s/vDpD83AiwgAUECNgIIIAFBl+7GxgM2AjQgAUKAgICA0Jmzpj43AhwgAioCOCEEIAIqAjQhBSACKgIwIQYgAi0APCEDIAIpAighB0HgAEEEENQMIgFFBEBBBEHgAEHw+sMAKAIAIgFB7wcgARsRAAAACyABQgA3AlAgAUKAgICAwAA3AkggASADOgBEIAEgBDgCQCABIAU4AjwgASAGOAI4IAEgBzcCMCABQQI2AiggAUECNgIUIAEgADgCECABQoCAgIAQNwIIIAFCgYCAgBA3AgAgAUHWAGpCADcBACACQUBrJAAgAUEIagumAQIDfwF+IwBBEGsiAyQAAkACQCAABEAgAEEIayIEKAIAQQFqIQUgBCAFNgIAIAVFDQEgACgCAA0CIABBfzYCACADIAQ2AgwgAyAANgIIIAMgAEEIaiIFNgIEIAUgAb0iBqcgBkIgiKcgAkEARxAnIABBADYCACAEIAQoAgBBAWsiADYCACAARQRAIANBDGoQjwsLIANBEGokAA8LEK8NCwALELANAAukAQEEfyAAKAIAIQIgACABEMcGAkAgACgCCCIEIAIgACgCDCIBa00NACAAKAIAIQUgASACIARrIgFrIQMCQCABIANLBEAgBSACayADTw0BCyAFIAFrIQIgAUECdCIBBEAgACgCBCIDIAJBAnRqIAMgBEECdGogAfwKAAALIAAgAjYCCA8LIANBAnQiAUUNACAAKAIEIgAgAkECdGogACAB/AoAAAsL0QEBAn0CQAJAAkAgASgCCEUNACABKAIEIgEoAixB/////wNxIAEoAhRB/////wNxag4CAAECCyAAQv////v///+/fzcCCCAAQv////v3//+//wA3AgAPCyAAIAEpAgw3AgggACABKQIANwIADwsgACABKgIQIgIgASoCKCIDIAIgA2AbOAIMIAAgASoCDCICIAEqAiQiAyACIANgGzgCCCAAIAEqAgQiAiABKgIcIgMgAiADXxs4AgQgACABKgIAIgIgASoCGCIDIAIgA18b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Awh/An0CfiMAQdAEayIEJAAjAEHgAWsiACQAIABBgICA+AM2AtgBIABCgICA/IOAgMA/NwKYASAAQgA3ApABIABCzZmz8oOAgMA/NwKIASAAQoCAgPyDgIDAPzcCgAEgAELNmbP2g4CAwD83AnggAEKAgICAgICAwD83AnAgAELNmbP2g4CAwD83AmggAEKAgNichICAwD83AmAgAELNmbP2g4CAwD83AlggAEKAgICAgICAgD83AlAgAELNmbP2g4CAwD83AkggAEKAgMCbhICAgD83AkAgAELNmbP2g4CAwD83AjggAEKAgMCPhICAwD83AjAgAEKas+b0g4CAwD83AiggAEKAgICNhICAwD83AiAgAELNmbP2g4CAwD83AhggAEKAgMCPhICAwD83AhAgAEKas+b0g4CAwD83AgggAEKAgKidhICAwD83AgAgAEKUgICA0AA3AtABIABBmrPm9AM2AtwBIABCgICA/IOAgMA/NwK4ASAAQoCAgICAgIDAPzcCsAEgAELNmbP2g4CAwD83AqgBIABCgIDAl4SAgMA/NwKgASAAQs2Zs/aDgIDAPzcCyAEgAEKAgOCXhICAwD83AsABIARBCGohBSMAQdAAayIBJAAgACgC0AEhBwJ+QfD+wwAoAgBBAUYEQEGA/8MAKQMAIQpB+P7DACkDAAwBCyABQUBrIQYjAEEQayICJAAgAkEAOgAPQQFBARDUDCIDRQRAQQFBAUHw+sMAKAIAIgBB7wcgABsRAAAACyAGIAJBD2qtNwMAIAYgA603AwggA0EBQQEQnw0gAkEQaiQAQfD+wwBCATcDAEGA/8MAIAEpA0giCjcDACABKQNACyELIAFBEGpB4NXBACkDADcDACABIAs3AxhB+P7DACALQgF8NwMAIAEgCjcDICABQdjVwQApAwA3AwggAUKAgID4g4CAgD83AiwgAUFAayEGIAFBLGohA0EgQQQQ1AwiAkUEQEEEQSBB8PrDACgCACIAQe8HIAAbEQAAAAsgBkEENgIIIAYgAjYCBCAGQQQ2AgAgAiADKQIAIgqnviIIIAiSIghDAAAAv5QiCTgCGCACIAhDAAAAP5QiCDgCECACIAg4AgggAiAJOAIAIAIgCkIgiKe+IgggCJIiCUMAAAA/lCIIOAIcIAIgCDgCFCACIAlDAAAAv5QiCDgCDCACIAg4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QYMBSwRAIAEQAgsgAkEANgIYIAJBATYCDCACQaSxwgA2AgggAkIENwIQIAJBCGpBrLHCABDcCwALIAEQByICEAhBAUcEQCABQYQBTwRAIAEQAgtB0PrDAC0AACEEQdD6wwBBAToAAEHU+sMAKAIAIQFB1PrDACACNgIAAkAgBEUNACABQYQBSQ0AIAEQAgsgA0EgaiQADAELIANBADYCGCADQQE2AgwgA0H4r8IANgIIIANCBDcCECADQQhqQYCwwgAQ3AsACwtB1PrDACgCABAJIgWdIgb8ByIKQugHgCEJIAUgBqFEAAAAAICELkGiIgVE////////3z8gBaagIgW9IgdCNIinQf8PcSIBQbIITQR8Qn9CgICAgICAgICAf0KAgICAgICAeCABQf8Ha62HIAFB/wdJGyIIIAhCf4UgB4NQGyAHg78FIAUL/AciCEKAlOvcA4AhByAIIAdCgJTr3AN+facgCiAJQugHfn2nQcCEPWxqIgFB/5Pr3ANLIQIgACABQYCU69wDayABIAIbNgIIIAAgAq0gByAJfHw3AwALcAIGfQF+IAAgAioCAIsiAyABKQIAIglCIIinviIElCACKgIEiyIFIAmnviIGlJIiByACKQIIIglCIIinviIIkjgCDCAAIAMgBpQgBSAElJIiAyAJp74iBJI4AgggACAIIAeTOAIEIAAgBCADkzgCAAuSAQIEfQF+IAEqAgwhBCABKgIIIQUgASoCBCEGIAEqAgAhByACKQIAIQhBEEEEENQMIgFFBEBBBEEQQfD6wwAoAgAiAEHvByAAGxEAAAALIAEgBSAIp74iBZQ4AgggASAHIAWUOAIAIAEgBCAIQiCIp74iBJQ4AgwgASAGIASUOAIEIABBzPrCADYCBCAAIAE2AgALfgECfyMAQSBrIgIkAAJAIAAoAhwiA0EBRiABQQBHcUUEQCABQQAgA0EBRxsiASADSQ0BCyACQQA2AhggAkEBNgIMIAJB3L/CADYCCCACQgQ3AhAgAkEIakHYmMMAENwLAAsgACgCFCABai0AACEAIAJBIGokACAAQX9zQQFxC2QBBH4gAkL/////D4MiAyABQv////8PgyIEfiEFIAAgBSADIAFCIIgiBn4gBCACQiCIIgJ+IgN8IgFCIIZ8IgQ3AwAgACAEIAVUrSACIAZ+IAEgA1StQiCGIAFC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ACgCACIBQe8HIAEbEQAAAAsgASAENgIMIAFBADYCCCABQoGAgIAQNwIAIAEgAzYCECACQRBqJAAgAUEIagtiAQN+IAAoAgAoAgApAwAgASgCACACQXRsaiIAQQxrKQIAhSIDQv////8PgyIEIABBBGs1AgBC3aHxywyFIgV+IANCIIgiA0K307CFDH6FIAMgBX4gBEK307CFDH6FQiCJhQthAQJ/IwBBgAFrIgIkACACQQA2AnwgAkICNwJ0IAJCgICAgBA3AmwgAkEUaiIDQQBB2AD8CwAgAkEIaiAAKAIEIAAoAgggAyABKQIAQQEQJSACLQAQIQAgAkGAAWokACAAC2gBAX8CQCACIAEoAlwiA0kEQCABKAJQIgMgAksNASACIANB/KjDABCwCQALIAIgA0HsqMMAELAJAAsgACACNgIMIAAgATYCACAAIAEoAkwgAkEDdGo2AgggACABKAJYIAJBCHRqNgIEC3QBAX9BHEEEENQMIgJFBEBBBEEcQfD6wwAoAgAiAEHvByAAGxEAAAALIAIgASkCADcCACACQRhqIAFBGGooAgA2AgAgAkEQaiABQRBqKQIANwIAIAJBCGogAUEIaikCADcCACAAQfSfwwA2AgQgACACNgIAC1wBAX8jAEEgayIAJAAgASgCBCECIAEoAgAhASAAQQI2AgQgAEHQl8EANgIAIABCATcCDCAAQqiXwYAwNwMYIAAgAEEYajYCCCABIAIgABDLAiEBIABBIGokACABC1wBAX8jAEEgayIAJAAgASgCBCECIAEoAgAhASAAQQE2AgQgAEGYqMEANgIAIABCATcCDCAAQoCowYAwNwMYIAAgAEEYajYCCCABIAIgABDLAiEBIABBIGokACABC7UBAQF/QcwAQQQQ1AwiAEUEQEEEQcwAQfD6wwAoAgAiAEHvByAAGxEAAAALIABBATYCSCAAQoGAgICAEDcCQCAAQoSAgIAQNwI4IABCgICAifTNxIE7NwIwIABCgICA/PPNxME6NwIoIABCgICA/IOAgMA/NwIgIABCgIDAj4SAibrJADcCGCAAQr+Gu8mDgIDQwAA3AhAgAEKAgICAkJGixDw3AgggAEKBgICAEDcCACAAQQhqC4QBAQF/QcwAQQQQ1AwiAEUEQEEEQcwAQfD6wwAoAgAiAEHvByAAGxEAAAALIABBADYCSCAAQgQ3AkAgAEIANwI4IABCgICAgMAANwIwIABCBDcCKCAAQgA3AiAgAEKAgICAwAA3AhggAEIENwIQIABCADcCCCAAQoGAgIAQNwIAIABBCGoLXwIBfwR9IwBBEGsiBCQAIAQgASoCBCIFjDgCDCAEIAEqAgAiBow4AgggBCACIAAgBEEIaiADEQIAIAQqAgQhByAEKgIAIQggBEEQaiQAIAYgCJQgBSAHlJJDAAAAAF8LXAEEfUMAAAAAIAAqAgAgAioCACABKgIIkyIEIAEqAgAiBZQgAioCBCABKgIMkyIGIAEqAgQiB5SSlCAAKgIEIAUgBpQgBCAHlJOUkiIEIARDAAAAAF0bIAQgAxsLXQIBfwJ9IwBBIGsiAyQAIAAqAgAhBCAAKgIEIQUgAyAAKQIANwIYIAMgBYw4AhQgAyAEjDgCECADQQhqIANBEGogASACQQEQoQQgAygCCCEAIANBIGokACAAQQFGC1UBAX8jAEEQayIBJAAgAUEANgIIIAFCgICAgBA3AgAgAARAIAFBACAAQQFBARDjBAsgASABNgIMIAEoAgAiAARAIAEoAgQgAEEBEJ8NCyABQRBqJAALZQECfyMAQZABayICJAAgAkEEaiIDIAEQoAFBjAFBBBDUDCIBBEAgASADQYwB/AoAACAAQbyLwwA2AgQgACABNgIAIAJBkAFqJAAPC0EEQYwBQfD6wwAoAgAiAEHvByAAGxEAAAALawIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARCxbKvhLb8qZEdhSADQu6BvPPylrPqRoWEUBsLbAIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARCyqWHoIqlnYitf4UgA0KCl8eO8u6V2w+FhFAbC20CAX8CfiMAQSBrIgIkACACQQhqIAAgASgCYBEAACACQRBqIAIoAggiACACKAIMKAIMEQAAIAIpAxghAyACKQMQIQQgAkEgaiQAIABBACAEQsuyqeGNzPWOmX+FIANCgpWg+brzs86Zf4WEUBsLbAIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARC5P3pzbbL9raKf4UgA0Kq69Cbmt7c1TiFhFAbC2wCAX8CfiMAQSBrIgIkACACQQhqIAAgASgCZBEAACACQRBqIAIoAggiACACKAIMKAIMEQAAIAIpAxghAyACKQMQIQQgAkEgaiQAIABBACAEQuT96c22y/a2in+FIANCquvQm5re3NU4hYRQGwtsAgF/An4jAEEgayICJAAgAkEIaiAAIAEoAmARAAAgAkEQaiACKAIIIgAgAigCDCgCDBEAACACKQMYIQMgAikDECEEIAJBIGokACAAQQAgBEL0kIjCpt+t0rF/hSADQsnp35Hm6Oypc4WEUBsLawIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARCvoabs+jKusQrhSADQqqL3KfxpvHxQ4WEUBsLawIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJkEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARCvoabs+jKusQrhSADQqqL3KfxpvHxQ4WEUBsLawIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARC7dbt3IOs6o8hhSADQsaSgaaIuIWYBoWEUBsLawIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARCjdaamPOBr/B9hSADQtbXjf6G56+AfIWEUBsLbAIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARCh/fu6cTt1bMbhSADQrOc39ufoPKs3ACFhFAbC2wCAX8CfiMAQSBrIgIkACACQQhqIAAgASgCYBEAACACQRBqIAIoAggiACACKAIMKAIMEQAAIAIpAxghAyACKQMQIQQgAkEgaiQAIABBACAEQsLJ0NbbgbXOTYUgA0KB+pLA77HpovEAhYRQGwtsAgF/An4jAEEgayICJAAgAkEIaiAAIAEoAmQRAAAgAkEQaiACKAIIIgAgAigCDCgCDBEAACACKQMYIQMgAikDECEEIAJBIGokACAAQQAgBELCydDW24G1zk2FIANCgfqSwO+x6aLxAIWEUBsLbQIBfwJ+IwBBIGsiAiQAIAJBCGogACABKAJgEQAAIAJBEGogAigCCCIAIAIoAgwoAgwRAAAgAikDGCEDIAIpAxAhBCACQSBqJAAgAEEAIARCotqLkIXRhsTyAIUgA0KEyu28q4Dko7Z/hYRQGwtrAgF/An4jAEEgayICJAAgAkEIaiAAIAEoAmARAAAgAkEQaiACKAIIIgAgAigCDCgCDBEAACACKQMYIQMgAikDECEEIAJBIGokACAAQQAgBEK3srj8vqmK3jCFIANCjqzYxqSIvPc7hYRQGwtbAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgAUHcAXFFBEAgACABOgAsCyAAQQA2AgAgAiAENgIADwsQrw0LAAsQsA0AC1sBAX8jAEEwayIGJAAgBkIANwIYIAYgBDgCFCAGIAM4AhAgBiAFOAIoIAYgAikDWDcDICAGQQRqIAAgASACIAZBEGogBkEgahDoAiAGKgIMIQEgBkEwaiQAIAELbgIBfwJ9IwBBEGsiBCQAIAQgASoCBCIFjDgCDCAEIAEqAgAiBow4AgggBCACIAAgBEEIaiADEQIAIAYgBCoCAJQgBSAEKgIElJIhBSAEQRBqJABDAAAAAEMAAAAAIAUgBUMAAAAAXRsgBSAFXBsLVgECfyMAQTBrIgUkACAFQQxqIgYgASACIAMgBBB7AkAgBSgCHEEERwRAIAAgBSkCDDcCACAAQQhqIAZBCGooAgA2AgAMAQsgAEECOgAICyAFQTBqJAALUQIBfwN9IwBBEGsiAyQAIAIqAgAiBCAElCACKgIEIgUgBZSSkSEGIAMgBCAGlbytIAUgBpW8rUIghoQ3AwggACABIANBCGoQoQMgA0EQaiQAC2wCAX4CfSACKgIEIQUgAioCACEGIAEpAgAhBEEIQQQQ1AwiAUUEQEEEQQhB8PrDACgCACIAQe8HIAAbEQAAAAsgASAGIASnvpQ4AgAgASAFIARCIIinvpQ4AgQgAEG058IANgIEIAAgATYCAAvMAQEHfSAAIAEqAhQiBiIEIAQgASoCDCIHIgIgAiABKgIEIgUiAyACIANeGyADIANcGyICIAIgBF0bIAIgAlwbOAIMIAAgASoCECIDIAMgASoCCCIEIAQgASoCACICIAIgBF0bIAIgAlwbIgggAyAIXhsgCCAIXBs4AgggACAFIAUgByAFIAddGyAHIAdcGyIFIAUgBiAFIAZdGyAGIAZcGzgCBCAAIAIgAiAEIAIgBF0bIAQgBFwbIgIgAiADIAIgA10bIAMgA1wbOAIAC1wBAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQQE2AhQgA0GI38MANgIQIANCATcCHCADIANBCGqtQoCAgICQggGENwMoIAMgA0EoajYCGCADQRBqIAIQ3AsAC1ABBX0gAioCACABKgIIkyIDIAEqAgAiBJQgAioCBCABKgIMkyIFIAEqAgQiBpSSIgcgB5QgBCAFlCADIAaUkyIDIAOUkiAAKgIAIgMgA5RfC1YCA30Bf0EBIQYgACoCBCIDIAEqAgSMlCABKgIAIAAqAgAiBJSTIgVDAAAAAF4Ef0EBBSAFIAQgASoCCJQgAyABKgIMlJKVIgNDAAAAAGAgAiADYHELC1cBAX8jAEEgayIDJAAgAyAAIAEQrAMgAkEYaiADQRhqKQIANwIAIAJBEGogA0EQaikCADcCACACQQhqIANBCGopAgA3AgAgAiADKQIANwIAIANBIGokAAtQAgF/An4jAEEgayICJAAgACkDACIDQj+HIQQgASADQgBZQQFBACADIASFIAR9IAJBDGoiABCJBCIBIABqQRQgAWsQkQIhACACQSBqJAAgAAtTACMAQSBrIgAkACAAQQE2AgQgAEH8z8EANgIAIABCATcCDCAAQuTPwYDQEzcDGCAAIABBGGo2AgggASgCACABKAIEIAAQywIhASAAQSBqJAAgAQtTACMAQSBrIgAkACAAQQE2AgQgAEH4vsIANgIAIABCATcCDCAAQuC+woDAKzcDGCAAIABBGGo2AgggASgCACABKAIEIAAQywIhASAAQSBqJAAgAQtQAgF9An4gACACKgIAIgMgASkCCCIEp76SOAIIIAAgASkCACIF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EKALAAtOAQR9IAAgAS0ACDoACCAAIAIqAgwgASoCBCIDIAIqAgAiBJQgASoCACIFIAIqAgQiBpSSkjgCBCAAIAIqAgggBSAElCADIAaUk5I4AgALSQEDfUEAIQEgACAEKgIAIgYgBpQgBCoCBCIFIAWUkiIHQwAAgCheBH8gACAFIAeRIgWVOAIIIAAgBiAFlTgCBEEBBUEACzYCAAtIAQF/IAAoAgAgACgCCCIDayACSQRAIAAgAyACEOgEIAAoAgghAwsgAgRAIAAoAgQgA2ogASAC/AoAAAsgACACIANqNgIIQQALQAICfQF/AkAgASoCACIDIAAqAgAiAoxdDQAgAiADXQ0AIAEqAgQiAiAAKgIEIgNeRSACIAOMXUF/c3EhBAsgBAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAI4IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIADQIgAEECNgIMIAEgAzYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIwIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAI0IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIADQIgAEECNgIgIAEgAzYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIEIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIQIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIkIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIsIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgIwIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgI0IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgI8IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgJAIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIgIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIIIAIgBDYCAA8LEK8NCwALELANAAtFAQF/AkAgACoCACABKgIMX0UNACAAKgIEIAEqAhBfRQ0AIAAqAgwgASoCAGBFDQAgACoCECABKgIEYEUNAEEBIQILIAILOgEBfyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABBmLbDADYCCCAAQgQ3AhAgAEEIakGgtsMAENwLAAs6AQF/IwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGEwMMANgIIIABCBDcCECAAQQhqQYzAwwAQ3AsAC0gBAX8gACgCACAAKAIIIgNrIAJJBEAgACADIAIQwQYgACgCCCEDCyACBEAgACgCBCADaiABIAL8CgAACyAAIAIgA2o2AghBAAtVACABKAIAIAIoAgAgAygCACAEKAIAIAUoAgAQDyEBQeT6wwAoAgAhAkHg+sMAKAIAIQNB4PrDAEIANwIAIAAgAiABIANBAUYiARs2AgQgACABNgIAC0oBAX8jAEEQayIDJAAgAyABIAJBARCEASAAIAMpAgQ3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////////D4MgCkI0iKdB/w9xIgYbIgxCAYMhDSALUARAQQQgDlANARogBkGzCGshBkIBIQsgDVAMAQtCgICAgICAgCAgDEIBhiAMQoCAgICAgIAIUSIAGyEMQgJCASAAGyELQct3Qcx3IAAbIAZqIQYgDVALIQAgAyAGOwF4IAMgCzcDcCADQgE3A2ggAyAMNwNgIAMgADoAegJ/AkACQAJAAkACQCAAQQFNBEAgA0EgaiIGIANB4ABqIANBD2oQc0GO3sMAQQEgCkIAUyIAGyEFQY7ewwBBj97DACAAGyEHIApCP4inIQAgAygCIEUNASADQdgAaiAGQQhqKAIANgIAIAMgAykCIDcDUAwCCyAAQQJGDQNBASEGQY7ewwBBj97DACAKQgBTIgcbQY7ewwBBASAHGyAEGyEFIApCP4inIARyIQcgAEH/AXFBBEYNAiADQQM2AiggA0GT3sMANgIkIANBAjsBICADQSBqDAULIANB0ABqIANB4ABqIANBD2oQLAsgByAFIAQbIQUgACAEciEHIAMgAygCUCADKAJUIAMvAVhBACADQSBqEOIDIAMoAgQhBiADKAIADAMLIANBAjsBIAwBCyADQQM2AiggA0GQ3sMANgIkIANBAjsBIEEBIQVBACEHQQEhBiADQSBqDAELIANBATYCKCADQZbewwA2AiQgA0EgagshACADIAY2AlwgAyAANgJYIAMgBzYCVCADIAU2AlAgASADQdAAahDFAiEAIANBgAFqJAAgAA8LIAVBAEchCCABLwEOIQcjAEHwCGsiAiQAIA+9IQoCf0EDIA+ZRAAAAAAAAPB/YQ0AGkECIApCgICAgICAgPj/AIMiC0KAgICAgICA+P8AUQ0AGiAKQv////////8HgyIOQoCAgICAgIAIhCAKQgGGQv7///////8PgyAKQjSIp0H/D3EiBBsiDEIBgyENIAtQBEBBBCAOUA0BGiAEQbMIayEEQgEhCyANUAwBC0KAgICAgICAICAMQgGGIAxCgICAgICAgAhRIgAbIQxCAkIBIAAbIQtBy3dBzHcgABsgBGohBCANUAshACACIAQ7AegIIAIgCzcD4AggAkIBNwPYCCACIAw3A9AIIAIgADoA6ggCfwJAAkAgAEEBTQRAQXRBBSAEwSIAQQBIGyAAbCIFQcD9AEkNAUGd3sMAQSVBxN7D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kSAAKgIAkyIDIANDAAAAAF0bIAMgAhsLNgEBfyMAQRBrIgIkACACQQhqIAEQqAIgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACzYBAX8jAEEQayICJAAgAkEIaiABEIYDIAIoAgwhASAAIAIoAgg2AgAgACABNgIEIAJBEGokAAs2AQF/IwBBEGsiAiQAIAJBCGogARC+BCACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALNgEBfyMAQRBrIgIkACACQQhqIAEQ+QMgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACzYBAX8jAEEQayICJAAgAkEIaiABEKYEIAIoAgwhASAAIAIoAgg2AgAgACABNgIEIAJBEGokAAs8AQF/IwBBEGsiAyQAIANB55bBADYCDCADIAA2AghBACADQQhqQfS5wwAgA0EMakH0ucMAIAEgAhDhAwALOQEBfyMAQRBrIgQkACAEIAE2AgwgBCAANgIIQQAgBEEIakGo4MMAIARBDGpBqODDACACIAMQ4QMACzgBAX8gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEOcKDwsgACABEMEIDwsgACABEMAICzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBEOcBIAMoAgwhACADQSBqJAAgAEEDRwswAQF/IwBBIGsiAyQAIANBDGogACABIAJBARCxAiADKAIMIQAgA0EgaiQAIABBA0cLSwEBf0EUQQQQ1AwiAEUEQEEEQRRB8PrDACgCACIAQe8HIAAbEQAAAAsgAEKAgID8AzcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqC0cBAX9BFEEEENQMIgBFBEBBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAALIABCADcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqCzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBEOoBIAMoAgwhACADQSBqJAAgAEEDRwswAQF/IwBBIGsiAyQAIANBDGogACABIAJBARCUASADKAIMIQAgA0EgaiQAIABBA0cLLwEBfyMAQRBrIgMkACADQQhqIAAgASACQQEQciADKAIIIQAgA0EQaiQAIABBAUYLMAEBfyMAQSBrIgMkACADQQxqIAAgASACQQAQhQEgAygCDCEAIANBIGokACAAQQNHCzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBEOYBIAMoAgwhACADQSBqJAAgAEEDRwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBcIAMoAgghACADQRBqJAAgAEEBRgswAQF/IwBBIGsiAyQAIANBDGogACABIAJBABDnASADKAIMIQAgA0EgaiQAIABBA0cLLwEBfyMAQRBrIgMkACADQQhqIAAgASACQQEQZiADKAIIIQAgA0EQaiQAIABBAUYLMAEBfyMAQSBrIgMkACADQQxqIAAgASACQQEQmgIgAygCDCEAIANBIGokACAAQQNHCzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBELsCIAMoAgwhACADQSBqJAAgAEEDRwsvAQF/IwBBIGsiAyQAIANBDGogACABIAJBARBwIAMoAgwhACADQSBqJAAgAEEDRwtIAQF/IAEoAgAhAkEEQQQQ1AwiAUUEQEEEQQRB8PrDACgCACIAQe8HIAAbEQAAAAsgASACNgIAIABBvPXCADYCBCAAIAE2AgALSAEBfiABKQIAIQJBCEEEENQMIgFFBEBBBEEIQfD6wwAoAgAiAEHvByAAGxEAAAALIAEgAjcCACAAQeiRwwA2AgQgACABNgIAC0gBAX4gASkCACECQQhBBBDUDCIBRQRAQQRBCEHw+sMAKAIAIgBB7wcgABsRAAAACyABIAI3AgAgAEG058IANgIEIAAgATYCAAsuACABQwAAAD+SIAKVjiIBIAAoAgxBAmuzIgIgASACXRv8AUEAIAFDAAAAAF4bCy4AIAFDAAAAP5IgApWNIgEgACgCDEEBa7MiAiABIAJdG/wBQQAgAUMAAAAAXhsLOgEBfyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABBhL3DADYCCCAAQgQ3AhAgAEEIakGMvcMAENwLAAs6AQF/IwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHMv8MANgIIIABCBDcCECAAQQhqQdS/wwAQ3AsACzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQZz0wwA2AgggAUIENwIQIAFBCGogABDcCwALOwEBf0EBIQICQCAAIAEQ/AMNACABKAIAQfTewwBBAiABKAIEKAIMEQUADQAgAEEEaiABEPwDIQILIAILOgEBfyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABBoOXDADYCCCAAQgQ3AhAgAEEIakGo5cMAENwLAAueAgEGfyMAQRBrIgIkACACIAA2AgwgAkEMaiEEIwBBIGsiACQAQQEhBQJAIAEoAgAiA0HInMMAQQYgASgCBCIHKAIMIgYRBQANAAJAIAEtAApBgAFxRQRAIANBheLDAEEBIAYRBQANAiAEIAFB0LzCACgCABEDAEUNAQwCCyADQYbiwwBBAiAGEQUADQEgAEEBOgAPIAAgBzYCBCAAIAM2AgAgAEHc4cMANgIUIAAgASkCCDcCGCAAIABBD2o2AgggACAANgIQIAQgAEEQakHQvMIAKAIAEQMADQEgACgCEEGA4sMAQQIgACgCFCgCDBEFAA0BCyABKAIAQdvewwBBASABKAIEKAIMEQUAIQULIABBIGokACACQRBqJAAgBQsuACMAQRBrIgQkACAEIAApAgA3AgggBEEIaiABIAIgAyAEIAQQlAIgBEEQaiQACy4AIwBBEGsiBCQAIAQgACkCADcCCCAEQQhqIAEgAiADIAQgBBC5AiAEQRBqJAALLgAjAEEQayIEJAAgBCAAKQIANwIIIARBCGogASACIAMgBCAEEJICIARBEGokAAtEAQF+IAApAgAhAUEMQQQQ1AwiAEUEQEEEQQxB8PrDACgCACIAQe8HIAAbEQAAAAsgACABNwIEIABBgICAgHg2AgAgAAspAQF/IAAoAgQiAQRAIAAoAgAgAUFobGpBGGsgAUEZbEEhakEIEJ8NCwswAAJAIAFpQQFGIABBgICAgHggAWtNcUUNACAABEAgACABENQMIgFFDQELIAEPCwALKQEBfyAAKAIEIgEEQCAAKAIAIAFBBHRrQRBrIAFBEWxBGWpBCBCfDQsLMgAgAEIANwIEIABBgICA/AM2AgAgAEEMakIANwIAIABBFGpCADcCACAAQRxqQgA3AgALLwEBfwJAIAAoAgAiAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQQxBBBCfDQsLLwEBfwJAIAAoAgAiAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQRRBBBCfDQsLMAEBfwJAIAAoAgAiAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQcwAQQQQnw0LCzABAX8CQCAAKAIAIgBBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEHQAUEQEJ8NCwswAQF/AkAgACgCACIAQX9GDQAgACAAKAIEQQFrIgE2AgQgAQ0AIABBwABBBBCfDQsLQAEBf0EMQQQQ1AwiAEUEQEEEQQxB8PrDACgCACIAQe8HIAAbEQAAAAsgAEEANgIIIABCgYCAgBA3AgAgAEEIagswAQF9QwAAAAAgACoCACABKgIAlCAAKgIEIAEqAgSUkiIDIANDAAAAAF0bIAMgAhsLKgEBfyMAQRBrIgIkACACQQRqIAAgAUEBEC0gAi0ADCEAIAJBEGokACAACyoBAX8jAEEQayICJAAgAkEEaiAAIAFBARApIAItAAwhACACQRBqJAAgAAsqAQF/IwBBEGsiAiQAIAJBBGogACABQQEQaSACLQAMIQAgAkEQaiQAIAALKgEBfyMAQRBrIgIkACACQQRqIAAgAUEBECogAi0ADCEAIAJBEGokACAACysCAX0BfiAAIAEqAgAiAyACKQIAIgSnvpQ4AgAgACADIARCIIinvpQ4AgQLKgEBfiAAIAEpAggiAqe+IAEqAgCTOAIAIAAgAkIgiKe+IAEqAgSTOAIECywBAX8jAEEQayICJAAgAiAAKAIANgIMIAJBDGogARD8AyEAIAJBEGokACAACyUAIAAgASoCACACKgIAmLytIAEqAgQgAioCBJi8rUIghoQ3AgALUQEBfyMAQRBrIgMkACADIAI2AgwgAyABNgIIIAMgADYCBCMAQRBrIgAkACAAIANBBGoiASkCADcCCCAAQQhqQYi/wwAgASgCCEEBQQAQlwcAC/wBAgJ/AX4jAEEQayICJAAgAkEBOwEMIAIgATYCCCACIAA2AgQjAEEQayIBJAAgAkEEaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCDCEDAkACQAJAAkAgAigCBA4CAAECCyADDQFBASECQQAhAwwCCyADDQAgAigCACICKAIEIQMgAigCACECDAELIABBgICAgHg2AgAgACABNgIMIABB7L7DACABKAIEIAEoAggiAC0ACCAALQAJEJcHAAsgACADNgIEIAAgAjYCACAAQdC+wwAgASgCBCABKAIIIgAtAAggAC0ACRCXBwALKAEBfyMAQSBrIgIkACACIAAgAUEBEJoBIAItAAghACACQSBqJAAgAAsoAQF/IwBBIGsiAiQAIAIgACABQQEQkgEgAi0ACCEAIAJBIGokACAACykAIABB/wFxIgBBEE0EQCAAQdeWwQBqLQAADwsgAEERQaSnwwAQsAkACyQBAX0gASoCACICIAKUIAEqAgQiAiAClJIgACoCACICIAKUXwsmAQF9IABCADcCACAAIAEqAgAiAiAClCABKgIEIgIgApSSkTgCCAsoAQF9IAAgASoCACICOAIMIAAgAjgCCCAAIAKMIgI4AgQgACACOAIACzMAIAEoAgAgACgCAC0AAEECdCIAQZyvwgBqKAIAIABBjK/CAGooAgAgASgCBCgCDBEFAAslACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAQgBSABKAIQER4ACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQEQIACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQERAACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQESAACyQAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQEZ8BAAsjACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAQgASgCEBE4AAsiACAAIAEpAgA3AgggACABKgIEjDgCBCAAIAEqAgCMOAIACzEAIAJCgYCAgCw3AhggAkKAgICApICAgMAANwIQIAIgACkCCDcCCCACIAApAgA3AgALKAEBfyAAKAIAIgFBgICAgHhyQYCAgIB4RwRAIAAoAgQgAUEBEJ8NCwshACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAEoAhARAQALHwAgACoCACABKgIAlCAAKgIEIAEqAgSUkkMAAAAAXwseAQJ9IAAqAgggACoCACIBIAAqAgQiAiABIAJfG5ILHQAgASgCAARAIABBwL7DADYCBCAAIAE2AgAPCwALJwEBfyAAKAIAIgIEQCABKAIAIAIgACgCBCABKAIEKAIMEQUADwsACyQAIAAtAABFBEAgAUGo5MMAQQUQpwIPCyABQa3kwwBBBBCnAgsfACAARQRAQaCwwgBBMhCuDQALIAAgAiABKAIQEQMACx0AIAAgASkCQDcCACAAQQhqIAFByABqKQIANwIACxwAIAAgASkCKDcCACAAQQhqIAFBMGopAgA3AgALKQAgACAALQAEIAFBLkZyOgAEIAAoAgAiACgCACABIAAoAgQoAhARAwAL2gkDD30KfwN+AkAgACEZIAIhDyABKAIsIRYgASgCMCEAIAEoAjghFCABKAI8IRUjAEEQayIYJAAgGEEEaiETIBQhAQJAIBVFDQAgASAVQQxsaiEbA0ACQAJAIAEoAgAiEiAASQRAIAFBBGooAgAiGiAATw0BIAFBCGooAgAiFyAASQ0CIBcgAEGcw8IAELAJAAsgEiAAQfzCwgAQsAkACyAaIABBjMPCABCwCQALIBYgEkEDdGoiEikCACEcIBIqAgAiAiAWIBdBA3RqIhcqAgAiA5MiBCAElCASKgIEIgYgFyoCBCIIkyIEIASUkpEhBCAXKQIAIR0gFiAaQQN0aiISKQIAIR4CQAJAAkAgEioCACIMIAKTIgIgApQgEioCBCIOIAaTIgIgApSSkSICIAMgDJMiAyADlCAIIA6TIgMgA5SSkSIGXkUEQCACIAReRQ0BIAYhAyACIQggBCECDAMLIAIgBF4NASAEIQMgAiEIIAYhAgwCCyAGIAQgBCAGXSISGyEDIAQgBiASGyEIDAELIAYgBCAEIAZdIhIbIQggAiEDIAQgBiASGyECCyAKQwAAAABDAAAAACADIAggApOSIAIgAyAIkyIEkiACIASTIAMgCCACkpKUlJQiAiACQwAAAABdGyACIAJcG5FDAACAPpQiAiAcQiCIp75Dq6qqPpQgHkIgiKe+Q6uqqj6UkiAdQiCIp75Dq6qqPpSSlJIhCiALIAIgHKe+Q6uqqj6UIB6nvkOrqqo+lJIgHae+Q6uqqj6UkpSSIQsgCSACkiEJIBsgAUEMaiIBRw0ACyAJQwAAAABbDQAgCiAJlSEKIAsgCZUhCwsgEyAKOAIIIBMgCzgCBCATIAk4AgAgGCkCCCEcAkACQAJAIBgqAgQiDkMAAAAAXARAIBUEQCAUIBVBDGxqIRIDQCAUKAIAIgEgAE8NAyAUQQRqKAIAIhUgAE8NBCAUQQhqKAIAIhMgAE8NBSAWIAFBA3RqIgEqAgAiBiAWIBNBA3RqIhMqAgAiCJMiAiAClCABKgIEIgkgEyoCBCIKkyICIAKUkpEhAwJAAkACQCAWIBVBA3RqIgEqAgAiAiAGkyILIAuUIhAgASoCBCIHIAmTIgwgDJQiEZKRIgUgCCACkyICIAKUIAogB5MiAiAClJKRIgReRQRAIAMgBV1FDQEgBCEHIAUhAiADIQUMAwsgAyAFXQ0BIAMhByAFIQIgBCEFDAILIAQgAyADIARdIgEbIQcgAyAEIAEbIQIMAQsgBCADIAMgBF0iARshAiAFIQcgAyAEIAEbIQULIA0gCCAGkyIDIAOUIBAgCyADlJKSIAogCZMiAyADlCARIAwgA5SSkpJDq6oqPpRDAAAAAEMAAAAAIAcgAiAFk5IgBSAHIAKTIgOSIAUgA5MgByACIAWSkpSUlCICIAJDAAAAAF0bIAIgAlwbkUMAAIA+lJSSIQ0gEiAUQQxqIhRHDQALC0MAAAAAQwAAgD8gDyANlCIClSACQwAAAABbGyEHQwAAAABDAACAPyAPIA6UIgKVIAJDAAAAAFsbIQULIBkgBzgCDCAZIAU4AgggGSAcNwIAIBhBEGokAAwDCyABIABBzMLCABCwCQALIBUgAEHcwsIAELAJAAsgEyAAQezCwgAQsAkACwsaAQF/IAAoAgAiAQRAIAAoAgQgAUEBEJ8NCwtSACAABEAgACABQfD6wwAoAgAiAEHvByAAGxEAAAALIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHYwMMANgIIIABCBDcCECAAQQhqIAIQ3AsACx8AIABBCGpB4KTBACkCADcCACAAQdikwQApAgA3AgALHwAgAEEIakHwpMEAKQIANwIAIABB6KTBACkCADcCAAsfACAAQQhqQYClwQApAgA3AgAgAEH4pMEAKQIANwIACx8AIABBCGpBgMrBACkCADcCACAAQfjJwQApAgA3AgALHwAgAEEIakGgysEAKQIANwIAIABBmMrBACkCADcCAAsfACAAQQhqQbDKwQApAgA3AgAgAEGoysEAKQIANwIACx8AIABBCGpBwMrBACkCADcCACAAQbjKwQApAgA3AgALHwAgAEEIakHQysEAKQIANwIAIABByMrBACkCADcCAAsfACAAQQhqQeDKwQApAgA3AgAgAEHYysEAKQIANwIACx0AIABBvOrBADYCBCAAIAE2AgAgACABKgIQOAIICx8AIABBCGpBjLTCACkCADcCACAAQYS0wgApAgA3AgALHwAgAEEIakGctMIAKQIANwIAIABBlLTCACkCADcCAAsfACAAQQhqQay0wgApAgA3AgAgAEGktMIAKQIANwIACx8AIABBCGpBvLTCACkCADcCACAAQbS0wgApAgA3AgALHwAgAEEIakHMtMIAKQIANwIAIABBxLTCACkCADcCAAsfACAAQQhqQdy0wgApAgA3AgAgAEHUtMIAKQIANwIACx8AIABBCGpB7LTCACkCADcCACAAQeS0wgApAgA3AgALHwAgAEEIakH8tMIAKQIANwIAIABB9LTCACkCADcCAAsfACAAQQhqQYy1wgApAgA3AgAgAEGEtcIAKQIANwIACx8AIABBCGpBnLXCACkCADcCACAAQZS1wgApAgA3AgALHwAgAEEIakGstcIAKQIANwIAIABBpLXCACkCADcCAAsfACAAQQhqQby1wgApAgA3AgAgAEG0tcIAKQIANwIACx8AIABBCGpBzLXCACkCADcCACAAQcS1wgApAgA3AgALHwAgAEEIakHctcIAKQIANwIAIABB1LXCACkCADcCAAsfACAAQQhqQey1wgApAgA3AgAgAEHktcIAKQIANwIACx8AIABBCGpB/LXCACkCADcCACAAQfS1wgApAgA3AgALHwAgAEEIakGMtsIAKQIANwIAIABBhLbCACkCADcCAAsfACAAQQhqQZy2wgApAgA3AgAgAEGUtsIAKQIANwIACx8AIABBCGpBrLbCACkCADcCACAAQaS2wgApAgA3AgALHwAgAEEIakG8tsIAKQIANwIAIABBtLbCACkCADcCAAsfACAAQQhqQcy2wgApAgA3AgAgAEHEtsIAKQIANwIACx8AIABBCGpB3LbCACkCADcCACAAQdS2wgApAgA3AgALHwAgAEEIakHstsIAKQIANwIAIABB5LbCACkCADcCAAsYAQJ9IAAqAgAiASAAKgIEIgIgASACXxsLHQAgAEGYg8MANgIEIAAgATYCACAAIAEqAhA4AggLoQQDDn0DfwN+IAIhCCABKgIAIgkgAUEQaiISKgIAIgqTIgIgApQgASoCBCILIBIqAgQiDJMiAiAClJKRIQQCQAJAAkAgAUEIaiITKgIAIgMgCZMiDSANlCIPIBMqAgQiBiALkyIOIA6UIhCSkSICIAogA5MiAyADlCAMIAaTIgMgA5SSkSIFXkUEQCACIAReRQ0BIAUhAyACIQYgBCECDAMLIAIgBF4NASAEIQMgAiEGIAUhAgwC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IAAgATYCAAsWAEHk+sMAIAA2AgBB4PrDAEEBNgIACxMAIABBhLnCADYCBCAAIAE2AgALEwAgAEGUucIANgIEIAAgATYCAAsTACAAQaS5wgA2AgQgACABNgIACxMAIABBtLnCADYCBCAAIAE2AgALEwAgAEHEucIANgIEIAAgATYCAAsTACAAQdS5wgA2AgQgACABNgIACxMAIABB5LnCADYCBCAAIAE2AgALEwAgAEH0ucIANgIEIAAgATYCAAsTACAAQYS6wgA2AgQgACABNgIACxMAIABBlLrCADYCBCAAIAE2AgALEwAgAEGkusIANgIEIAAgATYCAAsTACAAQbS6wgA2AgQgACABNgIACxMAIABBxLrCADYCBCAAIAE2AgALEwAgAEHUusIANgIEIAAgATYCAAsTACAAQeS6wgA2AgQgACABNgIACxMAIABB9LrCADYCBCAAIAE2AgALEwAgAEGEu8IANgIEIAAgATYCAAsTACAAQZS7wgA2AgQgACABNgIACxMAIABBpLvCADYCBCAAIAE2AgALEwAgAEG0u8IANgIEIAAgATYCAAsTACAAQcS7wgA2AgQgACABNgIACxMAIABB1LvCADYCBCAAIAE2AgALEwAgAEHku8IANgIEIAAgATYCAAsQACAAIAE2AgQgAEEDNgIACxAAIAAgATYCBCAAQQQ2AgALEAAgACABNgIEIABBAjYCAAsQACAAIAE2AgQgAEEBNgIACxAAIAAgATYCBCAAQQA2AgALIQAgAEL////39/////4ANwIIIABC////9/////9+NwIACxAAIABBADYCACAAIAE2AgQLEwAgAEGggsMANgIEIAAgATYCAAsTACAAQbyCwwA2AgQgACABNgIACxMAIABB/ILDADYCBCAAIAE2AgALEwAgAEG8g8MANgIEIAAgATYCAAsTACAAQfyDwwA2AgQgACABNgIACxAAIABBCjYCACAAIAE2AgQLEwAgAEGEh8MANgIEIAAgATYCAAsQACAAQQc2AgAgACABNgIECxMAIABBhIrDADYCBCAAIAE2AgALEAAgAEEGNgIAIAAgATYCBAsTACAAQYSNwwA2AgQgACABNgIACxAAIABBCTYCACAAIAE2AgQLEAAgAEELNgIAIAAgATYCBAsTACAAQYSQwwA2AgQgACABNgIACyEAIABC////9/f////+ADcCCCAAQv////f/////fjcCAAsUACAAQf////sHNgIIIABCADcCAAshACAAQv////f3/////gA3AgggAEL////3/////343AgALEAAgAEEINgIAIAAgATYCBAsQACAAQQU2AgAgACABNgIECxAAIABBDDYCACAAIAE2AgQLEwAgAEGItcMANgIEIAAgATYCAAsQACAAQQ02AgAgACABNgIECxMAIABBpLXDADYCBCAAIAE2AgALEAAgAEEONgIAIAAgATYCBAsTACAAQcC1wwA2AgQgACABNgIAC+kGARB/IAAoAgAhCCAAKAIEIQRBACEAIwBBEGsiCSQAQQEhDQJAIAEoAgAiCkEiIAEoAgQiDigCECIPEQMADQACQCAERQRAQQAhAQwBC0EAIARrIRAgCCEHIAQhBQNAIAUgB2ohEUEAIQECQAJAA0AgASAHaiIDLQAAIgZB/wBrQf8BcUGhAUkNASAGQSJGDQEgBkHcAEYNASAFIAFBAWoiAUcNAAsgAiAFaiECDAELIANBAWohByABIAJqIQUCfwJAIAMsAAAiBkEATgRAIAZB/wFxIQMMAQsgBy0AAEE/cSELIAZBH3EhDCADQQJqIQcgBkFfTQRAIAxBBnQgC3IhAwwBCyAHLQAAQT9xIAtBBnRyIQsgA0EDaiEHIAZBcEkEQCALIAxBDHRyIQMMAQsgBy0AACEGIANBBGohByAMQRJ0QYCA8ABxIAZBP3EgC0EGdHJyIgNBgIDEAEcNACAFDAELIAkgA0GBgAQQkwICQCAJLQANIAktAAxrQf8BcUEBRg0AAkACQAJAIAAgBUsNAAJAIABFDQAgACAETwRAIAAgBEcNAgwBCyAAIAhqLAAAQb9/TA0BCwJAIAVFDQAgBCAFTQRAIAUgEGpFDQEMAgsgAiAIaiABaiwAAEG/f0wNAQsgCiAAIAhqIAIgAGsgAWogDigCDCIAEQUARQ0BDAILIAggBCAAIAEgAmpBtOTDABDKDAALAkAgCS0ADSIFQYEBTwRAIAogCSgCACAPEQMADQIMAQsgCiAJLQAMIgYgCWogBSAGayAAEQUADQELAn9BASADQYABSQ0AGkECIANBgBBJDQAaQQNBBCADQYCABEkbCyACaiABaiEADAELDAULAn9BASADQYABSQ0AGkECIANBgBBJDQAaQQNBBCADQYCABEkbCyACaiABagshAiARIAdrIgUNAQsLAkAgACACSw0AQQAhAQJAIABFDQAgACAETwRAIAAhASAAIARHDQIMAQsgACEBIAAgCGosAABBv39MDQELIAJFBEBBACECDAILIAIgBE8EQCACIARGDQIgASEADAELIAIgCGosAABBv39KDQEgASEACyAIIAQgACACQcTkwwAQygwACyAKIAEgCGogAiABayAOKAIMEQUADQAgCkEiIA8RAwAhDQsgCUEQaiQAIA0LHAAgASgCACAAKAIAIAAoAgQgASgCBCgCDBEFAAsTACAAQcC+wwA2AgQgACABNgIACxEAIAEoAgAgASgCBCAAEMsCC2UBAX8CQCAAQQhrKAIEIgNBeHEhAgJAIAJBBEEIIANBA3EiAxsgAWpPBEAgA0EARyACIAFBJ2pLcQ0BIAAQrQIMAgtB1LrDAEEuQYS7wwAQ+QoAC0GUu8MAQS5BxLvDABD5CgALC+wBAgN9AX5BACEEAkAgAAJ+AkACQAJAAkACQCACQQFrDgIBBgALIAMgASgCFCICIAMbQQFrIQQgAiAETQ0CIAIgA00NASABKAIQIgEgA0EDdGoiAioCBCABIARBA3RqKQIAIghCIIinvpIhBSACKgIAIAinvpIiBiAGlCAFIAWUkpEhByAGIAeVvK0gBSAHlbytQiCGhAwECyABKAIUIgIgA0sNAiADIAJBnJfDABCwCQALIAMgAkGMl8MAELAJAAsgBCACQfyWwwAQsAkACyABKAIQIANBA3RqKQIACzcCBEEBIQQLIAAgBDYCAAsPAEHItsMAQS8gABDbCwALaQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQdj0wwA2AgggA0ICNwIUIAMgA0EEaq1CgICAgDCENwMoIAMgA61CgICAgDCENwMgIAMgA0EgajYCECADQQhqIAIQ3AsAC2kBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQI2AgwgA0H49MMANgIIIANCAjcCFCADIANBBGqtQoCAgIAwhDcDKCADIAOtQoCAgIAwhDcDICADIANBIGo2AhAgA0EIaiACENwLAAtpAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBrPXDADYCCCADQgI3AhQgAyADQQRqrUKAgICA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A0kNAwJ9IAUEQEMAAAAAIANBgICA6ABqIAJJDQEaCyAAIAGVixDXAwshAQJAAkACQCAEQQFrDgMBAgAECyABQy69uzOSQ9sPScCSIQAMBgsgAYwhAAwFC0PbD0lAIAFDLr27M5KTIQAMBAsgBEECdEHo+cMAaioCACEBCyABIQAMAgsgACABkiEADAELQ9sPyT8gAJghAAsgAAsHACAAKgIQCwcAIAAqAgALBwAgABC7AQsHACAAEL4BCwQAQQELBABBAQsHAEPbD8k/CwQAQQALBABBAwsHAEMAAAAACwQAQQQLBABBAgsEAEEACwQAQQALBAAgAAsHAEPbD0lACwQAQQoLBABBBwsEAEEGCwQAQQkLBABBCwsHAEP//39/CwQAQQgLBABBBQsEAEEMCwQAQQ0LBABBDgsHAEPbD0k/CwMAAQsDAAELAwABCwMAAQsLlPoDGwBBgIDAAAvdlwFjYXBhY2l0eSBvdmVyZmxvd05vIGVsZW1lbnQgYXQgaW5kZXgvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9jY2QvdG9pX2VudHJ5LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHkucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL3NvbHZlcl9ib2R5LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvcmlnaWRfYm9keS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy9hcnJheS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21hdHJpeC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21pbl9tYXgucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2JvcnJvdy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21hdHJpeF92aWV3LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvY29uc3RydWN0aW9uX3ZpZXcucnMAbGlicmFyeS9jb3JlL3NyYy9udW0vZmx0MmRlYy9zdHJhdGVneS9ncmlzdS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9saW5hbGcvbHUucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL21wbWMvY29udGV4dC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3BhcnRpdGlvbmluZy9idmgvYnZoX3RyYXZlcnNlX2J2dHQucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL21wbWMvbGlzdC5ycwBsaWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3BhcnRpdGlvbmluZy9idmgvYnZoX2luc2VydC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3V0aWxzL3BvaW50X2Nsb3VkX3N1cHBvcnRfcG9pbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L3VuaXRfbXVsdGlib2R5X2pvaW50LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2pvaW50X2NvbnN0cmFpbnQvam9pbnRfdmVsb2NpdHlfY29uc3RyYWludC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvam9pbnRfY29uc3RyYWludC9nZW5lcmljX2pvaW50X2NvbnN0cmFpbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2NvbnRhY3RfY29uc3RyYWludC9nZW5lcmljX2NvbnRhY3RfY29uc3RyYWludC5ycwBsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2N1cnJlbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9wb2ludC9wb2ludF9zZWdtZW50LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvc2VnbWVudC5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF9yZWZpdC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X3NldC5ycwBidWlsZHMvcmFwaWVyMmQvLi4vLi4vc3JjL2R5bmFtaWNzL3JpZ2lkX2JvZHlfc2V0LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnRfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvbXVsdGlib2R5X2pvaW50X3NldC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9qb2ludC9pbXB1bHNlX2pvaW50L2ltcHVsc2Vfam9pbnRfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvaW1wdWxzZV9qb2ludF9zZXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2pvaW50X2NvbnN0cmFpbnQvam9pbnRfY29uc3RyYWludHNfc2V0LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9jb250YWN0X2NvbnN0cmFpbnQvY29udGFjdF9jb25zdHJhaW50c19zZXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2RpeV9mbG9hdC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZGF0YS9tb2RpZmllZF9vYmplY3RzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2Uvb3BzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZS0xLjAuMjE5L3NyYy9kZS9pbXBscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsX3V0aWxzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvYm91bmRpbmdfdm9sdW1lL2FhYmJfdXRpbHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi91dGlscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy91dGlscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc192b3hlbHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS92b3hlbHMvdm94ZWxzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93ZWItdGltZS0xLjEuMC9zcmMvdGltZS9qcy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvdXNlcl9jaGFuZ2VzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwMC9zcmMvY29udmVydC9zbGljZXMucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9tdXRleC9ub190aHJlYWRzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvYmxhcy5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9mZmkvY19zdHIucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvaXRlci90cmFpdHMvaXRlcmF0b3IucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL25hbGdlYnJhLTAuMzQuMS9zcmMvYmFzZS9kZWZhdWx0X2FsbG9jYXRvci5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvdmVsb2NpdHlfc29sdmVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2NjZC9jY2Rfc29sdmVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdXRpbHMvY2VudGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2NvbnRyb2wvY2hhcmFjdGVyX2NvbnRyb2xsZXIucnMAYnVpbGRzL3JhcGllcjJkLy4uLy4uL3NyYy9jb250cm9sL2NoYXJhY3Rlcl9jb250cm9sbGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L3N0ZC9zcmMvc3luYy9tcG1jL3dha2VyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZGVmYXVsdF9xdWVyeV9kaXNwYXRjaGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2lzbGFuZF9tYW5hZ2VyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9qb2ludF9jb25zdHJhaW50L2dlbmVyaWNfam9pbnRfY29uc3RyYWludF9idWlsZGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9qb2ludF9jb25zdHJhaW50L2pvaW50X2NvbnN0cmFpbnRfYnVpbGRlci5ycwBidWlsZHMvcmFwaWVyMmQvLi4vLi4vc3JjL2dlb21ldHJ5L2NvbGxpZGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2NvcmUvc3JjL2NtcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2ludGVyc2VjdGlvbl90ZXN0L2ludGVyc2VjdGlvbl90ZXN0X3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvbm9ubGluZWFyX3NoYXBlX2Nhc3Qvbm9ubGluZWFyX3NoYXBlX2Nhc3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0L2NvbnRhY3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2Rpc3RhbmNlL2Rpc3RhbmNlX3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfaGFsZnNwYWNlX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdXRpbHMvdmVjX21hcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy96ZXJvLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvdm94ZWxzL3ZveGVsc19lZGl0aW9uLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvZWRpdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL2NvbnN0cnVjdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvY29udGFjdF9jb25zdHJhaW50L2NvbnRhY3Rfd2l0aF9jb3Vsb21iX2ZyaWN0aW9uLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9jYXRlZ29yaXphdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXNfY29udmV4X3BvbHlnb24ucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS9jb252ZXhfcG9seWdvbi5ycwBsaWJyYXJ5L2NvcmUvc3JjL251bS9mbHQyZGVjL3N0cmF0ZWd5L2RyYWdvbi5ycwBsaWJyYXJ5L2NvcmUvc3JjL251bS9iaWdudW0ucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19wZm1fcGZtLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY29udGFjdF9tYW5pZm9sZHMvY29udGFjdF9tYW5pZm9sZHNfaGFsZnNwYWNlX3BmbS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc19iYWxsLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfYmFsbF9iYWxsLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9iaW5jb2RlLTEuMy4zL3NyYy9pbnRlcm5hbC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3NoYXBlL3ZveGVscy92b3hlbHNfY2h1bmsucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9saW5rLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZ2prL2dqay5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9nZW9tZXRyeS9icm9hZF9waGFzZV9idmgucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS90cmltZXNoLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2dlb21ldHJ5L2ludGVyYWN0aW9uX2dyYXBoLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2RhdGEvZ3JhcGgucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2VuYS0wLjE0LjMvc3JjL3VuZG9fbG9nLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvaW5kZXhpbmcucnMAbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfb3B0aW1pemUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF90cmF2ZXJzZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL2NvbXBvbmVudHdpc2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZ2VvbWV0cnkvbmFycm93X3BoYXNlLnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvbmFycm93X3BoYXNlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvYm91bmRpbmdfdm9sdW1lL2JvdW5kaW5nX3NwaGVyZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc19zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3RyaW1lc2hfc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9wb2ludC9wb2ludF9jb21wb3NpdGVfc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc192b3hlbHNfY29tcG9zaXRlX3NoYXBlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY29udGFjdF9tYW5pZm9sZHMvY29udGFjdF9tYW5pZm9sZHNfY29tcG9zaXRlX3NoYXBlX2NvbXBvc2l0ZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX2NvbXBvc2l0ZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX3NoYXBlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvc2hhcmVkX3NoYXBlLnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS92b3hlbHNfdG9fcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS9yb3VuZF9jb252ZXhfcG9seWdvbl90b19wb2x5bGluZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX3BvbHlsaW5lL2JhbGxfdG9fcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS9jYXBzdWxlX3RvX3BvbHlsaW5lLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdHJhbnNmb3JtYXRpb24vdG9fcG9seWxpbmUvcm91bmRfY3Vib2lkX3RvX3BvbHlsaW5lLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lLnJzAGxpYnJhcnkvc3RkL3NyYy9zeXMvcGFsL3dhc20vLi4vdW5zdXBwb3J0ZWQvdGltZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9jb3JlL3NyYy90aW1lLnJzAC9ydXN0Yy8xMTU5ZTc4YzQ3NDdiMDJlZjk5NmU1NTA4MmI3MDRjMDliOTcwNTg4L2xpYnJhcnkvY29yZS9zcmMvdGltZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NhcHN1bGVfY2Fwc3VsZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF90cmlhbmdsZS5ycwBsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvdmVjX3N0b3JhZ2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF90cmVlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2xpbmFsZy9wZXJtdXRhdGlvbl9zZXF1ZW5jZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS92b3hlbHMvdm94ZWxzX25laWdoYm9yaG9vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZW5hLTAuMTQuMy9zcmMvdW5pZnkvbW9kLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTUuNC9zcmMvcmF3L21vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaGFzaGJyb3duLTAuMTYuMC9zcmMvcmF3L21vZC5ycwBsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2JpbmFyeV9oZWFwL21vZC5ycwBsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL21vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy9tb2QucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0Yy8xMTU5ZTc4YzQ3NDdiMDJlZjk5NmU1NTA4MmI3MDRjMDliOTcwNTg4L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2ZsdDJkZWMvbW9kLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvY29tcG91bmQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lL2RlYnVnX3JlbmRlcl9iYWNrZW5kLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfYmlubmVkX2J1aWxkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfcGxvY19idWlsZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L3JheS9yYXlfaGVpZ2h0ZmllbGQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19jdWJvaWRfY3Vib2lkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvY3Vib2lkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvZmVhdHVyZV9pZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvdmVjL3NwZWNfZnJvbV9pdGVyX25lc3RlZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXNfdHJpbWVzaDJkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvcG9seWdvbmFsX2ZlYXR1cmUyZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMC9zcmMvZGxtYWxsb2MucnMAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzAGxpYnJhcnkvYWxsb2Mvc3JjL3N5bmMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2FycmF5dmVjLTAuNy42L3NyYy9hcnJheXZlYy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZW5hLTAuMTQuMy9zcmMvc25hcHNob3RfdmVjLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9qcy1zeXMtMC4zLjc3L3NyYy9saWIucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL29uY2VfY2VsbC0xLjIxLjMvc3JjL2xpYi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc21hbGx2ZWMtMS4xNS4xL3NyYy9saWIucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9kYXRhL2NvYXJlbmEucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZGF0YS9hcmVuYS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2dqay92b3Jvbm9pX3NpbXBsZXgyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvaGVpZ2h0ZmllbGQyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZXBhL2VwYTIucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvbnVtL2YzMi5ycwABAQECAQEBAgEBAQICAgIDAA0tEAB5AAAANQAAACwAAABDYW5ub3QgZGVzZXJpYWxpemUgY3VzdG9tIHNoYXBlLgAAAAAAAAAAAQAAAAQAAAACAAAAYW4gYXJyYXkgd2l0aCBubyBtb3JlIHRoYW4gIGl0ZW1zAAAArEsQABsAAADHSxAABgBB6JfBAAspAQAAAAUAAAAAAAAACAAAAAQAAAAGAAAAYSB0dXBsZSBvZiBzaXplIDIAQZyYwQALYQEAAAAHAAAAihEQAGMAAACVBAAAIgAAAIoREABjAAAAmAQAABwAAABzdHJ1Y3QgVHJpTWVzaCB3aXRoIDYgZWxlbWVudHMAAERMEAAeAAAAYSB0dXBsZSBvZiBzaXplIDMAQYiZwQALBQEAAAAIAEGYmcEACwUBAAAACABBqJnBAAsFAQAAAAgAQbiZwQALBQEAAAAIAEHImcEAC9UOAQAAAAgAAABzdHJ1Y3QgQ29tcG91bmQgd2l0aCA0IGVsZW1lbnRzANBMEAAfAAAAc3RydWN0IFBvbHlsaW5lIHdpdGggMyBlbGVtZW50cwD4TBAAHwAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMiBNEAAYAAAAc3RydWN0IENvbGxpZGVyIHdpdGggMTEgZWxlbWVudHNATRAAIAAAAHN0cnVjdCBWb3hlbHMgd2l0aCA2IGVsZW1lbnRzAAAAaE0QAB0AAABzdHJ1Y3QgSGVpZ2h0RmllbGQgd2l0aCA0IGVsZW1lbnRzAACQTRAAIgAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMTYAAAC8TRAAGQAAAHN0cnVjdCBUcmlNZXNoQ29ubmVjdGVkQ29tcG9uZW50cyB3aXRoIDMgZWxlbWVudHMAAADgTRAAMQAAAHN0cnVjdCBDb252ZXhQb2x5Z29uIHdpdGggMiBlbGVtZW50cxxOEAAkAAAAc3RydWN0IEdyYXBoIHdpdGggMiBlbGVtZW50c0hOEAAcAAAAc3RydWN0IExVIHdpdGggMiBlbGVtZW50cwAAAGxOEAAZAAAAc3RydWN0IElzbGFuZE1hbmFnZXIgd2l0aCA0IGVsZW1lbnRzkE4QACQAAABzdHJ1Y3QgQnZoTm9kZVdpZGUgd2l0aCAyIGVsZW1lbnRzAAC8ThAAIgAAAHN0cnVjdCBCcm9hZFBoYXNlQnZoIHdpdGggNCBlbGVtZW50c+hOEAAkAAAAc3RydWN0IENvbnRhY3RNYW5pZm9sZERhdGEgd2l0aCA3IGVsZW1lbnRzAAAUTxAAKgAAAHN0cnVjdCBKb2ludE1vdG9yIHdpdGggNyBlbGVtZW50cwAAAEhPEAAhAAAAc3RydWN0IEdlbmVyaWNKb2ludCB3aXRoIDExIGVsZW1lbnRzdE8QACQAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDOgTxAAGAAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgNMBPEAAYAAAAc3RydWN0IEludGVncmF0aW9uUGFyYW1ldGVycyB3aXRoIDE2IGVsZW1lbnRzAAAA4E8QAC0AAABzdHJ1Y3QgTXVsdGlib2R5IHdpdGggMTggZWxlbWVudHMAAAAYUBAAIQAAAHN0cnVjdCBJbnRlcmFjdGlvbkdyYXBoIHdpdGggMSBlbGVtZW50AABEUBAAJgAAAHN0cnVjdCBJbmRleFNlcXVlbmNlIHdpdGggMiBlbGVtZW50c3RQEAAkAAAAc3RydWN0IEltcHVsc2VKb2ludCB3aXRoIDUgZWxlbWVudHMAoFAQACMAAAB0dXBsZSBzdHJ1Y3QgTW9kaWZpZWRPYmplY3RzIHdpdGggMiBlbGVtZW50c8xQEAAsAAAAc3RydWN0IE11bHRpYm9keUpvaW50IHdpdGggNCBlbGVtZW50cwAAAABREAAlAAAAc3RydWN0IEltcHVsc2VKb2ludFNldCB3aXRoIDQgZWxlbWVudHMAADBREAAmAAAAc3RydWN0IE11bHRpYm9keUpvaW50U2V0IHdpdGggNCBlbGVtZW50c2BREAAoAAAAc3RydWN0IE11bHRpYm9keVdvcmtzcGFjZSB3aXRoIDIgZWxlbWVudHMAAACQURAAKQAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgOcRREAAYAAAAc3RydWN0IFRyaU1lc2hTaGFwZUNvbnRhY3RNYW5pZm9sZHNXb3Jrc3BhY2Ugd2l0aCAzIGVsZW1lbnRz5FEQADwAAABzdHJ1Y3QgQ29udGFjdE1hbmlmb2xkIHdpdGggOCBlbGVtZW50cwAAKFIQACYAAAACzmFV3zO2O/1hdzSajbdoytIBpCh1EK2Cy9Ehd1e2D3QIQmj6tqSxyfQ3YkazU/OxIRAAdgAAAIYAAAA6AAAAsSEQAHYAAAB+AAAAQQAAAIcaEAB3AAAAXAAAACsAAABjYW5ub3QgcmVjdXJzaXZlbHkgYWNxdWlyZSBtdXRleLhSEAAgAAAAfhYQAIEAAAATAAAACQAAAAAAAAAIAAAABAAAAAkAAAAAAAAAEAAAAAQAAAAKAAAAAAAA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\").buffer)}))}function Ug(){return function(){let I,g;try{const B=A.__wbindgen_add_to_stack_pointer(-16);A.version(B);var C=G().getInt32(B+0,!0),Q=G().getInt32(B+4,!0);return I=C,g=Q,D(C,Q)}finally{A.__wbindgen_add_to_stack_pointer(16),A.__wbindgen_export_1(I,g,1)}}()}function Rg(I){var g;g=I,A.reserve_memory(g)}Sg[\"-\".charCodeAt(0)]=62,Sg[\"_\".charCodeAt(0)]=63;var cg=Object.freeze({__proto__:null,version:Ug,reserveMemory:Rg,Vector2:ZA,VectorOps:OA,RotationOps:WA,get RigidBodyType(){return jA},RigidBody:QI,RigidBodyDesc:BI,RigidBodySet:iI,IntegrationParameters:DI,get JointType(){return xA},get MotorModel(){return XA},get JointAxesMask(){return mA},ImpulseJoint:oI,UnitImpulseJoint:wI,FixedImpulseJoint:GI,RopeImpulseJoint:KI,SpringImpulseJoint:hI,PrismaticImpulseJoint:NI,RevoluteImpulseJoint:SI,JointData:kI,ImpulseJointSet:yI,MultibodyJoint:sI,UnitMultibodyJoint:FI,FixedMultibodyJoint:aI,PrismaticMultibodyJoint:MI,RevoluteMultibodyJoint:JI,MultibodyJointSet:UI,get CoefficientCombineRule(){return vA},CCDSolver:RI,IslandManager:cI,BroadPhase:pI,NarrowPhase:nI,TempContactManifold:dI,Shape:fI,get ShapeType(){return PA},get TriMeshFlags(){return uA},Ball:TI,HalfSpace:ZI,Cuboid:OI,RoundCuboid:WI,Capsule:jI,Segment:xI,Triangle:XI,RoundTriangle:mI,Polyline:vI,Voxels:VI,TriMesh:PI,ConvexPolygon:uI,RoundConvexPolygon:zI,Heightfield:_I,get ActiveCollisionTypes(){return gI},Collider:og,get MassPropsMode(){return CI},ColliderDesc:wg,ColliderSet:Gg,get FeatureType(){return VA},Ray:YI,RayIntersection:LI,RayColliderIntersection:qI,RayColliderHit:tI,PointProjection:HI,PointColliderProjection:rI,ShapeCastHit:lI,ColliderShapeCastHit:eI,ShapeContact:bI,World:Eg,PhysicsPipeline:$I,SerializationPipeline:Ag,get ActiveEvents(){return _A},TempContactForceEvent:ig,EventQueue:Dg,get ActiveHooks(){return $A},get SolverFlags(){return AI},DebugRenderBuffers:Ig,DebugRenderPipeline:gg,get QueryFilterFlags(){return II},init:Jg,CharacterCollision:Cg,KinematicCharacterController:Qg,get PidAxesMask(){return zA},PidController:Bg});export{gI as ActiveCollisionTypes,_A as ActiveEvents,$A as ActiveHooks,TI as Ball,pI as BroadPhase,RI as CCDSolver,jI as Capsule,Cg as CharacterCollision,vA as CoefficientCombineRule,og as Collider,wg as ColliderDesc,Gg as ColliderSet,eI as ColliderShapeCastHit,uI as ConvexPolygon,OI as Cuboid,Ig as DebugRenderBuffers,gg as DebugRenderPipeline,Dg as EventQueue,VA as FeatureType,GI as FixedImpulseJoint,aI as FixedMultibodyJoint,ZI as HalfSpace,_I as Heightfield,oI as ImpulseJoint,yI as ImpulseJointSet,DI as IntegrationParameters,cI as IslandManager,mA as JointAxesMask,kI as JointData,xA as JointType,Qg as KinematicCharacterController,CI as MassPropsMode,XA as MotorModel,sI as MultibodyJoint,UI as MultibodyJointSet,nI as NarrowPhase,$I as PhysicsPipeline,zA as PidAxesMask,Bg as PidController,rI as PointColliderProjection,HI as PointProjection,vI as Polyline,NI as PrismaticImpulseJoint,MI as PrismaticMultibodyJoint,II as QueryFilterFlags,YI as Ray,tI as RayColliderHit,qI as RayColliderIntersection,LI as RayIntersection,SI as RevoluteImpulseJoint,JI as RevoluteMultibodyJoint,QI as RigidBody,BI as RigidBodyDesc,iI as RigidBodySet,jA as RigidBodyType,KI as RopeImpulseJoint,WA as RotationOps,zI as RoundConvexPolygon,WI as RoundCuboid,mI as RoundTriangle,xI as Segment,Ag as SerializationPipeline,fI as Shape,lI as ShapeCastHit,bI as ShapeContact,PA as ShapeType,AI as SolverFlags,hI as SpringImpulseJoint,ig as TempContactForceEvent,dI as TempContactManifold,PI as TriMesh,uA as TriMeshFlags,XI as Triangle,wI as UnitImpulseJoint,FI as UnitMultibodyJoint,ZA as Vector2,OA as VectorOps,VI as Voxels,Eg as World,cg as default,Jg as init,Rg as reserveMemory,Ug as version};\n//# sourceMappingURL=rapier.mjs.map\n","/**\n * 通过 gh-calendar API 获取 GitHub 用户贡献图数据。\n *\n * API: https://gh-calendar.rschristian.dev/user/{username}\n * 返回按周分组的贡献数据,支持 ?limit=N 参数限制返回周数。\n */\n\n/** 单日贡献数据(API 原始格式) */\nexport interface RawContributionDay {\n date: string\n intensity: number\n count: number\n}\n\n/** gh-calendar API 响应格式 */\nexport interface CalendarResponse {\n total: number\n contributions: RawContributionDay[][]\n}\n\n/** 贡献颜色分级 */\nexport const INTENSITY_COLORS = [\n '#ebedf0',\n '#9be9a8',\n '#40c463',\n '#30a14e',\n '#216e39'\n]\n\n/**\n * 根据 GitHub 用户名获取贡献图数据。\n *\n * @param username - GitHub 用户名\n * @param limit - 限制返回的周数,不传则返回所有可用数据\n * @returns 贡献图数据,包含每日贡献次数和等级\n * @throws 如果请求失败或用户名不存在\n */\nexport async function fetchContributions(username: string, limit?: number) {\n const params = limit ? `?limit=${limit}` : ''\n const url = `https://gh-calendar.rschristian.dev/user/${username}${params}`\n\n const response = await fetch(url)\n\n if (!response.ok) {\n throw new Error(\n `Failed to fetch contributions for \"${username}\": ${response.status} ${response.statusText}`\n )\n }\n\n const data: CalendarResponse = await response.json()\n\n return data\n}\n","/**\n * A vertex in a circular doubly linked list representing a polygon ring.\n * `prev`/`next` are always linked (set immediately after {@link createNode}), so they're typed\n * non-null; `prevZ`/`nextZ` are the z-order list links and are null at the ends.\n *\n * @typedef {object} Node\n * @property {number} i vertex index in the coordinates array\n * @property {number} x vertex x coordinate\n * @property {number} y vertex y coordinate\n * @property {Node} prev previous vertex node in the polygon ring\n * @property {Node} next next vertex node in the polygon ring\n * @property {number} z z-order curve value; doubles as the owning block index during eliminateHoles\n * @property {Node | null} prevZ previous node in z-order\n * @property {Node | null} nextZ next node in z-order\n */\n\n// single-vertex holes to preserve through filterPoints (steiner points); kept off the Node\n// shape since they're rare — the empty-set fast path means non-steiner inputs pay nothing\n/** @type {Set} */\nconst steiners = new Set();\n\n// set by filterPoints whenever it removes at least one node; read by earcutLinked's stall\n// handler to decide whether another clip pass is worth attempting before the costlier stages\nlet filteredOut = false;\n\n/**\n * Triangulate a polygon given as a flat array of vertex coordinates.\n *\n * @param {ArrayLike} data flat array of vertex coordinates\n * @param {ArrayLike | null} [holeIndices] indices (in vertices, not coordinates) where each hole ring starts\n * @param {number} [dim=2] number of coordinates per vertex in `data`\n * @returns {number[]} triangles as triplets of vertex indices into `data`\n * @example earcut([10,0, 0,50, 60,60, 70,10]); // [1,0,3, 3,2,1]\n */\nexport default function earcut(data, holeIndices, dim = 2) {\n\n const hasHoles = holeIndices && holeIndices.length;\n const outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n if (steiners.size) steiners.clear();\n\n let outerNode = linkedList(data, 0, outerLen, dim, true);\n /** @type {number[]} */\n const triangles = [];\n\n if (!outerNode || outerNode.next === outerNode.prev) return triangles;\n\n let minX = 0, minY = 0, invSize = 0;\n\n if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n\n // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n if (data.length > 80 * dim) {\n minX = data[0];\n minY = data[1];\n let maxX = minX;\n let maxY = minY;\n\n for (let i = dim; i < outerLen; i += dim) {\n const x = data[i];\n const y = data[i + 1];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n }\n\n // minX, minY and invSize are later used to transform coords into integers for z-order calculation\n invSize = Math.max(maxX - minX, maxY - minY);\n invSize = invSize !== 0 ? 32767 / invSize : 0;\n }\n\n earcutLinked(outerNode, triangles, minX, minY, invSize);\n\n return triangles;\n}\n\n// create a circular doubly linked list from polygon points in the specified winding order\n/** @param {ArrayLike} data @param {number} start @param {number} end @param {number} dim @param {boolean} clockwise @returns {Node | null} */\nfunction linkedList(data, start, end, dim, clockwise) {\n /** @type {Node | null} */\n let last = null;\n\n if (clockwise === (signedArea(data, start, end, dim) > 0)) {\n for (let i = start; i < end; i += dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);\n } else {\n for (let i = end - dim; i >= start; i -= dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);\n }\n\n if (last && equals(last, last.next)) {\n removeNode(last);\n last = last.next;\n }\n\n return last;\n}\n\n// Remove collinear or coincident points; removability depends only on a node's immediate\n// neighbors, so we sweep forward and re-check the predecessor after each removal. With no `end`\n// we sweep the whole ring, lapping until nothing is removable (the fixpoint the clipper needs).\n// With an explicit `end` we heal only the dirty window around a bridge/diagonal cut, stopping at\n// `end` rather than lapping — O(window) instead of O(ring).\n/** @param {Node} start @param {Node} [end] @returns {Node} */\nfunction filterPoints(start, end = start) {\n const full = end === start;\n\n let p = start, again;\n do {\n again = false;\n if (p !== p.next && (steiners.size === 0 || !steiners.has(p)) &&\n (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n if (full || p === end) end = p.prev; // pull the stop bound back past the removal\n filteredOut = true;\n removeNode(p);\n p = p.prev; // re-check the predecessor\n again = true;\n } else if (full || p !== end) {\n p = p.next;\n again = !full; // local heal: keep looping until the sweep reaches end\n }\n } while (again || p !== end);\n\n return end;\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\n/** @param {Node} ear @param {number[]} triangles @param {number} minX @param {number} minY @param {number} invSize */\nfunction earcutLinked(ear, triangles, minX, minY, invSize) {\n // interlink polygon nodes in z-order\n if (invSize) indexCurve(ear, minX, minY, invSize);\n\n let stop = ear, cured = false;\n\n // iterate through ears, slicing them one by one\n while (ear.prev !== ear.next) {\n const prev = ear.prev;\n /** @type {Node} */\n const next = ear.next;\n\n if (area(prev, ear, next) < 0 && (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear))) {\n triangles.push(prev.i, ear.i, next.i); // cut off the triangle\n\n removeNode(ear);\n ear = next;\n stop = next;\n continue;\n }\n\n ear = next;\n\n // if we looped through the whole remaining polygon and can't find any more ears\n if (ear === stop) {\n // try filtering collinear/coincident points and slicing again — repeat as long as\n // filtering actually removes nodes, since each removal can expose new ears\n filteredOut = false;\n ear = filterPoints(ear);\n if (filteredOut) { stop = ear; continue; }\n\n // filtering is exhausted: cure small local self-intersections once, then retry\n if (!cured) {\n ear = cureLocalIntersections(ear, triangles);\n stop = ear;\n cured = true;\n continue;\n }\n\n // as a last resort, try splitting the remaining polygon into two\n splitEarcut(ear, triangles, minX, minY, invSize);\n break;\n }\n }\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\n/** @param {Node} ear @returns {boolean} */\nfunction isEar(ear) {\n // reflex check (area(a, b, c) >= 0) is hoisted into the earcutLinked caller to avoid non-inlined call here\n const a = ear.prev, b = ear, c = ear.next,\n ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y,\n x0 = Math.min(ax, bx, cx), // triangle bbox\n y0 = Math.min(ay, by, cy),\n x1 = Math.max(ax, bx, cx),\n y1 = Math.max(ay, by, cy);\n\n // make sure we don't have other points inside the potential ear\n let p = c.next;\n while (p !== a) {\n if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && !(ax === p.x && ay === p.y) &&\n pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;\n p = p.next;\n }\n return true;\n}\n\n/** @param {Node} ear @param {number} minX @param {number} minY @param {number} invSize @returns {boolean} */\nfunction isEarHashed(ear, minX, minY, invSize) {\n // reflex check is hoisted into the earcutLinked caller (see isEar)\n const a = ear.prev, b = ear, c = ear.next,\n ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y,\n x0 = Math.min(ax, bx, cx), // triangle bbox\n y0 = Math.min(ay, by, cy),\n x1 = Math.max(ax, bx, cx),\n y1 = Math.max(ay, by, cy),\n minZ = zOrder(x0, y0, minX, minY, invSize), // z-order range for the current triangle bbox;\n maxZ = zOrder(x1, y1, minX, minY, invSize);\n\n let p = ear.prevZ;\n while (p && p.z >= minZ) { // look for points inside the triangle in decreasing z-order\n if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== c && !(ax === p.x && ay === p.y) &&\n pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n }\n let n = ear.nextZ;\n while (n && n.z <= maxZ) { // look for points in increasing z-order\n if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== c && !(ax === n.x && ay === n.y) &&\n pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n return true;\n}\n\n// go through all polygon nodes and cure small local self-intersections\n/** @param {Node} start @param {number[]} triangles @returns {Node} */\nfunction cureLocalIntersections(start, triangles) {\n let p = start;\n let cured = false;\n do {\n const a = p.prev,\n b = p.next.next;\n\n if (intersects(a, p, p.next, b, false) && locallyInside(a, b) && locallyInside(b, a)) {\n\n triangles.push(a.i, p.i, b.i);\n\n // remove two nodes involved\n removeNode(p);\n removeNode(p.next);\n\n p = start = b;\n cured = true;\n }\n p = p.next;\n } while (p !== start);\n\n return cured ? filterPoints(p) : p;\n}\n\n// try splitting polygon into two and triangulate them independently\n/** @param {Node} start @param {number[]} triangles @param {number} minX @param {number} minY @param {number} invSize */\nfunction splitEarcut(start, triangles, minX, minY, invSize) {\n // look for a valid diagonal that divides the polygon into two\n let a = start;\n do {\n let b = a.next.next;\n while (b !== a.prev) {\n if (a.i !== b.i && isValidDiagonal(a, b)) {\n // split the polygon in two by the diagonal\n let c = splitPolygon(a, b);\n\n // filter colinear points around the cuts\n a = filterPoints(a, a.next);\n c = filterPoints(c, c.next);\n\n // run earcut on each half\n earcutLinked(a, triangles, minX, minY, invSize);\n earcutLinked(c, triangles, minX, minY, invSize);\n return;\n }\n b = b.next;\n }\n a = a.next;\n } while (a !== start);\n}\n\n// true only while eliminateHoles merges holes, so removeNode keeps the block index live (growBlock)\nlet indexActive = false;\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\n/** @param {ArrayLike} data @param {ArrayLike} holeIndices @param {Node} outerNode @param {number} dim @returns {Node} */\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n const queue = [];\n\n for (let i = 0, len = holeIndices.length; i < len; i++) {\n const start = holeIndices[i] * dim;\n const end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n const list = /** @type {Node} */ (linkedList(data, start, end, dim, false));\n if (list === list.next) steiners.add(list);\n queue.push(getLeftmost(list));\n }\n\n queue.sort(compareXYSlope);\n\n // block-bbox index for findHoleBridge, grown append-only as holes merge (see notes\n // above buildBlockIndex). Seed it with the outer ring, then append each merged hole.\n buildBlockIndex(data.length / dim, holeIndices.length);\n indexSegment(outerNode, outerNode);\n\n // process holes from left to right; indexActive lets removeNode keep block bboxes live as\n // filterPoints heals edges during merges (see growBlock)\n indexActive = true;\n for (let i = 0; i < queue.length; i++) {\n outerNode = eliminateHole(queue[i], outerNode);\n }\n indexActive = false;\n\n // collapse collinear/coincident points across the whole merged ring once before clipping\n return filterPoints(outerNode);\n}\n\n/** @param {Node} a @param {Node} b @returns {number} */\nfunction compareXYSlope(a, b) {\n // when the left-most point of 2 holes meet at a vertex, sort the holes counterclockwise so that when we find\n // the bridge to the outer shell is always the point that they meet at.\n return a.x - b.x || a.y - b.y ||\n (a.next.y - a.y) / (a.next.x - a.x) -\n (b.next.y - b.y) / (b.next.x - b.x);\n}\n\n// find a bridge between vertices that connects hole with an outer ring and link it\n/** @param {Node} hole @param {Node} outerNode @returns {Node} */\nfunction eliminateHole(hole, outerNode) {\n const bridge = findHoleBridge(hole, outerNode);\n if (!bridge) {\n return outerNode;\n }\n\n const bridgeReverse = splitPolygon(bridge, hole);\n\n // index the merged-in segment before filtering: in ring order the splice runs\n // bridge -> hole -> bridgeReverse -> bridge2 -> (bridge's old next), covering the\n // hole's edges and both new slit edges. filterPoints below only drops collinear /\n // coincident points, so these bboxes stay valid (conservative) supersets.\n const bridge2 = bridgeReverse.next;\n indexSegment(bridge, bridge2.next);\n\n // heal collinear/coincident points around the two new slit edges\n filterPoints(bridgeReverse, bridgeReverse.next);\n return filterPoints(bridge, bridge.next);\n}\n\n// Block-bbox index for findHoleBridge (issue #183): one [minX,minY,maxX,maxY] bbox per K\n// consecutive ring edges, in a flat Float64Array, so the leftward-ray scan can skip whole\n// blocks in O(1) instead of walking the entire merged ring. Grown append-only — the outer\n// ring seeds it, then each merged hole appends a segment (head node, stop node, K-blocks\n// over head..stop); independent segments, not a ring tiling, since splices land mid-ring.\n// Buffers are sized once from the input upper bound and reused across calls.\n//\n// filterPoints only drops collinear/coincident points, so a stale bbox stays a conservative\n// superset of its live edges (never a false skip); the scan skips dead nodes (p.prev.next !==\n// p) and lazily advances a dead stop. Blocks are scanned in append (not ring) order, so the\n// chosen bridge can differ from the un-indexed code — a different but equally valid result.\nconst K = 16; // edges per block\n\nlet blockBBox = new Float64Array(0); // [minX,minY,maxX,maxY] per block\nlet numBlocks = 0;\n/** @type {Node[]} */\nconst blockHead = []; // first node of each block's segment\n/** @type {Node[]} */\nconst blockStop = []; // node just past each block's segment (exclusive walk bound)\n\n/** @param {number} maxNodes @param {number} numHoles */\nfunction buildBlockIndex(maxNodes, numHoles) {\n // upper bound: every input node indexed once, +2 bridge nodes per hole, plus a partial\n // trailing block per appended segment (outer ring + one per hole)\n const maxBlocks = Math.ceil((maxNodes + 2 * numHoles) / K) + numHoles + 2;\n if (blockBBox.length < maxBlocks * 4) blockBBox = new Float64Array(maxBlocks * 4);\n numBlocks = 0;\n}\n\n// index the ring run head..stop (exclusive) as ceil(len / K) blocks; head === stop means\n// the whole ring. each block's bbox covers both endpoints of every edge it owns.\n/** @param {Node} head @param {Node} stop */\nfunction indexSegment(head, stop) {\n let p = head;\n do {\n const b = numBlocks++;\n blockHead[b] = p;\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n let k = 0;\n do {\n const c = p.next; // edge p->c; bbox must bound both endpoints\n p.z = b; // reuse z as the owning block during eliminateHoles (see growBlock)\n if (p.x < minX) minX = p.x; if (p.x > maxX) maxX = p.x;\n if (p.y < minY) minY = p.y; if (p.y > maxY) maxY = p.y;\n if (c.x < minX) minX = c.x; if (c.x > maxX) maxX = c.x;\n if (c.y < minY) minY = c.y; if (c.y > maxY) maxY = c.y;\n p = c;\n } while (++k < K && p !== stop);\n blockStop[b] = p;\n const g = b * 4;\n blockBBox[g] = minX; blockBBox[g + 1] = minY; blockBBox[g + 2] = maxX; blockBBox[g + 3] = maxY;\n } while (p !== stop);\n}\n\n// when filterPoints heals an edge head->tail (removing the collinear node between them), the\n// healed edge can extend past head's frozen block bbox if its old far endpoint lived in another\n// block; grow head's block bbox to cover tail so the leftward-ray prune can't false-skip it.\n/** @param {Node} head @param {Node} tail */\nfunction growBlock(head, tail) {\n const g = head.z * 4;\n if (tail.x < blockBBox[g]) blockBBox[g] = tail.x;\n if (tail.y < blockBBox[g + 1]) blockBBox[g + 1] = tail.y;\n if (tail.x > blockBBox[g + 2]) blockBBox[g + 2] = tail.x;\n if (tail.y > blockBBox[g + 3]) blockBBox[g + 3] = tail.y;\n}\n\n/** @param {number} b @returns {Node} */\nfunction liveBlockStop(b) {\n let stop = blockStop[b];\n while (stop.prev.next !== stop) stop = stop.next;\n blockStop[b] = stop;\n return stop;\n}\n\n// the block's head node can be removed by filterPoints during merges; advance it to the next\n// live node so the walk doesn't start on (and immediately terminate at) a dead node. For the\n// single full-ring seed block (head === stop) the same forward advance keeps them equal, so the\n// do-while still laps the whole ring instead of collapsing to an empty walk.\n/** @param {number} b @returns {Node} */\nfunction liveBlockHead(b) {\n let head = blockHead[b];\n while (head.prev.next !== head) head = head.next;\n blockHead[b] = head;\n return head;\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\n/** @param {Node} hole @param {Node} outerNode @returns {Node | null} */\nfunction findHoleBridge(hole, outerNode) {\n let p = outerNode;\n const hx = hole.x;\n const hy = hole.y;\n let qx = -Infinity;\n /** @type {Node | undefined} */\n let m;\n\n // find a segment intersected by a ray from the hole's leftmost point to the left;\n // segment's endpoint with lesser x will be potential connection point\n // unless they intersect at a vertex, then choose the vertex\n if (equals(hole, p)) return p;\n\n // scan blocks; skip any whose bbox can't hold a crossing that beats qx and lies left\n // of hx (the prune Morton order can't express — explicit per-axis [minY,maxY]/[minX,maxX])\n for (let b = 0, g = 0; b < numBlocks; b++, g += 4) {\n if (hy < blockBBox[g + 1] || hy > blockBBox[g + 3] || blockBBox[g] > hx || blockBBox[g + 2] <= qx) continue;\n\n // ensure the walk's exclusive bound is live so we don't overrun into other blocks\n const stop = liveBlockStop(b);\n\n p = liveBlockHead(b);\n do {\n if (p.prev.next === p) { // skip nodes removed by filterPoints (stale in the index)\n if (equals(hole, p.next)) return p.next;\n else if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n const x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n if (x <= hx && x > qx) {\n qx = x;\n m = p.x < p.next.x ? p : p.next;\n if (x === hx) return m; // hole touches outer segment; pick leftmost endpoint\n }\n }\n }\n p = p.next;\n } while (p !== stop);\n }\n\n if (!m) return null;\n\n // look for points inside the triangle of hole point, segment intersection and endpoint;\n // if there are no points found, we have a valid connection;\n // otherwise choose the point of the minimum angle with the ray as connection point\n\n const mx = m.x;\n const my = m.y;\n const tminY = Math.min(hy, my); // the triangle's y span; x span is [mx, hx]\n const tmaxY = Math.max(hy, my);\n let tanMin = Infinity;\n\n // scan the same blocks; skip any whose bbox can't overlap the triangle's [mx,hx]×[tminY,tmaxY] box\n for (let b = 0, g = 0; b < numBlocks; b++, g += 4) {\n if (blockBBox[g + 2] < mx || blockBBox[g] > hx || blockBBox[g + 3] < tminY || blockBBox[g + 1] > tmaxY) continue;\n\n const stop = liveBlockStop(b);\n\n p = liveBlockHead(b);\n do {\n if (p.prev.next === p && hx >= p.x && p.x >= mx && hx !== p.x && // skip dead nodes\n pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n\n const tan = Math.abs(hy - p.y) / (hx - p.x); // tangential\n\n // if hole point sits on p's horizontal edge (T-junction touch): the bridge runs\n // along that edge — locallyInside rejects it as collinear, but it's valid\n if ((locallyInside(p, hole) || (p.y === hy && p.next.y === hy && p.next.x > hx)) &&\n (tan < tanMin || (tan === tanMin && (p.x > m.x || (p.x === m.x && sectorContainsSector(m, p)))))) {\n m = p;\n tanMin = tan;\n }\n }\n\n p = p.next;\n } while (p !== stop);\n }\n\n return m;\n}\n\n// whether sector in vertex m contains sector in vertex p in the same coordinates\n/** @param {Node} m @param {Node} p @returns {boolean} */\nfunction sectorContainsSector(m, p) {\n return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;\n}\n\n// scratch buffers reused across calls and grown on demand: two node-ref arrays that\n// ping-pong during the radix passes, plus parallel z-value arrays so the passes read\n// z from contiguous memory instead of dereferencing each node. 256-entry histogram for\n// 8-bit digits; the small histogram keeps per-call setup cheap (most rings are short)\n/** @type {Node[]} */\nconst sortArr = [];\n/** @type {Node[]} */\nlet sortBuf = [];\nlet zArr = new Uint32Array(0);\nlet zBuf = new Uint32Array(0);\nconst counts = new Uint32Array(256);\n\n// interlink polygon nodes in z-order: collect into an array, sort by z, relink\n/** @param {Node} start @param {number} minX @param {number} minY @param {number} invSize */\nfunction indexCurve(start, minX, minY, invSize) {\n let p = start;\n let n = 0;\n do {\n // always (re)compute: z may still hold a block index left over from eliminateHoles\n p.z = zOrder(p.x, p.y, minX, minY, invSize);\n sortArr[n++] = p;\n p = p.next;\n } while (p !== start);\n\n sortNodes(n);\n\n /** @type {Node | null} */\n let prev = null;\n for (let i = 0; i < n; i++) {\n const node = sortArr[i];\n node.prevZ = prev;\n if (prev) prev.nextZ = node;\n prev = node;\n }\n /** @type {Node} */ (prev).nextZ = null;\n}\n\n// sort the first n nodes of sortArr by z, in place: insertion sort for small n (cheaper\n// than histogram setup), else LSD radix in four 8-bit passes (covering z's 30 bits)\n/** @param {number} n */\nfunction sortNodes(n) {\n if (n <= 32) {\n for (let i = 1; i < n; i++) {\n const node = sortArr[i], z = node.z;\n let j = i - 1;\n while (j >= 0 && sortArr[j].z > z) { sortArr[j + 1] = sortArr[j]; j--; }\n sortArr[j + 1] = node;\n }\n return;\n }\n\n if (zArr.length < n) {\n zArr = new Uint32Array(n);\n zBuf = new Uint32Array(n);\n sortBuf = new Array(n);\n }\n for (let i = 0; i < n; i++) zArr[i] = sortArr[i].z;\n\n // even pass count lands the sorted result back in sortArr\n radixPass(n, sortArr, zArr, sortBuf, zBuf, 0);\n radixPass(n, sortBuf, zBuf, sortArr, zArr, 8);\n radixPass(n, sortArr, zArr, sortBuf, zBuf, 16);\n radixPass(n, sortBuf, zBuf, sortArr, zArr, 24);\n}\n\n// one LSD radix pass: stably scatter the first n nodes (and their z) from src to dst,\n// bucketed by the 8-bit digit of z at the given bit shift\n/** @param {number} n @param {Node[]} src @param {Uint32Array} srcZ @param {Node[]} dst @param {Uint32Array} dstZ @param {number} shift */\nfunction radixPass(n, src, srcZ, dst, dstZ, shift) {\n counts.fill(0);\n for (let i = 0; i < n; i++) counts[(srcZ[i] >>> shift) & 0xff]++;\n // turn per-bucket counts into start offsets (prefix sum)\n let sum = 0;\n for (let b = 0; b < 256; b++) { const c = counts[b]; counts[b] = sum; sum += c; }\n for (let i = 0; i < n; i++) {\n const z = srcZ[i];\n const pos = counts[(z >>> shift) & 0xff]++;\n dst[pos] = src[i];\n dstZ[pos] = z;\n }\n}\n\n// z-order of a point given coords and inverse of the longer side of data bbox\n/** @param {number} x @param {number} y @param {number} minX @param {number} minY @param {number} invSize @returns {number} */\nfunction zOrder(x, y, minX, minY, invSize) {\n // coords are transformed into non-negative 15-bit integer range\n x = (x - minX) * invSize | 0;\n y = (y - minY) * invSize | 0;\n\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n// find the leftmost node of a polygon ring\n/** @param {Node} start @returns {Node} */\nfunction getLeftmost(start) {\n let p = start,\n leftmost = start;\n do {\n if (p.x < leftmost.x || (p.x === leftmost.x && p.y < leftmost.y)) leftmost = p;\n p = p.next;\n } while (p !== start);\n\n return leftmost;\n}\n\n// check if a point lies within a convex triangle\n/** @param {number} ax @param {number} ay @param {number} bx @param {number} by @param {number} cx @param {number} cy @param {number} px @param {number} py @returns {boolean} */\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {\n return (cx - px) * (ay - py) >= (ax - px) * (cy - py) &&\n (ax - px) * (by - py) >= (bx - px) * (ay - py) &&\n (bx - px) * (cy - py) >= (cx - px) * (by - py);\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\n/** @param {Node} a @param {Node} b @returns {boolean} true when the diagonal is valid */\nfunction isValidDiagonal(a, b) {\n const zeroLength = equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0; // degenerate case\n return a.next.i !== b.i && (zeroLength || locallyInside(a, b) && locallyInside(b, a) && // // locally visible\n (area(a.prev, a, b.prev) !== 0 || area(a, b.prev, b) !== 0)) && // no opposite-facing sectors\n !intersectsPolygon(a, b) && (zeroLength || middleInside(a, b)); // doesn't intersect other edges, diagonal inside polygon\n}\n\n// signed area of a triangle\n/** @param {Node} p @param {Node} q @param {Node} r @returns {number} */\nfunction area(p, q, r) {\n return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\n\n// check if two points are equal\n/** @param {Node} p1 @param {Node} p2 @returns {boolean} */\nfunction equals(p1, p2) {\n return p1.x === p2.x && p1.y === p2.y;\n}\n\n// check if two segments intersect; by default includes collinear boundary touches\n/** @param {Node} p1 @param {Node} q1 @param {Node} p2 @param {Node} q2 @param {boolean} [includeBoundary] @returns {boolean} */\nfunction intersects(p1, q1, p2, q2, includeBoundary = true) {\n const o1 = area(p1, q1, p2);\n const o2 = area(p1, q1, q2);\n const o3 = area(p2, q2, p1);\n const o4 = area(p2, q2, q1);\n\n if (((o1 > 0 && o2 < 0) || (o1 < 0 && o2 > 0)) && ((o3 > 0 && o4 < 0) || (o3 < 0 && o4 > 0))) return true;\n\n if (!includeBoundary) return false;\n\n if (o1 === 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1\n if (o2 === 0 && onSegment(p1, q2, q1)) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1\n if (o3 === 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2\n if (o4 === 0 && onSegment(p2, q1, q2)) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2\n\n return false;\n}\n\n// for collinear points p, q, r, check if point q lies on segment pr\n/** @param {Node} p @param {Node} q @param {Node} r @returns {boolean} */\nfunction onSegment(p, q, r) {\n return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);\n}\n\n// check if a polygon diagonal intersects any polygon segments\n/** @param {Node} a @param {Node} b @returns {boolean} */\nfunction intersectsPolygon(a, b) {\n // diagonal bbox; an edge whose bbox can't overlap it can't intersect it, so\n // skip the orientation test for those (the common case — the diagonal is short)\n const minX = Math.min(a.x, b.x);\n const maxX = Math.max(a.x, b.x);\n const minY = Math.min(a.y, b.y);\n const maxY = Math.max(a.y, b.y);\n\n let p = a;\n do {\n const n = p.next;\n if ((p.x > maxX && n.x > maxX) || (p.x < minX && n.x < minX) ||\n (p.y > maxY && n.y > maxY) || (p.y < minY && n.y < minY)) {\n p = n;\n continue;\n }\n if (p.i !== a.i && n.i !== a.i && p.i !== b.i && n.i !== b.i &&\n intersects(p, n, a, b)) return true;\n p = n;\n } while (p !== a);\n\n return false;\n}\n\n// check if a polygon diagonal is locally inside the polygon\n/** @param {Node} a @param {Node} b @returns {boolean} */\nfunction locallyInside(a, b) {\n return area(a.prev, a, a.next) < 0 ?\n area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :\n area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\n/** @param {Node} a @param {Node} b @returns {boolean} */\nfunction middleInside(a, b) {\n let p = a;\n let inside = false;\n const px = (a.x + b.x) / 2;\n const py = (a.y + b.y) / 2;\n do {\n const n = p.next;\n if (((p.y > py) !== (n.y > py)) && (px < (n.x - p.x) * (py - p.y) / (n.y - p.y) + p.x))\n inside = !inside;\n p = n;\n } while (p !== a);\n\n return inside;\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\n/** @param {Node} a @param {Node} b @returns {Node} */\nfunction splitPolygon(a, b) {\n const a2 = createNode(a.i, a.x, a.y),\n b2 = createNode(b.i, b.x, b.y),\n an = a.next,\n bp = b.prev;\n\n a.next = b;\n b.prev = a;\n\n a2.next = an;\n an.prev = a2;\n\n b2.next = a2;\n a2.prev = b2;\n\n bp.next = b2;\n b2.prev = bp;\n\n return b2;\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\n/** @param {number} i @param {number} x @param {number} y @param {Node | null} last @returns {Node} */\nfunction insertNode(i, x, y, last) {\n const p = createNode(i, x, y);\n\n if (!last) {\n p.prev = p;\n p.next = p;\n\n } else {\n p.next = last.next;\n p.prev = last;\n last.next.prev = p;\n last.next = p;\n }\n return p;\n}\n\n/** @param {Node} p */\nfunction removeNode(p) {\n p.next.prev = p.prev;\n p.prev.next = p.next;\n\n if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n\n // keep the hole-bridge index's block bboxes covering the healed prev->next edge\n if (indexActive) growBlock(p.prev, p.next);\n}\n\n/** @param {number} i @param {number} x @param {number} y @returns {Node} */\nfunction createNode(i, x, y) {\n // prev/next are assigned by the caller before any read, so the null init is cast away here\n return /** @type {Node} */ (/** @type {unknown} */ ({\n i, // vertex index in coordinates array\n x, y, // vertex coordinates\n prev: null, // previous and next vertex nodes in a polygon ring\n next: null,\n z: 0, // z-order curve value; doubles as owning block in the hole-bridge index during eliminateHoles\n prevZ: null, // previous and next nodes in z-order\n nextZ: null\n }));\n}\n\n/**\n * Return the relative difference between the polygon area and the area of its triangulation —\n * a value near 0 means a correct triangulation. Useful for verifying output in tests.\n *\n * @param {ArrayLike} data\n * @param {ArrayLike | null} holeIndices\n * @param {number} dim number of coordinates per vertex in `data`\n * @param {ArrayLike} triangles output of {@link earcut}\n * @returns {number}\n * @example deviation(data, holes, dim, earcut(data, holes, dim)); // ~0 if correct\n */\nexport function deviation(data, holeIndices, dim, triangles) {\n const hasHoles = holeIndices && holeIndices.length;\n const outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n\n let polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));\n if (hasHoles) {\n for (let i = 0, len = holeIndices.length; i < len; i++) {\n const start = holeIndices[i] * dim;\n const end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n polygonArea -= Math.abs(signedArea(data, start, end, dim));\n }\n }\n\n let trianglesArea = 0;\n for (let i = 0; i < triangles.length; i += 3) {\n const a = triangles[i] * dim;\n const b = triangles[i + 1] * dim;\n const c = triangles[i + 2] * dim;\n trianglesArea += Math.abs(\n (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -\n (data[a] - data[b]) * (data[c + 1] - data[a + 1]));\n }\n\n return polygonArea === 0 && trianglesArea === 0 ? 0 :\n Math.abs((trianglesArea - polygonArea) / polygonArea);\n}\n\n/** @param {ArrayLike} data @param {number} start @param {number} end @param {number} dim @returns {number} */\nfunction signedArea(data, start, end, dim) {\n let sum = 0;\n for (let i = start, j = end - dim; i < end; i += dim) {\n sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n j = i;\n }\n return sum;\n}\n\n/**\n * Turn a polygon in multi-dimensional array form (e.g. as in GeoJSON) into the flat form Earcut accepts.\n *\n * @param {ReadonlyArray>>} data array of rings; the first ring is the outer contour, the rest are holes\n * @returns {{vertices: number[], holes: number[], dimensions: number}}\n * @example const {vertices, holes, dimensions} = flatten(geojson.coordinates);\n */\nexport function flatten(data) {\n const vertices = [];\n const holes = [];\n const dimensions = data[0][0].length;\n let holeIndex = 0;\n let prevLen = 0;\n\n for (const ring of data) {\n for (const p of ring) {\n for (let d = 0; d < dimensions; d++) vertices.push(p[d]);\n }\n if (prevLen) {\n holeIndex += prevLen;\n holes.push(holeIndex);\n }\n prevLen = ring.length;\n }\n return {vertices, holes, dimensions};\n}\n\n// Reusable module-level scratch for refine():\n// he = twin half-edge of each edge, or -1 on the polygon boundary\n// hTable = open-addressing hash, slot -> half-edge index, valid iff hStamp[slot] === gen\n// edgeStamp = pending-in-stack flag, cleared when the edge is popped\n/** @type {Int32Array} */ let edgeStack;\n/** @type {Int32Array} */ let he;\n/** @type {Int32Array} */ let hTable;\n/** @type {Uint32Array} */ let hStamp;\n/** @type {Uint8Array} */ let edgeStamp;\nlet hMask = 0, gen = 0;\n\n/**\n * Refine a triangulation toward the constrained Delaunay triangulation by legalizing every\n * interior edge in place with Lawson flips — maximizing the minimum angle and removing most\n * slivers. An optional post-pass for {@link earcut} output, or any manifold triangle-index array\n * indexing into `coords`. Adapted from delaunator's edge legalization.\n *\n * Uses non-robust predicates: float input is fine, and the worst case is a not-quite-Delaunay\n * edge, never an invalid mesh.\n *\n * @param {number[]} triangles triangle indices, as returned by {@link earcut}; mutated in place\n * @param {ArrayLike} coords the flat vertex coordinates passed to {@link earcut}\n * @param {number} [dim=2] number of coordinates per vertex in `coords`\n * @example refine(earcut(data), data);\n */\nexport function refine(triangles, coords, dim = 2) {\n const t = triangles;\n const n = t.length;\n if (n < 6) return;\n ensureScratch(n);\n gen++; // bumping the generation logically empties the hash (no clearing)\n he.fill(-1, 0, n);\n\n // Build half-edge twins with an undirected-edge hash; consumed slots mark linked pairs. As each\n // pair is linked we seed the stack with one representative (s, the earlier-inserted edge) — this\n // fuses the initial \"push every interior edge\" pass into the build, saving a full O(n) scan.\n // edgeStamp is all-zero here (balanced push/pop leaves it clean) and each pair links once, so\n // the seed write needs no dedup guard.\n let i = 0;\n for (let e = 0; e < n; e++) {\n const a = t[e], b = t[nextHE(e)];\n const lo = a < b ? a : b, hi = a < b ? b : a;\n let h = (Math.imul(lo, 0x9e3779b1) ^ Math.imul(hi, 0x85ebca6b)) & hMask;\n while (hStamp[h] === gen) {\n const s = hTable[h];\n // s === -1 marks a consumed slot (a pair already linked) — skip past it\n if (s !== -1) {\n const sa = t[s], sb = t[nextHE(s)];\n if ((sa === lo && sb === hi) || (sa === hi && sb === lo)) {\n he[e] = s; he[s] = e; hTable[h] = -1; // link, then consume the slot\n edgeStamp[s] = 1; edgeStack[i++] = s; // seed the interior edge for the cascade\n break;\n }\n }\n h = (h + 1) & hMask;\n }\n if (hStamp[h] !== gen) { hTable[h] = e; hStamp[h] = gen; } // first occurrence: insert\n }\n\n while (i > 0) {\n const a = edgeStack[--i];\n edgeStamp[a] = 0;\n const b = he[a];\n if (b === -1) continue;\n\n const a0 = a - a % 3;\n const b0 = b - b % 3;\n const ar = a0 + (a + 2) % 3;\n const al = a0 + (a + 1) % 3;\n const bl = b0 + (b + 2) % 3;\n const br = b0 + (b + 1) % 3;\n const p0 = t[ar], pr = t[a], pl = t[al], p1 = t[bl];\n\n const x0 = coords[p0 * dim], y0 = coords[p0 * dim + 1];\n const xr = coords[pr * dim], yr = coords[pr * dim + 1];\n const xl = coords[pl * dim], yl = coords[pl * dim + 1];\n const x1 = coords[p1 * dim], y1 = coords[p1 * dim + 1];\n\n // Test inCircle first: most interior edges are already Delaunay (inCircle true → no flip),\n // so this short-circuits before the two convexity orients on the common path. The quad must\n // also be convex (both new triangles CCW) — flipping a reflex quad would push a triangle\n // outside the polygon. Boundary/hole edges need no guard — they self-protect via he === -1.\n if (!inCircle(x0, y0, xr, yr, xl, yl, x1, y1) &&\n orient(x0, y0, xr, yr, x1, y1) > 0 && orient(x0, y0, x1, y1, xl, yl) > 0) {\n t[a] = p1; t[b] = p0;\n const hbl = he[bl], har = he[ar];\n he[a] = hbl; if (hbl !== -1) he[hbl] = a;\n he[b] = har; if (har !== -1) he[har] = b;\n he[ar] = bl; he[bl] = ar;\n\n // re-check the quad's four outer edges; skip boundary edges (he === -1) and any\n // already queued (edgeStamp), which also keeps the stack bounded by n.\n if (hbl !== -1 && edgeStamp[a] === 0) { edgeStamp[a] = 1; edgeStack[i++] = a; }\n if (har !== -1 && edgeStamp[b] === 0) { edgeStamp[b] = 1; edgeStack[i++] = b; }\n if (he[al] !== -1 && edgeStamp[al] === 0) { edgeStamp[al] = 1; edgeStack[i++] = al; }\n if (he[br] !== -1 && edgeStamp[br] === 0) { edgeStamp[br] = 1; edgeStack[i++] = br; }\n }\n }\n}\n\n/** @param {number} ax @param {number} ay @param {number} bx @param {number} by @param {number} cx @param {number} cy */\nfunction orient(ax, ay, bx, by, cx, cy) {\n return (bx - ax) * (cy - ay) - (by - ay) * (cx - ax);\n}\n\n// Whether p is inside or exactly on the circumcircle of triangle (a, b, c). Sign is negated vs the\n// usual predicate to match earcut's CCW winding — the standard sign would build the anti-Delaunay\n// mesh. Cocircular quads are legal ties, so refine only flips when this returns false.\n/** @param {number} ax @param {number} ay @param {number} bx @param {number} by @param {number} cx @param {number} cy @param {number} px @param {number} py */\nfunction inCircle(ax, ay, bx, by, cx, cy, px, py) {\n const dx = ax - px, dy = ay - py, ex = bx - px, ey = by - py, fx = cx - px, fy = cy - py;\n const ap = dx * dx + dy * dy, bp = ex * ex + ey * ey, cp = fx * fx + fy * fy;\n // A near-cocircular quad is a legal Delaunay tie, but roundoff can flag both an edge and its\n // flip as illegal, cascading into an endless flip loop (#205) — so treat a determinant within\n // a small margin of zero as a tie. The determinant's worst-case roundoff error is provably\n // below 9e-16·(ap + bp + cp)² (Shewchuk-style bound), so the margin guarantees every executed\n // flip is illegal in exact arithmetic, and Lawson flipping always terminates.\n const s = ap + bp + cp;\n return dx * (ey * cp - bp * fy) - dy * (ex * cp - bp * fx) + ap * (ex * fy - ey * fx) <= 1e-13 * s * s;\n}\n\n/** @param {number} e */\nfunction nextHE(e) { // next half-edge within the same triangle\n return e - e % 3 + (e + 1) % 3;\n}\n\n// Grow the scratch arrays on demand (like earcut's z-order arrays). Allocating lazily here rather\n// than at module load lets the whole refine() block tree-shake away for callers who don't use it.\n/** @param {number} n */\nfunction ensureScratch(n) {\n // edgeStack holds at most one entry per half-edge (edgeStamp dedups), so n is a safe cap —\n // sizing it up front lets the cascade push without a bounds/grow check.\n if (!edgeStack || edgeStack.length < n) edgeStack = new Int32Array(n);\n if (!he || he.length < n) he = new Int32Array(n);\n if (!edgeStamp || edgeStamp.length < n) edgeStamp = new Uint8Array(n);\n let size = 1;\n while (size < n * 4) size <<= 1; // power-of-two table, load factor <= 0.25\n if (!hTable || hTable.length < size) { hTable = new Int32Array(size); hStamp = new Uint32Array(size); }\n hMask = size - 1;\n}\n","// src/tiny-inflate@1.0.3.esm.mjs\nvar TINF_OK = 0;\nvar TINF_DATA_ERROR = -3;\nfunction Tree() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n}\nfunction Data(source, dest) {\n this.source = source;\n this.sourceIndex = 0;\n this.tag = 0;\n this.bitcount = 0;\n this.dest = dest;\n this.destLen = 0;\n this.ltree = new Tree();\n this.dtree = new Tree();\n}\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n var i, sum;\n for (i = 0; i < delta; ++i) bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i) bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n var i;\n for (i = 0; i < 7; ++i) lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i) lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i) lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i) lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i) lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i) dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i) dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n var i, sum;\n for (i = 0; i < 16; ++i) t.table[i] = 0;\n for (i = 0; i < num; ++i) t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i]) t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n if (!d.bitcount--) {\n d.tag = d.source[d.sourceIndex++];\n d.bitcount = 7;\n }\n var bit = d.tag & 1;\n d.tag >>>= 1;\n return bit;\n}\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n var val = d.tag & 65535 >>> 16 - num;\n d.tag >>>= num;\n d.bitcount -= num;\n return val + base;\n}\nfunction tinf_decode_symbol(d, t) {\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n var sum = 0, cur = 0, len = 0;\n var tag = d.tag;\n do {\n cur = 2 * cur + (tag & 1);\n tag >>>= 1;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n d.tag = tag;\n d.bitcount -= len;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt) {\n var hlit, hdist, hclen;\n var i, num, length;\n hlit = tinf_read_bits(d, 5, 257);\n hdist = tinf_read_bits(d, 5, 1);\n hclen = tinf_read_bits(d, 4, 4);\n for (i = 0; i < 19; ++i) lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n var clen = tinf_read_bits(d, 3, 0);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n var sym = tinf_decode_symbol(d, code_tree);\n switch (sym) {\n case 16:\n var prev = lengths[num - 1];\n for (length = tinf_read_bits(d, 2, 3); length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n for (length = tinf_read_bits(d, 3, 3); length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n for (length = tinf_read_bits(d, 7, 11); length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nfunction tinf_inflate_block_data(d, lt, dt) {\n for (; ; ) {\n var sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest[d.destLen++] = sym;\n } else {\n var length, dist, offs2;\n var i;\n sym -= 257;\n length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n dist = tinf_decode_symbol(d, dt);\n offs2 = d.destLen - tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n for (i = offs2; i < offs2 + length; ++i) {\n d.dest[d.destLen++] = d.dest[i];\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n var length, invlength;\n var i;\n while (d.bitcount > 8) {\n d.sourceIndex--;\n d.bitcount -= 8;\n }\n length = d.source[d.sourceIndex + 1];\n length = 256 * length + d.source[d.sourceIndex];\n invlength = d.source[d.sourceIndex + 3];\n invlength = 256 * invlength + d.source[d.sourceIndex + 2];\n if (length !== (~invlength & 65535))\n return TINF_DATA_ERROR;\n d.sourceIndex += 4;\n for (i = length; i; --i)\n d.dest[d.destLen++] = d.source[d.sourceIndex++];\n d.bitcount = 0;\n return TINF_OK;\n}\nfunction tinf_uncompress(source, dest) {\n var d = new Data(source, dest);\n var bfinal, btype, res;\n do {\n bfinal = tinf_getbit(d);\n btype = tinf_read_bits(d, 2, 0);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = TINF_DATA_ERROR;\n }\n if (res !== TINF_OK)\n throw new Error(\"Data error\");\n } while (!bfinal);\n if (d.destLen < d.dest.length) {\n if (typeof d.dest.slice === \"function\")\n return d.dest.slice(0, d.destLen);\n else\n return d.dest.subarray(0, d.destLen);\n }\n return d.dest;\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/bbox.mjs\nfunction derive(v0, v1, v2, v3, t) {\n return Math.pow(1 - t, 3) * v0 + 3 * Math.pow(1 - t, 2) * t * v1 + 3 * (1 - t) * Math.pow(t, 2) * v2 + Math.pow(t, 3) * v3;\n}\nfunction BoundingBox() {\n this.x1 = Number.NaN;\n this.y1 = Number.NaN;\n this.x2 = Number.NaN;\n this.y2 = Number.NaN;\n}\nBoundingBox.prototype.isEmpty = function() {\n return isNaN(this.x1) || isNaN(this.y1) || isNaN(this.x2) || isNaN(this.y2);\n};\nBoundingBox.prototype.addPoint = function(x, y) {\n if (typeof x === \"number\") {\n if (isNaN(this.x1) || isNaN(this.x2)) {\n this.x1 = x;\n this.x2 = x;\n }\n if (x < this.x1) {\n this.x1 = x;\n }\n if (x > this.x2) {\n this.x2 = x;\n }\n }\n if (typeof y === \"number\") {\n if (isNaN(this.y1) || isNaN(this.y2)) {\n this.y1 = y;\n this.y2 = y;\n }\n if (y < this.y1) {\n this.y1 = y;\n }\n if (y > this.y2) {\n this.y2 = y;\n }\n }\n};\nBoundingBox.prototype.addX = function(x) {\n this.addPoint(x, null);\n};\nBoundingBox.prototype.addY = function(y) {\n this.addPoint(null, y);\n};\nBoundingBox.prototype.addBezier = function(x0, y0, x1, y1, x2, y2, x, y) {\n const p0 = [x0, y0];\n const p1 = [x1, y1];\n const p2 = [x2, y2];\n const p3 = [x, y];\n this.addPoint(x0, y0);\n this.addPoint(x, y);\n for (let i = 0; i <= 1; i++) {\n const b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n const a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n const c = 3 * p1[i] - 3 * p0[i];\n if (a === 0) {\n if (b === 0) continue;\n const t = -c / b;\n if (0 < t && t < 1) {\n if (i === 0) this.addX(derive(p0[i], p1[i], p2[i], p3[i], t));\n if (i === 1) this.addY(derive(p0[i], p1[i], p2[i], p3[i], t));\n }\n continue;\n }\n const b2ac = Math.pow(b, 2) - 4 * c * a;\n if (b2ac < 0) continue;\n const t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n if (0 < t1 && t1 < 1) {\n if (i === 0) this.addX(derive(p0[i], p1[i], p2[i], p3[i], t1));\n if (i === 1) this.addY(derive(p0[i], p1[i], p2[i], p3[i], t1));\n }\n const t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n if (0 < t2 && t2 < 1) {\n if (i === 0) this.addX(derive(p0[i], p1[i], p2[i], p3[i], t2));\n if (i === 1) this.addY(derive(p0[i], p1[i], p2[i], p3[i], t2));\n }\n }\n};\nBoundingBox.prototype.addQuad = function(x0, y0, x1, y1, x, y) {\n const cp1x = x0 + 2 / 3 * (x1 - x0);\n const cp1y = y0 + 2 / 3 * (y1 - y0);\n const cp2x = cp1x + 1 / 3 * (x - x0);\n const cp2y = cp1y + 1 / 3 * (y - y0);\n this.addBezier(x0, y0, cp1x, cp1y, cp2x, cp2y, x, y);\n};\nvar bbox_default = BoundingBox;\n\n// src/path.mjs\nfunction Path() {\n this.commands = [];\n this.fill = \"black\";\n this.stroke = null;\n this.strokeWidth = 1;\n}\nvar decimalRoundingCache = {};\nfunction roundDecimal(float, places) {\n const integerPart = Math.floor(float);\n const decimalPart = float - integerPart;\n if (!decimalRoundingCache[places]) {\n decimalRoundingCache[places] = {};\n }\n if (decimalRoundingCache[places][decimalPart] !== void 0) {\n const roundedDecimalPart2 = decimalRoundingCache[places][decimalPart];\n return integerPart + roundedDecimalPart2;\n }\n const roundedDecimalPart = +(Math.round(decimalPart + \"e+\" + places) + \"e-\" + places);\n decimalRoundingCache[places][decimalPart] = roundedDecimalPart;\n return integerPart + roundedDecimalPart;\n}\nfunction optimizeCommands(commands) {\n let subpaths = [[]];\n let startX = 0, startY = 0;\n for (let i = 0; i < commands.length; i += 1) {\n const subpath = subpaths[subpaths.length - 1];\n const cmd = commands[i];\n const firstCommand = subpath[0];\n const secondCommand = subpath[1];\n const previousCommand = subpath[subpath.length - 1];\n const nextCommand = commands[i + 1];\n subpath.push(cmd);\n if (cmd.type === \"M\") {\n startX = cmd.x;\n startY = cmd.y;\n } else if (cmd.type === \"L\" && (!nextCommand || nextCommand.type === \"Z\")) {\n if (!(Math.abs(cmd.x - startX) > 1 || Math.abs(cmd.y - startY) > 1)) {\n subpath.pop();\n }\n } else if (cmd.type === \"L\" && previousCommand && previousCommand.x === cmd.x && previousCommand.y === cmd.y) {\n subpath.pop();\n } else if (cmd.type === \"Z\") {\n if (firstCommand && secondCommand && previousCommand && firstCommand.type === \"M\" && secondCommand.type === \"L\" && previousCommand.type === \"L\" && previousCommand.x === firstCommand.x && previousCommand.y === firstCommand.y) {\n subpath.shift();\n subpath[0].type = \"M\";\n }\n if (i + 1 < commands.length) {\n subpaths.push([]);\n }\n }\n }\n commands = [].concat.apply([], subpaths);\n return commands;\n}\nfunction createSVGParsingOptions(options) {\n const defaultOptions = {\n decimalPlaces: 2,\n optimize: true,\n flipY: true,\n flipYBase: void 0,\n scale: 1,\n x: 0,\n y: 0\n };\n const newOptions = Object.assign({}, defaultOptions, options);\n return newOptions;\n}\nfunction createSVGOutputOptions(options) {\n if (parseInt(options) === options) {\n options = { decimalPlaces: options, flipY: false };\n }\n const defaultOptions = {\n decimalPlaces: 2,\n optimize: true,\n flipY: true,\n flipYBase: void 0\n };\n const newOptions = Object.assign({}, defaultOptions, options);\n return newOptions;\n}\nPath.prototype.fromSVG = function(pathData, options = {}) {\n if (typeof SVGPathElement !== \"undefined\" && pathData instanceof SVGPathElement) {\n pathData = pathData.getAttribute(\"d\");\n }\n options = createSVGParsingOptions(options);\n this.commands = [];\n const number = \"0123456789\";\n const supportedCommands = \"MmLlQqCcZzHhVv\";\n const unsupportedCommands = \"SsTtAa\";\n const sign = \"-+\";\n let command = {};\n let buffer = [\"\"];\n let isUnexpected = false;\n function parseBuffer2(buffer2) {\n return buffer2.filter((b) => b.length).map((b) => {\n let float = parseFloat(b);\n if (options.decimalPlaces || options.decimalPlaces === 0) {\n float = roundDecimal(float, options.decimalPlaces);\n }\n return float;\n });\n }\n function makeRelative(buffer2) {\n if (!this.commands.length) {\n return buffer2;\n }\n const lastCommand = this.commands[this.commands.length - 1];\n for (let i = 0; i < buffer2.length; i++) {\n buffer2[i] += lastCommand[i & 1 ? \"y\" : \"x\"];\n }\n return buffer2;\n }\n function applyCommand() {\n if (command.type === void 0) {\n return;\n }\n const commandType = command.type.toUpperCase();\n const relative = commandType !== \"Z\" && command.type.toUpperCase() !== command.type;\n let parsedBuffer = parseBuffer2(buffer);\n buffer = [\"\"];\n if (!parsedBuffer.length && commandType !== \"Z\") {\n return;\n }\n if (relative && commandType !== \"H\" && commandType !== \"V\") {\n parsedBuffer = makeRelative.apply(this, [parsedBuffer]);\n }\n const currentX = this.commands.length ? this.commands[this.commands.length - 1].x || 0 : 0;\n const currentY = this.commands.length ? this.commands[this.commands.length - 1].y || 0 : 0;\n switch (commandType) {\n case \"M\":\n this.moveTo(...parsedBuffer);\n break;\n case \"L\":\n this.lineTo(...parsedBuffer);\n break;\n case \"V\":\n for (let i = 0; i < parsedBuffer.length; i++) {\n let offset = 0;\n if (relative) {\n offset = this.commands.length ? this.commands[this.commands.length - 1].y || 0 : 0;\n }\n this.lineTo(currentX, parsedBuffer[i] + offset);\n }\n break;\n case \"H\":\n for (let i = 0; i < parsedBuffer.length; i++) {\n let offset = 0;\n if (relative) {\n offset = this.commands.length ? this.commands[this.commands.length - 1].x || 0 : 0;\n }\n this.lineTo(parsedBuffer[i] + offset, currentY);\n }\n break;\n case \"C\":\n this.bezierCurveTo(...parsedBuffer);\n break;\n case \"Q\":\n this.quadraticCurveTo(...parsedBuffer);\n break;\n case \"Z\":\n if (this.commands.length < 1 || this.commands[this.commands.length - 1].type !== \"Z\") {\n this.close();\n }\n break;\n }\n if (this.commands.length) {\n for (const prop in this.commands[this.commands.length - 1]) {\n if (this.commands[this.commands.length - 1][prop] === void 0) {\n this.commands[this.commands.length - 1][prop] = 0;\n }\n }\n }\n }\n for (let i = 0; i < pathData.length; i++) {\n const token = pathData.charAt(i);\n const lastBuffer = buffer[buffer.length - 1];\n if (number.indexOf(token) > -1) {\n buffer[buffer.length - 1] += token;\n } else if (sign.indexOf(token) > -1) {\n if (!command.type && !this.commands.length) {\n command.type = \"L\";\n }\n if (token === \"-\") {\n if (!command.type || lastBuffer.indexOf(\"-\") > 0) {\n isUnexpected = true;\n } else if (lastBuffer.length) {\n buffer.push(\"-\");\n } else {\n buffer[buffer.length - 1] = token;\n }\n } else {\n if (!command.type || lastBuffer.length > 0) {\n isUnexpected = true;\n } else {\n continue;\n }\n }\n } else if (supportedCommands.indexOf(token) > -1) {\n if (command.type) {\n applyCommand.apply(this);\n command = { type: token };\n } else {\n command.type = token;\n }\n } else if (unsupportedCommands.indexOf(token) > -1) {\n throw new Error(\"Unsupported path command: \" + token + \". Currently supported commands are \" + supportedCommands.split(\"\").join(\", \") + \".\");\n } else if (\" ,\t\\n\\r\\f\\v\".indexOf(token) > -1) {\n buffer.push(\"\");\n } else if (token === \".\") {\n if (!command.type || lastBuffer.indexOf(token) > -1) {\n isUnexpected = true;\n } else {\n buffer[buffer.length - 1] += token;\n }\n } else {\n isUnexpected = true;\n }\n if (isUnexpected) {\n throw new Error(\"Unexpected character: \" + token + \" at offset \" + i);\n }\n }\n applyCommand.apply(this);\n if (options.optimize) {\n this.commands = optimizeCommands(this.commands);\n }\n const flipY = options.flipY;\n let flipYBase = options.flipYBase;\n if (flipY === true && options.flipYBase === void 0) {\n const boundingBox = this.getBoundingBox();\n flipYBase = boundingBox.y1 + boundingBox.y2;\n }\n for (const i in this.commands) {\n const cmd = this.commands[i];\n for (const prop in cmd) {\n if ([\"x\", \"x1\", \"x2\"].includes(prop)) {\n this.commands[i][prop] = options.x + cmd[prop] * options.scale;\n } else if ([\"y\", \"y1\", \"y2\"].includes(prop)) {\n this.commands[i][prop] = options.y + (flipY ? flipYBase - cmd[prop] : cmd[prop]) * options.scale;\n }\n }\n }\n return this;\n};\nPath.fromSVG = function(path, options) {\n const newPath = new Path();\n return newPath.fromSVG(path, options);\n};\nPath.prototype.moveTo = function(x, y) {\n this.commands.push({\n type: \"M\",\n x,\n y\n });\n};\nPath.prototype.lineTo = function(x, y) {\n this.commands.push({\n type: \"L\",\n x,\n y\n });\n};\nPath.prototype.curveTo = Path.prototype.bezierCurveTo = function(x1, y1, x2, y2, x, y) {\n this.commands.push({\n type: \"C\",\n x1,\n y1,\n x2,\n y2,\n x,\n y\n });\n};\nPath.prototype.quadTo = Path.prototype.quadraticCurveTo = function(x1, y1, x, y) {\n this.commands.push({\n type: \"Q\",\n x1,\n y1,\n x,\n y\n });\n};\nPath.prototype.close = Path.prototype.closePath = function() {\n this.commands.push({\n type: \"Z\"\n });\n};\nPath.prototype.extend = function(pathOrCommands) {\n if (pathOrCommands.commands) {\n pathOrCommands = pathOrCommands.commands;\n } else if (pathOrCommands instanceof bbox_default) {\n const box = pathOrCommands;\n this.moveTo(box.x1, box.y1);\n this.lineTo(box.x2, box.y1);\n this.lineTo(box.x2, box.y2);\n this.lineTo(box.x1, box.y2);\n this.close();\n return;\n }\n Array.prototype.push.apply(this.commands, pathOrCommands);\n};\nPath.prototype.getBoundingBox = function() {\n const box = new bbox_default();\n let startX = 0;\n let startY = 0;\n let prevX = 0;\n let prevY = 0;\n for (let i = 0; i < this.commands.length; i++) {\n const cmd = this.commands[i];\n switch (cmd.type) {\n case \"M\":\n box.addPoint(cmd.x, cmd.y);\n startX = prevX = cmd.x;\n startY = prevY = cmd.y;\n break;\n case \"L\":\n box.addPoint(cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case \"Q\":\n box.addQuad(prevX, prevY, cmd.x1, cmd.y1, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case \"C\":\n box.addBezier(prevX, prevY, cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case \"Z\":\n prevX = startX;\n prevY = startY;\n break;\n default:\n throw new Error(\"Unexpected path command \" + cmd.type);\n }\n }\n if (box.isEmpty()) {\n box.addPoint(0, 0);\n }\n return box;\n};\nPath.prototype.draw = function(ctx) {\n const layers = this._layers;\n if (layers && layers.length) {\n for (let l = 0; l < layers.length; l++) {\n this.draw.call(layers[l], ctx);\n }\n return;\n }\n const image = this._image;\n if (image) {\n ctx.drawImage(image.image, image.x, image.y, image.width, image.height);\n return;\n }\n ctx.beginPath();\n for (let i = 0; i < this.commands.length; i += 1) {\n const cmd = this.commands[i];\n if (cmd.type === \"M\") {\n ctx.moveTo(cmd.x, cmd.y);\n } else if (cmd.type === \"L\") {\n ctx.lineTo(cmd.x, cmd.y);\n } else if (cmd.type === \"C\") {\n ctx.bezierCurveTo(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n } else if (cmd.type === \"Q\") {\n ctx.quadraticCurveTo(cmd.x1, cmd.y1, cmd.x, cmd.y);\n } else if (cmd.type === \"Z\" && this.stroke && this.strokeWidth) {\n ctx.closePath();\n }\n }\n if (this.fill) {\n ctx.fillStyle = this.fill;\n ctx.fill();\n }\n if (this.stroke) {\n ctx.strokeStyle = this.stroke;\n ctx.lineWidth = this.strokeWidth;\n ctx.stroke();\n }\n};\nPath.prototype.toPathData = function(options) {\n options = createSVGOutputOptions(options);\n function floatToString(v) {\n const rounded = roundDecimal(v, options.decimalPlaces);\n if (Math.round(v) === rounded) {\n return \"\" + rounded;\n } else {\n return rounded.toFixed(options.decimalPlaces);\n }\n }\n function packValues() {\n let s = \"\";\n for (let i = 0; i < arguments.length; i += 1) {\n const v = arguments[i];\n if (v >= 0 && i > 0) {\n s += \" \";\n }\n s += floatToString(v);\n }\n return s;\n }\n let commandsCopy = this.commands;\n if (options.optimize) {\n commandsCopy = JSON.parse(JSON.stringify(this.commands));\n commandsCopy = optimizeCommands(commandsCopy);\n }\n const flipY = options.flipY;\n let flipYBase = options.flipYBase;\n if (flipY === true && flipYBase === void 0) {\n const tempPath = new Path();\n tempPath.extend(commandsCopy);\n const boundingBox = tempPath.getBoundingBox();\n flipYBase = boundingBox.y1 + boundingBox.y2;\n }\n let d = \"\";\n for (let i = 0; i < commandsCopy.length; i += 1) {\n const cmd = commandsCopy[i];\n if (cmd.type === \"M\") {\n d += \"M\" + packValues(\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"L\") {\n d += \"L\" + packValues(\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"C\") {\n d += \"C\" + packValues(\n cmd.x1,\n flipY ? flipYBase - cmd.y1 : cmd.y1,\n cmd.x2,\n flipY ? flipYBase - cmd.y2 : cmd.y2,\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"Q\") {\n d += \"Q\" + packValues(\n cmd.x1,\n flipY ? flipYBase - cmd.y1 : cmd.y1,\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"Z\") {\n d += \"Z\";\n }\n }\n return d;\n};\nPath.prototype.toSVG = function(options, pathData) {\n if (this._layers && this._layers.length) {\n console.warn(\"toSVG() does not support colr font layers yet\");\n }\n if (this._image) {\n console.warn(\"toSVG() does not support SVG glyphs yet\");\n }\n if (!pathData) {\n pathData = this.toPathData(options);\n }\n let svg = '\";\n return svg;\n};\nPath.prototype.toDOMElement = function(options, pathData) {\n if (this._layers && this._layers.length) {\n console.warn(\"toDOMElement() does not support colr font layers yet\");\n }\n if (!pathData) {\n pathData = this.toPathData(options);\n }\n const newPath = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n newPath.setAttribute(\"d\", pathData);\n if (this.fill !== void 0 && this.fill !== \"black\") {\n if (this.fill === null) {\n newPath.setAttribute(\"fill\", \"none\");\n } else {\n newPath.setAttribute(\"fill\", this.fill);\n }\n }\n if (this.stroke) {\n newPath.setAttribute(\"stroke\", this.stroke);\n newPath.setAttribute(\"stroke-width\", this.strokeWidth);\n }\n return newPath;\n};\nvar path_default = Path;\n\n// src/check.mjs\nfunction fail(message) {\n throw new Error(message);\n}\nfunction argument(predicate, message) {\n if (!predicate) {\n fail(message);\n }\n}\nvar check_default = { fail, argument, assert: argument };\n\n// src/types.mjs\nvar LIMIT16 = 32768;\nvar LIMIT32 = 2147483648;\nvar MIN_16_16 = -(1 << 15);\nvar MAX_16_16 = (1 << 15) - 1 + 1 / (1 << 16);\nvar decode = {};\nvar encode = {};\nvar sizeOf = {};\nfunction constant(v) {\n return function() {\n return v;\n };\n}\nencode.BYTE = function(v) {\n check_default.argument(v >= 0 && v <= 255, \"Byte value should be between 0 and 255.\");\n return [v];\n};\nsizeOf.BYTE = constant(1);\nencode.CHAR = function(v) {\n return [v.charCodeAt(0)];\n};\nsizeOf.CHAR = constant(1);\nencode.CHARARRAY = function(v) {\n if (v === null || typeof v === \"undefined\") {\n v = \"\";\n console.warn(\"CHARARRAY with undefined or null value encountered and treated as an empty string. This is probably caused by a missing glyph name.\");\n }\n const b = [];\n for (let i = 0; i < v.length; i += 1) {\n b[i] = v.charCodeAt(i);\n }\n return b;\n};\nsizeOf.CHARARRAY = function(v) {\n if (typeof v === \"undefined\") {\n return 0;\n }\n return v.length;\n};\nencode.USHORT = function(v) {\n return [v >> 8 & 255, v & 255];\n};\nsizeOf.USHORT = constant(2);\nencode.SHORT = function(v) {\n if (v >= LIMIT16) {\n v = -(2 * LIMIT16 - v);\n }\n return [v >> 8 & 255, v & 255];\n};\nsizeOf.SHORT = constant(2);\nencode.UINT24 = function(v) {\n return [v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.UINT24 = constant(3);\nencode.ULONG = function(v) {\n return [v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.ULONG = constant(4);\nencode.LONG = function(v) {\n if (v >= LIMIT32) {\n v = -(2 * LIMIT32 - v);\n }\n return [v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.LONG = constant(4);\nencode.FLOAT = function(v) {\n if (v > MAX_16_16 || v < MIN_16_16) {\n throw new Error(`Value ${v} is outside the range of representable values in 16.16 format`);\n }\n const fixedValue = Math.round(v * (1 << 16)) << 0;\n return encode.ULONG(fixedValue);\n};\nsizeOf.FLOAT = sizeOf.ULONG;\nencode.FIXED = encode.ULONG;\nsizeOf.FIXED = sizeOf.ULONG;\nencode.FWORD = encode.SHORT;\nsizeOf.FWORD = sizeOf.SHORT;\nencode.UFWORD = encode.USHORT;\nsizeOf.UFWORD = sizeOf.USHORT;\nencode.F2DOT14 = function(v) {\n return encode.USHORT(v * 16384);\n};\nsizeOf.F2DOT14 = sizeOf.USHORT;\nencode.LONGDATETIME = function(v) {\n return [0, 0, 0, 0, v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.LONGDATETIME = constant(8);\nencode.TAG = function(v) {\n check_default.argument(v.length === 4, \"Tag should be exactly 4 ASCII characters.\");\n return [\n v.charCodeAt(0),\n v.charCodeAt(1),\n v.charCodeAt(2),\n v.charCodeAt(3)\n ];\n};\nsizeOf.TAG = constant(4);\nencode.Card8 = encode.BYTE;\nsizeOf.Card8 = sizeOf.BYTE;\nencode.Card16 = encode.USHORT;\nsizeOf.Card16 = sizeOf.USHORT;\nencode.OffSize = encode.BYTE;\nsizeOf.OffSize = sizeOf.BYTE;\nencode.SID = encode.USHORT;\nsizeOf.SID = sizeOf.USHORT;\nencode.NUMBER = function(v) {\n if (v >= -107 && v <= 107) {\n return [v + 139];\n } else if (v >= 108 && v <= 1131) {\n v = v - 108;\n return [(v >> 8) + 247, v & 255];\n } else if (v >= -1131 && v <= -108) {\n v = -v - 108;\n return [(v >> 8) + 251, v & 255];\n } else if (v >= -32768 && v <= 32767) {\n return encode.NUMBER16(v);\n } else {\n return encode.NUMBER32(v);\n }\n};\nsizeOf.NUMBER = function(v) {\n return encode.NUMBER(v).length;\n};\nencode.NUMBER16 = function(v) {\n return [28, v >> 8 & 255, v & 255];\n};\nsizeOf.NUMBER16 = constant(3);\nencode.NUMBER32 = function(v) {\n return [29, v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.NUMBER32 = constant(5);\nencode.REAL = function(v) {\n let value = v.toString();\n const m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n if (m) {\n const epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(v * epsilon) / epsilon).toString();\n }\n let nibbles = \"\";\n for (let i = 0, ii = value.length; i < ii; i += 1) {\n const c = value[i];\n if (c === \"e\") {\n nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n } else if (c === \".\") {\n nibbles += \"a\";\n } else if (c === \"-\") {\n nibbles += \"e\";\n } else {\n nibbles += c;\n }\n }\n nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n const out = [30];\n for (let i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substr(i, 2), 16));\n }\n return out;\n};\nsizeOf.REAL = function(v) {\n return encode.REAL(v).length;\n};\nencode.NAME = encode.CHARARRAY;\nsizeOf.NAME = sizeOf.CHARARRAY;\nencode.STRING = encode.CHARARRAY;\nsizeOf.STRING = sizeOf.CHARARRAY;\ndecode.UTF8 = function(data, offset, numBytes) {\n const codePoints = [];\n const numChars = numBytes;\n for (let j = 0; j < numChars; j++, offset += 1) {\n codePoints[j] = data.getUint8(offset);\n }\n return String.fromCharCode.apply(null, codePoints);\n};\ndecode.UTF16 = function(data, offset, numBytes) {\n const codePoints = [];\n const numChars = numBytes / 2;\n for (let j = 0; j < numChars; j++, offset += 2) {\n codePoints[j] = data.getUint16(offset);\n }\n return String.fromCharCode.apply(null, codePoints);\n};\nencode.UTF16 = function(v) {\n const b = [];\n for (let i = 0; i < v.length; i += 1) {\n const codepoint = v.charCodeAt(i);\n b[b.length] = codepoint >> 8 & 255;\n b[b.length] = codepoint & 255;\n }\n return b;\n};\nsizeOf.UTF16 = function(v) {\n return v.length * 2;\n};\nvar eightBitMacEncodings = {\n \"x-mac-croatian\": (\n // Python: 'mac_croatian'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\u0160\\u2122\\xB4\\xA8\\u2260\\u017D\\xD8\\u221E\\xB1\\u2264\\u2265\\u2206\\xB5\\u2202\\u2211\\u220F\\u0161\\u222B\\xAA\\xBA\\u03A9\\u017E\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u0106\\xAB\\u010C\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u0110\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\uF8FF\\xA9\\u2044\\u20AC\\u2039\\u203A\\xC6\\xBB\\u2013\\xB7\\u201A\\u201E\\u2030\\xC2\\u0107\\xC1\\u010D\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\u0111\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u03C0\\xCB\\u02DA\\xB8\\xCA\\xE6\\u02C7\"\n ),\n \"x-mac-cyrillic\": (\n // Python: 'mac_cyrillic'\n \"\\u0410\\u0411\\u0412\\u0413\\u0414\\u0415\\u0416\\u0417\\u0418\\u0419\\u041A\\u041B\\u041C\\u041D\\u041E\\u041F\\u0420\\u0421\\u0422\\u0423\\u0424\\u0425\\u0426\\u0427\\u0428\\u0429\\u042A\\u042B\\u042C\\u042D\\u042E\\u042F\\u2020\\xB0\\u0490\\xA3\\xA7\\u2022\\xB6\\u0406\\xAE\\xA9\\u2122\\u0402\\u0452\\u2260\\u0403\\u0453\\u221E\\xB1\\u2264\\u2265\\u0456\\xB5\\u0491\\u0408\\u0404\\u0454\\u0407\\u0457\\u0409\\u0459\\u040A\\u045A\\u0458\\u0405\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\u040B\\u045B\\u040C\\u045C\\u0455\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u201E\\u040E\\u045E\\u040F\\u045F\\u2116\\u0401\\u0451\\u044F\\u0430\\u0431\\u0432\\u0433\\u0434\\u0435\\u0436\\u0437\\u0438\\u0439\\u043A\\u043B\\u043C\\u043D\\u043E\\u043F\\u0440\\u0441\\u0442\\u0443\\u0444\\u0445\\u0446\\u0447\\u0448\\u0449\\u044A\\u044B\\u044C\\u044D\\u044E\"\n ),\n \"x-mac-gaelic\": (\n // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/GAELIC.TXT\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u1E02\\xB1\\u2264\\u2265\\u1E03\\u010A\\u010B\\u1E0A\\u1E0B\\u1E1E\\u1E1F\\u0120\\u0121\\u1E40\\xE6\\xF8\\u1E41\\u1E56\\u1E57\\u027C\\u0192\\u017F\\u1E60\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\u1E61\\u1E9B\\xFF\\u0178\\u1E6A\\u20AC\\u2039\\u203A\\u0176\\u0177\\u1E6B\\xB7\\u1EF2\\u1EF3\\u204A\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\u2663\\xD2\\xDA\\xDB\\xD9\\u0131\\xDD\\xFD\\u0174\\u0175\\u1E84\\u1E85\\u1E80\\u1E81\\u1E82\\u1E83\"\n ),\n \"x-mac-greek\": (\n // Python: 'mac_greek'\n \"\\xC4\\xB9\\xB2\\xC9\\xB3\\xD6\\xDC\\u0385\\xE0\\xE2\\xE4\\u0384\\xA8\\xE7\\xE9\\xE8\\xEA\\xEB\\xA3\\u2122\\xEE\\xEF\\u2022\\xBD\\u2030\\xF4\\xF6\\xA6\\u20AC\\xF9\\xFB\\xFC\\u2020\\u0393\\u0394\\u0398\\u039B\\u039E\\u03A0\\xDF\\xAE\\xA9\\u03A3\\u03AA\\xA7\\u2260\\xB0\\xB7\\u0391\\xB1\\u2264\\u2265\\xA5\\u0392\\u0395\\u0396\\u0397\\u0399\\u039A\\u039C\\u03A6\\u03AB\\u03A8\\u03A9\\u03AC\\u039D\\xAC\\u039F\\u03A1\\u2248\\u03A4\\xAB\\xBB\\u2026\\xA0\\u03A5\\u03A7\\u0386\\u0388\\u0153\\u2013\\u2015\\u201C\\u201D\\u2018\\u2019\\xF7\\u0389\\u038A\\u038C\\u038E\\u03AD\\u03AE\\u03AF\\u03CC\\u038F\\u03CD\\u03B1\\u03B2\\u03C8\\u03B4\\u03B5\\u03C6\\u03B3\\u03B7\\u03B9\\u03BE\\u03BA\\u03BB\\u03BC\\u03BD\\u03BF\\u03C0\\u03CE\\u03C1\\u03C3\\u03C4\\u03B8\\u03C9\\u03C2\\u03C7\\u03C5\\u03B6\\u03CA\\u03CB\\u0390\\u03B0\\xAD\"\n ),\n \"x-mac-icelandic\": (\n // Python: 'mac_iceland'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\xDD\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\xE6\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u2044\\u20AC\\xD0\\xF0\\xDE\\xFE\\xFD\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n ),\n \"x-mac-inuit\": (\n // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/INUIT.TXT\n \"\\u1403\\u1404\\u1405\\u1406\\u140A\\u140B\\u1431\\u1432\\u1433\\u1434\\u1438\\u1439\\u1449\\u144E\\u144F\\u1450\\u1451\\u1455\\u1456\\u1466\\u146D\\u146E\\u146F\\u1470\\u1472\\u1473\\u1483\\u148B\\u148C\\u148D\\u148E\\u1490\\u1491\\xB0\\u14A1\\u14A5\\u14A6\\u2022\\xB6\\u14A7\\xAE\\xA9\\u2122\\u14A8\\u14AA\\u14AB\\u14BB\\u14C2\\u14C3\\u14C4\\u14C5\\u14C7\\u14C8\\u14D0\\u14EF\\u14F0\\u14F1\\u14F2\\u14F4\\u14F5\\u1505\\u14D5\\u14D6\\u14D7\\u14D8\\u14DA\\u14DB\\u14EA\\u1528\\u1529\\u152A\\u152B\\u152D\\u2026\\xA0\\u152E\\u153E\\u1555\\u1556\\u1557\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\u1558\\u1559\\u155A\\u155D\\u1546\\u1547\\u1548\\u1549\\u154B\\u154C\\u1550\\u157F\\u1580\\u1581\\u1582\\u1583\\u1584\\u1585\\u158F\\u1590\\u1591\\u1592\\u1593\\u1594\\u1595\\u1671\\u1672\\u1673\\u1674\\u1675\\u1676\\u1596\\u15A0\\u15A1\\u15A2\\u15A3\\u15A4\\u15A5\\u15A6\\u157C\\u0141\\u0142\"\n ),\n \"x-mac-ce\": (\n // Python: 'mac_latin2'\n \"\\xC4\\u0100\\u0101\\xC9\\u0104\\xD6\\xDC\\xE1\\u0105\\u010C\\xE4\\u010D\\u0106\\u0107\\xE9\\u0179\\u017A\\u010E\\xED\\u010F\\u0112\\u0113\\u0116\\xF3\\u0117\\xF4\\xF6\\xF5\\xFA\\u011A\\u011B\\xFC\\u2020\\xB0\\u0118\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\u0119\\xA8\\u2260\\u0123\\u012E\\u012F\\u012A\\u2264\\u2265\\u012B\\u0136\\u2202\\u2211\\u0142\\u013B\\u013C\\u013D\\u013E\\u0139\\u013A\\u0145\\u0146\\u0143\\xAC\\u221A\\u0144\\u0147\\u2206\\xAB\\xBB\\u2026\\xA0\\u0148\\u0150\\xD5\\u0151\\u014C\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\u014D\\u0154\\u0155\\u0158\\u2039\\u203A\\u0159\\u0156\\u0157\\u0160\\u201A\\u201E\\u0161\\u015A\\u015B\\xC1\\u0164\\u0165\\xCD\\u017D\\u017E\\u016A\\xD3\\xD4\\u016B\\u016E\\xDA\\u016F\\u0170\\u0171\\u0172\\u0173\\xDD\\xFD\\u0137\\u017B\\u0141\\u017C\\u0122\\u02C7\"\n ),\n macintosh: (\n // Python: 'mac_roman'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\xE6\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u2044\\u20AC\\u2039\\u203A\\uFB01\\uFB02\\u2021\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n ),\n \"x-mac-romanian\": (\n // Python: 'mac_romanian'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\u0102\\u0218\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\u0103\\u0219\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u2044\\u20AC\\u2039\\u203A\\u021A\\u021B\\u2021\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n ),\n \"x-mac-turkish\": (\n // Python: 'mac_turkish'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\xE6\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u011E\\u011F\\u0130\\u0131\\u015E\\u015F\\u2021\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\uF8A0\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n )\n};\ndecode.MACSTRING = function(dataView, offset, dataLength, encoding) {\n const table = eightBitMacEncodings[encoding];\n if (table === void 0) {\n return void 0;\n }\n let result = \"\";\n for (let i = 0; i < dataLength; i++) {\n const c = dataView.getUint8(offset + i);\n if (c <= 127) {\n result += String.fromCharCode(c);\n } else {\n result += table[c & 127];\n }\n }\n return result;\n};\nvar macEncodingTableCache = typeof WeakMap === \"function\" && /* @__PURE__ */ new WeakMap();\nvar macEncodingCacheKeys;\nvar getMacEncodingTable = function(encoding) {\n if (!macEncodingCacheKeys) {\n macEncodingCacheKeys = {};\n for (let e in eightBitMacEncodings) {\n macEncodingCacheKeys[e] = new String(e);\n }\n }\n const cacheKey = macEncodingCacheKeys[encoding];\n if (cacheKey === void 0) {\n return void 0;\n }\n if (macEncodingTableCache) {\n const cachedTable = macEncodingTableCache.get(cacheKey);\n if (cachedTable !== void 0) {\n return cachedTable;\n }\n }\n const decodingTable = eightBitMacEncodings[encoding];\n if (decodingTable === void 0) {\n return void 0;\n }\n const encodingTable = {};\n for (let i = 0; i < decodingTable.length; i++) {\n encodingTable[decodingTable.charCodeAt(i)] = i + 128;\n }\n if (macEncodingTableCache) {\n macEncodingTableCache.set(cacheKey, encodingTable);\n }\n return encodingTable;\n};\nencode.MACSTRING = function(str, encoding) {\n const table = getMacEncodingTable(encoding);\n if (table === void 0) {\n return void 0;\n }\n const result = [];\n for (let i = 0; i < str.length; i++) {\n let c = str.charCodeAt(i);\n if (c >= 128) {\n c = table[c];\n if (c === void 0) {\n return void 0;\n }\n }\n result[i] = c;\n }\n return result;\n};\nsizeOf.MACSTRING = function(str, encoding) {\n const b = encode.MACSTRING(str, encoding);\n if (b !== void 0) {\n return b.length;\n } else {\n return 0;\n }\n};\nfunction isByteEncodable(value) {\n return value >= -128 && value <= 127;\n}\nfunction encodeVarDeltaRunAsZeroes(deltas, pos, result) {\n let runLength = 0;\n const numDeltas = deltas.length;\n while (pos < numDeltas && runLength < 64 && deltas[pos] === 0) {\n ++pos;\n ++runLength;\n }\n result.push(128 | runLength - 1);\n return pos;\n}\nfunction encodeVarDeltaRunAsBytes(deltas, offset, result) {\n let runLength = 0;\n const numDeltas = deltas.length;\n let pos = offset;\n while (pos < numDeltas && runLength < 64) {\n const value = deltas[pos];\n if (!isByteEncodable(value)) {\n break;\n }\n if (value === 0 && pos + 1 < numDeltas && deltas[pos + 1] === 0) {\n break;\n }\n ++pos;\n ++runLength;\n }\n result.push(runLength - 1);\n for (let i = offset; i < pos; ++i) {\n result.push(deltas[i] + 256 & 255);\n }\n return pos;\n}\nfunction encodeVarDeltaRunAsWords(deltas, offset, result) {\n let runLength = 0;\n const numDeltas = deltas.length;\n let pos = offset;\n while (pos < numDeltas && runLength < 64) {\n const value = deltas[pos];\n if (value === 0) {\n break;\n }\n if (isByteEncodable(value) && pos + 1 < numDeltas && isByteEncodable(deltas[pos + 1])) {\n break;\n }\n ++pos;\n ++runLength;\n }\n result.push(64 | runLength - 1);\n for (let i = offset; i < pos; ++i) {\n const val = deltas[i];\n result.push(val + 65536 >> 8 & 255, val + 256 & 255);\n }\n return pos;\n}\nencode.VARDELTAS = function(deltas) {\n let pos = 0;\n const result = [];\n while (pos < deltas.length) {\n const value = deltas[pos];\n if (value === 0) {\n pos = encodeVarDeltaRunAsZeroes(deltas, pos, result);\n } else if (value >= -128 && value <= 127) {\n pos = encodeVarDeltaRunAsBytes(deltas, pos, result);\n } else {\n pos = encodeVarDeltaRunAsWords(deltas, pos, result);\n }\n }\n return result;\n};\nencode.INDEX = function(l) {\n let offset = 1;\n const offsets = [offset];\n const data = [];\n for (let i = 0; i < l.length; i += 1) {\n const v = encode.OBJECT(l[i]);\n Array.prototype.push.apply(data, v);\n offset += v.length;\n offsets.push(offset);\n }\n if (data.length === 0) {\n return [0, 0];\n }\n const encodedOffsets = [];\n const offSize = 1 + Math.floor(Math.log(offset) / Math.log(2)) / 8 | 0;\n const offsetEncoder = [void 0, encode.BYTE, encode.USHORT, encode.UINT24, encode.ULONG][offSize];\n for (let i = 0; i < offsets.length; i += 1) {\n const encodedOffset = offsetEncoder(offsets[i]);\n Array.prototype.push.apply(encodedOffsets, encodedOffset);\n }\n return Array.prototype.concat(\n encode.Card16(l.length),\n encode.OffSize(offSize),\n encodedOffsets,\n data\n );\n};\nsizeOf.INDEX = function(v) {\n return encode.INDEX(v).length;\n};\nencode.DICT = function(m) {\n let d = [];\n const keys = Object.keys(m);\n const length = keys.length;\n for (let i = 0; i < length; i += 1) {\n const k = parseInt(keys[i], 0);\n const v = m[k];\n const enc1 = encode.OPERAND(v.value, v.type);\n const enc2 = encode.OPERATOR(k);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n for (let j = 0; j < enc2.length; j++) {\n d.push(enc2[j]);\n }\n }\n return d;\n};\nsizeOf.DICT = function(m) {\n return encode.DICT(m).length;\n};\nencode.OPERATOR = function(v) {\n if (v < 1200) {\n return [v];\n } else {\n return [12, v - 1200];\n }\n};\nencode.OPERAND = function(v, type) {\n let d = [];\n if (Array.isArray(type)) {\n for (let i = 0; i < type.length; i += 1) {\n check_default.argument(v.length === type.length, \"Not enough arguments given for type\" + type);\n const enc1 = encode.OPERAND(v[i], type[i]);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n }\n } else {\n if (type === \"SID\") {\n const enc1 = encode.NUMBER(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else if (type === \"offset\") {\n const enc1 = encode.NUMBER32(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else if (type === \"number\") {\n const enc1 = encode.NUMBER(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else if (type === \"real\") {\n const enc1 = encode.REAL(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else {\n throw new Error(\"Unknown operand type \" + type);\n }\n }\n return d;\n};\nencode.OP = encode.BYTE;\nsizeOf.OP = sizeOf.BYTE;\nvar wmm = typeof WeakMap === \"function\" && /* @__PURE__ */ new WeakMap();\nencode.CHARSTRING = function(ops) {\n if (wmm) {\n const cachedValue = wmm.get(ops);\n if (cachedValue !== void 0) {\n return cachedValue;\n }\n }\n let d = [];\n const length = ops.length;\n for (let i = 0; i < length; i += 1) {\n const op = ops[i];\n const enc1 = encode[op.type](op.value);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n }\n if (wmm) {\n wmm.set(ops, d);\n }\n return d;\n};\nsizeOf.CHARSTRING = function(ops) {\n return encode.CHARSTRING(ops).length;\n};\nencode.OBJECT = function(v) {\n const encodingFunction = encode[v.type];\n check_default.argument(encodingFunction !== void 0, \"No encoding function for type \" + v.type);\n return encodingFunction(v.value);\n};\nsizeOf.OBJECT = function(v) {\n const sizeOfFunction = sizeOf[v.type];\n check_default.argument(sizeOfFunction !== void 0, \"No sizeOf function for type \" + v.type);\n return sizeOfFunction(v.value);\n};\nencode.TABLE = function(table) {\n let d = [];\n const length = (table.fields || []).length;\n const subtables = [];\n const subtableOffsets = [];\n for (let i = 0; i < length; i += 1) {\n const field = table.fields[i];\n const encodingFunction = encode[field.type];\n check_default.argument(encodingFunction !== void 0, \"No encoding function for field type \" + field.type + \" (\" + field.name + \")\");\n let value = table[field.name];\n if (value === void 0) {\n value = field.value;\n }\n const bytes = encodingFunction(value);\n if (field.type === \"TABLE\") {\n if (value.fields !== null) {\n subtableOffsets.push(d.length);\n subtables.push(bytes);\n }\n d.push(...[0, 0]);\n } else {\n for (let j = 0; j < bytes.length; j++) {\n d.push(bytes[j]);\n }\n }\n }\n for (let i = 0; i < subtables.length; i += 1) {\n const o = subtableOffsets[i];\n const offset = d.length;\n check_default.argument(offset < 65536, \"Table \" + table.tableName + \" too big.\");\n d[o] = offset >> 8;\n d[o + 1] = offset & 255;\n for (let j = 0; j < subtables[i].length; j++) {\n d.push(subtables[i][j]);\n }\n }\n return d;\n};\nsizeOf.TABLE = function(table) {\n let numBytes = 0;\n const length = (table.fields || []).length;\n for (let i = 0; i < length; i += 1) {\n const field = table.fields[i];\n const sizeOfFunction = sizeOf[field.type];\n check_default.argument(sizeOfFunction !== void 0, \"No sizeOf function for field type \" + field.type + \" (\" + field.name + \")\");\n let value = table[field.name];\n if (value === void 0) {\n value = field.value;\n }\n numBytes += sizeOfFunction(value);\n if (field.type === \"TABLE\") {\n numBytes += 2;\n }\n }\n return numBytes;\n};\nencode.RECORD = encode.TABLE;\nsizeOf.RECORD = sizeOf.TABLE;\nencode.LITERAL = function(v) {\n return v;\n};\nsizeOf.LITERAL = function(v) {\n return v.length;\n};\n\n// src/table.mjs\nfunction Table(tableName, fields, options) {\n if (fields && fields.length) {\n for (let i = 0; i < fields.length; i += 1) {\n const field = fields[i];\n this[field.name] = field.value;\n }\n }\n this.tableName = tableName;\n this.fields = fields;\n if (options) {\n const optionKeys = Object.keys(options);\n for (let i = 0; i < optionKeys.length; i += 1) {\n const k = optionKeys[i];\n const v = options[k];\n if (this[k] !== void 0) {\n this[k] = v;\n }\n }\n }\n}\nTable.prototype.encode = function() {\n return encode.TABLE(this);\n};\nTable.prototype.sizeOf = function() {\n return sizeOf.TABLE(this);\n};\nfunction ushortList(itemName, list, count) {\n if (count === void 0) {\n count = list.length;\n }\n const fields = new Array(list.length + 1);\n fields[0] = { name: itemName + \"Count\", type: \"USHORT\", value: count };\n for (let i = 0; i < list.length; i++) {\n fields[i + 1] = { name: itemName + i, type: \"USHORT\", value: list[i] };\n }\n return fields;\n}\nfunction tableList(itemName, records, itemCallback) {\n const count = records.length;\n const fields = new Array(count + 1);\n fields[0] = { name: itemName + \"Count\", type: \"USHORT\", value: count };\n for (let i = 0; i < count; i++) {\n fields[i + 1] = { name: itemName + i, type: \"TABLE\", value: itemCallback(records[i], i) };\n }\n return fields;\n}\nfunction recordList(itemName, records, itemCallback) {\n const count = records.length;\n let fields = [];\n fields[0] = { name: itemName + \"Count\", type: \"USHORT\", value: count };\n for (let i = 0; i < count; i++) {\n fields = fields.concat(itemCallback(records[i], i));\n }\n return fields;\n}\nfunction Coverage(coverageTable) {\n if (coverageTable.format === 1) {\n Table.call(\n this,\n \"coverageTable\",\n [{ name: \"coverageFormat\", type: \"USHORT\", value: 1 }].concat(ushortList(\"glyph\", coverageTable.glyphs))\n );\n } else if (coverageTable.format === 2) {\n Table.call(\n this,\n \"coverageTable\",\n [{ name: \"coverageFormat\", type: \"USHORT\", value: 2 }].concat(recordList(\"rangeRecord\", coverageTable.ranges, function(RangeRecord, i) {\n return [\n { name: \"startGlyphID\" + i, type: \"USHORT\", value: RangeRecord.start },\n { name: \"endGlyphID\" + i, type: \"USHORT\", value: RangeRecord.end },\n { name: \"startCoverageIndex\" + i, type: \"USHORT\", value: RangeRecord.index }\n ];\n }))\n );\n } else {\n check_default.assert(false, \"Coverage format must be 1 or 2.\");\n }\n}\nCoverage.prototype = Object.create(Table.prototype);\nCoverage.prototype.constructor = Coverage;\nfunction ScriptList(scriptListTable) {\n Table.call(\n this,\n \"scriptListTable\",\n recordList(\"scriptRecord\", scriptListTable, function(scriptRecord, i) {\n const script = scriptRecord.script;\n let defaultLangSys = script.defaultLangSys;\n check_default.assert(!!defaultLangSys, \"Unable to write GSUB: script \" + scriptRecord.tag + \" has no default language system.\");\n return [\n { name: \"scriptTag\" + i, type: \"TAG\", value: scriptRecord.tag },\n { name: \"script\" + i, type: \"TABLE\", value: new Table(\"scriptTable\", [\n { name: \"defaultLangSys\", type: \"TABLE\", value: new Table(\"defaultLangSys\", [\n { name: \"lookupOrder\", type: \"USHORT\", value: 0 },\n { name: \"reqFeatureIndex\", type: \"USHORT\", value: defaultLangSys.reqFeatureIndex }\n ].concat(ushortList(\"featureIndex\", defaultLangSys.featureIndexes))) }\n ].concat(recordList(\"langSys\", script.langSysRecords, function(langSysRecord, i2) {\n const langSys = langSysRecord.langSys;\n return [\n { name: \"langSysTag\" + i2, type: \"TAG\", value: langSysRecord.tag },\n { name: \"langSys\" + i2, type: \"TABLE\", value: new Table(\"langSys\", [\n { name: \"lookupOrder\", type: \"USHORT\", value: 0 },\n { name: \"reqFeatureIndex\", type: \"USHORT\", value: langSys.reqFeatureIndex }\n ].concat(ushortList(\"featureIndex\", langSys.featureIndexes))) }\n ];\n }))) }\n ];\n })\n );\n}\nScriptList.prototype = Object.create(Table.prototype);\nScriptList.prototype.constructor = ScriptList;\nfunction FeatureList(featureListTable) {\n Table.call(\n this,\n \"featureListTable\",\n recordList(\"featureRecord\", featureListTable, function(featureRecord, i) {\n const feature = featureRecord.feature;\n return [\n { name: \"featureTag\" + i, type: \"TAG\", value: featureRecord.tag },\n { name: \"feature\" + i, type: \"TABLE\", value: new Table(\"featureTable\", [\n { name: \"featureParams\", type: \"USHORT\", value: feature.featureParams }\n ].concat(ushortList(\"lookupListIndex\", feature.lookupListIndexes))) }\n ];\n })\n );\n}\nFeatureList.prototype = Object.create(Table.prototype);\nFeatureList.prototype.constructor = FeatureList;\nfunction LookupList(lookupListTable, subtableMakers3) {\n Table.call(this, \"lookupListTable\", tableList(\"lookup\", lookupListTable, function(lookupTable) {\n let subtableCallback = subtableMakers3[lookupTable.lookupType];\n check_default.assert(!!subtableCallback, \"Unable to write GSUB lookup type \" + lookupTable.lookupType + \" tables.\");\n return new Table(\"lookupTable\", [\n { name: \"lookupType\", type: \"USHORT\", value: lookupTable.lookupType },\n { name: \"lookupFlag\", type: \"USHORT\", value: lookupTable.lookupFlag }\n ].concat(tableList(\"subtable\", lookupTable.subtables, subtableCallback)));\n }));\n}\nLookupList.prototype = Object.create(Table.prototype);\nLookupList.prototype.constructor = LookupList;\nfunction ClassDef(classDefTable) {\n if (classDefTable.format === 1) {\n Table.call(\n this,\n \"classDefTable\",\n [\n { name: \"classFormat\", type: \"USHORT\", value: 1 },\n { name: \"startGlyphID\", type: \"USHORT\", value: classDefTable.startGlyph }\n ].concat(ushortList(\"glyph\", classDefTable.classes))\n );\n } else if (classDefTable.format === 2) {\n Table.call(\n this,\n \"classDefTable\",\n [{ name: \"classFormat\", type: \"USHORT\", value: 2 }].concat(recordList(\"rangeRecord\", classDefTable.ranges, function(RangeRecord, i) {\n return [\n { name: \"startGlyphID\" + i, type: \"USHORT\", value: RangeRecord.start },\n { name: \"endGlyphID\" + i, type: \"USHORT\", value: RangeRecord.end },\n { name: \"class\" + i, type: \"USHORT\", value: RangeRecord.classId }\n ];\n }))\n );\n } else {\n check_default.assert(false, \"Class format must be 1 or 2.\");\n }\n}\nClassDef.prototype = Object.create(Table.prototype);\nClassDef.prototype.constructor = ClassDef;\nvar table_default = {\n Table,\n Record: Table,\n Coverage,\n ClassDef,\n ScriptList,\n FeatureList,\n LookupList,\n ushortList,\n tableList,\n recordList\n};\n\n// src/parse.mjs\nfunction getByte(dataView, offset) {\n return dataView.getUint8(offset);\n}\nfunction getUShort(dataView, offset) {\n return dataView.getUint16(offset, false);\n}\nfunction getShort(dataView, offset) {\n return dataView.getInt16(offset, false);\n}\nfunction getUInt24(dataView, offset) {\n return (dataView.getUint16(offset) << 8) + dataView.getUint8(offset + 2);\n}\nfunction getULong(dataView, offset) {\n return dataView.getUint32(offset, false);\n}\nfunction getLong(dataView, offset) {\n return dataView.getInt32(offset, false);\n}\nfunction getFixed(dataView, offset) {\n const decimal = dataView.getInt16(offset, false);\n const fraction = dataView.getUint16(offset + 2, false);\n return decimal + fraction / 65535;\n}\nfunction getTag(dataView, offset) {\n let tag = \"\";\n for (let i = offset; i < offset + 4; i += 1) {\n tag += String.fromCharCode(dataView.getInt8(i));\n }\n return tag;\n}\nfunction getOffset(dataView, offset, offSize) {\n let v = 0;\n for (let i = 0; i < offSize; i += 1) {\n v <<= 8;\n v += dataView.getUint8(offset + i);\n }\n return v;\n}\nfunction getBytes(dataView, startOffset, endOffset) {\n const bytes = [];\n for (let i = startOffset; i < endOffset; i += 1) {\n bytes.push(dataView.getUint8(i));\n }\n return bytes;\n}\nfunction bytesToString(bytes) {\n let s = \"\";\n for (let i = 0; i < bytes.length; i += 1) {\n s += String.fromCharCode(bytes[i]);\n }\n return s;\n}\nvar typeOffsets = {\n byte: 1,\n uShort: 2,\n f2dot14: 2,\n short: 2,\n uInt24: 3,\n uLong: 4,\n fixed: 4,\n longDateTime: 8,\n tag: 4\n};\nvar masks = {\n LONG_WORDS: 32768,\n WORD_DELTA_COUNT_MASK: 32767,\n SHARED_POINT_NUMBERS: 32768,\n COUNT_MASK: 4095,\n EMBEDDED_PEAK_TUPLE: 32768,\n INTERMEDIATE_REGION: 16384,\n PRIVATE_POINT_NUMBERS: 8192,\n TUPLE_INDEX_MASK: 4095,\n POINTS_ARE_WORDS: 128,\n POINT_RUN_COUNT_MASK: 127,\n DELTAS_ARE_ZERO: 128,\n DELTAS_ARE_WORDS: 64,\n DELTA_RUN_COUNT_MASK: 63,\n INNER_INDEX_BIT_COUNT_MASK: 15,\n MAP_ENTRY_SIZE_MASK: 48\n};\nfunction Parser(data, offset) {\n this.data = data;\n this.offset = offset;\n this.relativeOffset = 0;\n}\nParser.prototype.parseByte = function() {\n const v = this.data.getUint8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\nParser.prototype.parseChar = function() {\n const v = this.data.getInt8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\nParser.prototype.parseCard8 = Parser.prototype.parseByte;\nParser.prototype.parseUShort = function() {\n const v = this.data.getUint16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\nParser.prototype.parseCard16 = Parser.prototype.parseUShort;\nParser.prototype.parseSID = Parser.prototype.parseUShort;\nParser.prototype.parseOffset16 = Parser.prototype.parseUShort;\nParser.prototype.parseShort = function() {\n const v = this.data.getInt16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\nParser.prototype.parseF2Dot14 = function() {\n const v = this.data.getInt16(this.offset + this.relativeOffset) / 16384;\n this.relativeOffset += 2;\n return v;\n};\nParser.prototype.parseUInt24 = function() {\n const v = getUInt24(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 3;\n return v;\n};\nParser.prototype.parseULong = function() {\n const v = getULong(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\nParser.prototype.parseLong = function() {\n const v = getLong(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\nParser.prototype.parseOffset32 = Parser.prototype.parseULong;\nParser.prototype.parseFixed = function() {\n const v = getFixed(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\nParser.prototype.parseString = function(length) {\n const dataView = this.data;\n const offset = this.offset + this.relativeOffset;\n let string = \"\";\n this.relativeOffset += length;\n for (let i = 0; i < length; i++) {\n string += String.fromCharCode(dataView.getUint8(offset + i));\n }\n return string;\n};\nParser.prototype.parseTag = function() {\n return this.parseString(4);\n};\nParser.prototype.parseLongDateTime = function() {\n let v = getULong(this.data, this.offset + this.relativeOffset + 4);\n v -= 2082844800;\n this.relativeOffset += 8;\n return v;\n};\nParser.prototype.parseVersion = function(minorBase) {\n const major = getUShort(this.data, this.offset + this.relativeOffset);\n const minor = getUShort(this.data, this.offset + this.relativeOffset + 2);\n this.relativeOffset += 4;\n if (minorBase === void 0) minorBase = 4096;\n return major + minor / minorBase / 10;\n};\nParser.prototype.skip = function(type, amount) {\n if (amount === void 0) {\n amount = 1;\n }\n this.relativeOffset += typeOffsets[type] * amount;\n};\nParser.prototype.parseULongList = function(count) {\n if (count === void 0) {\n count = this.parseULong();\n }\n const offsets = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n offsets[i] = dataView.getUint32(offset);\n offset += 4;\n }\n this.relativeOffset += count * 4;\n return offsets;\n};\nParser.prototype.parseOffset16List = Parser.prototype.parseUShortList = function(count) {\n if (count === void 0) {\n count = this.parseUShort();\n }\n const offsets = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n offsets[i] = dataView.getUint16(offset);\n offset += 2;\n }\n this.relativeOffset += count * 2;\n return offsets;\n};\nParser.prototype.parseShortList = function(count) {\n const list = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n list[i] = dataView.getInt16(offset);\n offset += 2;\n }\n this.relativeOffset += count * 2;\n return list;\n};\nParser.prototype.parseByteList = function(count) {\n const list = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n list[i] = dataView.getUint8(offset++);\n }\n this.relativeOffset += count;\n return list;\n};\nParser.prototype.parseList = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseUShort();\n }\n const list = new Array(count);\n for (let i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\nParser.prototype.parseList32 = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseULong();\n }\n const list = new Array(count);\n for (let i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\nParser.prototype.parseRecordList = function(count, recordDescription) {\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseUShort();\n }\n const records = new Array(count);\n const fields = Object.keys(recordDescription);\n for (let i = 0; i < count; i++) {\n const rec = {};\n for (let j = 0; j < fields.length; j++) {\n const fieldName = fields[j];\n const fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\nParser.prototype.parseRecordList32 = function(count, recordDescription) {\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseULong();\n }\n const records = new Array(count);\n const fields = Object.keys(recordDescription);\n for (let i = 0; i < count; i++) {\n const rec = {};\n for (let j = 0; j < fields.length; j++) {\n const fieldName = fields[j];\n const fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\nParser.prototype.parseTupleRecords = function(tupleCount, axisCount) {\n let tuples = [];\n for (let i = 0; i < tupleCount; i++) {\n let tuple = [];\n for (let axisIndex = 0; axisIndex < axisCount; axisIndex++) {\n tuple.push(this.parseF2Dot14());\n }\n tuples.push(tuple);\n }\n return tuples;\n};\nParser.prototype.parseStruct = function(description) {\n if (typeof description === \"function\") {\n return description.call(this);\n } else {\n const fields = Object.keys(description);\n const struct = {};\n for (let j = 0; j < fields.length; j++) {\n const fieldName = fields[j];\n const fieldType = description[fieldName];\n struct[fieldName] = fieldType.call(this);\n }\n return struct;\n }\n};\nParser.prototype.parseValueRecord = function(valueFormat) {\n if (valueFormat === void 0) {\n valueFormat = this.parseUShort();\n }\n if (valueFormat === 0) {\n return;\n }\n const valueRecord = {};\n if (valueFormat & 1) {\n valueRecord.xPlacement = this.parseShort();\n }\n if (valueFormat & 2) {\n valueRecord.yPlacement = this.parseShort();\n }\n if (valueFormat & 4) {\n valueRecord.xAdvance = this.parseShort();\n }\n if (valueFormat & 8) {\n valueRecord.yAdvance = this.parseShort();\n }\n if (valueFormat & 16) {\n valueRecord.xPlaDevice = void 0;\n this.parseShort();\n }\n if (valueFormat & 32) {\n valueRecord.yPlaDevice = void 0;\n this.parseShort();\n }\n if (valueFormat & 64) {\n valueRecord.xAdvDevice = void 0;\n this.parseShort();\n }\n if (valueFormat & 128) {\n valueRecord.yAdvDevice = void 0;\n this.parseShort();\n }\n return valueRecord;\n};\nParser.prototype.parseValueRecordList = function() {\n const valueFormat = this.parseUShort();\n const valueCount = this.parseUShort();\n const values = new Array(valueCount);\n for (let i = 0; i < valueCount; i++) {\n values[i] = this.parseValueRecord(valueFormat);\n }\n return values;\n};\nParser.prototype.parsePointer = function(description) {\n const structOffset = this.parseOffset16();\n if (structOffset > 0) {\n return new Parser(this.data, this.offset + structOffset).parseStruct(description);\n }\n return void 0;\n};\nParser.prototype.parsePointer32 = function(description) {\n const structOffset = this.parseOffset32();\n if (structOffset > 0) {\n return new Parser(this.data, this.offset + structOffset).parseStruct(description);\n }\n return void 0;\n};\nParser.prototype.parseListOfLists = function(itemCallback) {\n const offsets = this.parseOffset16List();\n const count = offsets.length;\n const relativeOffset = this.relativeOffset;\n const list = new Array(count);\n for (let i = 0; i < count; i++) {\n const start = offsets[i];\n if (start === 0) {\n list[i] = void 0;\n continue;\n }\n this.relativeOffset = start;\n if (itemCallback) {\n const subOffsets = this.parseOffset16List();\n const subList = new Array(subOffsets.length);\n for (let j = 0; j < subOffsets.length; j++) {\n this.relativeOffset = start + subOffsets[j];\n subList[j] = itemCallback.call(this);\n }\n list[i] = subList;\n } else {\n list[i] = this.parseUShortList();\n }\n }\n this.relativeOffset = relativeOffset;\n return list;\n};\nParser.prototype.parseCoverage = function() {\n const startOffset = this.offset + this.relativeOffset;\n const format = this.parseUShort();\n const count = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n glyphs: this.parseUShortList(count)\n };\n } else if (format === 2) {\n const ranges = new Array(count);\n for (let i = 0; i < count; i++) {\n ranges[i] = {\n start: this.parseUShort(),\n end: this.parseUShort(),\n index: this.parseUShort()\n };\n }\n return {\n format: 2,\n ranges\n };\n }\n throw new Error(\"0x\" + startOffset.toString(16) + \": Coverage format must be 1 or 2.\");\n};\nParser.prototype.parseClassDef = function() {\n const startOffset = this.offset + this.relativeOffset;\n const format = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n startGlyph: this.parseUShort(),\n classes: this.parseUShortList()\n };\n } else if (format === 2) {\n return {\n format: 2,\n ranges: this.parseRecordList({\n start: Parser.uShort,\n end: Parser.uShort,\n classId: Parser.uShort\n })\n };\n }\n console.warn(`0x${startOffset.toString(16)}: This font file uses an invalid ClassDef format of ${format}. It might be corrupted and should be reacquired if it doesn't display as intended.`);\n return {\n format\n };\n};\nParser.list = function(count, itemCallback) {\n return function() {\n return this.parseList(count, itemCallback);\n };\n};\nParser.list32 = function(count, itemCallback) {\n return function() {\n return this.parseList32(count, itemCallback);\n };\n};\nParser.recordList = function(count, recordDescription) {\n return function() {\n return this.parseRecordList(count, recordDescription);\n };\n};\nParser.recordList32 = function(count, recordDescription) {\n return function() {\n return this.parseRecordList32(count, recordDescription);\n };\n};\nParser.pointer = function(description) {\n return function() {\n return this.parsePointer(description);\n };\n};\nParser.pointer32 = function(description) {\n return function() {\n return this.parsePointer32(description);\n };\n};\nParser.tag = Parser.prototype.parseTag;\nParser.byte = Parser.prototype.parseByte;\nParser.uShort = Parser.offset16 = Parser.prototype.parseUShort;\nParser.uShortList = Parser.prototype.parseUShortList;\nParser.uInt24 = Parser.prototype.parseUInt24;\nParser.uLong = Parser.offset32 = Parser.prototype.parseULong;\nParser.uLongList = Parser.prototype.parseULongList;\nParser.fixed = Parser.prototype.parseFixed;\nParser.f2Dot14 = Parser.prototype.parseF2Dot14;\nParser.struct = Parser.prototype.parseStruct;\nParser.coverage = Parser.prototype.parseCoverage;\nParser.classDef = Parser.prototype.parseClassDef;\nvar langSysTable = {\n reserved: Parser.uShort,\n reqFeatureIndex: Parser.uShort,\n featureIndexes: Parser.uShortList\n};\nParser.prototype.parseScriptList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n script: Parser.pointer({\n defaultLangSys: Parser.pointer(langSysTable),\n langSysRecords: Parser.recordList({\n tag: Parser.tag,\n langSys: Parser.pointer(langSysTable)\n })\n })\n })) || [];\n};\nParser.prototype.parseFeatureList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n feature: Parser.pointer({\n featureParams: Parser.offset16,\n lookupListIndexes: Parser.uShortList\n })\n })) || [];\n};\nParser.prototype.parseLookupList = function(lookupTableParsers) {\n return this.parsePointer(Parser.list(Parser.pointer(function() {\n const lookupType = this.parseUShort();\n check_default.argument(1 <= lookupType && lookupType <= 9, \"GPOS/GSUB lookup type \" + lookupType + \" unknown.\");\n const lookupFlag = this.parseUShort();\n const useMarkFilteringSet = lookupFlag & 16;\n return {\n lookupType,\n lookupFlag,\n subtables: this.parseList(Parser.pointer(lookupTableParsers[lookupType])),\n markFilteringSet: useMarkFilteringSet ? this.parseUShort() : void 0\n };\n }))) || [];\n};\nParser.prototype.parseFeatureVariationsList = function() {\n return this.parsePointer32(function() {\n const majorVersion = this.parseUShort();\n const minorVersion = this.parseUShort();\n check_default.argument(majorVersion === 1 && minorVersion < 1, \"GPOS/GSUB feature variations table unknown.\");\n const featureVariations = this.parseRecordList32({\n conditionSetOffset: Parser.offset32,\n featureTableSubstitutionOffset: Parser.offset32\n });\n return featureVariations;\n }) || [];\n};\nParser.prototype.parseVariationStore = function() {\n const vsOffset = this.relativeOffset;\n const length = this.parseUShort();\n const variationStore = {\n itemVariationStore: this.parseItemVariationStore()\n };\n this.relativeOffset = vsOffset + length + 2;\n return variationStore;\n};\nParser.prototype.parseItemVariationStore = function() {\n const itemStoreOffset = this.relativeOffset;\n const iVStore = {\n format: this.parseUShort(),\n variationRegions: [],\n itemVariationSubtables: []\n };\n const variationRegionListOffset = this.parseOffset32();\n const itemVariationDataCount = this.parseUShort();\n const itemVariationDataOffsets = this.parseULongList(itemVariationDataCount);\n this.relativeOffset = itemStoreOffset + variationRegionListOffset;\n iVStore.variationRegions = this.parseVariationRegionList();\n for (let i = 0; i < itemVariationDataCount; i++) {\n const subtableOffset = itemVariationDataOffsets[i];\n this.relativeOffset = itemStoreOffset + subtableOffset;\n iVStore.itemVariationSubtables.push(this.parseItemVariationSubtable());\n }\n return iVStore;\n};\nParser.prototype.parseVariationRegionList = function() {\n const axisCount = this.parseUShort();\n const regionCount = this.parseUShort();\n return this.parseRecordList(regionCount, {\n regionAxes: Parser.recordList(axisCount, {\n startCoord: Parser.f2Dot14,\n peakCoord: Parser.f2Dot14,\n endCoord: Parser.f2Dot14\n })\n });\n};\nParser.prototype.parseItemVariationSubtable = function() {\n const itemCount = this.parseUShort();\n const wordDeltaCount = this.parseUShort();\n const regionIndexes = this.parseUShortList();\n const regionIndexCount = regionIndexes.length;\n const subtable = {\n regionIndexes,\n deltaSets: itemCount && regionIndexCount ? this.parseDeltaSets(itemCount, wordDeltaCount, regionIndexCount) : []\n };\n return subtable;\n};\nParser.prototype.parseDeltaSetIndexMap = function() {\n const format = this.parseByte();\n const entryFormat = this.parseByte();\n const map = [];\n let mapCount = 0;\n switch (format) {\n case 0:\n mapCount = this.parseUShort();\n break;\n case 1:\n mapCount = this.parseULong();\n break;\n default:\n console.error(`unsupported DeltaSetIndexMap format ${format}`);\n }\n if (!mapCount) return {\n format,\n entryFormat\n };\n const bitCount = (entryFormat & masks.INNER_INDEX_BIT_COUNT_MASK) + 1;\n const entrySize = ((entryFormat & masks.MAP_ENTRY_SIZE_MASK) >> 4) + 1;\n for (let n = 0; n < mapCount; n++) {\n let entry;\n if (entrySize === 1) {\n entry = this.parseByte();\n } else if (entrySize === 2) {\n entry = this.parseUShort();\n } else if (entrySize === 3) {\n entry = this.parseUInt24();\n } else if (entrySize === 4) {\n entry = this.parseULong();\n } else {\n throw new Error(`Invalid entry size of ${entrySize}`);\n }\n const outerIndex = entry >> bitCount;\n const innerIndex = entry & (1 << bitCount) - 1;\n map.push({ outerIndex, innerIndex });\n }\n return {\n format,\n entryFormat,\n map\n };\n};\nParser.prototype.parseDeltaSets = function(itemCount, wordDeltaCount, regionIndexCount) {\n const deltas = Array.from({ length: itemCount }, () => []);\n const longFlag = wordDeltaCount & masks.LONG_WORDS;\n const wordCount = wordDeltaCount & masks.WORD_DELTA_COUNT_MASK;\n if (wordCount > regionIndexCount) {\n throw Error(\"wordCount must be less than or equal to regionIndexCount\");\n }\n const wordParser = (longFlag ? this.parseLong : this.parseShort).bind(this);\n const restParser = (longFlag ? this.parseShort : this.parseChar).bind(this);\n for (let i = 0; i < itemCount; i++) {\n for (let j = 0; j < regionIndexCount; j++) {\n if (j < wordCount) {\n deltas[i].push(wordParser());\n } else {\n deltas[i].push(restParser());\n }\n }\n }\n return deltas;\n};\nParser.prototype.parseTupleVariationStoreList = function(axisCount, flavor, glyphs) {\n const glyphCount = this.parseUShort();\n const flags = this.parseUShort();\n const offsetSizeIs32Bit = flags & 1;\n const glyphVariationDataArrayOffset = this.parseOffset32();\n const parseOffset = (offsetSizeIs32Bit ? this.parseULong : this.parseUShort).bind(this);\n const glyphVariations = {};\n let currentOffset = parseOffset();\n if (!offsetSizeIs32Bit) currentOffset *= 2;\n let nextOffset;\n for (let i = 0; i < glyphCount; i++) {\n nextOffset = parseOffset();\n if (!offsetSizeIs32Bit) nextOffset *= 2;\n const length = nextOffset - currentOffset;\n glyphVariations[i] = length ? this.parseTupleVariationStore(\n glyphVariationDataArrayOffset + currentOffset,\n axisCount,\n flavor,\n glyphs,\n i\n ) : void 0;\n currentOffset = nextOffset;\n }\n return glyphVariations;\n};\nParser.prototype.parseTupleVariationStore = function(tableOffset, axisCount, flavor, glyphs, glyphIndex) {\n const relativeOffset = this.relativeOffset;\n this.relativeOffset = tableOffset;\n if (flavor === \"cvar\") {\n this.relativeOffset += 4;\n }\n const tupleVariationCount = this.parseUShort();\n const hasSharedPoints = !!(tupleVariationCount & masks.SHARED_POINT_NUMBERS);\n const count = tupleVariationCount & masks.COUNT_MASK;\n let dataOffset = this.parseOffset16();\n const headers = [];\n let sharedPoints = [];\n for (let h = 0; h < count; h++) {\n const headerData = this.parseTupleVariationHeader(axisCount, flavor);\n headers.push(headerData);\n }\n if (this.relativeOffset !== tableOffset + dataOffset) {\n console.warn(`Unexpected offset after parsing tuple variation headers! Expected ${tableOffset + dataOffset}, actually ${this.relativeOffset}`);\n this.relativeOffset = tableOffset + dataOffset;\n }\n if (hasSharedPoints) {\n sharedPoints = this.parsePackedPointNumbers();\n }\n let serializedDataOffset = this.relativeOffset;\n for (let h = 0; h < count; h++) {\n const header = headers[h];\n header.privatePoints = [];\n this.relativeOffset = serializedDataOffset;\n if (flavor === \"cvar\" && !header.peakTuple) {\n console.warn(\"An embedded peak tuple is required in TupleVariationHeaders for the cvar table.\");\n }\n if (header.flags.privatePointNumbers) {\n header.privatePoints = this.parsePackedPointNumbers();\n }\n delete header.flags;\n const deltasOffset = this.offset;\n const deltasRelativeOffset = this.relativeOffset;\n const defineDeltas = (propertyName) => {\n let _deltas = void 0;\n let _deltasY = void 0;\n const parseDeltas = () => {\n let pointsCount = 0;\n if (flavor === \"gvar\") {\n pointsCount = header.privatePoints.length || sharedPoints.length;\n if (!pointsCount) {\n const glyph = glyphs.get(glyphIndex);\n glyph.path;\n pointsCount = glyph.points.length;\n pointsCount += 4;\n }\n } else if (flavor === \"cvar\") {\n pointsCount = glyphs.length;\n }\n this.offset = deltasOffset;\n this.relativeOffset = deltasRelativeOffset;\n _deltas = this.parsePackedDeltas(pointsCount);\n if (flavor === \"gvar\") {\n _deltasY = this.parsePackedDeltas(pointsCount);\n }\n };\n return {\n configurable: true,\n get: function() {\n if (_deltas === void 0) parseDeltas();\n return propertyName === \"deltasY\" ? _deltasY : _deltas;\n },\n set: function(deltas) {\n if (_deltas === void 0) parseDeltas();\n if (propertyName === \"deltasY\") {\n _deltasY = deltas;\n } else {\n _deltas = deltas;\n }\n }\n };\n };\n Object.defineProperty(header, \"deltas\", defineDeltas.call(this, \"deltas\"));\n if (flavor === \"gvar\") {\n Object.defineProperty(header, \"deltasY\", defineDeltas.call(this, \"deltasY\"));\n }\n serializedDataOffset += header.variationDataSize;\n delete header.variationDataSize;\n }\n this.relativeOffset = relativeOffset;\n const result = {\n headers\n };\n result.sharedPoints = sharedPoints;\n return result;\n};\nParser.prototype.parseTupleVariationHeader = function(axisCount, flavor) {\n const variationDataSize = this.parseUShort();\n const tupleIndex = this.parseUShort();\n const embeddedPeakTuple = !!(tupleIndex & masks.EMBEDDED_PEAK_TUPLE);\n const intermediateRegion = !!(tupleIndex & masks.INTERMEDIATE_REGION);\n const privatePointNumbers = !!(tupleIndex & masks.PRIVATE_POINT_NUMBERS);\n const sharedTupleRecordsIndex = embeddedPeakTuple ? void 0 : tupleIndex & masks.TUPLE_INDEX_MASK;\n const peakTuple = embeddedPeakTuple ? this.parseTupleRecords(1, axisCount)[0] : void 0;\n const intermediateStartTuple = intermediateRegion ? this.parseTupleRecords(1, axisCount)[0] : void 0;\n const intermediateEndTuple = intermediateRegion ? this.parseTupleRecords(1, axisCount)[0] : void 0;\n const result = {\n variationDataSize,\n peakTuple,\n intermediateStartTuple,\n intermediateEndTuple,\n flags: {\n embeddedPeakTuple,\n intermediateRegion,\n privatePointNumbers\n }\n };\n if (flavor === \"gvar\") {\n result.sharedTupleRecordsIndex = sharedTupleRecordsIndex;\n }\n return result;\n};\nParser.prototype.parsePackedPointNumbers = function() {\n const countByte1 = this.parseByte();\n const points = [];\n let totalPointCount = countByte1;\n if (countByte1 >= 128) {\n const countByte2 = this.parseByte();\n totalPointCount = (countByte1 & masks.POINT_RUN_COUNT_MASK) << 8 | countByte2;\n }\n let lastPoint = 0;\n while (points.length < totalPointCount) {\n const controlByte = this.parseByte();\n const numbersAre16Bit = !!(controlByte & masks.POINTS_ARE_WORDS);\n let runCount = (controlByte & masks.POINT_RUN_COUNT_MASK) + 1;\n for (let i = 0; i < runCount && points.length < totalPointCount; i++) {\n let pointDelta;\n if (numbersAre16Bit) {\n pointDelta = this.parseUShort();\n } else {\n pointDelta = this.parseByte();\n }\n lastPoint = lastPoint + pointDelta;\n points.push(lastPoint);\n }\n }\n return points;\n};\nParser.prototype.parsePackedDeltas = function(expectedCount) {\n const deltas = [];\n while (deltas.length < expectedCount) {\n const controlByte = this.parseByte();\n const zeroData = !!(controlByte & masks.DELTAS_ARE_ZERO);\n const deltaWords = !!(controlByte & masks.DELTAS_ARE_WORDS);\n const runCount = (controlByte & masks.DELTA_RUN_COUNT_MASK) + 1;\n for (let i = 0; i < runCount && deltas.length < expectedCount; i++) {\n if (zeroData) {\n deltas.push(0);\n } else if (deltaWords) {\n deltas.push(this.parseShort());\n } else {\n deltas.push(this.parseChar());\n }\n }\n }\n return deltas;\n};\nvar parse_default = {\n getByte,\n getCard8: getByte,\n getUShort,\n getCard16: getUShort,\n getShort,\n getUInt24,\n getULong,\n getFixed,\n getTag,\n getOffset,\n getBytes,\n bytesToString,\n Parser\n};\n\n// src/tables/name.mjs\nvar nameTableNames = [\n \"copyright\",\n // 0\n \"fontFamily\",\n // 1\n \"fontSubfamily\",\n // 2\n \"uniqueID\",\n // 3\n \"fullName\",\n // 4\n \"version\",\n // 5\n \"postScriptName\",\n // 6\n \"trademark\",\n // 7\n \"manufacturer\",\n // 8\n \"designer\",\n // 9\n \"description\",\n // 10\n \"manufacturerURL\",\n // 11\n \"designerURL\",\n // 12\n \"license\",\n // 13\n \"licenseURL\",\n // 14\n \"reserved\",\n // 15\n \"preferredFamily\",\n // 16\n \"preferredSubfamily\",\n // 17\n \"compatibleFullName\",\n // 18\n \"sampleText\",\n // 19\n \"postScriptFindFontName\",\n // 20\n \"wwsFamily\",\n // 21\n \"wwsSubfamily\"\n // 22\n];\nvar macLanguages = {\n 0: \"en\",\n 1: \"fr\",\n 2: \"de\",\n 3: \"it\",\n 4: \"nl\",\n 5: \"sv\",\n 6: \"es\",\n 7: \"da\",\n 8: \"pt\",\n 9: \"no\",\n 10: \"he\",\n 11: \"ja\",\n 12: \"ar\",\n 13: \"fi\",\n 14: \"el\",\n 15: \"is\",\n 16: \"mt\",\n 17: \"tr\",\n 18: \"hr\",\n 19: \"zh-Hant\",\n 20: \"ur\",\n 21: \"hi\",\n 22: \"th\",\n 23: \"ko\",\n 24: \"lt\",\n 25: \"pl\",\n 26: \"hu\",\n 27: \"es\",\n 28: \"lv\",\n 29: \"se\",\n 30: \"fo\",\n 31: \"fa\",\n 32: \"ru\",\n 33: \"zh\",\n 34: \"nl-BE\",\n 35: \"ga\",\n 36: \"sq\",\n 37: \"ro\",\n 38: \"cz\",\n 39: \"sk\",\n 40: \"si\",\n 41: \"yi\",\n 42: \"sr\",\n 43: \"mk\",\n 44: \"bg\",\n 45: \"uk\",\n 46: \"be\",\n 47: \"uz\",\n 48: \"kk\",\n 49: \"az-Cyrl\",\n 50: \"az-Arab\",\n 51: \"hy\",\n 52: \"ka\",\n 53: \"mo\",\n 54: \"ky\",\n 55: \"tg\",\n 56: \"tk\",\n 57: \"mn-CN\",\n 58: \"mn\",\n 59: \"ps\",\n 60: \"ks\",\n 61: \"ku\",\n 62: \"sd\",\n 63: \"bo\",\n 64: \"ne\",\n 65: \"sa\",\n 66: \"mr\",\n 67: \"bn\",\n 68: \"as\",\n 69: \"gu\",\n 70: \"pa\",\n 71: \"or\",\n 72: \"ml\",\n 73: \"kn\",\n 74: \"ta\",\n 75: \"te\",\n 76: \"si\",\n 77: \"my\",\n 78: \"km\",\n 79: \"lo\",\n 80: \"vi\",\n 81: \"id\",\n 82: \"tl\",\n 83: \"ms\",\n 84: \"ms-Arab\",\n 85: \"am\",\n 86: \"ti\",\n 87: \"om\",\n 88: \"so\",\n 89: \"sw\",\n 90: \"rw\",\n 91: \"rn\",\n 92: \"ny\",\n 93: \"mg\",\n 94: \"eo\",\n 128: \"cy\",\n 129: \"eu\",\n 130: \"ca\",\n 131: \"la\",\n 132: \"qu\",\n 133: \"gn\",\n 134: \"ay\",\n 135: \"tt\",\n 136: \"ug\",\n 137: \"dz\",\n 138: \"jv\",\n 139: \"su\",\n 140: \"gl\",\n 141: \"af\",\n 142: \"br\",\n 143: \"iu\",\n 144: \"gd\",\n 145: \"gv\",\n 146: \"ga\",\n 147: \"to\",\n 148: \"el-polyton\",\n 149: \"kl\",\n 150: \"az\",\n 151: \"nn\"\n};\nvar macLanguageToScript = {\n 0: 0,\n // langEnglish → smRoman\n 1: 0,\n // langFrench → smRoman\n 2: 0,\n // langGerman → smRoman\n 3: 0,\n // langItalian → smRoman\n 4: 0,\n // langDutch → smRoman\n 5: 0,\n // langSwedish → smRoman\n 6: 0,\n // langSpanish → smRoman\n 7: 0,\n // langDanish → smRoman\n 8: 0,\n // langPortuguese → smRoman\n 9: 0,\n // langNorwegian → smRoman\n 10: 5,\n // langHebrew → smHebrew\n 11: 1,\n // langJapanese → smJapanese\n 12: 4,\n // langArabic → smArabic\n 13: 0,\n // langFinnish → smRoman\n 14: 6,\n // langGreek → smGreek\n 15: 0,\n // langIcelandic → smRoman (modified)\n 16: 0,\n // langMaltese → smRoman\n 17: 0,\n // langTurkish → smRoman (modified)\n 18: 0,\n // langCroatian → smRoman (modified)\n 19: 2,\n // langTradChinese → smTradChinese\n 20: 4,\n // langUrdu → smArabic\n 21: 9,\n // langHindi → smDevanagari\n 22: 21,\n // langThai → smThai\n 23: 3,\n // langKorean → smKorean\n 24: 29,\n // langLithuanian → smCentralEuroRoman\n 25: 29,\n // langPolish → smCentralEuroRoman\n 26: 29,\n // langHungarian → smCentralEuroRoman\n 27: 29,\n // langEstonian → smCentralEuroRoman\n 28: 29,\n // langLatvian → smCentralEuroRoman\n 29: 0,\n // langSami → smRoman\n 30: 0,\n // langFaroese → smRoman (modified)\n 31: 4,\n // langFarsi → smArabic (modified)\n 32: 7,\n // langRussian → smCyrillic\n 33: 25,\n // langSimpChinese → smSimpChinese\n 34: 0,\n // langFlemish → smRoman\n 35: 0,\n // langIrishGaelic → smRoman (modified)\n 36: 0,\n // langAlbanian → smRoman\n 37: 0,\n // langRomanian → smRoman (modified)\n 38: 29,\n // langCzech → smCentralEuroRoman\n 39: 29,\n // langSlovak → smCentralEuroRoman\n 40: 0,\n // langSlovenian → smRoman (modified)\n 41: 5,\n // langYiddish → smHebrew\n 42: 7,\n // langSerbian → smCyrillic\n 43: 7,\n // langMacedonian → smCyrillic\n 44: 7,\n // langBulgarian → smCyrillic\n 45: 7,\n // langUkrainian → smCyrillic (modified)\n 46: 7,\n // langByelorussian → smCyrillic\n 47: 7,\n // langUzbek → smCyrillic\n 48: 7,\n // langKazakh → smCyrillic\n 49: 7,\n // langAzerbaijani → smCyrillic\n 50: 4,\n // langAzerbaijanAr → smArabic\n 51: 24,\n // langArmenian → smArmenian\n 52: 23,\n // langGeorgian → smGeorgian\n 53: 7,\n // langMoldavian → smCyrillic\n 54: 7,\n // langKirghiz → smCyrillic\n 55: 7,\n // langTajiki → smCyrillic\n 56: 7,\n // langTurkmen → smCyrillic\n 57: 27,\n // langMongolian → smMongolian\n 58: 7,\n // langMongolianCyr → smCyrillic\n 59: 4,\n // langPashto → smArabic\n 60: 4,\n // langKurdish → smArabic\n 61: 4,\n // langKashmiri → smArabic\n 62: 4,\n // langSindhi → smArabic\n 63: 26,\n // langTibetan → smTibetan\n 64: 9,\n // langNepali → smDevanagari\n 65: 9,\n // langSanskrit → smDevanagari\n 66: 9,\n // langMarathi → smDevanagari\n 67: 13,\n // langBengali → smBengali\n 68: 13,\n // langAssamese → smBengali\n 69: 11,\n // langGujarati → smGujarati\n 70: 10,\n // langPunjabi → smGurmukhi\n 71: 12,\n // langOriya → smOriya\n 72: 17,\n // langMalayalam → smMalayalam\n 73: 16,\n // langKannada → smKannada\n 74: 14,\n // langTamil → smTamil\n 75: 15,\n // langTelugu → smTelugu\n 76: 18,\n // langSinhalese → smSinhalese\n 77: 19,\n // langBurmese → smBurmese\n 78: 20,\n // langKhmer → smKhmer\n 79: 22,\n // langLao → smLao\n 80: 30,\n // langVietnamese → smVietnamese\n 81: 0,\n // langIndonesian → smRoman\n 82: 0,\n // langTagalog → smRoman\n 83: 0,\n // langMalayRoman → smRoman\n 84: 4,\n // langMalayArabic → smArabic\n 85: 28,\n // langAmharic → smEthiopic\n 86: 28,\n // langTigrinya → smEthiopic\n 87: 28,\n // langOromo → smEthiopic\n 88: 0,\n // langSomali → smRoman\n 89: 0,\n // langSwahili → smRoman\n 90: 0,\n // langKinyarwanda → smRoman\n 91: 0,\n // langRundi → smRoman\n 92: 0,\n // langNyanja → smRoman\n 93: 0,\n // langMalagasy → smRoman\n 94: 0,\n // langEsperanto → smRoman\n 128: 0,\n // langWelsh → smRoman (modified)\n 129: 0,\n // langBasque → smRoman\n 130: 0,\n // langCatalan → smRoman\n 131: 0,\n // langLatin → smRoman\n 132: 0,\n // langQuechua → smRoman\n 133: 0,\n // langGuarani → smRoman\n 134: 0,\n // langAymara → smRoman\n 135: 7,\n // langTatar → smCyrillic\n 136: 4,\n // langUighur → smArabic\n 137: 26,\n // langDzongkha → smTibetan\n 138: 0,\n // langJavaneseRom → smRoman\n 139: 0,\n // langSundaneseRom → smRoman\n 140: 0,\n // langGalician → smRoman\n 141: 0,\n // langAfrikaans → smRoman\n 142: 0,\n // langBreton → smRoman (modified)\n 143: 28,\n // langInuktitut → smEthiopic (modified)\n 144: 0,\n // langScottishGaelic → smRoman (modified)\n 145: 0,\n // langManxGaelic → smRoman (modified)\n 146: 0,\n // langIrishGaelicScript → smRoman (modified)\n 147: 0,\n // langTongan → smRoman\n 148: 6,\n // langGreekAncient → smRoman\n 149: 0,\n // langGreenlandic → smRoman\n 150: 0,\n // langAzerbaijanRoman → smRoman\n 151: 0\n // langNynorsk → smRoman\n};\nvar windowsLanguages = {\n 1078: \"af\",\n 1052: \"sq\",\n 1156: \"gsw\",\n 1118: \"am\",\n 5121: \"ar-DZ\",\n 15361: \"ar-BH\",\n 3073: \"ar\",\n 2049: \"ar-IQ\",\n 11265: \"ar-JO\",\n 13313: \"ar-KW\",\n 12289: \"ar-LB\",\n 4097: \"ar-LY\",\n 6145: \"ary\",\n 8193: \"ar-OM\",\n 16385: \"ar-QA\",\n 1025: \"ar-SA\",\n 10241: \"ar-SY\",\n 7169: \"aeb\",\n 14337: \"ar-AE\",\n 9217: \"ar-YE\",\n 1067: \"hy\",\n 1101: \"as\",\n 2092: \"az-Cyrl\",\n 1068: \"az\",\n 1133: \"ba\",\n 1069: \"eu\",\n 1059: \"be\",\n 2117: \"bn\",\n 1093: \"bn-IN\",\n 8218: \"bs-Cyrl\",\n 5146: \"bs\",\n 1150: \"br\",\n 1026: \"bg\",\n 1027: \"ca\",\n 3076: \"zh-HK\",\n 5124: \"zh-MO\",\n 2052: \"zh\",\n 4100: \"zh-SG\",\n 1028: \"zh-TW\",\n 1155: \"co\",\n 1050: \"hr\",\n 4122: \"hr-BA\",\n 1029: \"cs\",\n 1030: \"da\",\n 1164: \"prs\",\n 1125: \"dv\",\n 2067: \"nl-BE\",\n 1043: \"nl\",\n 3081: \"en-AU\",\n 10249: \"en-BZ\",\n 4105: \"en-CA\",\n 9225: \"en-029\",\n 16393: \"en-IN\",\n 6153: \"en-IE\",\n 8201: \"en-JM\",\n 17417: \"en-MY\",\n 5129: \"en-NZ\",\n 13321: \"en-PH\",\n 18441: \"en-SG\",\n 7177: \"en-ZA\",\n 11273: \"en-TT\",\n 2057: \"en-GB\",\n 1033: \"en\",\n 12297: \"en-ZW\",\n 1061: \"et\",\n 1080: \"fo\",\n 1124: \"fil\",\n 1035: \"fi\",\n 2060: \"fr-BE\",\n 3084: \"fr-CA\",\n 1036: \"fr\",\n 5132: \"fr-LU\",\n 6156: \"fr-MC\",\n 4108: \"fr-CH\",\n 1122: \"fy\",\n 1110: \"gl\",\n 1079: \"ka\",\n 3079: \"de-AT\",\n 1031: \"de\",\n 5127: \"de-LI\",\n 4103: \"de-LU\",\n 2055: \"de-CH\",\n 1032: \"el\",\n 1135: \"kl\",\n 1095: \"gu\",\n 1128: \"ha\",\n 1037: \"he\",\n 1081: \"hi\",\n 1038: \"hu\",\n 1039: \"is\",\n 1136: \"ig\",\n 1057: \"id\",\n 1117: \"iu\",\n 2141: \"iu-Latn\",\n 2108: \"ga\",\n 1076: \"xh\",\n 1077: \"zu\",\n 1040: \"it\",\n 2064: \"it-CH\",\n 1041: \"ja\",\n 1099: \"kn\",\n 1087: \"kk\",\n 1107: \"km\",\n 1158: \"quc\",\n 1159: \"rw\",\n 1089: \"sw\",\n 1111: \"kok\",\n 1042: \"ko\",\n 1088: \"ky\",\n 1108: \"lo\",\n 1062: \"lv\",\n 1063: \"lt\",\n 2094: \"dsb\",\n 1134: \"lb\",\n 1071: \"mk\",\n 2110: \"ms-BN\",\n 1086: \"ms\",\n 1100: \"ml\",\n 1082: \"mt\",\n 1153: \"mi\",\n 1146: \"arn\",\n 1102: \"mr\",\n 1148: \"moh\",\n 1104: \"mn\",\n 2128: \"mn-CN\",\n 1121: \"ne\",\n 1044: \"nb\",\n 2068: \"nn\",\n 1154: \"oc\",\n 1096: \"or\",\n 1123: \"ps\",\n 1045: \"pl\",\n 1046: \"pt\",\n 2070: \"pt-PT\",\n 1094: \"pa\",\n 1131: \"qu-BO\",\n 2155: \"qu-EC\",\n 3179: \"qu\",\n 1048: \"ro\",\n 1047: \"rm\",\n 1049: \"ru\",\n 9275: \"smn\",\n 4155: \"smj-NO\",\n 5179: \"smj\",\n 3131: \"se-FI\",\n 1083: \"se\",\n 2107: \"se-SE\",\n 8251: \"sms\",\n 6203: \"sma-NO\",\n 7227: \"sms\",\n 1103: \"sa\",\n 7194: \"sr-Cyrl-BA\",\n 3098: \"sr\",\n 6170: \"sr-Latn-BA\",\n 2074: \"sr-Latn\",\n 1132: \"nso\",\n 1074: \"tn\",\n 1115: \"si\",\n 1051: \"sk\",\n 1060: \"sl\",\n 11274: \"es-AR\",\n 16394: \"es-BO\",\n 13322: \"es-CL\",\n 9226: \"es-CO\",\n 5130: \"es-CR\",\n 7178: \"es-DO\",\n 12298: \"es-EC\",\n 17418: \"es-SV\",\n 4106: \"es-GT\",\n 18442: \"es-HN\",\n 2058: \"es-MX\",\n 19466: \"es-NI\",\n 6154: \"es-PA\",\n 15370: \"es-PY\",\n 10250: \"es-PE\",\n 20490: \"es-PR\",\n // Microsoft has defined two different language codes for\n // “Spanish with modern sorting” and “Spanish with traditional\n // sorting”. This makes sense for collation APIs, and it would be\n // possible to express this in BCP 47 language tags via Unicode\n // extensions (eg., es-u-co-trad is Spanish with traditional\n // sorting). However, for storing names in fonts, the distinction\n // does not make sense, so we give “es” in both cases.\n 3082: \"es\",\n 1034: \"es\",\n 21514: \"es-US\",\n 14346: \"es-UY\",\n 8202: \"es-VE\",\n 2077: \"sv-FI\",\n 1053: \"sv\",\n 1114: \"syr\",\n 1064: \"tg\",\n 2143: \"tzm\",\n 1097: \"ta\",\n 1092: \"tt\",\n 1098: \"te\",\n 1054: \"th\",\n 1105: \"bo\",\n 1055: \"tr\",\n 1090: \"tk\",\n 1152: \"ug\",\n 1058: \"uk\",\n 1070: \"hsb\",\n 1056: \"ur\",\n 2115: \"uz-Cyrl\",\n 1091: \"uz\",\n 1066: \"vi\",\n 1106: \"cy\",\n 1160: \"wo\",\n 1157: \"sah\",\n 1144: \"ii\",\n 1130: \"yo\"\n};\nfunction getLanguageCode(platformID, languageID, ltag) {\n switch (platformID) {\n case 0:\n if (languageID === 65535) {\n return \"und\";\n } else if (ltag) {\n return ltag[languageID];\n }\n break;\n case 1:\n return macLanguages[languageID];\n case 3:\n return windowsLanguages[languageID];\n }\n return void 0;\n}\nvar utf16 = \"utf-16\";\nvar macScriptEncodings = {\n 0: \"macintosh\",\n // smRoman\n 1: \"x-mac-japanese\",\n // smJapanese\n 2: \"x-mac-chinesetrad\",\n // smTradChinese\n 3: \"x-mac-korean\",\n // smKorean\n 6: \"x-mac-greek\",\n // smGreek\n 7: \"x-mac-cyrillic\",\n // smCyrillic\n 9: \"x-mac-devanagai\",\n // smDevanagari\n 10: \"x-mac-gurmukhi\",\n // smGurmukhi\n 11: \"x-mac-gujarati\",\n // smGujarati\n 12: \"x-mac-oriya\",\n // smOriya\n 13: \"x-mac-bengali\",\n // smBengali\n 14: \"x-mac-tamil\",\n // smTamil\n 15: \"x-mac-telugu\",\n // smTelugu\n 16: \"x-mac-kannada\",\n // smKannada\n 17: \"x-mac-malayalam\",\n // smMalayalam\n 18: \"x-mac-sinhalese\",\n // smSinhalese\n 19: \"x-mac-burmese\",\n // smBurmese\n 20: \"x-mac-khmer\",\n // smKhmer\n 21: \"x-mac-thai\",\n // smThai\n 22: \"x-mac-lao\",\n // smLao\n 23: \"x-mac-georgian\",\n // smGeorgian\n 24: \"x-mac-armenian\",\n // smArmenian\n 25: \"x-mac-chinesesimp\",\n // smSimpChinese\n 26: \"x-mac-tibetan\",\n // smTibetan\n 27: \"x-mac-mongolian\",\n // smMongolian\n 28: \"x-mac-ethiopic\",\n // smEthiopic\n 29: \"x-mac-ce\",\n // smCentralEuroRoman\n 30: \"x-mac-vietnamese\",\n // smVietnamese\n 31: \"x-mac-extarabic\"\n // smExtArabic\n};\nvar macLanguageEncodings = {\n 15: \"x-mac-icelandic\",\n // langIcelandic\n 17: \"x-mac-turkish\",\n // langTurkish\n 18: \"x-mac-croatian\",\n // langCroatian\n 24: \"x-mac-ce\",\n // langLithuanian\n 25: \"x-mac-ce\",\n // langPolish\n 26: \"x-mac-ce\",\n // langHungarian\n 27: \"x-mac-ce\",\n // langEstonian\n 28: \"x-mac-ce\",\n // langLatvian\n 30: \"x-mac-icelandic\",\n // langFaroese\n 37: \"x-mac-romanian\",\n // langRomanian\n 38: \"x-mac-ce\",\n // langCzech\n 39: \"x-mac-ce\",\n // langSlovak\n 40: \"x-mac-ce\",\n // langSlovenian\n 143: \"x-mac-inuit\",\n // langInuktitut\n 146: \"x-mac-gaelic\"\n // langIrishGaelicScript\n};\nfunction getEncoding(platformID, encodingID, languageID) {\n switch (platformID) {\n case 0:\n return utf16;\n case 1:\n return macLanguageEncodings[languageID] || macScriptEncodings[encodingID];\n case 3:\n if (encodingID === 1 || encodingID === 10) {\n return utf16;\n }\n break;\n }\n return void 0;\n}\nvar platforms = {\n 0: \"unicode\",\n 1: \"macintosh\",\n 2: \"reserved\",\n 3: \"windows\"\n};\nfunction getPlatform(platformID) {\n return platforms[platformID];\n}\nfunction parseNameTable(data, start, ltag) {\n const name = {};\n const p = new parse_default.Parser(data, start);\n const format = p.parseUShort();\n const count = p.parseUShort();\n const stringOffset = p.offset + p.parseUShort();\n for (let i = 0; i < count; i++) {\n const platformID = p.parseUShort();\n const encodingID = p.parseUShort();\n const languageID = p.parseUShort();\n const nameID = p.parseUShort();\n const property = nameTableNames[nameID] || nameID;\n const byteLength = p.parseUShort();\n const offset = p.parseUShort();\n const language = getLanguageCode(platformID, languageID, ltag);\n const encoding = getEncoding(platformID, encodingID, languageID);\n const platformName = getPlatform(platformID);\n if (encoding !== void 0 && language !== void 0 && platformName !== void 0) {\n let text;\n if (encoding === utf16) {\n text = decode.UTF16(data, stringOffset + offset, byteLength);\n } else {\n text = decode.MACSTRING(data, stringOffset + offset, byteLength, encoding);\n }\n if (text) {\n let platform = name[platformName];\n if (platform === void 0) {\n platform = name[platformName] = {};\n }\n let translations = platform[property];\n if (translations === void 0) {\n translations = platform[property] = {};\n }\n translations[language] = text;\n }\n }\n }\n if (format === 1) {\n p.parseUShort();\n }\n return name;\n}\nfunction reverseDict(dict) {\n const result = {};\n for (let key in dict) {\n result[dict[key]] = parseInt(key);\n }\n return result;\n}\nfunction makeNameRecord(platformID, encodingID, languageID, nameID, length, offset) {\n return new table_default.Record(\"NameRecord\", [\n { name: \"platformID\", type: \"USHORT\", value: platformID },\n { name: \"encodingID\", type: \"USHORT\", value: encodingID },\n { name: \"languageID\", type: \"USHORT\", value: languageID },\n { name: \"nameID\", type: \"USHORT\", value: nameID },\n { name: \"length\", type: \"USHORT\", value: length },\n { name: \"offset\", type: \"USHORT\", value: offset }\n ]);\n}\nfunction findSubArray(needle, haystack) {\n const needleLength = needle.length;\n const limit = haystack.length - needleLength + 1;\n loop:\n for (let pos = 0; pos < limit; pos++) {\n for (; pos < limit; pos++) {\n for (let k = 0; k < needleLength; k++) {\n if (haystack[pos + k] !== needle[k]) {\n continue loop;\n }\n }\n return pos;\n }\n }\n return -1;\n}\nfunction addStringToPool(s, pool) {\n let offset = findSubArray(s, pool);\n if (offset < 0) {\n offset = pool.length;\n let i = 0;\n const len = s.length;\n for (; i < len; ++i) {\n pool.push(s[i]);\n }\n }\n return offset;\n}\nfunction makeNameTable(names, ltag) {\n const platformNameIds = reverseDict(platforms);\n const macLanguageIds = reverseDict(macLanguages);\n const windowsLanguageIds = reverseDict(windowsLanguages);\n const nameRecords = [];\n const stringPool = [];\n for (let platform in names) {\n let nameID;\n const nameIDs = [];\n const namesWithNumericKeys = {};\n const nameTableIds = reverseDict(nameTableNames);\n const platformID = platformNameIds[platform];\n for (let key in names[platform]) {\n let id = nameTableIds[key];\n if (id === void 0) {\n id = key;\n }\n nameID = parseInt(id);\n if (isNaN(nameID)) {\n throw new Error('Name table entry \"' + key + '\" does not exist, see nameTableNames for complete list.');\n }\n namesWithNumericKeys[nameID] = names[platform][key];\n nameIDs.push(nameID);\n }\n for (let i = 0; i < nameIDs.length; i++) {\n nameID = nameIDs[i];\n const translations = namesWithNumericKeys[nameID];\n for (let lang in translations) {\n const text = translations[lang];\n if (platformID === 1 || platformID === 0) {\n let macLanguage = macLanguageIds[lang];\n let macScript = macLanguageToScript[macLanguage];\n const macEncoding = getEncoding(platformID, macScript, macLanguage);\n let macName = encode.MACSTRING(text, macEncoding);\n if (platformID === 0) {\n macLanguage = ltag.indexOf(lang);\n if (macLanguage < 0) {\n macLanguage = ltag.length;\n ltag.push(lang);\n }\n macScript = 4;\n macName = encode.UTF16(text);\n }\n if (macName !== void 0) {\n const macNameOffset = addStringToPool(macName, stringPool);\n nameRecords.push(makeNameRecord(\n platformID,\n macScript,\n macLanguage,\n nameID,\n macName.length,\n macNameOffset\n ));\n }\n }\n if (platformID === 3) {\n const winLanguage = windowsLanguageIds[lang];\n if (winLanguage !== void 0) {\n const winName = encode.UTF16(text);\n const winNameOffset = addStringToPool(winName, stringPool);\n nameRecords.push(makeNameRecord(\n 3,\n 1,\n winLanguage,\n nameID,\n winName.length,\n winNameOffset\n ));\n }\n }\n }\n }\n }\n nameRecords.sort(function(a, b) {\n return a.platformID - b.platformID || a.encodingID - b.encodingID || a.languageID - b.languageID || a.nameID - b.nameID;\n });\n const t = new table_default.Table(\"name\", [\n { name: \"format\", type: \"USHORT\", value: 0 },\n { name: \"count\", type: \"USHORT\", value: nameRecords.length },\n { name: \"stringOffset\", type: \"USHORT\", value: 6 + nameRecords.length * 12 }\n ]);\n for (let r = 0; r < nameRecords.length; r++) {\n t.fields.push({ name: \"record_\" + r, type: \"RECORD\", value: nameRecords[r] });\n }\n t.fields.push({ name: \"strings\", type: \"LITERAL\", value: stringPool });\n return t;\n}\nfunction getNameByID(names, nameID, allowedStandardIDs = []) {\n if (nameID < 256 && nameID in nameTableNames) {\n if (allowedStandardIDs.length && !allowedStandardIDs.includes(parseInt(nameID))) {\n return void 0;\n }\n nameID = nameTableNames[nameID];\n }\n for (let platform in names) {\n for (let nameKey in names[platform]) {\n if (nameKey === nameID || parseInt(nameKey) === nameID) {\n return names[platform][nameKey];\n }\n }\n }\n return void 0;\n}\nvar name_default = { parse: parseNameTable, make: makeNameTable, getNameByID };\n\n// src/tables/cmap.mjs\nfunction parseCmapTableFormat0(cmap, p, platformID, encodingID) {\n cmap.length = p.parseUShort();\n cmap.language = p.parseUShort() - 1;\n const indexMap = p.parseByteList(cmap.length);\n const glyphIndexMap = Object.assign({}, indexMap);\n const encoding = getEncoding(platformID, encodingID, cmap.language);\n const decodingTable = eightBitMacEncodings[encoding];\n for (let i = 0; i < decodingTable.length; i++) {\n glyphIndexMap[decodingTable.charCodeAt(i)] = indexMap[128 + i];\n }\n cmap.glyphIndexMap = glyphIndexMap;\n}\nfunction parseCmapTableFormat12or13(cmap, p, format) {\n p.parseUShort();\n cmap.length = p.parseULong();\n cmap.language = p.parseULong();\n let groupCount;\n cmap.groupCount = groupCount = p.parseULong();\n cmap.glyphIndexMap = {};\n for (let i = 0; i < groupCount; i += 1) {\n const startCharCode = p.parseULong();\n const endCharCode = p.parseULong();\n let startGlyphId = p.parseULong();\n for (let c = startCharCode; c <= endCharCode; c += 1) {\n cmap.glyphIndexMap[c] = startGlyphId;\n if (format === 12) {\n startGlyphId++;\n }\n }\n }\n}\nfunction parseCmapTableFormat4(cmap, p, data, start, offset) {\n cmap.length = p.parseUShort();\n cmap.language = p.parseUShort();\n let segCount;\n cmap.segCount = segCount = p.parseUShort() >> 1;\n p.skip(\"uShort\", 3);\n cmap.glyphIndexMap = {};\n const endCountParser = new parse_default.Parser(data, start + offset + 14);\n const startCountParser = new parse_default.Parser(data, start + offset + 16 + segCount * 2);\n const idDeltaParser = new parse_default.Parser(data, start + offset + 16 + segCount * 4);\n const idRangeOffsetParser = new parse_default.Parser(data, start + offset + 16 + segCount * 6);\n let glyphIndexOffset = start + offset + 16 + segCount * 8;\n for (let i = 0; i < segCount - 1; i += 1) {\n let glyphIndex;\n const endCount = endCountParser.parseUShort();\n const startCount = startCountParser.parseUShort();\n const idDelta = idDeltaParser.parseShort();\n const idRangeOffset = idRangeOffsetParser.parseUShort();\n for (let c = startCount; c <= endCount; c += 1) {\n if (idRangeOffset !== 0) {\n glyphIndexOffset = idRangeOffsetParser.offset + idRangeOffsetParser.relativeOffset - 2;\n glyphIndexOffset += idRangeOffset;\n glyphIndexOffset += (c - startCount) * 2;\n glyphIndex = parse_default.getUShort(data, glyphIndexOffset);\n if (glyphIndex !== 0) {\n glyphIndex = glyphIndex + idDelta & 65535;\n }\n } else {\n glyphIndex = c + idDelta & 65535;\n }\n cmap.glyphIndexMap[c] = glyphIndex;\n }\n }\n}\nfunction parseCmapTableFormat14(cmap, p) {\n const varSelectorList = {};\n p.skip(\"uLong\");\n const numVarSelectorRecords = p.parseULong();\n for (let i = 0; i < numVarSelectorRecords; i += 1) {\n const varSelector = p.parseUInt24();\n const varSelectorRecord = {\n varSelector\n };\n const defaultUVSOffset = p.parseOffset32();\n const nonDefaultUVSOffset = p.parseOffset32();\n const currentOffset = p.relativeOffset;\n if (defaultUVSOffset) {\n p.relativeOffset = defaultUVSOffset;\n varSelectorRecord.defaultUVS = p.parseStruct({\n ranges: function() {\n return p.parseRecordList32({\n startUnicodeValue: p.parseUInt24,\n additionalCount: p.parseByte\n });\n }\n });\n }\n if (nonDefaultUVSOffset) {\n p.relativeOffset = nonDefaultUVSOffset;\n varSelectorRecord.nonDefaultUVS = p.parseStruct({\n uvsMappings: function() {\n const map = {};\n const list = p.parseRecordList32({\n unicodeValue: p.parseUInt24,\n glyphID: p.parseUShort\n });\n for (let i2 = 0; i2 < list.length; i2 += 1) {\n map[list[i2].unicodeValue] = list[i2];\n }\n return map;\n }\n });\n }\n varSelectorList[varSelector] = varSelectorRecord;\n p.relativeOffset = currentOffset;\n }\n cmap.varSelectorList = varSelectorList;\n}\nfunction parseCmapTable(data, start) {\n const cmap = {};\n cmap.version = parse_default.getUShort(data, start);\n check_default.argument(cmap.version === 0, \"cmap table version should be 0.\");\n cmap.numTables = parse_default.getUShort(data, start + 2);\n let format14Parser = null;\n let format14offset = -1;\n let offset = -1;\n let platformId = null;\n let encodingId = null;\n const platform0Encodings = [0, 1, 2, 3, 4, 6];\n const platform3Encodings = [0, 1, 10];\n for (let i = cmap.numTables - 1; i >= 0; i -= 1) {\n platformId = parse_default.getUShort(data, start + 4 + i * 8);\n encodingId = parse_default.getUShort(data, start + 4 + i * 8 + 2);\n if (platformId === 3 && platform3Encodings.includes(encodingId) || platformId === 0 && platform0Encodings.includes(encodingId) || platformId === 1 && encodingId === 0) {\n if (offset > 0) continue;\n offset = parse_default.getULong(data, start + 4 + i * 8 + 4);\n if (format14Parser) {\n break;\n }\n } else if (platformId === 0 && encodingId === 5) {\n format14offset = parse_default.getULong(data, start + 4 + i * 8 + 4);\n format14Parser = new parse_default.Parser(data, start + format14offset);\n if (format14Parser.parseUShort() !== 14) {\n format14offset = -1;\n format14Parser = null;\n } else if (offset > 0) {\n break;\n }\n }\n }\n if (offset === -1) {\n throw new Error(\"No valid cmap sub-tables found.\");\n }\n const p = new parse_default.Parser(data, start + offset);\n cmap.format = p.parseUShort();\n if (cmap.format === 0) {\n parseCmapTableFormat0(cmap, p, platformId, encodingId);\n } else if (cmap.format === 12 || cmap.format === 13) {\n parseCmapTableFormat12or13(cmap, p, cmap.format);\n } else if (cmap.format === 4) {\n parseCmapTableFormat4(cmap, p, data, start, offset);\n } else {\n throw new Error(\n \"Only format 0 (platformId 1, encodingId 0), 4, 12 and 14 cmap tables are supported (found format \" + cmap.format + \", platformId \" + platformId + \", encodingId \" + encodingId + \").\"\n );\n }\n if (format14Parser) {\n parseCmapTableFormat14(cmap, format14Parser);\n }\n return cmap;\n}\nfunction addSegment(t, code, glyphIndex) {\n t.segments.push({\n end: code,\n start: code,\n delta: -(code - glyphIndex),\n offset: 0,\n glyphIndex\n });\n}\nfunction addTerminatorSegment(t) {\n t.segments.push({\n end: 65535,\n start: 65535,\n delta: 1,\n offset: 0\n });\n}\nfunction mergeSegments(segments) {\n if (segments.length === 0) return segments;\n const merged = [segments[0]];\n for (let i = 1; i < segments.length; i++) {\n const prev = merged[merged.length - 1];\n const curr = segments[i];\n if (prev.end + 1 === curr.start && prev.delta === curr.delta && curr.end !== 65535) {\n prev.end = curr.end;\n } else {\n merged.push(curr);\n }\n }\n return merged;\n}\nfunction makeCmapTable(glyphs) {\n let isPlan0Only = true;\n let i;\n for (i = glyphs.length - 1; i > 0; i -= 1) {\n const g = glyphs.get(i);\n if (g.unicode > 65535) {\n isPlan0Only = false;\n break;\n }\n }\n let cmapTable = [\n { name: \"version\", type: \"USHORT\", value: 0 },\n { name: \"numTables\", type: \"USHORT\", value: isPlan0Only ? 1 : 2 },\n // CMAP 4 header\n { name: \"platformID\", type: \"USHORT\", value: 3 },\n { name: \"encodingID\", type: \"USHORT\", value: 1 },\n { name: \"offset\", type: \"ULONG\", value: isPlan0Only ? 12 : 12 + 8 }\n ];\n if (!isPlan0Only)\n cmapTable.push(...[\n // CMAP 12 header\n { name: \"cmap12PlatformID\", type: \"USHORT\", value: 3 },\n // We encode only for PlatformID = 3 (Windows) because it is supported everywhere\n { name: \"cmap12EncodingID\", type: \"USHORT\", value: 10 },\n { name: \"cmap12Offset\", type: \"ULONG\", value: 0 }\n ]);\n cmapTable.push(...[\n // CMAP 4 Subtable\n { name: \"format\", type: \"USHORT\", value: 4 },\n { name: \"cmap4Length\", type: \"USHORT\", value: 0 },\n { name: \"language\", type: \"USHORT\", value: 0 },\n { name: \"segCountX2\", type: \"USHORT\", value: 0 },\n { name: \"searchRange\", type: \"USHORT\", value: 0 },\n { name: \"entrySelector\", type: \"USHORT\", value: 0 },\n { name: \"rangeShift\", type: \"USHORT\", value: 0 }\n ]);\n const t = new table_default.Table(\"cmap\", cmapTable);\n t.segments = [];\n for (i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n for (let j = 0; j < glyph.unicodes.length; j += 1) {\n addSegment(t, glyph.unicodes[j], i);\n }\n }\n t.segments.sort(function(a, b) {\n return a.start - b.start;\n });\n t.segments = mergeSegments(t.segments);\n addTerminatorSegment(t);\n const segCount = t.segments.length;\n let segCountToRemove = 0;\n let endCounts = [];\n let startCounts = [];\n let idDeltas = [];\n let idRangeOffsets = [];\n let glyphIds = [];\n let cmap12Groups = [];\n for (i = 0; i < segCount; i += 1) {\n const segment = t.segments[i];\n if (segment.end <= 65535 && segment.start <= 65535) {\n endCounts.push({ name: \"end_\" + i, type: \"USHORT\", value: segment.end });\n startCounts.push({ name: \"start_\" + i, type: \"USHORT\", value: segment.start });\n idDeltas.push({ name: \"idDelta_\" + i, type: \"SHORT\", value: segment.delta });\n idRangeOffsets.push({ name: \"idRangeOffset_\" + i, type: \"USHORT\", value: segment.offset });\n if (segment.glyphId !== void 0) {\n glyphIds.push({ name: \"glyph_\" + i, type: \"USHORT\", value: segment.glyphId });\n }\n } else {\n segCountToRemove += 1;\n }\n if (!isPlan0Only && segment.glyphIndex !== void 0) {\n cmap12Groups.push({ name: \"cmap12Start_\" + i, type: \"ULONG\", value: segment.start });\n cmap12Groups.push({ name: \"cmap12End_\" + i, type: \"ULONG\", value: segment.end });\n cmap12Groups.push({ name: \"cmap12Glyph_\" + i, type: \"ULONG\", value: segment.glyphIndex });\n }\n }\n t.segCountX2 = (segCount - segCountToRemove) * 2;\n t.searchRange = Math.pow(2, Math.floor(Math.log(segCount - segCountToRemove) / Math.log(2))) * 2;\n t.entrySelector = Math.log(t.searchRange / 2) / Math.log(2);\n t.rangeShift = t.segCountX2 - t.searchRange;\n for (let i2 = 0; i2 < endCounts.length; i2++) {\n t.fields.push(endCounts[i2]);\n }\n t.fields.push({ name: \"reservedPad\", type: \"USHORT\", value: 0 });\n for (let i2 = 0; i2 < startCounts.length; i2++) {\n t.fields.push(startCounts[i2]);\n }\n for (let i2 = 0; i2 < idDeltas.length; i2++) {\n t.fields.push(idDeltas[i2]);\n }\n for (let i2 = 0; i2 < idRangeOffsets.length; i2++) {\n t.fields.push(idRangeOffsets[i2]);\n }\n for (let i2 = 0; i2 < glyphIds.length; i2++) {\n t.fields.push(glyphIds[i2]);\n }\n t.cmap4Length = 14 + // Subtable header\n endCounts.length * 2 + 2 + // reservedPad\n startCounts.length * 2 + idDeltas.length * 2 + idRangeOffsets.length * 2 + glyphIds.length * 2;\n if (!isPlan0Only) {\n const cmap12Length = 16 + // Subtable header\n cmap12Groups.length * 4;\n t.cmap12Offset = 12 + 2 * 2 + 4 + t.cmap4Length;\n t.fields.push(...[\n { name: \"cmap12Format\", type: \"USHORT\", value: 12 },\n { name: \"cmap12Reserved\", type: \"USHORT\", value: 0 },\n { name: \"cmap12Length\", type: \"ULONG\", value: cmap12Length },\n { name: \"cmap12Language\", type: \"ULONG\", value: 0 },\n { name: \"cmap12nGroups\", type: \"ULONG\", value: cmap12Groups.length / 3 }\n ]);\n for (let i2 = 0; i2 < cmap12Groups.length; i2++) {\n t.fields.push(cmap12Groups[i2]);\n }\n }\n return t;\n}\nvar cmap_default = { parse: parseCmapTable, make: makeCmapTable };\n\n// src/encoding.mjs\nvar cffStandardStrings = [\n \".notdef\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quoteright\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"quoteleft\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"exclamdown\",\n \"cent\",\n \"sterling\",\n \"fraction\",\n \"yen\",\n \"florin\",\n \"section\",\n \"currency\",\n \"quotesingle\",\n \"quotedblleft\",\n \"guillemotleft\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"endash\",\n \"dagger\",\n \"daggerdbl\",\n \"periodcentered\",\n \"paragraph\",\n \"bullet\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"quotedblright\",\n \"guillemotright\",\n \"ellipsis\",\n \"perthousand\",\n \"questiondown\",\n \"grave\",\n \"acute\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"dieresis\",\n \"ring\",\n \"cedilla\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"emdash\",\n \"AE\",\n \"ordfeminine\",\n \"Lslash\",\n \"Oslash\",\n \"OE\",\n \"ordmasculine\",\n \"ae\",\n \"dotlessi\",\n \"lslash\",\n \"oslash\",\n \"oe\",\n \"germandbls\",\n \"onesuperior\",\n \"logicalnot\",\n \"mu\",\n \"trademark\",\n \"Eth\",\n \"onehalf\",\n \"plusminus\",\n \"Thorn\",\n \"onequarter\",\n \"divide\",\n \"brokenbar\",\n \"degree\",\n \"thorn\",\n \"threequarters\",\n \"twosuperior\",\n \"registered\",\n \"minus\",\n \"eth\",\n \"multiply\",\n \"threesuperior\",\n \"copyright\",\n \"Aacute\",\n \"Acircumflex\",\n \"Adieresis\",\n \"Agrave\",\n \"Aring\",\n \"Atilde\",\n \"Ccedilla\",\n \"Eacute\",\n \"Ecircumflex\",\n \"Edieresis\",\n \"Egrave\",\n \"Iacute\",\n \"Icircumflex\",\n \"Idieresis\",\n \"Igrave\",\n \"Ntilde\",\n \"Oacute\",\n \"Ocircumflex\",\n \"Odieresis\",\n \"Ograve\",\n \"Otilde\",\n \"Scaron\",\n \"Uacute\",\n \"Ucircumflex\",\n \"Udieresis\",\n \"Ugrave\",\n \"Yacute\",\n \"Ydieresis\",\n \"Zcaron\",\n \"aacute\",\n \"acircumflex\",\n \"adieresis\",\n \"agrave\",\n \"aring\",\n \"atilde\",\n \"ccedilla\",\n \"eacute\",\n \"ecircumflex\",\n \"edieresis\",\n \"egrave\",\n \"iacute\",\n \"icircumflex\",\n \"idieresis\",\n \"igrave\",\n \"ntilde\",\n \"oacute\",\n \"ocircumflex\",\n \"odieresis\",\n \"ograve\",\n \"otilde\",\n \"scaron\",\n \"uacute\",\n \"ucircumflex\",\n \"udieresis\",\n \"ugrave\",\n \"yacute\",\n \"ydieresis\",\n \"zcaron\",\n \"exclamsmall\",\n \"Hungarumlautsmall\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"ampersandsmall\",\n \"Acutesmall\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"266 ff\",\n \"onedotenleader\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"questionsmall\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"isuperior\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"ff\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"parenrightinferior\",\n \"Circumflexsmall\",\n \"hyphensuperior\",\n \"Gravesmall\",\n \"Asmall\",\n \"Bsmall\",\n \"Csmall\",\n \"Dsmall\",\n \"Esmall\",\n \"Fsmall\",\n \"Gsmall\",\n \"Hsmall\",\n \"Ismall\",\n \"Jsmall\",\n \"Ksmall\",\n \"Lsmall\",\n \"Msmall\",\n \"Nsmall\",\n \"Osmall\",\n \"Psmall\",\n \"Qsmall\",\n \"Rsmall\",\n \"Ssmall\",\n \"Tsmall\",\n \"Usmall\",\n \"Vsmall\",\n \"Wsmall\",\n \"Xsmall\",\n \"Ysmall\",\n \"Zsmall\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"Tildesmall\",\n \"exclamdownsmall\",\n \"centoldstyle\",\n \"Lslashsmall\",\n \"Scaronsmall\",\n \"Zcaronsmall\",\n \"Dieresissmall\",\n \"Brevesmall\",\n \"Caronsmall\",\n \"Dotaccentsmall\",\n \"Macronsmall\",\n \"figuredash\",\n \"hypheninferior\",\n \"Ogoneksmall\",\n \"Ringsmall\",\n \"Cedillasmall\",\n \"questiondownsmall\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"zerosuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\",\n \"Agravesmall\",\n \"Aacutesmall\",\n \"Acircumflexsmall\",\n \"Atildesmall\",\n \"Adieresissmall\",\n \"Aringsmall\",\n \"AEsmall\",\n \"Ccedillasmall\",\n \"Egravesmall\",\n \"Eacutesmall\",\n \"Ecircumflexsmall\",\n \"Edieresissmall\",\n \"Igravesmall\",\n \"Iacutesmall\",\n \"Icircumflexsmall\",\n \"Idieresissmall\",\n \"Ethsmall\",\n \"Ntildesmall\",\n \"Ogravesmall\",\n \"Oacutesmall\",\n \"Ocircumflexsmall\",\n \"Otildesmall\",\n \"Odieresissmall\",\n \"OEsmall\",\n \"Oslashsmall\",\n \"Ugravesmall\",\n \"Uacutesmall\",\n \"Ucircumflexsmall\",\n \"Udieresissmall\",\n \"Yacutesmall\",\n \"Thornsmall\",\n \"Ydieresissmall\",\n \"001.000\",\n \"001.001\",\n \"001.002\",\n \"001.003\",\n \"Black\",\n \"Bold\",\n \"Book\",\n \"Light\",\n \"Medium\",\n \"Regular\",\n \"Roman\",\n \"Semibold\"\n];\nvar cffISOAdobeStrings = [\n \".notdef\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quoteright\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"quoteleft\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"exclamdown\",\n \"cent\",\n \"sterling\",\n \"fraction\",\n \"yen\",\n \"florin\",\n \"section\",\n \"currency\",\n \"quotesingle\",\n \"quotedblleft\",\n \"guillemotleft\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"endash\",\n \"dagger\",\n \"daggerdbl\",\n \"periodcentered\",\n \"paragraph\",\n \"bullet\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"quotedblright\",\n \"guillemotright\",\n \"ellipsis\",\n \"perthousand\",\n \"questiondown\",\n \"grave\",\n \"acute\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"dieresis\",\n \"ring\",\n \"cedilla\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"emdash\",\n \"AE\",\n \"ordfeminine\",\n \"Lslash\",\n \"Oslash\",\n \"OE\",\n \"ordmasculine\",\n \"ae\",\n \"dotlessi\",\n \"lslash\",\n \"oslash\",\n \"oe\",\n \"germandbls\",\n \"onesuperior\",\n \"logicalnot\",\n \"mu\",\n \"trademark\",\n \"Eth\",\n \"onehalf\",\n \"plusminus\",\n \"Thorn\",\n \"onequarter\",\n \"divide\",\n \"brokenbar\",\n \"degree\",\n \"thorn\",\n \"threequarters\",\n \"twosuperior\",\n \"registered\",\n \"minus\",\n \"eth\",\n \"multiply\",\n \"threesuperior\",\n \"copyright\",\n \"Aacute\",\n \"Acircumflex\",\n \"Adieresis\",\n \"Agrave\",\n \"Aring\",\n \"Atilde\",\n \"Ccedilla\",\n \"Eacute\",\n \"Ecircumflex\",\n \"Edieresis\",\n \"Egrave\",\n \"Iacute\",\n \"Icircumflex\",\n \"Idieresis\",\n \"Igrave\",\n \"Ntilde\",\n \"Oacute\",\n \"Ocircumflex\",\n \"Odieresis\",\n \"Ograve\",\n \"Otilde\",\n \"Scaron\",\n \"Uacute\",\n \"Ucircumflex\",\n \"Udieresis\",\n \"Ugrave\",\n \"Yacute\",\n \"Ydieresis\",\n \"Zcaron\",\n \"aacute\",\n \"acircumflex\",\n \"adieresis\",\n \"agrave\",\n \"aring\",\n \"atilde\",\n \"ccedilla\",\n \"eacute\",\n \"ecircumflex\",\n \"edieresis\",\n \"egrave\",\n \"iacute\",\n \"icircumflex\",\n \"idieresis\",\n \"igrave\",\n \"ntilde\",\n \"oacute\",\n \"ocircumflex\",\n \"odieresis\",\n \"ograve\",\n \"otilde\",\n \"scaron\",\n \"uacute\",\n \"ucircumflex\",\n \"udieresis\",\n \"ugrave\",\n \"yacute\",\n \"ydieresis\",\n \"zcaron\"\n];\nvar cffIExpertStrings = [\n \".notdef\",\n \"space\",\n \"exclamsmall\",\n \"Hungarumlautsmall\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"ampersandsmall\",\n \"Acutesmall\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"twodotenleader\",\n \"onedotenleader\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"fraction\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"colon\",\n \"semicolon\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"questionsmall\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"isuperior\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"ff\",\n \"fi\",\n \"fl\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"parenrightinferior\",\n \"Circumflexsmall\",\n \"hyphensuperior\",\n \"Gravesmall\",\n \"Asmall\",\n \"Bsmall\",\n \"Csmall\",\n \"Dsmall\",\n \"Esmall\",\n \"Fsmall\",\n \"Gsmall\",\n \"Hsmall\",\n \"Ismall\",\n \"Jsmall\",\n \"Ksmall\",\n \"Lsmall\",\n \"Msmall\",\n \"Nsmall\",\n \"Osmall\",\n \"Psmall\",\n \"Qsmall\",\n \"Rsmall\",\n \"Ssmall\",\n \"Tsmall\",\n \"Usmall\",\n \"Vsmall\",\n \"Wsmall\",\n \"Xsmall\",\n \"Ysmall\",\n \"Zsmall\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"Tildesmall\",\n \"exclamdownsmall\",\n \"centoldstyle\",\n \"Lslashsmall\",\n \"Scaronsmall\",\n \"Zcaronsmall\",\n \"Dieresissmall\",\n \"Brevesmall\",\n \"Caronsmall\",\n \"Dotaccentsmall\",\n \"Macronsmall\",\n \"figuredash\",\n \"hypheninferior\",\n \"Ogoneksmall\",\n \"Ringsmall\",\n \"Cedillasmall\",\n \"onequarter\",\n \"onehalf\",\n \"threequarters\",\n \"questiondownsmall\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"zerosuperior\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\",\n \"Agravesmall\",\n \"Aacutesmall\",\n \"Acircumflexsmall\",\n \"Atildesmall\",\n \"Adieresissmall\",\n \"Aringsmall\",\n \"AEsmall\",\n \"Ccedillasmall\",\n \"Egravesmall\",\n \"Eacutesmall\",\n \"Ecircumflexsmall\",\n \"Edieresissmall\",\n \"Igravesmall\",\n \"Iacutesmall\",\n \"Icircumflexsmall\",\n \"Idieresissmall\",\n \"Ethsmall\",\n \"Ntildesmall\",\n \"Ogravesmall\",\n \"Oacutesmall\",\n \"Ocircumflexsmall\",\n \"Otildesmall\",\n \"Odieresissmall\",\n \"OEsmall\",\n \"Oslashsmall\",\n \"Ugravesmall\",\n \"Uacutesmall\",\n \"Ucircumflexsmall\",\n \"Udieresissmall\",\n \"Yacutesmall\",\n \"Thornsmall\",\n \"Ydieresissmall\"\n];\nvar cffExpertSubsetStrings = [\n \".notdef\",\n \"space\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"twodotenleader\",\n \"onedotenleader\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"fraction\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"colon\",\n \"semicolon\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"isuperior\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"ff\",\n \"fi\",\n \"fl\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"parenrightinferior\",\n \"hyphensuperior\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"centoldstyle\",\n \"figuredash\",\n \"hypheninferior\",\n \"onequarter\",\n \"onehalf\",\n \"threequarters\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"zerosuperior\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\"\n];\nvar cffStandardEncoding = [\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quoteright\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"quoteleft\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"exclamdown\",\n \"cent\",\n \"sterling\",\n \"fraction\",\n \"yen\",\n \"florin\",\n \"section\",\n \"currency\",\n \"quotesingle\",\n \"quotedblleft\",\n \"guillemotleft\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"\",\n \"endash\",\n \"dagger\",\n \"daggerdbl\",\n \"periodcentered\",\n \"\",\n \"paragraph\",\n \"bullet\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"quotedblright\",\n \"guillemotright\",\n \"ellipsis\",\n \"perthousand\",\n \"\",\n \"questiondown\",\n \"\",\n \"grave\",\n \"acute\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"dieresis\",\n \"\",\n \"ring\",\n \"cedilla\",\n \"\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"emdash\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"AE\",\n \"\",\n \"ordfeminine\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"Lslash\",\n \"Oslash\",\n \"OE\",\n \"ordmasculine\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"ae\",\n \"\",\n \"\",\n \"\",\n \"dotlessi\",\n \"\",\n \"\",\n \"lslash\",\n \"oslash\",\n \"oe\",\n \"germandbls\"\n];\nvar cffExpertEncoding = [\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"space\",\n \"exclamsmall\",\n \"Hungarumlautsmall\",\n \"\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"ampersandsmall\",\n \"Acutesmall\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"twodotenleader\",\n \"onedotenleader\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"fraction\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"colon\",\n \"semicolon\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"questionsmall\",\n \"\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"\",\n \"\",\n \"isuperior\",\n \"\",\n \"\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"\",\n \"\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"\",\n \"ff\",\n \"fi\",\n \"fl\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"\",\n \"parenrightinferior\",\n \"Circumflexsmall\",\n \"hyphensuperior\",\n \"Gravesmall\",\n \"Asmall\",\n \"Bsmall\",\n \"Csmall\",\n \"Dsmall\",\n \"Esmall\",\n \"Fsmall\",\n \"Gsmall\",\n \"Hsmall\",\n \"Ismall\",\n \"Jsmall\",\n \"Ksmall\",\n \"Lsmall\",\n \"Msmall\",\n \"Nsmall\",\n \"Osmall\",\n \"Psmall\",\n \"Qsmall\",\n \"Rsmall\",\n \"Ssmall\",\n \"Tsmall\",\n \"Usmall\",\n \"Vsmall\",\n \"Wsmall\",\n \"Xsmall\",\n \"Ysmall\",\n \"Zsmall\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"Tildesmall\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"exclamdownsmall\",\n \"centoldstyle\",\n \"Lslashsmall\",\n \"\",\n \"\",\n \"Scaronsmall\",\n \"Zcaronsmall\",\n \"Dieresissmall\",\n \"Brevesmall\",\n \"Caronsmall\",\n \"\",\n \"Dotaccentsmall\",\n \"\",\n \"\",\n \"Macronsmall\",\n \"\",\n \"\",\n \"figuredash\",\n \"hypheninferior\",\n \"\",\n \"\",\n \"Ogoneksmall\",\n \"Ringsmall\",\n \"Cedillasmall\",\n \"\",\n \"\",\n \"\",\n \"onequarter\",\n \"onehalf\",\n \"threequarters\",\n \"questiondownsmall\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"\",\n \"\",\n \"zerosuperior\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\",\n \"Agravesmall\",\n \"Aacutesmall\",\n \"Acircumflexsmall\",\n \"Atildesmall\",\n \"Adieresissmall\",\n \"Aringsmall\",\n \"AEsmall\",\n \"Ccedillasmall\",\n \"Egravesmall\",\n \"Eacutesmall\",\n \"Ecircumflexsmall\",\n \"Edieresissmall\",\n \"Igravesmall\",\n \"Iacutesmall\",\n \"Icircumflexsmall\",\n \"Idieresissmall\",\n \"Ethsmall\",\n \"Ntildesmall\",\n \"Ogravesmall\",\n \"Oacutesmall\",\n \"Ocircumflexsmall\",\n \"Otildesmall\",\n \"Odieresissmall\",\n \"OEsmall\",\n \"Oslashsmall\",\n \"Ugravesmall\",\n \"Uacutesmall\",\n \"Ucircumflexsmall\",\n \"Udieresissmall\",\n \"Yacutesmall\",\n \"Thornsmall\",\n \"Ydieresissmall\"\n];\nvar standardNames = [\n \".notdef\",\n \".null\",\n \"nonmarkingreturn\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quotesingle\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"grave\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"Adieresis\",\n \"Aring\",\n \"Ccedilla\",\n \"Eacute\",\n \"Ntilde\",\n \"Odieresis\",\n \"Udieresis\",\n \"aacute\",\n \"agrave\",\n \"acircumflex\",\n \"adieresis\",\n \"atilde\",\n \"aring\",\n \"ccedilla\",\n \"eacute\",\n \"egrave\",\n \"ecircumflex\",\n \"edieresis\",\n \"iacute\",\n \"igrave\",\n \"icircumflex\",\n \"idieresis\",\n \"ntilde\",\n \"oacute\",\n \"ograve\",\n \"ocircumflex\",\n \"odieresis\",\n \"otilde\",\n \"uacute\",\n \"ugrave\",\n \"ucircumflex\",\n \"udieresis\",\n \"dagger\",\n \"degree\",\n \"cent\",\n \"sterling\",\n \"section\",\n \"bullet\",\n \"paragraph\",\n \"germandbls\",\n \"registered\",\n \"copyright\",\n \"trademark\",\n \"acute\",\n \"dieresis\",\n \"notequal\",\n \"AE\",\n \"Oslash\",\n \"infinity\",\n \"plusminus\",\n \"lessequal\",\n \"greaterequal\",\n \"yen\",\n \"mu\",\n \"partialdiff\",\n \"summation\",\n \"product\",\n \"pi\",\n \"integral\",\n \"ordfeminine\",\n \"ordmasculine\",\n \"Omega\",\n \"ae\",\n \"oslash\",\n \"questiondown\",\n \"exclamdown\",\n \"logicalnot\",\n \"radical\",\n \"florin\",\n \"approxequal\",\n \"Delta\",\n \"guillemotleft\",\n \"guillemotright\",\n \"ellipsis\",\n \"nonbreakingspace\",\n \"Agrave\",\n \"Atilde\",\n \"Otilde\",\n \"OE\",\n \"oe\",\n \"endash\",\n \"emdash\",\n \"quotedblleft\",\n \"quotedblright\",\n \"quoteleft\",\n \"quoteright\",\n \"divide\",\n \"lozenge\",\n \"ydieresis\",\n \"Ydieresis\",\n \"fraction\",\n \"currency\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"daggerdbl\",\n \"periodcentered\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"perthousand\",\n \"Acircumflex\",\n \"Ecircumflex\",\n \"Aacute\",\n \"Edieresis\",\n \"Egrave\",\n \"Iacute\",\n \"Icircumflex\",\n \"Idieresis\",\n \"Igrave\",\n \"Oacute\",\n \"Ocircumflex\",\n \"apple\",\n \"Ograve\",\n \"Uacute\",\n \"Ucircumflex\",\n \"Ugrave\",\n \"dotlessi\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"ring\",\n \"cedilla\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"Lslash\",\n \"lslash\",\n \"Scaron\",\n \"scaron\",\n \"Zcaron\",\n \"zcaron\",\n \"brokenbar\",\n \"Eth\",\n \"eth\",\n \"Yacute\",\n \"yacute\",\n \"Thorn\",\n \"thorn\",\n \"minus\",\n \"multiply\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"onehalf\",\n \"onequarter\",\n \"threequarters\",\n \"franc\",\n \"Gbreve\",\n \"gbreve\",\n \"Idotaccent\",\n \"Scedilla\",\n \"scedilla\",\n \"Cacute\",\n \"cacute\",\n \"Ccaron\",\n \"ccaron\",\n \"dcroat\"\n];\nfunction DefaultEncoding(font) {\n this.font = font;\n}\nDefaultEncoding.prototype.charToGlyphIndex = function(c) {\n const code = c.codePointAt(0);\n const glyphs = this.font.glyphs;\n if (glyphs) {\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n for (let j = 0; j < glyph.unicodes.length; j += 1) {\n if (glyph.unicodes[j] === code) {\n return i;\n }\n }\n }\n }\n return null;\n};\nfunction CmapEncoding(cmap) {\n this.cmap = cmap;\n}\nCmapEncoding.prototype.charToGlyphIndex = function(c) {\n return this.cmap.glyphIndexMap[c.codePointAt(0)] || 0;\n};\nfunction CffEncoding(encoding, charset) {\n this.encoding = encoding;\n this.charset = charset;\n}\nCffEncoding.prototype.charToGlyphIndex = function(s) {\n const code = s.codePointAt(0);\n const charName = this.encoding[code];\n return this.charset.indexOf(charName);\n};\nfunction GlyphNames(post) {\n switch (post.version) {\n case 1:\n this.names = standardNames.slice();\n break;\n case 2:\n this.names = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n if (post.glyphNameIndex[i] < standardNames.length) {\n this.names[i] = standardNames[post.glyphNameIndex[i]];\n } else {\n this.names[i] = post.names[post.glyphNameIndex[i] - standardNames.length];\n }\n }\n break;\n case 2.5:\n this.names = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n this.names[i] = standardNames[i + post.glyphNameIndex[i]];\n }\n break;\n case 3:\n this.names = [];\n break;\n default:\n this.names = [];\n break;\n }\n}\nGlyphNames.prototype.nameToGlyphIndex = function(name) {\n return this.names.indexOf(name);\n};\nGlyphNames.prototype.glyphIndexToName = function(gid) {\n return this.names[gid];\n};\nfunction addGlyphNamesAll(font) {\n let glyph;\n const glyphIndexMap = font.tables.cmap.glyphIndexMap;\n const charCodes = Object.keys(glyphIndexMap);\n for (let i = 0; i < charCodes.length; i += 1) {\n const c = charCodes[i];\n const glyphIndex = glyphIndexMap[c];\n glyph = font.glyphs.get(glyphIndex);\n glyph.addUnicode(parseInt(c));\n }\n for (let i = 0; i < font.glyphs.length; i += 1) {\n glyph = font.glyphs.get(i);\n if (font.cffEncoding) {\n glyph.name = font.cffEncoding.charset[i];\n } else if (font.glyphNames.names) {\n glyph.name = font.glyphNames.glyphIndexToName(i);\n }\n }\n}\nfunction addGlyphNamesToUnicodeMap(font) {\n font._IndexToUnicodeMap = {};\n const glyphIndexMap = font.tables.cmap.glyphIndexMap;\n const charCodes = Object.keys(glyphIndexMap);\n for (let i = 0; i < charCodes.length; i += 1) {\n const c = charCodes[i];\n let glyphIndex = glyphIndexMap[c];\n if (font._IndexToUnicodeMap[glyphIndex] === void 0) {\n font._IndexToUnicodeMap[glyphIndex] = {\n unicodes: [parseInt(c)]\n };\n } else {\n font._IndexToUnicodeMap[glyphIndex].unicodes.push(parseInt(c));\n }\n }\n}\nfunction addGlyphNames(font, opt) {\n if (opt.lowMemory) {\n addGlyphNamesToUnicodeMap(font);\n } else {\n addGlyphNamesAll(font);\n }\n}\n\n// src/draw.mjs\nfunction line(ctx, x1, y1, x2, y2) {\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n}\nvar draw_default = { line };\n\n// src/tables/cpal.mjs\nfunction parseCpalTable(data, start) {\n const p = new Parser(data, start);\n const version = p.parseShort();\n if (version !== 0) {\n console.warn(\"Only CPALv0 is currently fully supported.\");\n }\n const numPaletteEntries = p.parseShort();\n const numPalettes = p.parseShort();\n const numColorRecords = p.parseShort();\n const colorRecordsArrayOffset = p.parseOffset32();\n const colorRecordIndices = p.parseUShortList(numPalettes);\n p.relativeOffset = colorRecordsArrayOffset;\n const colorRecords = p.parseULongList(numColorRecords);\n p.relativeOffset = colorRecordsArrayOffset;\n return {\n version,\n numPaletteEntries,\n colorRecords,\n colorRecordIndices\n };\n}\nfunction makeCpalTable({ version = 0, numPaletteEntries = 0, colorRecords = [], colorRecordIndices = [0] }) {\n check_default.argument(version === 0, \"Only CPALv0 are supported.\");\n check_default.argument(colorRecords.length, \"No colorRecords given.\");\n check_default.argument(colorRecordIndices.length, \"No colorRecordIndices given.\");\n if (colorRecordIndices.length > 1) {\n check_default.argument(numPaletteEntries, \"Can't infer numPaletteEntries on multiple colorRecordIndices\");\n }\n return new table_default.Table(\"CPAL\", [\n { name: \"version\", type: \"USHORT\", value: version },\n { name: \"numPaletteEntries\", type: \"USHORT\", value: numPaletteEntries || colorRecords.length },\n { name: \"numPalettes\", type: \"USHORT\", value: colorRecordIndices.length },\n { name: \"numColorRecords\", type: \"USHORT\", value: colorRecords.length },\n { name: \"colorRecordsArrayOffset\", type: \"ULONG\", value: 12 + 2 * colorRecordIndices.length },\n ...colorRecordIndices.map((palette, i) => ({ name: \"colorRecordIndices_\" + i, type: \"USHORT\", value: palette })),\n ...colorRecords.map((color, i) => ({ name: \"colorRecords_\" + i, type: \"ULONG\", value: color }))\n ]);\n}\nfunction parseCPALColor(bgra) {\n var b = (bgra & 4278190080) >> 24;\n var g = (bgra & 16711680) >> 16;\n var r = (bgra & 65280) >> 8;\n var a = bgra & 255;\n b = b + 256 & 255;\n g = g + 256 & 255;\n r = r + 256 & 255;\n a = (a + 256 & 255) / 255;\n return { b, g, r, a };\n}\nfunction getPaletteColor(font, index, palette = 0, colorFormat = \"hexa\") {\n if (index == 65535) {\n return \"currentColor\";\n }\n const cpalTable = font && font.tables && font.tables.cpal;\n if (!cpalTable) return \"currentColor\";\n if (palette > cpalTable.colorRecordIndices.length - 1) {\n throw new Error(`Palette index out of range (colorRecordIndices.length: ${cpalTable.colorRecordIndices.length}, index: ${index})`);\n }\n if (index > cpalTable.numPaletteEntries) {\n throw new Error(`Color index out of range (numPaletteEntries: ${cpalTable.numPaletteEntries}, index: ${index})`);\n }\n const lookupIndex = cpalTable.colorRecordIndices[palette] + index;\n if (lookupIndex > cpalTable.colorRecords) {\n throw new Error(`Color index out of range (colorRecords.length: ${cpalTable.colorRecords.length}, lookupIndex: ${lookupIndex})`);\n }\n const color = parseCPALColor(cpalTable.colorRecords[lookupIndex]);\n if (colorFormat === \"bgra\") {\n return color;\n }\n return formatColor(color, colorFormat);\n}\nfunction toHex(d) {\n return (\"0\" + parseInt(d).toString(16)).slice(-2);\n}\nfunction rgbToHSL(bgra) {\n const r = bgra.r / 255;\n const g = bgra.g / 255;\n const b = bgra.b / 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h * 360,\n s: s * 100,\n l: l * 100\n };\n}\nfunction hslToRGB(hsla) {\n let { h, s, l, a } = hsla;\n h = h % 360;\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, g = 0, b = 0;\n if (0 <= h && h < 60) {\n r = c;\n g = x;\n b = 0;\n } else if (60 <= h && h < 120) {\n r = x;\n g = c;\n b = 0;\n } else if (120 <= h && h < 180) {\n r = 0;\n g = c;\n b = x;\n } else if (180 <= h && h < 240) {\n r = 0;\n g = x;\n b = c;\n } else if (240 <= h && h < 300) {\n r = x;\n g = 0;\n b = c;\n } else if (300 <= h && h <= 360) {\n r = c;\n g = 0;\n b = x;\n }\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n a\n };\n}\nfunction bgraToRaw(color) {\n return parseInt(`0x${toHex(color.b)}${toHex(color.g)}${toHex(color.r)}${toHex(color.a * 255)}`, 16);\n}\nfunction parseColor(color, targetFormat = \"hexa\") {\n const returnRaw = targetFormat == \"raw\" || targetFormat == \"cpal\";\n const isRaw = Number.isInteger(color);\n let validFormat = true;\n if (isRaw && returnRaw || color === \"currentColor\") {\n return color;\n } else if (typeof color === \"object\") {\n if (targetFormat == \"bgra\") {\n return color;\n }\n if (returnRaw) {\n return bgraToRaw(color);\n }\n } else if (!isRaw && /^#([a-f0-9]{3}|[a-f0-9]{4}|[a-f0-9]{6}|[a-f0-9]{8})$/i.test(color.trim())) {\n color = color.trim().substring(1);\n switch (color.length) {\n case 3:\n color = {\n r: parseInt(color[0].repeat(2), 16),\n g: parseInt(color[1].repeat(2), 16),\n b: parseInt(color[2].repeat(2), 16),\n a: 1\n };\n break;\n case 4:\n color = {\n r: parseInt(color[0].repeat(2), 16),\n g: parseInt(color[1].repeat(2), 16),\n b: parseInt(color[2].repeat(2), 16),\n a: parseInt(color[3].repeat(2), 16) / 255\n };\n break;\n case 6:\n color = {\n r: parseInt(color[0] + color[1], 16),\n g: parseInt(color[2] + color[3], 16),\n b: parseInt(color[4] + color[5], 16),\n a: 1\n };\n break;\n case 8:\n color = {\n r: parseInt(color[0] + color[1], 16),\n g: parseInt(color[2] + color[3], 16),\n b: parseInt(color[4] + color[5], 16),\n a: parseInt(color[6] + color[7], 16) / 255\n };\n break;\n }\n if (targetFormat == \"bgra\") {\n return color;\n }\n } else if (typeof document !== \"undefined\" && /^[a-z]+$/i.test(color)) {\n const ctx = document.createElement(\"canvas\").getContext(\"2d\");\n ctx.fillStyle = color;\n const detectedColor = formatColor(ctx.fillStyle, \"hexa\");\n if (detectedColor === \"#000000ff\" && color.toLowerCase() !== \"black\") {\n validFormat = false;\n } else {\n color = detectedColor;\n }\n } else {\n color = color.trim();\n const rgbaRegex = /rgba?\\(\\s*(?:(\\d*\\.\\d+)(%?)|(\\d+)(%?))\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)(%?)|(\\d+)(%?))\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)(%?)|(\\d+)(%?))\\s*(?:(?:,|\\s|\\/)\\s*(?:(0*(?:\\.\\d+)?()|0*1(?:\\.0+)?())|(?:\\.\\d+)|(\\d+)(%)|(\\d*\\.\\d+)(%)))?\\s*\\)/;\n if (rgbaRegex.test(color)) {\n const matches = color.match(rgbaRegex).filter((i) => typeof i !== \"undefined\");\n color = {\n r: Math.round(parseFloat(matches[1]) / (matches[2] ? 100 / 255 : 1)),\n g: Math.round(parseFloat(matches[3]) / (matches[4] ? 100 / 255 : 1)),\n b: Math.round(parseFloat(matches[5]) / (matches[6] ? 100 / 255 : 1)),\n a: !matches[7] ? 1 : parseFloat(matches[7]) / (matches[8] ? 100 : 1)\n };\n } else {\n const hslaRegex = /hsla?\\(\\s*(?:(\\d*\\.\\d+|\\d+)(deg|turn|))\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)%?|(\\d+)%?)\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)%?|(\\d+)%?)\\s*(?:(?:,|\\s|\\/)\\s*(?:(0*(?:\\.\\d+)?()|0*1(?:\\.0+)?())|(?:\\.\\d+)|(\\d+)(%)|(\\d*\\.\\d+)(%)))?\\s*\\)/;\n if (hslaRegex.test(color)) {\n const matches = color.match(hslaRegex).filter((i) => typeof i !== \"undefined\");\n color = hslToRGB({\n h: parseFloat(matches[1]) * (matches[2] === \"turn\" ? 360 : 1),\n s: parseFloat(matches[3]),\n l: parseFloat(matches[4]),\n a: !matches[5] ? 1 : parseFloat(matches[5]) / (matches[6] ? 100 : 1)\n });\n } else {\n validFormat = false;\n }\n }\n }\n if (!validFormat) {\n throw new Error(`Invalid color format: ${color}`);\n }\n return formatColor(color, targetFormat);\n}\nfunction formatColor(bgra, format = \"hexa\") {\n if (bgra === \"currentColor\") return bgra;\n if (Number.isInteger(bgra)) {\n if (format == \"raw\" || format == \"cpal\") {\n return bgra;\n }\n bgra = parseCPALColor(bgra);\n } else if (typeof bgra !== \"object\") {\n bgra = parseColor(bgra, \"bgra\");\n }\n let hsl = [\"hsl\", \"hsla\"].includes(format) ? rgbToHSL(bgra) : null;\n switch (format) {\n case \"rgba\":\n return `rgba(${bgra.r}, ${bgra.g}, ${bgra.b}, ${parseFloat(bgra.a.toFixed(3))})`;\n case \"rgb\":\n return `rgb(${bgra.r}, ${bgra.g}, ${bgra.b})`;\n case \"hex\":\n case \"hex6\":\n case \"hex-6\":\n return `#${toHex(bgra.r)}${toHex(bgra.g)}${toHex(bgra.b)}`;\n case \"hexa\":\n case \"hex8\":\n case \"hex-8\":\n return `#${toHex(bgra.r)}${toHex(bgra.g)}${toHex(bgra.b)}${toHex(bgra.a * 255)}`;\n case \"hsl\":\n return `hsl(${hsl.h.toFixed(2)}, ${hsl.s.toFixed(2)}%, ${hsl.l.toFixed(2)}%)`;\n case \"hsla\":\n return `hsla(${hsl.h.toFixed(2)}, ${hsl.s.toFixed(2)}%, ${hsl.l.toFixed(2)}%, ${parseFloat(bgra.a.toFixed(3))})`;\n case \"bgra\":\n return bgra;\n case \"raw\":\n case \"cpal\":\n return bgraToRaw(bgra);\n default:\n throw new Error(\"Unknown color format: \" + format);\n }\n}\nvar cpal_default = { parse: parseCpalTable, make: makeCpalTable, getPaletteColor, parseColor, formatColor };\n\n// src/glyph.mjs\nfunction getPathDefinition(glyph, path) {\n let _path = path || new path_default();\n return {\n configurable: true,\n get: function() {\n if (typeof _path === \"function\") {\n _path = _path();\n }\n return _path;\n },\n set: function(p) {\n _path = p;\n }\n };\n}\nfunction Glyph(options) {\n this.bindConstructorValues(options);\n}\nGlyph.prototype.bindConstructorValues = function(options) {\n this.index = options.index || 0;\n if (options.name === \".notdef\") {\n options.unicode = void 0;\n } else if (options.name === \".null\") {\n options.unicode = 0;\n }\n if (options.unicode === 0 && options.name !== \".null\") {\n throw new Error('The unicode value \"0\" is reserved for the glyph name \".null\" and cannot be used by any other glyph.');\n }\n this.name = options.name || null;\n this.unicode = options.unicode;\n this.unicodes = options.unicodes || (options.unicode !== void 0 ? [options.unicode] : []);\n if (\"xMin\" in options) {\n this.xMin = options.xMin;\n }\n if (\"yMin\" in options) {\n this.yMin = options.yMin;\n }\n if (\"xMax\" in options) {\n this.xMax = options.xMax;\n }\n if (\"yMax\" in options) {\n this.yMax = options.yMax;\n }\n if (\"advanceWidth\" in options) {\n this.advanceWidth = options.advanceWidth;\n }\n if (\"leftSideBearing\" in options) {\n this.leftSideBearing = options.leftSideBearing;\n }\n if (\"points\" in options) {\n this.points = options.points;\n }\n Object.defineProperty(this, \"path\", getPathDefinition(this, options.path));\n};\nGlyph.prototype.addUnicode = function(unicode) {\n if (this.unicodes.length === 0) {\n this.unicode = unicode;\n }\n this.unicodes.push(unicode);\n};\nGlyph.prototype.getBoundingBox = function() {\n return this.path.getBoundingBox();\n};\nGlyph.prototype.getPath = function(x, y, fontSize, options, font) {\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 72;\n options = Object.assign({}, font && font.defaultRenderOptions, options);\n let commands;\n let hPoints;\n let xScale = options.xScale;\n let yScale = options.yScale;\n const scale = 1 / (this.path.unitsPerEm || 1e3) * fontSize;\n let useGlyph = this;\n if (font && font.variation) {\n useGlyph = font.variation.getTransform(this, options.variation);\n commands = useGlyph.path.commands;\n }\n if (options.hinting && font && font.hinting) {\n hPoints = useGlyph.path && font.hinting.exec(useGlyph, fontSize, options);\n }\n if (hPoints) {\n commands = font.hinting.getCommands(hPoints);\n x = Math.round(x);\n y = Math.round(y);\n xScale = yScale = 1;\n } else {\n commands = useGlyph.path.commands;\n if (xScale === void 0) xScale = scale;\n if (yScale === void 0) yScale = scale;\n }\n const p = new path_default();\n if (options.drawSVG) {\n const svgImage = this.getSvgImage(font);\n if (svgImage) {\n const layer = new path_default();\n layer._image = {\n image: svgImage.image,\n x: x + svgImage.leftSideBearing * scale,\n y: y - svgImage.baseline * scale,\n width: svgImage.image.width * scale,\n height: svgImage.image.height * scale\n };\n p._layers = [layer];\n return p;\n }\n }\n if (options.drawLayers) {\n const layers = this.getLayers(font);\n if (layers && layers.length) {\n p._layers = [];\n for (let i = 0; i < layers.length; i += 1) {\n const layer = layers[i];\n let color = getPaletteColor(font, layer.paletteIndex, options.usePalette);\n if (color === \"currentColor\") {\n color = options.fill || \"black\";\n } else {\n color = formatColor(color, options.colorFormat || \"rgba\");\n }\n options = Object.assign({}, options, { fill: color });\n p._layers.push(this.getPath.call(layer.glyph, x, y, fontSize, options, font));\n }\n return p;\n }\n }\n p.fill = options.fill || this.path.fill;\n p.stroke = this.path.stroke;\n p.strokeWidth = this.path.strokeWidth * scale;\n for (let i = 0; i < commands.length; i += 1) {\n const cmd = commands[i];\n if (cmd.type === \"M\") {\n p.moveTo(x + cmd.x * xScale, y + -cmd.y * yScale);\n } else if (cmd.type === \"L\") {\n p.lineTo(x + cmd.x * xScale, y + -cmd.y * yScale);\n } else if (cmd.type === \"Q\") {\n p.quadraticCurveTo(\n x + cmd.x1 * xScale,\n y + -cmd.y1 * yScale,\n x + cmd.x * xScale,\n y + -cmd.y * yScale\n );\n } else if (cmd.type === \"C\") {\n p.curveTo(\n x + cmd.x1 * xScale,\n y + -cmd.y1 * yScale,\n x + cmd.x2 * xScale,\n y + -cmd.y2 * yScale,\n x + cmd.x * xScale,\n y + -cmd.y * yScale\n );\n } else if (cmd.type === \"Z\" && p.stroke && p.strokeWidth) {\n p.closePath();\n }\n }\n return p;\n};\nGlyph.prototype.getLayers = function(font) {\n if (!font) {\n throw new Error(\"The font object is required to read the colr/cpal tables in order to get the layers.\");\n }\n return font.layers.get(this.index);\n};\nGlyph.prototype.getSvgImage = function(font) {\n if (!font) {\n throw new Error(\"The font object is required to read the svg table in order to get the image.\");\n }\n return font.svgImages.get(this.index);\n};\nGlyph.prototype.getContours = function(transformedPoints = null) {\n if (this.points === void 0 && !transformedPoints) {\n return [];\n }\n const contours = [];\n let currentContour = [];\n let points = transformedPoints ? transformedPoints : this.points;\n for (let i = 0; i < points.length; i += 1) {\n const pt = points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n check_default.argument(currentContour.length === 0, \"There are still points left in the current contour.\");\n return contours;\n};\nGlyph.prototype.getMetrics = function() {\n const commands = this.path.commands;\n const xCoords = [];\n const yCoords = [];\n for (let i = 0; i < commands.length; i += 1) {\n const cmd = commands[i];\n if (cmd.type !== \"Z\") {\n xCoords.push(cmd.x);\n yCoords.push(cmd.y);\n }\n if (cmd.type === \"Q\" || cmd.type === \"C\") {\n xCoords.push(cmd.x1);\n yCoords.push(cmd.y1);\n }\n if (cmd.type === \"C\") {\n xCoords.push(cmd.x2);\n yCoords.push(cmd.y2);\n }\n }\n const metrics = {\n xMin: Math.min.apply(null, xCoords),\n yMin: Math.min.apply(null, yCoords),\n xMax: Math.max.apply(null, xCoords),\n yMax: Math.max.apply(null, yCoords),\n leftSideBearing: this.leftSideBearing\n };\n if (!isFinite(metrics.xMin)) {\n metrics.xMin = 0;\n }\n if (!isFinite(metrics.xMax)) {\n metrics.xMax = this.advanceWidth;\n }\n if (!isFinite(metrics.yMin)) {\n metrics.yMin = 0;\n }\n if (!isFinite(metrics.yMax)) {\n metrics.yMax = 0;\n }\n metrics.rightSideBearing = this.advanceWidth - metrics.leftSideBearing - (metrics.xMax - metrics.xMin);\n return metrics;\n};\nGlyph.prototype.draw = function(ctx, x, y, fontSize, options, font) {\n options = Object.assign({}, font && font.defaultRenderOptions, options);\n const path = this.getPath(x, y, fontSize, options, font);\n path.draw(ctx);\n};\nGlyph.prototype.drawPoints = function(ctx, x, y, fontSize, options, font) {\n options = Object.assign({}, font && font.defaultRenderOptions, options);\n if (options.drawLayers) {\n const layers = this.getLayers(font);\n if (layers && layers.length) {\n for (let l = 0; l < layers.length; l += 1) {\n if (layers[l].glyph.index !== this.index) {\n this.drawPoints.call(layers[l].glyph, ctx, x, y, fontSize);\n }\n }\n return;\n }\n }\n function drawCircles(l, x2, y2, scale2) {\n ctx.beginPath();\n for (let j = 0; j < l.length; j += 1) {\n ctx.moveTo(x2 + l[j].x * scale2, y2 + l[j].y * scale2);\n ctx.arc(x2 + l[j].x * scale2, y2 + l[j].y * scale2, 2, 0, Math.PI * 2, false);\n }\n ctx.fill();\n }\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 24;\n const scale = 1 / this.path.unitsPerEm * fontSize;\n const blueCircles = [];\n const redCircles = [];\n const path = this.path;\n let commands = path.commands;\n if (font && font.variation) {\n commands = font.variation.getTransform(this, options.variation).path.commands;\n }\n for (let i = 0; i < commands.length; i += 1) {\n const cmd = commands[i];\n if (cmd.x !== void 0) {\n blueCircles.push({ x: cmd.x, y: -cmd.y });\n }\n if (cmd.x1 !== void 0) {\n redCircles.push({ x: cmd.x1, y: -cmd.y1 });\n }\n if (cmd.x2 !== void 0) {\n redCircles.push({ x: cmd.x2, y: -cmd.y2 });\n }\n }\n ctx.fillStyle = \"blue\";\n drawCircles(blueCircles, x, y, scale);\n ctx.fillStyle = \"red\";\n drawCircles(redCircles, x, y, scale);\n};\nGlyph.prototype.drawMetrics = function(ctx, x, y, fontSize) {\n let scale;\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 24;\n scale = 1 / this.path.unitsPerEm * fontSize;\n ctx.lineWidth = 1;\n ctx.strokeStyle = \"black\";\n draw_default.line(ctx, x, -1e4, x, 1e4);\n draw_default.line(ctx, -1e4, y, 1e4, y);\n const xMin = this.xMin || 0;\n let yMin = this.yMin || 0;\n const xMax = this.xMax || 0;\n let yMax = this.yMax || 0;\n const advanceWidth = this.advanceWidth || 0;\n ctx.strokeStyle = \"blue\";\n draw_default.line(ctx, x + xMin * scale, -1e4, x + xMin * scale, 1e4);\n draw_default.line(ctx, x + xMax * scale, -1e4, x + xMax * scale, 1e4);\n draw_default.line(ctx, -1e4, y + -yMin * scale, 1e4, y + -yMin * scale);\n draw_default.line(ctx, -1e4, y + -yMax * scale, 1e4, y + -yMax * scale);\n ctx.strokeStyle = \"green\";\n draw_default.line(ctx, x + advanceWidth * scale, -1e4, x + advanceWidth * scale, 1e4);\n};\nGlyph.prototype.toPathData = function(options, font) {\n options = Object.assign({}, { variation: font && font.defaultRenderOptions.variation }, options);\n let useGlyph = this;\n if (font && font.variation) {\n useGlyph = font.variation.getTransform(this, options.variation);\n }\n let usePath = useGlyph.points && options.pointsTransform ? options.pointsTransform(useGlyph.points) : useGlyph.path;\n if (options.pathTransform) {\n usePath = options.pathTransform(usePath);\n }\n return usePath.toPathData(options);\n};\nGlyph.prototype.fromSVG = function(pathData, options = {}) {\n return this.path.fromSVG(pathData, options);\n};\nGlyph.prototype.toSVG = function(options, font) {\n const pathData = this.toPathData.apply(this, [options, font]);\n return this.path.toSVG(options, pathData);\n};\nGlyph.prototype.toDOMElement = function(options, font) {\n options = Object.assign({}, { variation: font && font.defaultRenderOptions.variation }, options);\n let usePath = this.path;\n if (font && font.variation) {\n usePath = font.variation.getTransform(this, options.variation).path;\n }\n return usePath.toDOMElement(options);\n};\nvar glyph_default = Glyph;\n\n// src/glyphset.mjs\nfunction defineDependentProperty(glyph, externalName, internalName) {\n Object.defineProperty(glyph, externalName, {\n get: function() {\n typeof glyph[internalName] === \"undefined\" && glyph.path;\n return glyph[internalName];\n },\n set: function(newValue) {\n glyph[internalName] = newValue;\n },\n enumerable: true,\n configurable: true\n });\n}\nfunction GlyphSet(font, glyphs) {\n this.font = font;\n this.glyphs = {};\n if (Array.isArray(glyphs)) {\n for (let i = 0; i < glyphs.length; i++) {\n const glyph = glyphs[i];\n glyph.path.unitsPerEm = font.unitsPerEm;\n this.glyphs[i] = glyph;\n }\n }\n this.length = glyphs && glyphs.length || 0;\n}\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n GlyphSet.prototype[Symbol.iterator] = function() {\n let n = -1;\n return {\n next: function() {\n n++;\n const done = n >= this.length - 1;\n return { value: this.get(n), done };\n }.bind(this)\n };\n };\n}\nGlyphSet.prototype.get = function(index) {\n if (this.font._push && this.glyphs[index] === void 0) {\n this.font._push(index);\n if (typeof this.glyphs[index] === \"function\") {\n this.glyphs[index] = this.glyphs[index]();\n }\n let glyph = this.glyphs[index];\n let unicodeObj = this.font._IndexToUnicodeMap[index];\n if (unicodeObj) {\n for (let j = 0; j < unicodeObj.unicodes.length; j++)\n glyph.addUnicode(unicodeObj.unicodes[j]);\n }\n if (this.font.cffEncoding) {\n glyph.name = this.font.cffEncoding.charset[index];\n } else if (this.font.glyphNames.names) {\n glyph.name = this.font.glyphNames.glyphIndexToName(index);\n }\n this.glyphs[index].advanceWidth = this.font._hmtxTableData[index].advanceWidth;\n this.glyphs[index].leftSideBearing = this.font._hmtxTableData[index].leftSideBearing;\n } else {\n if (typeof this.glyphs[index] === \"function\") {\n this.glyphs[index] = this.glyphs[index]();\n }\n }\n return this.glyphs[index];\n};\nGlyphSet.prototype.push = function(index, loader) {\n this.glyphs[index] = loader;\n this.length++;\n};\nfunction glyphLoader(font, index) {\n return new glyph_default({ index, font });\n}\nfunction ttfGlyphLoader(font, index, parseGlyph2, data, position, buildPath2) {\n return function() {\n const glyph = new glyph_default({ index, font });\n glyph.path = function() {\n parseGlyph2(glyph, data, position);\n const path = buildPath2(font.glyphs, glyph);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n defineDependentProperty(glyph, \"numberOfContours\", \"_numberOfContours\");\n defineDependentProperty(glyph, \"xMin\", \"_xMin\");\n defineDependentProperty(glyph, \"xMax\", \"_xMax\");\n defineDependentProperty(glyph, \"yMin\", \"_yMin\");\n defineDependentProperty(glyph, \"yMax\", \"_yMax\");\n defineDependentProperty(glyph, \"points\", \"_points\");\n return glyph;\n };\n}\nfunction cffGlyphLoader(font, index, parseCFFCharstring2, charstring, version) {\n return function() {\n const glyph = new glyph_default({ index, font });\n glyph.path = function() {\n const path = parseCFFCharstring2(font, glyph, charstring, version);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n return glyph;\n };\n}\nvar glyphset_default = { GlyphSet, glyphLoader, ttfGlyphLoader, cffGlyphLoader };\n\n// src/tables/cff.mjs\nfunction equals(a, b) {\n if (a === b) {\n return true;\n } else if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i += 1) {\n if (!equals(a[i], b[i])) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n}\nvar MAX_CALL_DEPTH = 10;\nfunction calcCFFSubroutineBias(subrs) {\n let bias;\n if (subrs.length < 1240) {\n bias = 107;\n } else if (subrs.length < 33900) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n return bias;\n}\nfunction parseCFFIndex(data, start, conversionFn, version) {\n const offsets = [];\n const objects = [];\n const count = version > 1 ? parse_default.getULong(data, start) : parse_default.getCard16(data, start);\n const countLength = version > 1 ? 4 : 2;\n let objectOffset;\n let endOffset;\n if (count !== 0) {\n const offsetSize = parse_default.getByte(data, start + countLength);\n objectOffset = start + (count + 1) * offsetSize + countLength;\n let pos = start + countLength + 1;\n for (let i = 0; i < count + 1; i += 1) {\n offsets.push(parse_default.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + countLength;\n }\n for (let i = 0; i < offsets.length - 1; i += 1) {\n let value = parse_default.getBytes(data, objectOffset + offsets[i], objectOffset + offsets[i + 1]);\n if (conversionFn) {\n value = conversionFn(value, data, start, version);\n }\n objects.push(value);\n }\n return { objects, startOffset: start, endOffset };\n}\nfunction parseCFFIndexLowMemory(data, start, version) {\n const offsets = [];\n const count = version > 1 ? parse_default.getULong(data, start) : parse_default.getCard16(data, start);\n const countLength = version > 1 ? 4 : 2;\n let objectOffset;\n let endOffset;\n if (count !== 0) {\n const offsetSize = parse_default.getByte(data, start + countLength);\n objectOffset = start + (count + 1) * offsetSize + countLength;\n let pos = start + countLength + 1;\n for (let i = 0; i < count + 1; i += 1) {\n offsets.push(parse_default.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + countLength;\n }\n return { offsets, startOffset: start, endOffset };\n}\nfunction getCffIndexObject(i, offsets, data, start, conversionFn, version) {\n const count = version > 1 ? parse_default.getULong(data, start) : parse_default.getCard16(data, start);\n const countLength = version > 1 ? 4 : 2;\n let objectOffset = 0;\n if (count !== 0) {\n const offsetSize = parse_default.getByte(data, start + countLength);\n objectOffset = start + (count + 1) * offsetSize + countLength;\n }\n let value = parse_default.getBytes(data, objectOffset + offsets[i], objectOffset + offsets[i + 1]);\n if (conversionFn) {\n value = conversionFn(value);\n }\n return value;\n}\nfunction parseFloatOperand(parser) {\n let s = \"\";\n const eof = 15;\n const lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n for (; ; ) {\n const b = parser.parseByte();\n const n1 = b >> 4;\n const n2 = b & 15;\n if (n1 === eof) {\n break;\n }\n s += lookup[n1];\n if (n2 === eof) {\n break;\n }\n s += lookup[n2];\n }\n return parseFloat(s);\n}\nfunction parseOperand(parser, b0) {\n let b1;\n let b2;\n let b3;\n let b4;\n if (b0 === 28) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n return b1 << 8 | b2;\n }\n if (b0 === 29) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n b3 = parser.parseByte();\n b4 = parser.parseByte();\n return b1 << 24 | b2 << 16 | b3 << 8 | b4;\n }\n if (b0 === 30) {\n return parseFloatOperand(parser);\n }\n if (b0 >= 32 && b0 <= 246) {\n return b0 - 139;\n }\n if (b0 >= 247 && b0 <= 250) {\n b1 = parser.parseByte();\n return (b0 - 247) * 256 + b1 + 108;\n }\n if (b0 >= 251 && b0 <= 254) {\n b1 = parser.parseByte();\n return -(b0 - 251) * 256 - b1 - 108;\n }\n throw new Error(\"Invalid b0 \" + b0);\n}\nfunction entriesToObject(entries) {\n const o = {};\n for (let i = 0; i < entries.length; i += 1) {\n const key = entries[i][0];\n const values = entries[i][1];\n let value;\n if (values.length === 1) {\n value = values[0];\n } else {\n value = values;\n }\n if (Object.prototype.hasOwnProperty.call(o, key) && !isNaN(o[key])) {\n throw new Error(\"Object \" + o + \" already has key \" + key);\n }\n o[key] = value;\n }\n return o;\n}\nfunction parseCFFDict(data, start, size, version) {\n start = start !== void 0 ? start : 0;\n const parser = new parse_default.Parser(data, start);\n const entries = [];\n let operands = [];\n size = size !== void 0 ? size : data.byteLength;\n let operandsStart = version < 2 ? 22 : 28;\n while (parser.relativeOffset < size) {\n let op = parser.parseByte();\n if (op < operandsStart) {\n if (op === 12) {\n op = 1200 + parser.parseByte();\n }\n if (version > 1 && op === 23) {\n parseBlend(operands);\n continue;\n }\n entries.push([op, operands]);\n operands = [];\n } else {\n operands.push(parseOperand(parser, op, version));\n }\n }\n return entriesToObject(entries);\n}\nfunction getCFFString(strings, index) {\n if (index <= 390) {\n index = cffStandardStrings[index];\n } else if (strings) {\n index = strings[index - 391];\n } else {\n index = void 0;\n }\n return index;\n}\nfunction interpretDict(dict, meta, strings) {\n const newDict = {};\n let value;\n for (let i = 0; i < meta.length; i += 1) {\n const m = meta[i];\n if (Array.isArray(m.type)) {\n const values = [];\n values.length = m.type.length;\n for (let j = 0; j < m.type.length; j++) {\n value = dict[m.op] !== void 0 ? dict[m.op][j] : void 0;\n if (value === void 0) {\n value = m.value !== void 0 && m.value[j] !== void 0 ? m.value[j] : null;\n }\n if (m.type[j] === \"SID\") {\n value = getCFFString(strings, value);\n }\n values[j] = value;\n }\n newDict[m.name] = values;\n } else {\n value = dict[m.op];\n if (value === void 0) {\n value = m.value !== void 0 ? m.value : null;\n }\n if (m.type === \"SID\") {\n value = getCFFString(strings, value);\n }\n newDict[m.name] = value;\n }\n }\n return newDict;\n}\nfunction parseCFFHeader(data, start) {\n const header = {};\n header.formatMajor = parse_default.getCard8(data, start);\n header.formatMinor = parse_default.getCard8(data, start + 1);\n if (header.formatMajor > 2) {\n throw new Error(`Unsupported CFF table version ${header.formatMajor}.${header.formatMinor}`);\n }\n header.size = parse_default.getCard8(data, start + 2);\n if (header.formatMajor < 2) {\n header.offsetSize = parse_default.getCard8(data, start + 3);\n header.startOffset = start;\n header.endOffset = start + 4;\n } else {\n header.topDictLength = parse_default.getCard16(data, start + 3);\n header.endOffset = start + 8;\n }\n return header;\n}\nvar TOP_DICT_META = [\n { name: \"version\", op: 0, type: \"SID\" },\n { name: \"notice\", op: 1, type: \"SID\" },\n { name: \"copyright\", op: 1200, type: \"SID\" },\n { name: \"fullName\", op: 2, type: \"SID\" },\n { name: \"familyName\", op: 3, type: \"SID\" },\n { name: \"weight\", op: 4, type: \"SID\" },\n { name: \"isFixedPitch\", op: 1201, type: \"number\", value: 0 },\n { name: \"italicAngle\", op: 1202, type: \"number\", value: 0 },\n { name: \"underlinePosition\", op: 1203, type: \"number\", value: -100 },\n { name: \"underlineThickness\", op: 1204, type: \"number\", value: 50 },\n { name: \"paintType\", op: 1205, type: \"number\", value: 0 },\n { name: \"charstringType\", op: 1206, type: \"number\", value: 2 },\n {\n name: \"fontMatrix\",\n op: 1207,\n type: [\"real\", \"real\", \"real\", \"real\", \"real\", \"real\"],\n value: [1e-3, 0, 0, 1e-3, 0, 0]\n },\n { name: \"uniqueId\", op: 13, type: \"number\" },\n { name: \"fontBBox\", op: 5, type: [\"number\", \"number\", \"number\", \"number\"], value: [0, 0, 0, 0] },\n { name: \"strokeWidth\", op: 1208, type: \"number\", value: 0 },\n { name: \"xuid\", op: 14, type: [], value: null },\n { name: \"charset\", op: 15, type: \"offset\", value: 0 },\n { name: \"encoding\", op: 16, type: \"offset\", value: 0 },\n { name: \"charStrings\", op: 17, type: \"offset\", value: 0 },\n { name: \"private\", op: 18, type: [\"number\", \"offset\"], value: [0, 0] },\n { name: \"ros\", op: 1230, type: [\"SID\", \"SID\", \"number\"] },\n { name: \"cidFontVersion\", op: 1231, type: \"number\", value: 0 },\n { name: \"cidFontRevision\", op: 1232, type: \"number\", value: 0 },\n { name: \"cidFontType\", op: 1233, type: \"number\", value: 0 },\n { name: \"cidCount\", op: 1234, type: \"number\", value: 8720 },\n { name: \"uidBase\", op: 1235, type: \"number\" },\n { name: \"fdArray\", op: 1236, type: \"offset\" },\n { name: \"fdSelect\", op: 1237, type: \"offset\" },\n { name: \"fontName\", op: 1238, type: \"SID\" }\n];\nvar TOP_DICT_META_CFF2 = [\n {\n name: \"fontMatrix\",\n op: 1207,\n type: [\"real\", \"real\", \"real\", \"real\", \"real\", \"real\"],\n value: [1e-3, 0, 0, 1e-3, 0, 0]\n },\n { name: \"charStrings\", op: 17, type: \"offset\" },\n { name: \"fdArray\", op: 1236, type: \"offset\" },\n { name: \"fdSelect\", op: 1237, type: \"offset\" },\n { name: \"vstore\", op: 24, type: \"offset\" }\n];\nvar PRIVATE_DICT_META = [\n { name: \"subrs\", op: 19, type: \"offset\", value: 0 },\n { name: \"defaultWidthX\", op: 20, type: \"number\", value: 0 },\n { name: \"nominalWidthX\", op: 21, type: \"number\", value: 0 }\n];\nvar PRIVATE_DICT_META_CFF2 = [\n { name: \"blueValues\", op: 6, type: \"delta\" },\n { name: \"otherBlues\", op: 7, type: \"delta\" },\n { name: \"familyBlues\", op: 7, type: \"delta\" },\n { name: \"familyBlues\", op: 8, type: \"delta\" },\n { name: \"familyOtherBlues\", op: 9, type: \"delta\" },\n { name: \"blueScale\", op: 1209, type: \"number\", value: 0.039625 },\n { name: \"blueShift\", op: 1210, type: \"number\", value: 7 },\n { name: \"blueFuzz\", op: 1211, type: \"number\", value: 1 },\n { name: \"stdHW\", op: 10, type: \"number\" },\n { name: \"stdVW\", op: 11, type: \"number\" },\n { name: \"stemSnapH\", op: 1212, type: \"number\" },\n { name: \"stemSnapV\", op: 1213, type: \"number\" },\n { name: \"languageGroup\", op: 1217, type: \"number\", value: 0 },\n { name: \"expansionFactor\", op: 1218, type: \"number\", value: 0.06 },\n { name: \"vsindex\", op: 22, type: \"number\", value: 0 },\n { name: \"subrs\", op: 19, type: \"offset\" }\n];\nvar FONT_DICT_META = [\n { name: \"private\", op: 18, type: [\"number\", \"offset\"], value: [0, 0] }\n];\nfunction parseCFFTopDict(data, start, strings, version) {\n const dict = parseCFFDict(data, start, data.byteLength, version);\n return interpretDict(dict, version > 1 ? TOP_DICT_META_CFF2 : TOP_DICT_META, strings);\n}\nfunction parseCFFPrivateDict(data, start, size, strings, version) {\n const dict = parseCFFDict(data, start, size, version);\n return interpretDict(dict, version > 1 ? PRIVATE_DICT_META_CFF2 : PRIVATE_DICT_META, strings);\n}\nfunction parseFontDict(data, start, version) {\n const dict = parseCFFDict(data, start, void 0, version);\n return interpretDict(dict, FONT_DICT_META);\n}\nfunction gatherCFF2FontDicts(data, start, fdArray) {\n const fontDictArray = [];\n for (let i = 0; i < fdArray.length; i++) {\n const fontDictData = new DataView(new Uint8Array(fdArray[i]).buffer);\n const fontDict = parseFontDict(fontDictData, 0, 2);\n const privateSize = fontDict.private[0];\n const privateOffset = fontDict.private[1];\n if (privateSize !== 0 && privateOffset !== 0) {\n const privateDict = parseCFFPrivateDict(data, privateOffset + start, privateSize, [], 2);\n if (privateDict.subrs) {\n const subrOffset = privateOffset + privateDict.subrs;\n const subrIndex = parseCFFIndex(data, subrOffset + start, void 0, 2);\n fontDict._subrs = subrIndex.objects;\n fontDict._subrsBias = calcCFFSubroutineBias(fontDict._subrs);\n }\n fontDict._privateDict = privateDict;\n }\n fontDictArray.push(fontDict);\n }\n return fontDictArray;\n}\nfunction gatherCFFTopDicts(data, start, cffIndex, strings, version) {\n const topDictArray = [];\n for (let iTopDict = 0; iTopDict < cffIndex.length; iTopDict += 1) {\n const topDictData = new DataView(new Uint8Array(cffIndex[iTopDict]).buffer);\n const topDict = parseCFFTopDict(topDictData, 0, strings, version);\n topDict._subrs = [];\n topDict._subrsBias = 0;\n topDict._defaultWidthX = 0;\n topDict._nominalWidthX = 0;\n const privateSize = version < 2 ? topDict.private[0] : 0;\n const privateOffset = version < 2 ? topDict.private[1] : 0;\n if (privateSize !== 0 && privateOffset !== 0) {\n const privateDict = parseCFFPrivateDict(data, privateOffset + start, privateSize, strings, version);\n topDict._defaultWidthX = privateDict.defaultWidthX;\n topDict._nominalWidthX = privateDict.nominalWidthX;\n if (privateDict.subrs !== 0) {\n const subrOffset = privateOffset + privateDict.subrs;\n const subrIndex = parseCFFIndex(data, subrOffset + start, void 0, version);\n topDict._subrs = subrIndex.objects;\n topDict._subrsBias = calcCFFSubroutineBias(topDict._subrs);\n }\n topDict._privateDict = privateDict;\n }\n topDictArray.push(topDict);\n }\n return topDictArray;\n}\nfunction parseCFFCharset(data, start, nGlyphs, strings, isCIDFont) {\n let sid;\n let count;\n const parser = new parse_default.Parser(data, start);\n nGlyphs -= 1;\n const charset = [\".notdef\"];\n const format = parser.parseCard8();\n if (format === 0) {\n for (let i = 0; i < nGlyphs; i += 1) {\n sid = parser.parseSID();\n if (isCIDFont) {\n charset.push(sid);\n } else {\n charset.push(getCFFString(strings, sid) || sid);\n }\n }\n } else if (format === 1) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard8();\n for (let i = 0; i <= count; i += 1) {\n if (isCIDFont) {\n charset.push(\"cid\" + (\"00000\" + sid).slice(-5));\n } else {\n charset.push(getCFFString(strings, sid) || sid);\n }\n sid += 1;\n }\n }\n } else if (format === 2) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard16();\n for (let i = 0; i <= count; i += 1) {\n if (isCIDFont) {\n charset.push(\"cid\" + (\"00000\" + sid).slice(-5));\n } else {\n charset.push(getCFFString(strings, sid) || sid);\n }\n sid += 1;\n }\n }\n } else {\n throw new Error(\"Unknown charset format \" + format);\n }\n return charset;\n}\nfunction parseCFFEncoding(data, start) {\n let code;\n const encoding = {};\n const parser = new parse_default.Parser(data, start);\n const format = parser.parseCard8();\n if (format === 0) {\n const nCodes = parser.parseCard8();\n for (let i = 0; i < nCodes; i += 1) {\n code = parser.parseCard8();\n encoding[code] = i;\n }\n } else if (format === 1) {\n const nRanges = parser.parseCard8();\n code = 1;\n for (let i = 0; i < nRanges; i += 1) {\n const first = parser.parseCard8();\n const nLeft = parser.parseCard8();\n for (let j = first; j <= first + nLeft; j += 1) {\n encoding[j] = code;\n code += 1;\n }\n }\n } else {\n throw new Error(\"Unknown encoding format \" + format);\n }\n return encoding;\n}\nfunction parseBlend(operands) {\n let numberOfBlends = operands.pop();\n while (operands.length > numberOfBlends) {\n operands.pop();\n }\n}\nfunction applyPaintType(font, path) {\n const paintType = font.tables.cff && font.tables.cff.topDict && font.tables.cff.topDict.paintType || 0;\n if (paintType === 2) {\n path.fill = null;\n path.stroke = \"black\";\n path.strokeWidth = font.tables.cff.topDict.strokeWidth || 0;\n }\n return paintType;\n}\nfunction parseCFFCharstring(font, glyph, code, version, coords) {\n let c1x;\n let c1y;\n let c2x;\n let c2y;\n const p = new path_default();\n const stack = [];\n let nStems = 0;\n let haveWidth = false;\n let open = false;\n let x = 0;\n let y = 0;\n let subrs;\n let subrsBias;\n let defaultWidthX;\n let nominalWidthX;\n let vsindex = 0;\n let vstore = [];\n let blendVector;\n let callDepth = 0;\n const cffTable = font.tables.cff2 || font.tables.cff;\n defaultWidthX = cffTable.topDict._defaultWidthX;\n nominalWidthX = cffTable.topDict._nominalWidthX;\n coords = coords || font.variation && font.variation.get();\n if (!glyph.getBlendPath) {\n glyph.getBlendPath = function(variationCoords) {\n return parseCFFCharstring(font, glyph, code, version, variationCoords);\n };\n }\n if (font.isCIDFont || version > 1) {\n const fdIndex = cffTable.topDict._fdSelect ? cffTable.topDict._fdSelect[glyph.index] : 0;\n const fdDict = cffTable.topDict._fdArray[fdIndex];\n subrs = fdDict._subrs;\n subrsBias = fdDict._subrsBias;\n if (version > 1) {\n vstore = cffTable.topDict._vstore.itemVariationStore;\n vsindex = fdDict._privateDict.vsindex;\n } else {\n defaultWidthX = fdDict._defaultWidthX;\n nominalWidthX = fdDict._nominalWidthX;\n }\n } else {\n subrs = cffTable.topDict._subrs;\n subrsBias = cffTable.topDict._subrsBias;\n }\n const paintType = applyPaintType(font, p);\n let width = defaultWidthX;\n function newContour(x2, y2) {\n if (open && paintType !== 2) {\n p.closePath();\n }\n p.moveTo(x2, y2);\n open = true;\n }\n function parseStems() {\n let hasWidthArg;\n hasWidthArg = (stack.length & 1) !== 0;\n if (hasWidthArg && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n }\n nStems += stack.length >> 1;\n stack.length = 0;\n haveWidth = true;\n }\n function parse(code2) {\n let b1;\n let b2;\n let b3;\n let b4;\n let codeIndex;\n let subrCode;\n let jpx;\n let jpy;\n let c3x;\n let c3y;\n let c4x;\n let c4y;\n let i = 0;\n while (i < code2.length) {\n let v = code2[i];\n i += 1;\n switch (v) {\n case 1:\n parseStems();\n break;\n case 3:\n parseStems();\n break;\n case 4:\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n y += stack.pop();\n newContour(x, y);\n break;\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n break;\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n y += stack.shift();\n p.lineTo(x, y);\n }\n break;\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n x += stack.shift();\n p.lineTo(x, y);\n }\n break;\n case 8:\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 10:\n codeIndex = stack.pop() + subrsBias;\n subrCode = subrs[codeIndex];\n if (subrCode) {\n if (callDepth >= MAX_CALL_DEPTH) {\n console.warn(\"CFF charstring subroutine call depth exceeded, skipping callsubr\");\n break;\n }\n callDepth++;\n parse(subrCode);\n callDepth--;\n }\n break;\n case 11:\n if (version > 1) {\n console.error(\"CFF CharString operator return (11) is not supported in CFF2\");\n break;\n }\n return;\n case 12:\n v = code2[i];\n i += 1;\n switch (v) {\n case 35:\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y + stack.shift();\n c3x = jpx + stack.shift();\n c3y = jpy + stack.shift();\n c4x = c3x + stack.shift();\n c4y = c3y + stack.shift();\n x = c4x + stack.shift();\n y = c4y + stack.shift();\n stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 34:\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y;\n c3x = jpx + stack.shift();\n c3y = c2y;\n c4x = c3x + stack.shift();\n c4y = y;\n x = c4x + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 36:\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y;\n c3x = jpx + stack.shift();\n c3y = c2y;\n c4x = c3x + stack.shift();\n c4y = c3y + stack.shift();\n x = c4x + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 37:\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y + stack.shift();\n c3x = jpx + stack.shift();\n c3y = jpy + stack.shift();\n c4x = c3x + stack.shift();\n c4y = c3y + stack.shift();\n if (Math.abs(c4x - x) > Math.abs(c4y - y)) {\n x = c4x + stack.shift();\n } else {\n y = c4y + stack.shift();\n }\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n default:\n console.log(\"Glyph \" + glyph.index + \": unknown operator 1200\" + v);\n stack.length = 0;\n }\n break;\n case 14:\n if (version > 1) {\n console.error(\"CFF CharString operator endchar (14) is not supported in CFF2\");\n break;\n }\n if (stack.length >= 4) {\n const acharName = cffStandardEncoding[stack.pop()];\n const bcharName = cffStandardEncoding[stack.pop()];\n const ady = stack.pop();\n const adx = stack.pop();\n if (acharName && bcharName) {\n glyph.isComposite = true;\n glyph.components = [];\n const acharGlyphIndex = font.cffEncoding.charset.indexOf(acharName);\n const bcharGlyphIndex = font.cffEncoding.charset.indexOf(bcharName);\n glyph.components.push({\n glyphIndex: bcharGlyphIndex,\n dx: 0,\n dy: 0\n });\n glyph.components.push({\n glyphIndex: acharGlyphIndex,\n dx: adx,\n dy: ady\n });\n p.extend(font.glyphs.get(bcharGlyphIndex).path);\n const acharGlyph = font.glyphs.get(acharGlyphIndex);\n const shiftedCommands = JSON.parse(JSON.stringify(acharGlyph.path.commands));\n for (let i2 = 0; i2 < shiftedCommands.length; i2 += 1) {\n const cmd = shiftedCommands[i2];\n if (cmd.type !== \"Z\") {\n cmd.x += adx;\n cmd.y += ady;\n }\n if (cmd.type === \"Q\" || cmd.type === \"C\") {\n cmd.x1 += adx;\n cmd.y1 += ady;\n }\n if (cmd.type === \"C\") {\n cmd.x2 += adx;\n cmd.y2 += ady;\n }\n }\n p.extend(shiftedCommands);\n }\n } else if (stack.length > 0 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n if (open && paintType !== 2) {\n p.closePath();\n open = false;\n }\n break;\n case 15:\n if (version < 2) {\n console.error(\"CFF2 CharString operator vsindex (15) is not supported in CFF\");\n break;\n }\n vsindex = stack.pop();\n break;\n case 16:\n if (version < 2) {\n console.error(\"CFF2 CharString operator blend (16) is not supported in CFF\");\n break;\n }\n if (!blendVector) {\n blendVector = font.variation && coords && font.variation.process.getBlendVector(vstore, vsindex, coords);\n }\n var n = stack.pop();\n var axisCount = blendVector ? blendVector.length : vstore.itemVariationSubtables[vsindex].regionIndexes.length;\n var deltaSetCount = n * axisCount;\n var delta = stack.length - deltaSetCount;\n var deltaSetIndex = delta - n;\n if (blendVector) {\n for (let i2 = 0; i2 < n; i2++) {\n var sum = stack[deltaSetIndex + i2];\n for (let j = 0; j < axisCount; j++) {\n sum += blendVector[j] * stack[delta++];\n }\n stack[deltaSetIndex + i2] = sum;\n }\n }\n while (deltaSetCount--) {\n stack.pop();\n }\n break;\n case 18:\n parseStems();\n break;\n case 19:\n // hintmask\n case 20:\n parseStems();\n i += nStems + 7 >> 3;\n break;\n case 21:\n if (stack.length > 2 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n y += stack.pop();\n x += stack.pop();\n newContour(x, y);\n break;\n case 22:\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n x += stack.pop();\n newContour(x, y);\n break;\n case 23:\n parseStems();\n break;\n case 24:\n while (stack.length > 2) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n break;\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n break;\n case 26:\n if (stack.length & 1) {\n x += stack.shift();\n }\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x;\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 27:\n if (stack.length & 1) {\n y += stack.shift();\n }\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y;\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 28:\n b1 = code2[i];\n b2 = code2[i + 1];\n stack.push((b1 << 24 | b2 << 16) >> 16);\n i += 2;\n break;\n case 29:\n codeIndex = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[codeIndex];\n if (subrCode) {\n if (callDepth >= MAX_CALL_DEPTH) {\n console.warn(\"CFF charstring subroutine call depth exceeded, skipping callgsubr\");\n break;\n }\n callDepth++;\n parse(subrCode);\n callDepth--;\n }\n break;\n case 30:\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 31:\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n default:\n if (v < 32) {\n console.log(\"Glyph \" + glyph.index + \": unknown operator \" + v);\n } else if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n b1 = code2[i];\n i += 1;\n stack.push((v - 247) * 256 + b1 + 108);\n } else if (v < 255) {\n b1 = code2[i];\n i += 1;\n stack.push(-(v - 251) * 256 - b1 - 108);\n } else {\n b1 = code2[i];\n b2 = code2[i + 1];\n b3 = code2[i + 2];\n b4 = code2[i + 3];\n i += 4;\n stack.push((b1 << 24 | b2 << 16 | b3 << 8 | b4) / 65536);\n }\n }\n }\n }\n parse(code);\n if (font.variation && coords) {\n p.commands = p.commands.map((c) => {\n const keys = Object.keys(c);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key === \"type\") continue;\n c[key] = Math.round(c[key]);\n }\n return c;\n });\n }\n if (haveWidth) {\n glyph.advanceWidth = width;\n }\n return p;\n}\nfunction parseCFFFDSelect(data, start, nGlyphs, fdArrayCount, version) {\n const fdSelect = [];\n let fdIndex;\n const parser = new parse_default.Parser(data, start);\n const format = parser.parseCard8();\n if (format === 0) {\n for (let iGid = 0; iGid < nGlyphs; iGid++) {\n fdIndex = parser.parseCard8();\n if (fdIndex >= fdArrayCount) {\n throw new Error(\"CFF table CID Font FDSelect has bad FD index value \" + fdIndex + \" (FD count \" + fdArrayCount + \")\");\n }\n fdSelect.push(fdIndex);\n }\n } else if (format === 3 || version > 1 && format === 4) {\n const nRanges = format === 4 ? parser.parseULong() : parser.parseCard16();\n let first = format === 4 ? parser.parseULong() : parser.parseCard16();\n if (first !== 0) {\n throw new Error(`CFF Table CID Font FDSelect format ${format} range has bad initial GID ${first}`);\n }\n let next;\n for (let iRange = 0; iRange < nRanges; iRange++) {\n fdIndex = format === 4 ? parser.parseUShort() : parser.parseCard8();\n next = format === 4 ? parser.parseULong() : parser.parseCard16();\n if (fdIndex >= fdArrayCount) {\n throw new Error(\"CFF table CID Font FDSelect has bad FD index value \" + fdIndex + \" (FD count \" + fdArrayCount + \")\");\n }\n if (next > nGlyphs) {\n throw new Error(`CFF Table CID Font FDSelect format ${version} range has bad GID ${next}`);\n }\n for (; first < next; first++) {\n fdSelect.push(fdIndex);\n }\n first = next;\n }\n if (next !== nGlyphs) {\n throw new Error(\"CFF Table CID Font FDSelect format 3 range has bad final (Sentinal) GID \" + next);\n }\n } else {\n throw new Error(\"CFF Table CID Font FDSelect table has unsupported format \" + format);\n }\n return fdSelect;\n}\nfunction parseCFFTable(data, start, font, opt) {\n let resultTable;\n const header = parseCFFHeader(data, start);\n if (header.formatMajor === 2) {\n resultTable = font.tables.cff2 = {};\n } else {\n resultTable = font.tables.cff = {};\n }\n const nameIndex = header.formatMajor > 1 ? null : parseCFFIndex(data, header.endOffset, parse_default.bytesToString);\n const topDictIndex = header.formatMajor > 1 ? null : parseCFFIndex(data, nameIndex.endOffset);\n const stringIndex = header.formatMajor > 1 ? null : parseCFFIndex(data, topDictIndex.endOffset, parse_default.bytesToString);\n const globalSubrIndex = parseCFFIndex(data, header.formatMajor > 1 ? start + header.size + header.topDictLength : stringIndex.endOffset, void 0, header.formatMajor);\n font.gsubrs = globalSubrIndex.objects;\n font.gsubrsBias = calcCFFSubroutineBias(font.gsubrs);\n let topDict;\n if (header.formatMajor > 1) {\n const topDictOffset = start + header.size;\n const topDictData = parse_default.getBytes(data, topDictOffset, topDictOffset + header.topDictLength);\n topDict = gatherCFFTopDicts(data, 0, [topDictData], void 0, header.formatMajor)[0];\n } else {\n const topDictArray = gatherCFFTopDicts(data, start, topDictIndex.objects, stringIndex.objects, header.formatMajor);\n if (topDictArray.length !== 1) {\n throw new Error(\"CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = \" + topDictArray.length);\n }\n topDict = topDictArray[0];\n }\n resultTable.topDict = topDict;\n if (topDict._privateDict) {\n font.defaultWidthX = topDict._privateDict.defaultWidthX;\n font.nominalWidthX = topDict._privateDict.nominalWidthX;\n }\n if (header.formatMajor < 2 && topDict.ros[0] !== void 0 && topDict.ros[1] !== void 0) {\n font.isCIDFont = true;\n }\n if (header.formatMajor > 1) {\n let fdArrayIndexOffset = topDict.fdArray;\n let fdSelectOffset = topDict.fdSelect;\n if (!fdArrayIndexOffset) {\n throw new Error(\"This is a CFF2 font, but FDArray information is missing\");\n }\n const fdArrayIndex = parseCFFIndex(data, start + fdArrayIndexOffset, null, header.formatMajor);\n const fdArray = gatherCFF2FontDicts(data, start, fdArrayIndex.objects);\n topDict._fdArray = fdArray;\n if (fdSelectOffset) {\n topDict._fdSelect = parseCFFFDSelect(data, start + fdSelectOffset, font.numGlyphs, fdArray.length, header.formatMajor);\n }\n } else if (font.isCIDFont) {\n let fdArrayOffset = topDict.fdArray;\n let fdSelectOffset = topDict.fdSelect;\n if (fdArrayOffset === 0 || fdSelectOffset === 0) {\n throw new Error(\"Font is marked as a CID font, but FDArray and/or FDSelect information is missing\");\n }\n fdArrayOffset += start;\n const fdArrayIndex = parseCFFIndex(data, fdArrayOffset);\n const fdArray = gatherCFFTopDicts(data, start, fdArrayIndex.objects, stringIndex.objects, header.formatMajor);\n topDict._fdArray = fdArray;\n fdSelectOffset += start;\n topDict._fdSelect = parseCFFFDSelect(data, fdSelectOffset, font.numGlyphs, fdArray.length, header.formatMajor);\n }\n if (header.formatMajor < 2) {\n const privateDictOffset = start + topDict.private[1];\n const privateDict = parseCFFPrivateDict(data, privateDictOffset, topDict.private[0], stringIndex.objects, header.formatMajor);\n font.defaultWidthX = privateDict.defaultWidthX;\n font.nominalWidthX = privateDict.nominalWidthX;\n if (privateDict.subrs !== 0) {\n const subrOffset = privateDictOffset + privateDict.subrs;\n const subrIndex = parseCFFIndex(data, subrOffset);\n font.subrs = subrIndex.objects;\n font.subrsBias = calcCFFSubroutineBias(font.subrs);\n } else {\n font.subrs = [];\n font.subrsBias = 0;\n }\n }\n let charStringsIndex;\n if (opt.lowMemory) {\n charStringsIndex = parseCFFIndexLowMemory(data, start + topDict.charStrings, header.formatMajor);\n font.nGlyphs = charStringsIndex.offsets.length - (header.formatMajor > 1 ? 1 : 0);\n } else {\n charStringsIndex = parseCFFIndex(data, start + topDict.charStrings, null, header.formatMajor);\n font.nGlyphs = charStringsIndex.objects.length;\n }\n if (header.formatMajor > 1 && font.tables.maxp && font.nGlyphs !== font.tables.maxp.numGlyphs) {\n console.error(`Glyph count in the CFF2 table (${font.nGlyphs}) must correspond to the glyph count in the maxp table (${font.tables.maxp.numGlyphs})`);\n }\n if (header.formatMajor < 2) {\n let charset = [];\n let encoding = [];\n if (topDict.charset === 0) {\n charset = cffISOAdobeStrings;\n } else if (topDict.charset === 1) {\n charset = cffIExpertStrings;\n } else if (topDict.charset === 2) {\n charset = cffExpertSubsetStrings;\n } else {\n charset = parseCFFCharset(data, start + topDict.charset, font.nGlyphs, stringIndex.objects, font.isCIDFont);\n }\n if (topDict.encoding === 0) {\n encoding = cffStandardEncoding;\n } else if (topDict.encoding === 1) {\n encoding = cffExpertEncoding;\n } else {\n encoding = parseCFFEncoding(data, start + topDict.encoding);\n }\n font.cffEncoding = new CffEncoding(encoding, charset);\n font.encoding = font.encoding || font.cffEncoding;\n }\n font.glyphs = new glyphset_default.GlyphSet(font);\n if (opt.lowMemory) {\n font._push = function(i) {\n const charString = getCffIndexObject(i, charStringsIndex.offsets, data, start + topDict.charStrings, void 0, header.formatMajor);\n font.glyphs.push(i, glyphset_default.cffGlyphLoader(font, i, parseCFFCharstring, charString, header.formatMajor));\n };\n } else {\n for (let i = 0; i < font.nGlyphs; i += 1) {\n const charString = charStringsIndex.objects[i];\n font.glyphs.push(i, glyphset_default.cffGlyphLoader(font, i, parseCFFCharstring, charString, header.formatMajor));\n }\n }\n if (topDict.vstore) {\n const p = new parse_default.Parser(data, start + topDict.vstore);\n topDict._vstore = p.parseVariationStore();\n }\n}\nfunction encodeString(s, strings) {\n let sid;\n let i = cffStandardStrings.indexOf(s);\n if (i >= 0) {\n sid = i;\n }\n i = strings.indexOf(s);\n if (i >= 0) {\n sid = i + cffStandardStrings.length;\n } else {\n sid = cffStandardStrings.length + strings.length;\n strings.push(s);\n }\n return sid;\n}\nfunction makeHeader() {\n return new table_default.Record(\"Header\", [\n { name: \"major\", type: \"Card8\", value: 1 },\n { name: \"minor\", type: \"Card8\", value: 0 },\n { name: \"hdrSize\", type: \"Card8\", value: 4 },\n { name: \"major\", type: \"Card8\", value: 1 }\n ]);\n}\nfunction makeNameIndex(fontNames) {\n const t = new table_default.Record(\"Name INDEX\", [\n { name: \"names\", type: \"INDEX\", value: [] }\n ]);\n t.names = [];\n for (let i = 0; i < fontNames.length; i += 1) {\n t.names.push({ name: \"name_\" + i, type: \"NAME\", value: fontNames[i] });\n }\n return t;\n}\nfunction makeDict(meta, attrs, strings) {\n const m = {};\n for (let i = 0; i < meta.length; i += 1) {\n const entry = meta[i];\n let value = attrs[entry.name];\n if (value !== void 0 && !equals(value, entry.value)) {\n if (entry.type === \"SID\") {\n value = encodeString(value, strings);\n }\n m[entry.op] = { name: entry.name, type: entry.type, value };\n }\n }\n return m;\n}\nfunction makeTopDict(attrs, strings, version) {\n const t = new table_default.Record(\"Top DICT\", [\n { name: \"dict\", type: \"DICT\", value: {} }\n ]);\n t.dict = makeDict(version > 1 ? TOP_DICT_META_CFF2 : TOP_DICT_META, attrs, strings);\n return t;\n}\nfunction makeTopDictIndex(topDict) {\n const t = new table_default.Record(\"Top DICT INDEX\", [\n { name: \"topDicts\", type: \"INDEX\", value: [] }\n ]);\n t.topDicts = [{ name: \"topDict_0\", type: \"TABLE\", value: topDict }];\n return t;\n}\nfunction makeStringIndex(strings) {\n const t = new table_default.Record(\"String INDEX\", [\n { name: \"strings\", type: \"INDEX\", value: [] }\n ]);\n t.strings = [];\n for (let i = 0; i < strings.length; i += 1) {\n t.strings.push({ name: \"string_\" + i, type: \"STRING\", value: strings[i] });\n }\n return t;\n}\nfunction makeGlobalSubrIndex() {\n return new table_default.Record(\"Global Subr INDEX\", [\n { name: \"subrs\", type: \"INDEX\", value: [] }\n ]);\n}\nfunction makeCharsets(glyphNames, strings) {\n const t = new table_default.Record(\"Charsets\", [\n { name: \"format\", type: \"Card8\", value: 0 }\n ]);\n for (let i = 0; i < glyphNames.length; i += 1) {\n const glyphName = glyphNames[i];\n const glyphSID = encodeString(glyphName, strings);\n t.fields.push({ name: \"glyph_\" + i, type: \"SID\", value: glyphSID });\n }\n return t;\n}\nfunction glyphToOps(glyph, version) {\n const ops = [];\n const path = glyph.path;\n if (version < 2) {\n ops.push({ name: \"width\", type: \"NUMBER\", value: glyph.advanceWidth });\n }\n let x = 0;\n let y = 0;\n for (let i = 0; i < path.commands.length; i += 1) {\n let dx;\n let dy;\n let cmd = path.commands[i];\n if (cmd.type === \"Q\") {\n const _13 = 1 / 3;\n const _23 = 2 / 3;\n cmd = {\n type: \"C\",\n x: cmd.x,\n y: cmd.y,\n x1: Math.round(_13 * x + _23 * cmd.x1),\n y1: Math.round(_13 * y + _23 * cmd.y1),\n x2: Math.round(_13 * cmd.x + _23 * cmd.x1),\n y2: Math.round(_13 * cmd.y + _23 * cmd.y1)\n };\n }\n if (cmd.type === \"M\") {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({ name: \"dx\", type: \"NUMBER\", value: dx });\n ops.push({ name: \"dy\", type: \"NUMBER\", value: dy });\n ops.push({ name: \"rmoveto\", type: \"OP\", value: 21 });\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === \"L\") {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({ name: \"dx\", type: \"NUMBER\", value: dx });\n ops.push({ name: \"dy\", type: \"NUMBER\", value: dy });\n ops.push({ name: \"rlineto\", type: \"OP\", value: 5 });\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === \"C\") {\n const dx1 = Math.round(cmd.x1 - x);\n const dy1 = Math.round(cmd.y1 - y);\n const dx2 = Math.round(cmd.x2 - cmd.x1);\n const dy2 = Math.round(cmd.y2 - cmd.y1);\n dx = Math.round(cmd.x - cmd.x2);\n dy = Math.round(cmd.y - cmd.y2);\n ops.push({ name: \"dx1\", type: \"NUMBER\", value: dx1 });\n ops.push({ name: \"dy1\", type: \"NUMBER\", value: dy1 });\n ops.push({ name: \"dx2\", type: \"NUMBER\", value: dx2 });\n ops.push({ name: \"dy2\", type: \"NUMBER\", value: dy2 });\n ops.push({ name: \"dx\", type: \"NUMBER\", value: dx });\n ops.push({ name: \"dy\", type: \"NUMBER\", value: dy });\n ops.push({ name: \"rrcurveto\", type: \"OP\", value: 8 });\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n }\n }\n if (version < 2) {\n ops.push({ name: \"endchar\", type: \"OP\", value: 14 });\n }\n return ops;\n}\nfunction makeCharStringsIndex(glyphs, version) {\n const t = new table_default.Record(\"CharStrings INDEX\", [\n { name: \"charStrings\", type: \"INDEX\", value: [] }\n ]);\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n const ops = glyphToOps(glyph, version);\n t.charStrings.push({ name: glyph.name, type: \"CHARSTRING\", value: ops });\n }\n return t;\n}\nfunction makePrivateDict(attrs, strings, version) {\n const t = new table_default.Record(\"Private DICT\", [\n { name: \"dict\", type: \"DICT\", value: {} }\n ]);\n t.dict = makeDict(version > 1 ? PRIVATE_DICT_META_CFF2 : PRIVATE_DICT_META, attrs, strings);\n return t;\n}\nfunction makeCFFTable(glyphs, options) {\n const cffVersion = 1;\n const t = new table_default.Table(\"CFF \", [\n { name: \"header\", type: \"RECORD\" },\n { name: \"nameIndex\", type: \"RECORD\" },\n { name: \"topDictIndex\", type: \"RECORD\" },\n { name: \"stringIndex\", type: \"RECORD\" },\n { name: \"globalSubrIndex\", type: \"RECORD\" },\n { name: \"charsets\", type: \"RECORD\" },\n { name: \"charStringsIndex\", type: \"RECORD\" },\n { name: \"privateDict\", type: \"RECORD\" }\n ]);\n const fontScale = 1 / options.unitsPerEm;\n const attrs = {\n version: options.version,\n fullName: options.fullName,\n familyName: options.familyName,\n weight: options.weightName,\n fontBBox: options.fontBBox || [0, 0, 0, 0],\n fontMatrix: [fontScale, 0, 0, fontScale, 0, 0],\n charset: 999,\n encoding: 0,\n charStrings: 999,\n private: [0, 999]\n };\n const topDictOptions = options && options.topDict || {};\n if (cffVersion < 2 && topDictOptions.paintType) {\n attrs.paintType = topDictOptions.paintType;\n attrs.strokeWidth = topDictOptions.strokeWidth || 0;\n }\n const privateAttrs = {};\n const glyphNames = [];\n let glyph;\n for (let i = 1; i < glyphs.length; i += 1) {\n glyph = glyphs.get(i);\n glyphNames.push(glyph.name);\n }\n const strings = [];\n t.header = makeHeader();\n t.nameIndex = makeNameIndex([options.postScriptName]);\n let topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n t.globalSubrIndex = makeGlobalSubrIndex();\n t.charsets = makeCharsets(glyphNames, strings);\n t.charStringsIndex = makeCharStringsIndex(glyphs, cffVersion);\n t.privateDict = makePrivateDict(privateAttrs, strings);\n t.stringIndex = makeStringIndex(strings);\n const startOffset = t.header.sizeOf() + t.nameIndex.sizeOf() + t.topDictIndex.sizeOf() + t.stringIndex.sizeOf() + t.globalSubrIndex.sizeOf();\n attrs.charset = startOffset;\n attrs.encoding = 0;\n attrs.charStrings = attrs.charset + t.charsets.sizeOf();\n attrs.private[1] = attrs.charStrings + t.charStringsIndex.sizeOf();\n topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n return t;\n}\nvar cff_default = { parse: parseCFFTable, make: makeCFFTable };\n\n// src/tables/head.mjs\nfunction parseHeadTable(data, start) {\n const head = {};\n const p = new parse_default.Parser(data, start);\n head.version = p.parseVersion();\n head.fontRevision = Math.round(p.parseFixed() * 1e3) / 1e3;\n head.checkSumAdjustment = p.parseULong();\n head.magicNumber = p.parseULong();\n check_default.argument(head.magicNumber === 1594834165, \"Font header has wrong magic number.\");\n head.flags = p.parseUShort();\n head.unitsPerEm = p.parseUShort();\n head.created = p.parseLongDateTime();\n head.modified = p.parseLongDateTime();\n head.xMin = p.parseShort();\n head.yMin = p.parseShort();\n head.xMax = p.parseShort();\n head.yMax = p.parseShort();\n head.macStyle = p.parseUShort();\n head.lowestRecPPEM = p.parseUShort();\n head.fontDirectionHint = p.parseShort();\n head.indexToLocFormat = p.parseShort();\n head.glyphDataFormat = p.parseShort();\n return head;\n}\nfunction makeHeadTable(options) {\n const timestamp = Math.round((/* @__PURE__ */ new Date()).getTime() / 1e3) + 2082844800;\n let createdTimestamp = timestamp;\n let macStyle = options.macStyle || 0;\n if (options.createdTimestamp) {\n createdTimestamp = options.createdTimestamp + 2082844800;\n }\n return new table_default.Table(\"head\", [\n { name: \"version\", type: \"FIXED\", value: 65536 },\n { name: \"fontRevision\", type: \"FIXED\", value: 65536 },\n { name: \"checkSumAdjustment\", type: \"ULONG\", value: 0 },\n { name: \"magicNumber\", type: \"ULONG\", value: 1594834165 },\n { name: \"flags\", type: \"USHORT\", value: 0 },\n { name: \"unitsPerEm\", type: \"USHORT\", value: 1e3 },\n { name: \"created\", type: \"LONGDATETIME\", value: createdTimestamp },\n { name: \"modified\", type: \"LONGDATETIME\", value: timestamp },\n { name: \"xMin\", type: \"SHORT\", value: 0 },\n { name: \"yMin\", type: \"SHORT\", value: 0 },\n { name: \"xMax\", type: \"SHORT\", value: 0 },\n { name: \"yMax\", type: \"SHORT\", value: 0 },\n { name: \"macStyle\", type: \"USHORT\", value: macStyle },\n { name: \"lowestRecPPEM\", type: \"USHORT\", value: 0 },\n { name: \"fontDirectionHint\", type: \"SHORT\", value: 2 },\n { name: \"indexToLocFormat\", type: \"SHORT\", value: 0 },\n { name: \"glyphDataFormat\", type: \"SHORT\", value: 0 }\n ], options);\n}\nvar head_default = { parse: parseHeadTable, make: makeHeadTable };\n\n// src/tables/hhea.mjs\nfunction parseHheaTable(data, start) {\n const hhea = {};\n const p = new parse_default.Parser(data, start);\n hhea.version = p.parseVersion();\n hhea.ascender = p.parseShort();\n hhea.descender = p.parseShort();\n hhea.lineGap = p.parseShort();\n hhea.advanceWidthMax = p.parseUShort();\n hhea.minLeftSideBearing = p.parseShort();\n hhea.minRightSideBearing = p.parseShort();\n hhea.xMaxExtent = p.parseShort();\n hhea.caretSlopeRise = p.parseShort();\n hhea.caretSlopeRun = p.parseShort();\n hhea.caretOffset = p.parseShort();\n p.relativeOffset += 8;\n hhea.metricDataFormat = p.parseShort();\n hhea.numberOfHMetrics = p.parseUShort();\n return hhea;\n}\nfunction makeHheaTable(options) {\n return new table_default.Table(\"hhea\", [\n { name: \"version\", type: \"FIXED\", value: 65536 },\n { name: \"ascender\", type: \"FWORD\", value: 0 },\n { name: \"descender\", type: \"FWORD\", value: 0 },\n { name: \"lineGap\", type: \"FWORD\", value: 0 },\n { name: \"advanceWidthMax\", type: \"UFWORD\", value: 0 },\n { name: \"minLeftSideBearing\", type: \"FWORD\", value: 0 },\n { name: \"minRightSideBearing\", type: \"FWORD\", value: 0 },\n { name: \"xMaxExtent\", type: \"FWORD\", value: 0 },\n { name: \"caretSlopeRise\", type: \"SHORT\", value: 1 },\n { name: \"caretSlopeRun\", type: \"SHORT\", value: 0 },\n { name: \"caretOffset\", type: \"SHORT\", value: 0 },\n { name: \"reserved1\", type: \"SHORT\", value: 0 },\n { name: \"reserved2\", type: \"SHORT\", value: 0 },\n { name: \"reserved3\", type: \"SHORT\", value: 0 },\n { name: \"reserved4\", type: \"SHORT\", value: 0 },\n { name: \"metricDataFormat\", type: \"SHORT\", value: 0 },\n { name: \"numberOfHMetrics\", type: \"USHORT\", value: 0 }\n ], options);\n}\nvar hhea_default = { parse: parseHheaTable, make: makeHheaTable };\n\n// src/tables/hmtx.mjs\nfunction parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs) {\n let advanceWidth;\n let leftSideBearing;\n const p = new parse_default.Parser(data, start);\n for (let i = 0; i < numGlyphs; i += 1) {\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n const glyph = glyphs.get(i);\n glyph.advanceWidth = advanceWidth;\n glyph.leftSideBearing = leftSideBearing;\n }\n}\nfunction parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs) {\n font._hmtxTableData = {};\n let advanceWidth;\n let leftSideBearing;\n const p = new parse_default.Parser(data, start);\n for (let i = 0; i < numGlyphs; i += 1) {\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n font._hmtxTableData[i] = {\n advanceWidth,\n leftSideBearing\n };\n }\n}\nfunction parseHmtxTable(font, data, start, numMetrics, numGlyphs, glyphs, opt) {\n if (opt.lowMemory)\n parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs);\n else\n parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs);\n}\nfunction makeHmtxTable(glyphs) {\n const t = new table_default.Table(\"hmtx\", []);\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n const advanceWidth = glyph.advanceWidth || 0;\n const leftSideBearing = glyph.leftSideBearing || 0;\n t.fields.push({ name: \"advanceWidth_\" + i, type: \"USHORT\", value: advanceWidth });\n t.fields.push({ name: \"leftSideBearing_\" + i, type: \"SHORT\", value: leftSideBearing });\n }\n return t;\n}\nvar hmtx_default = { parse: parseHmtxTable, make: makeHmtxTable };\n\n// src/tables/ltag.mjs\nfunction makeLtagTable(tags) {\n const result = new table_default.Table(\"ltag\", [\n { name: \"version\", type: \"ULONG\", value: 1 },\n { name: \"flags\", type: \"ULONG\", value: 0 },\n { name: \"numTags\", type: \"ULONG\", value: tags.length }\n ]);\n let stringPool = \"\";\n const stringPoolOffset = 12 + tags.length * 4;\n for (let i = 0; i < tags.length; ++i) {\n let pos = stringPool.indexOf(tags[i]);\n if (pos < 0) {\n pos = stringPool.length;\n stringPool += tags[i];\n }\n result.fields.push({ name: \"offset \" + i, type: \"USHORT\", value: stringPoolOffset + pos });\n result.fields.push({ name: \"length \" + i, type: \"USHORT\", value: tags[i].length });\n }\n result.fields.push({ name: \"stringPool\", type: \"CHARARRAY\", value: stringPool });\n return result;\n}\nfunction parseLtagTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseULong();\n check_default.argument(tableVersion === 1, \"Unsupported ltag table version.\");\n p.skip(\"uLong\", 1);\n const numTags = p.parseULong();\n const tags = [];\n for (let i = 0; i < numTags; i++) {\n let tag = \"\";\n const offset = start + p.parseUShort();\n const length = p.parseUShort();\n for (let j = offset; j < offset + length; ++j) {\n tag += String.fromCharCode(data.getInt8(j));\n }\n tags.push(tag);\n }\n return tags;\n}\nvar ltag_default = { make: makeLtagTable, parse: parseLtagTable };\n\n// src/tables/maxp.mjs\nfunction parseMaxpTable(data, start) {\n const maxp = {};\n const p = new parse_default.Parser(data, start);\n maxp.version = p.parseVersion();\n maxp.numGlyphs = p.parseUShort();\n if (maxp.version === 1) {\n maxp.maxPoints = p.parseUShort();\n maxp.maxContours = p.parseUShort();\n maxp.maxCompositePoints = p.parseUShort();\n maxp.maxCompositeContours = p.parseUShort();\n maxp.maxZones = p.parseUShort();\n maxp.maxTwilightPoints = p.parseUShort();\n maxp.maxStorage = p.parseUShort();\n maxp.maxFunctionDefs = p.parseUShort();\n maxp.maxInstructionDefs = p.parseUShort();\n maxp.maxStackElements = p.parseUShort();\n maxp.maxSizeOfInstructions = p.parseUShort();\n maxp.maxComponentElements = p.parseUShort();\n maxp.maxComponentDepth = p.parseUShort();\n }\n return maxp;\n}\nfunction makeMaxpTable(numGlyphs) {\n return new table_default.Table(\"maxp\", [\n { name: \"version\", type: \"FIXED\", value: 20480 },\n { name: \"numGlyphs\", type: \"USHORT\", value: numGlyphs }\n ]);\n}\nvar maxp_default = { parse: parseMaxpTable, make: makeMaxpTable };\n\n// src/tables/os2.mjs\nvar unicodeRanges = [\n { begin: 0, end: 127 },\n // Basic Latin\n { begin: 128, end: 255 },\n // Latin-1 Supplement\n { begin: 256, end: 383 },\n // Latin Extended-A\n { begin: 384, end: 591 },\n // Latin Extended-B\n { begin: 592, end: 687 },\n // IPA Extensions\n { begin: 688, end: 767 },\n // Spacing Modifier Letters\n { begin: 768, end: 879 },\n // Combining Diacritical Marks\n { begin: 880, end: 1023 },\n // Greek and Coptic\n { begin: 11392, end: 11519 },\n // Coptic\n { begin: 1024, end: 1279 },\n // Cyrillic\n { begin: 1328, end: 1423 },\n // Armenian\n { begin: 1424, end: 1535 },\n // Hebrew\n { begin: 42240, end: 42559 },\n // Vai\n { begin: 1536, end: 1791 },\n // Arabic\n { begin: 1984, end: 2047 },\n // NKo\n { begin: 2304, end: 2431 },\n // Devanagari\n { begin: 2432, end: 2559 },\n // Bengali\n { begin: 2560, end: 2687 },\n // Gurmukhi\n { begin: 2688, end: 2815 },\n // Gujarati\n { begin: 2816, end: 2943 },\n // Oriya\n { begin: 2944, end: 3071 },\n // Tamil\n { begin: 3072, end: 3199 },\n // Telugu\n { begin: 3200, end: 3327 },\n // Kannada\n { begin: 3328, end: 3455 },\n // Malayalam\n { begin: 3584, end: 3711 },\n // Thai\n { begin: 3712, end: 3839 },\n // Lao\n { begin: 4256, end: 4351 },\n // Georgian\n { begin: 6912, end: 7039 },\n // Balinese\n { begin: 4352, end: 4607 },\n // Hangul Jamo\n { begin: 7680, end: 7935 },\n // Latin Extended Additional\n { begin: 7936, end: 8191 },\n // Greek Extended\n { begin: 8192, end: 8303 },\n // General Punctuation\n { begin: 8304, end: 8351 },\n // Superscripts And Subscripts\n { begin: 8352, end: 8399 },\n // Currency Symbol\n { begin: 8400, end: 8447 },\n // Combining Diacritical Marks For Symbols\n { begin: 8448, end: 8527 },\n // Letterlike Symbols\n { begin: 8528, end: 8591 },\n // Number Forms\n { begin: 8592, end: 8703 },\n // Arrows\n { begin: 8704, end: 8959 },\n // Mathematical Operators\n { begin: 8960, end: 9215 },\n // Miscellaneous Technical\n { begin: 9216, end: 9279 },\n // Control Pictures\n { begin: 9280, end: 9311 },\n // Optical Character Recognition\n { begin: 9312, end: 9471 },\n // Enclosed Alphanumerics\n { begin: 9472, end: 9599 },\n // Box Drawing\n { begin: 9600, end: 9631 },\n // Block Elements\n { begin: 9632, end: 9727 },\n // Geometric Shapes\n { begin: 9728, end: 9983 },\n // Miscellaneous Symbols\n { begin: 9984, end: 10175 },\n // Dingbats\n { begin: 12288, end: 12351 },\n // CJK Symbols And Punctuation\n { begin: 12352, end: 12447 },\n // Hiragana\n { begin: 12448, end: 12543 },\n // Katakana\n { begin: 12544, end: 12591 },\n // Bopomofo\n { begin: 12592, end: 12687 },\n // Hangul Compatibility Jamo\n { begin: 43072, end: 43135 },\n // Phags-pa\n { begin: 12800, end: 13055 },\n // Enclosed CJK Letters And Months\n { begin: 13056, end: 13311 },\n // CJK Compatibility\n { begin: 44032, end: 55215 },\n // Hangul Syllables\n { begin: 55296, end: 57343 },\n // Non-Plane 0 *\n { begin: 67840, end: 67871 },\n // Phoenicia\n { begin: 19968, end: 40959 },\n // CJK Unified Ideographs\n { begin: 57344, end: 63743 },\n // Private Use Area (plane 0)\n { begin: 12736, end: 12783 },\n // CJK Strokes\n { begin: 64256, end: 64335 },\n // Alphabetic Presentation Forms\n { begin: 64336, end: 65023 },\n // Arabic Presentation Forms-A\n { begin: 65056, end: 65071 },\n // Combining Half Marks\n { begin: 65040, end: 65055 },\n // Vertical Forms\n { begin: 65104, end: 65135 },\n // Small Form Variants\n { begin: 65136, end: 65279 },\n // Arabic Presentation Forms-B\n { begin: 65280, end: 65519 },\n // Halfwidth And Fullwidth Forms\n { begin: 65520, end: 65535 },\n // Specials\n { begin: 3840, end: 4095 },\n // Tibetan\n { begin: 1792, end: 1871 },\n // Syriac\n { begin: 1920, end: 1983 },\n // Thaana\n { begin: 3456, end: 3583 },\n // Sinhala\n { begin: 4096, end: 4255 },\n // Myanmar\n { begin: 4608, end: 4991 },\n // Ethiopic\n { begin: 5024, end: 5119 },\n // Cherokee\n { begin: 5120, end: 5759 },\n // Unified Canadian Aboriginal Syllabics\n { begin: 5760, end: 5791 },\n // Ogham\n { begin: 5792, end: 5887 },\n // Runic\n { begin: 6016, end: 6143 },\n // Khmer\n { begin: 6144, end: 6319 },\n // Mongolian\n { begin: 10240, end: 10495 },\n // Braille Patterns\n { begin: 40960, end: 42127 },\n // Yi Syllables\n { begin: 5888, end: 5919 },\n // Tagalog\n { begin: 66304, end: 66351 },\n // Old Italic\n { begin: 66352, end: 66383 },\n // Gothic\n { begin: 66560, end: 66639 },\n // Deseret\n { begin: 118784, end: 119039 },\n // Byzantine Musical Symbols\n { begin: 119808, end: 120831 },\n // Mathematical Alphanumeric Symbols\n { begin: 1044480, end: 1048573 },\n // Private Use (plane 15)\n { begin: 65024, end: 65039 },\n // Variation Selectors\n { begin: 917504, end: 917631 },\n // Tags\n { begin: 6400, end: 6479 },\n // Limbu\n { begin: 6480, end: 6527 },\n // Tai Le\n { begin: 6528, end: 6623 },\n // New Tai Lue\n { begin: 6656, end: 6687 },\n // Buginese\n { begin: 11264, end: 11359 },\n // Glagolitic\n { begin: 11568, end: 11647 },\n // Tifinagh\n { begin: 19904, end: 19967 },\n // Yijing Hexagram Symbols\n { begin: 43008, end: 43055 },\n // Syloti Nagri\n { begin: 65536, end: 65663 },\n // Linear B Syllabary\n { begin: 65856, end: 65935 },\n // Ancient Greek Numbers\n { begin: 66432, end: 66463 },\n // Ugaritic\n { begin: 66464, end: 66527 },\n // Old Persian\n { begin: 66640, end: 66687 },\n // Shavian\n { begin: 66688, end: 66735 },\n // Osmanya\n { begin: 67584, end: 67647 },\n // Cypriot Syllabary\n { begin: 68096, end: 68191 },\n // Kharoshthi\n { begin: 119552, end: 119647 },\n // Tai Xuan Jing Symbols\n { begin: 73728, end: 74751 },\n // Cuneiform\n { begin: 119648, end: 119679 },\n // Counting Rod Numerals\n { begin: 7040, end: 7103 },\n // Sundanese\n { begin: 7168, end: 7247 },\n // Lepcha\n { begin: 7248, end: 7295 },\n // Ol Chiki\n { begin: 43136, end: 43231 },\n // Saurashtra\n { begin: 43264, end: 43311 },\n // Kayah Li\n { begin: 43312, end: 43359 },\n // Rejang\n { begin: 43520, end: 43615 },\n // Cham\n { begin: 65936, end: 65999 },\n // Ancient Symbols\n { begin: 66e3, end: 66047 },\n // Phaistos Disc\n { begin: 66208, end: 66271 },\n // Carian\n { begin: 127024, end: 127135 }\n // Domino Tiles\n];\nfunction getUnicodeRange(unicode) {\n for (let i = 0; i < unicodeRanges.length; i += 1) {\n const range = unicodeRanges[i];\n if (unicode >= range.begin && unicode < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction parseOS2Table(data, start) {\n const os2 = {};\n const p = new parse_default.Parser(data, start);\n os2.version = p.parseUShort();\n os2.xAvgCharWidth = p.parseShort();\n os2.usWeightClass = p.parseUShort();\n os2.usWidthClass = p.parseUShort();\n os2.fsType = p.parseUShort();\n os2.ySubscriptXSize = p.parseShort();\n os2.ySubscriptYSize = p.parseShort();\n os2.ySubscriptXOffset = p.parseShort();\n os2.ySubscriptYOffset = p.parseShort();\n os2.ySuperscriptXSize = p.parseShort();\n os2.ySuperscriptYSize = p.parseShort();\n os2.ySuperscriptXOffset = p.parseShort();\n os2.ySuperscriptYOffset = p.parseShort();\n os2.yStrikeoutSize = p.parseShort();\n os2.yStrikeoutPosition = p.parseShort();\n os2.sFamilyClass = p.parseShort();\n os2.panose = [];\n for (let i = 0; i < 10; i++) {\n os2.panose[i] = p.parseByte();\n }\n os2.ulUnicodeRange1 = p.parseULong();\n os2.ulUnicodeRange2 = p.parseULong();\n os2.ulUnicodeRange3 = p.parseULong();\n os2.ulUnicodeRange4 = p.parseULong();\n os2.achVendID = String.fromCharCode(p.parseByte(), p.parseByte(), p.parseByte(), p.parseByte());\n os2.fsSelection = p.parseUShort();\n os2.usFirstCharIndex = p.parseUShort();\n os2.usLastCharIndex = p.parseUShort();\n os2.sTypoAscender = p.parseShort();\n os2.sTypoDescender = p.parseShort();\n os2.sTypoLineGap = p.parseShort();\n os2.usWinAscent = p.parseUShort();\n os2.usWinDescent = p.parseUShort();\n if (os2.version >= 1) {\n os2.ulCodePageRange1 = p.parseULong();\n os2.ulCodePageRange2 = p.parseULong();\n }\n if (os2.version >= 2) {\n os2.sxHeight = p.parseShort();\n os2.sCapHeight = p.parseShort();\n os2.usDefaultChar = p.parseUShort();\n os2.usBreakChar = p.parseUShort();\n os2.usMaxContent = p.parseUShort();\n }\n return os2;\n}\nfunction makeOS2Table(options) {\n return new table_default.Table(\"OS/2\", [\n { name: \"version\", type: \"USHORT\", value: 3 },\n { name: \"xAvgCharWidth\", type: \"SHORT\", value: 0 },\n { name: \"usWeightClass\", type: \"USHORT\", value: 0 },\n { name: \"usWidthClass\", type: \"USHORT\", value: 0 },\n { name: \"fsType\", type: \"USHORT\", value: 0 },\n { name: \"ySubscriptXSize\", type: \"SHORT\", value: 650 },\n { name: \"ySubscriptYSize\", type: \"SHORT\", value: 699 },\n { name: \"ySubscriptXOffset\", type: \"SHORT\", value: 0 },\n { name: \"ySubscriptYOffset\", type: \"SHORT\", value: 140 },\n { name: \"ySuperscriptXSize\", type: \"SHORT\", value: 650 },\n { name: \"ySuperscriptYSize\", type: \"SHORT\", value: 699 },\n { name: \"ySuperscriptXOffset\", type: \"SHORT\", value: 0 },\n { name: \"ySuperscriptYOffset\", type: \"SHORT\", value: 479 },\n { name: \"yStrikeoutSize\", type: \"SHORT\", value: 49 },\n { name: \"yStrikeoutPosition\", type: \"SHORT\", value: 258 },\n { name: \"sFamilyClass\", type: \"SHORT\", value: 0 },\n { name: \"bFamilyType\", type: \"BYTE\", value: 0 },\n { name: \"bSerifStyle\", type: \"BYTE\", value: 0 },\n { name: \"bWeight\", type: \"BYTE\", value: 0 },\n { name: \"bProportion\", type: \"BYTE\", value: 0 },\n { name: \"bContrast\", type: \"BYTE\", value: 0 },\n { name: \"bStrokeVariation\", type: \"BYTE\", value: 0 },\n { name: \"bArmStyle\", type: \"BYTE\", value: 0 },\n { name: \"bLetterform\", type: \"BYTE\", value: 0 },\n { name: \"bMidline\", type: \"BYTE\", value: 0 },\n { name: \"bXHeight\", type: \"BYTE\", value: 0 },\n { name: \"ulUnicodeRange1\", type: \"ULONG\", value: 0 },\n { name: \"ulUnicodeRange2\", type: \"ULONG\", value: 0 },\n { name: \"ulUnicodeRange3\", type: \"ULONG\", value: 0 },\n { name: \"ulUnicodeRange4\", type: \"ULONG\", value: 0 },\n { name: \"achVendID\", type: \"CHARARRAY\", value: \"XXXX\" },\n { name: \"fsSelection\", type: \"USHORT\", value: 0 },\n { name: \"usFirstCharIndex\", type: \"USHORT\", value: 0 },\n { name: \"usLastCharIndex\", type: \"USHORT\", value: 0 },\n { name: \"sTypoAscender\", type: \"SHORT\", value: 0 },\n { name: \"sTypoDescender\", type: \"SHORT\", value: 0 },\n { name: \"sTypoLineGap\", type: \"SHORT\", value: 0 },\n { name: \"usWinAscent\", type: \"USHORT\", value: 0 },\n { name: \"usWinDescent\", type: \"USHORT\", value: 0 },\n { name: \"ulCodePageRange1\", type: \"ULONG\", value: 0 },\n { name: \"ulCodePageRange2\", type: \"ULONG\", value: 0 },\n { name: \"sxHeight\", type: \"SHORT\", value: 0 },\n { name: \"sCapHeight\", type: \"SHORT\", value: 0 },\n { name: \"usDefaultChar\", type: \"USHORT\", value: 0 },\n { name: \"usBreakChar\", type: \"USHORT\", value: 0 },\n { name: \"usMaxContext\", type: \"USHORT\", value: 0 }\n ], options);\n}\nvar os2_default = { parse: parseOS2Table, make: makeOS2Table, unicodeRanges, getUnicodeRange };\n\n// src/tables/post.mjs\nfunction parsePostTable(data, start) {\n const post = {};\n const p = new parse_default.Parser(data, start);\n post.version = p.parseVersion();\n post.italicAngle = p.parseFixed();\n post.underlinePosition = p.parseShort();\n post.underlineThickness = p.parseShort();\n post.isFixedPitch = p.parseULong();\n post.minMemType42 = p.parseULong();\n post.maxMemType42 = p.parseULong();\n post.minMemType1 = p.parseULong();\n post.maxMemType1 = p.parseULong();\n switch (post.version) {\n case 1:\n post.names = standardNames.slice();\n break;\n case 2:\n post.numberOfGlyphs = p.parseUShort();\n post.glyphNameIndex = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n post.glyphNameIndex[i] = p.parseUShort();\n }\n post.names = [];\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n if (post.glyphNameIndex[i] >= standardNames.length) {\n const nameLength = p.parseChar();\n post.names.push(p.parseString(nameLength));\n }\n }\n break;\n case 2.5:\n post.numberOfGlyphs = p.parseUShort();\n post.offset = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n post.offset[i] = p.parseChar();\n }\n break;\n }\n return post;\n}\nfunction makePostTable(font) {\n const {\n italicAngle = Math.round((font.italicAngle || 0) * 65536),\n underlinePosition = 0,\n underlineThickness = 0,\n isFixedPitch = 0,\n minMemType42 = 0,\n maxMemType42 = 0,\n minMemType1 = 0,\n maxMemType1 = 0\n } = font.tables.post || {};\n return new table_default.Table(\"post\", [\n { name: \"version\", type: \"FIXED\", value: 196608 },\n { name: \"italicAngle\", type: \"FIXED\", value: italicAngle },\n { name: \"underlinePosition\", type: \"FWORD\", value: underlinePosition },\n { name: \"underlineThickness\", type: \"FWORD\", value: underlineThickness },\n { name: \"isFixedPitch\", type: \"ULONG\", value: isFixedPitch },\n { name: \"minMemType42\", type: \"ULONG\", value: minMemType42 },\n { name: \"maxMemType42\", type: \"ULONG\", value: maxMemType42 },\n { name: \"minMemType1\", type: \"ULONG\", value: minMemType1 },\n { name: \"maxMemType1\", type: \"ULONG\", value: maxMemType1 }\n ]);\n}\nvar post_default = { parse: parsePostTable, make: makePostTable };\n\n// src/tables/gsub.mjs\nvar subtableParsers = new Array(9);\nsubtableParsers[1] = function parseLookup1() {\n const start = this.offset + this.relativeOffset;\n const substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n deltaGlyphId: this.parseShort()\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n substitute: this.parseOffset16List()\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": lookup type 1 format must be 1 or 2.\");\n};\nsubtableParsers[2] = function parseLookup2() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Multiple Substitution Subtable identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n sequences: this.parseListOfLists()\n };\n};\nsubtableParsers[3] = function parseLookup3() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Alternate Substitution Subtable identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n alternateSets: this.parseListOfLists()\n };\n};\nsubtableParsers[4] = function parseLookup4() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB ligature table identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ligatureSets: this.parseListOfLists(function() {\n return {\n ligGlyph: this.parseUShort(),\n components: this.parseUShortList(this.parseUShort() - 1)\n };\n })\n };\n};\nvar lookupRecordDesc = {\n sequenceIndex: Parser.uShort,\n lookupListIndex: Parser.uShort\n};\nsubtableParsers[5] = function parseLookup5() {\n const start = this.offset + this.relativeOffset;\n const substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ruleSets: this.parseListOfLists(function() {\n const glyphCount = this.parseUShort();\n const substCount = this.parseUShort();\n return {\n input: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n classDef: this.parsePointer(Parser.classDef),\n classSets: this.parseListOfLists(function() {\n const glyphCount = this.parseUShort();\n const substCount = this.parseUShort();\n return {\n classes: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n const glyphCount = this.parseUShort();\n const substCount = this.parseUShort();\n return {\n substFormat,\n coverages: this.parseList(glyphCount, Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": lookup type 5 format must be 1, 2 or 3.\");\n};\nsubtableParsers[6] = function parseLookup6() {\n const start = this.offset + this.relativeOffset;\n const substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n chainRuleSets: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n backtrackClassDef: this.parsePointer(Parser.classDef),\n inputClassDef: this.parsePointer(Parser.classDef),\n lookaheadClassDef: this.parsePointer(Parser.classDef),\n chainClassSet: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n return {\n substFormat: 3,\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n inputCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": lookup type 6 format must be 1, 2 or 3.\");\n};\nsubtableParsers[7] = function parseLookup7() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Extension Substitution subtable identifier-format must be 1\");\n const extensionLookupType = this.parseUShort();\n const extensionParser = new Parser(this.data, this.offset + this.parseULong());\n return {\n substFormat: 1,\n lookupType: extensionLookupType,\n extension: subtableParsers[extensionLookupType].call(extensionParser)\n };\n};\nsubtableParsers[8] = function parseLookup8() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n substitutes: this.parseUShortList()\n };\n};\nfunction parseGsubTable(data, start) {\n start = start || 0;\n const p = new Parser(data, start);\n const tableVersion = p.parseVersion(1);\n check_default.argument(tableVersion === 1 || tableVersion === 1.1, \"Unsupported GSUB table version.\");\n if (tableVersion === 1) {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers)\n };\n } else {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers),\n variations: p.parseFeatureVariationsList()\n };\n }\n}\nvar subtableMakers = new Array(9);\nsubtableMakers[1] = function makeLookup1(subtable) {\n if (subtable.substFormat === 1) {\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) },\n { name: \"deltaGlyphID\", type: \"SHORT\", value: subtable.deltaGlyphId }\n ]);\n } else if (subtable.substFormat === 2) {\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 2 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.ushortList(\"substitute\", subtable.substitute)));\n }\n check_default.fail(\"Lookup type 1 substFormat must be 1 or 2.\");\n};\nsubtableMakers[2] = function makeLookup2(subtable) {\n check_default.assert(subtable.substFormat === 1, \"Lookup type 2 substFormat must be 1.\");\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"seqSet\", subtable.sequences, function(sequenceSet) {\n return new table_default.Table(\"sequenceSetTable\", table_default.ushortList(\"sequence\", sequenceSet));\n })));\n};\nsubtableMakers[3] = function makeLookup3(subtable) {\n check_default.assert(subtable.substFormat === 1, \"Lookup type 3 substFormat must be 1.\");\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"altSet\", subtable.alternateSets, function(alternateSet) {\n return new table_default.Table(\"alternateSetTable\", table_default.ushortList(\"alternate\", alternateSet));\n })));\n};\nsubtableMakers[4] = function makeLookup4(subtable) {\n check_default.assert(subtable.substFormat === 1, \"Lookup type 4 substFormat must be 1.\");\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"ligSet\", subtable.ligatureSets, function(ligatureSet) {\n return new table_default.Table(\"ligatureSetTable\", table_default.tableList(\"ligature\", ligatureSet, function(ligature) {\n return new table_default.Table(\n \"ligatureTable\",\n [{ name: \"ligGlyph\", type: \"USHORT\", value: ligature.ligGlyph }].concat(table_default.ushortList(\"component\", ligature.components, ligature.components.length + 1))\n );\n }));\n })));\n};\nsubtableMakers[5] = function makeLookup5(subtable) {\n if (subtable.substFormat === 1) {\n return new table_default.Table(\"contextualSubstitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"sequenceRuleSet\", subtable.ruleSets, function(sequenceRuleSet) {\n if (!sequenceRuleSet) {\n return new table_default.Table(\"NULL\", null);\n }\n return new table_default.Table(\"sequenceRuleSetTable\", table_default.tableList(\"sequenceRule\", sequenceRuleSet, function(sequenceRule) {\n let tableData = table_default.ushortList(\"seqLookup\", [], sequenceRule.lookupRecords.length).concat(table_default.ushortList(\"inputSequence\", sequenceRule.input, sequenceRule.input.length + 1));\n [tableData[0], tableData[1]] = [tableData[1], tableData[0]];\n for (let i = 0; i < sequenceRule.lookupRecords.length; i++) {\n const record = sequenceRule.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n return new table_default.Table(\"sequenceRuleTable\", tableData);\n }));\n })));\n } else if (subtable.substFormat === 2) {\n return new table_default.Table(\"contextualSubstitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) },\n { name: \"classDef\", type: \"TABLE\", value: new table_default.ClassDef(subtable.classDef) }\n ].concat(table_default.tableList(\"classSeqRuleSet\", subtable.classSets, function(classSeqRuleSet) {\n if (!classSeqRuleSet) {\n return new table_default.Table(\"NULL\", null);\n }\n return new table_default.Table(\"classSeqRuleSetTable\", table_default.tableList(\"classSeqRule\", classSeqRuleSet, function(classSeqRule) {\n let tableData = table_default.ushortList(\"classes\", classSeqRule.classes, classSeqRule.classes.length + 1).concat(table_default.ushortList(\"seqLookupCount\", [], classSeqRule.lookupRecords.length));\n for (let i = 0; i < classSeqRule.lookupRecords.length; i++) {\n const record = classSeqRule.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n return new table_default.Table(\"classSeqRuleTable\", tableData);\n }));\n })));\n } else if (subtable.substFormat === 3) {\n let tableData = [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat }\n ];\n tableData.push({ name: \"inputGlyphCount\", type: \"USHORT\", value: subtable.coverages.length });\n tableData.push({ name: \"substitutionCount\", type: \"USHORT\", value: subtable.lookupRecords.length });\n for (let i = 0; i < subtable.coverages.length; i++) {\n const coverage = subtable.coverages[i];\n tableData.push({ name: \"inputCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const record = subtable.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n let returnTable = new table_default.Table(\"contextualSubstitutionTable\", tableData);\n return returnTable;\n }\n check_default.assert(false, \"lookup type 5 format must be 1, 2 or 3.\");\n};\nsubtableMakers[6] = function makeLookup6(subtable) {\n if (subtable.substFormat === 1) {\n let returnTable = new table_default.Table(\"chainContextTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"chainRuleSet\", subtable.chainRuleSets, function(chainRuleSet) {\n return new table_default.Table(\"chainRuleSetTable\", table_default.tableList(\"chainRule\", chainRuleSet, function(chainRule) {\n let tableData = table_default.ushortList(\"backtrackGlyph\", chainRule.backtrack, chainRule.backtrack.length).concat(table_default.ushortList(\"inputGlyph\", chainRule.input, chainRule.input.length + 1)).concat(table_default.ushortList(\"lookaheadGlyph\", chainRule.lookahead, chainRule.lookahead.length)).concat(table_default.ushortList(\"substitution\", [], chainRule.lookupRecords.length));\n for (let i = 0; i < chainRule.lookupRecords.length; i++) {\n const record = chainRule.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n return new table_default.Table(\"chainRuleTable\", tableData);\n }));\n })));\n return returnTable;\n } else if (subtable.substFormat === 2) {\n check_default.assert(false, \"lookup type 6 format 2 is not yet supported.\");\n } else if (subtable.substFormat === 3) {\n let tableData = [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat }\n ];\n tableData.push({ name: \"backtrackGlyphCount\", type: \"USHORT\", value: subtable.backtrackCoverage.length });\n for (let i = 0; i < subtable.backtrackCoverage.length; i++) {\n const coverage = subtable.backtrackCoverage[i];\n tableData.push({ name: \"backtrackCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n tableData.push({ name: \"inputGlyphCount\", type: \"USHORT\", value: subtable.inputCoverage.length });\n for (let i = 0; i < subtable.inputCoverage.length; i++) {\n const coverage = subtable.inputCoverage[i];\n tableData.push({ name: \"inputCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n tableData.push({ name: \"lookaheadGlyphCount\", type: \"USHORT\", value: subtable.lookaheadCoverage.length });\n for (let i = 0; i < subtable.lookaheadCoverage.length; i++) {\n const coverage = subtable.lookaheadCoverage[i];\n tableData.push({ name: \"lookaheadCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n tableData.push({ name: \"substitutionCount\", type: \"USHORT\", value: subtable.lookupRecords.length });\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const record = subtable.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n let returnTable = new table_default.Table(\"chainContextTable\", tableData);\n return returnTable;\n }\n check_default.assert(false, \"lookup type 6 format must be 1, 2 or 3.\");\n};\nfunction makeGsubTable(gsub) {\n return new table_default.Table(\"GSUB\", [\n { name: \"version\", type: \"ULONG\", value: 65536 },\n { name: \"scripts\", type: \"TABLE\", value: new table_default.ScriptList(gsub.scripts) },\n { name: \"features\", type: \"TABLE\", value: new table_default.FeatureList(gsub.features) },\n { name: \"lookups\", type: \"TABLE\", value: new table_default.LookupList(gsub.lookups, subtableMakers) }\n ]);\n}\nvar gsub_default = { parse: parseGsubTable, make: makeGsubTable };\n\n// src/tables/meta.mjs\nfunction parseMetaTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseULong();\n check_default.argument(tableVersion === 1, \"Unsupported META table version.\");\n p.parseULong();\n p.parseULong();\n const numDataMaps = p.parseULong();\n const tags = {};\n for (let i = 0; i < numDataMaps; i++) {\n const tag = p.parseTag();\n const dataOffset = p.parseULong();\n const dataLength = p.parseULong();\n if (tag === \"appl\" || tag === \"bild\")\n continue;\n const text = decode.UTF8(data, start + dataOffset, dataLength);\n tags[tag] = text;\n }\n return tags;\n}\nfunction makeMetaTable(tags) {\n const numTags = Object.keys(tags).length;\n let stringPool = \"\";\n const stringPoolOffset = 16 + numTags * 12;\n const result = new table_default.Table(\"meta\", [\n { name: \"version\", type: \"ULONG\", value: 1 },\n { name: \"flags\", type: \"ULONG\", value: 0 },\n { name: \"offset\", type: \"ULONG\", value: stringPoolOffset },\n { name: \"numTags\", type: \"ULONG\", value: numTags }\n ]);\n for (let tag in tags) {\n const pos = stringPool.length;\n stringPool += tags[tag];\n result.fields.push({ name: \"tag \" + tag, type: \"TAG\", value: tag });\n result.fields.push({ name: \"offset \" + tag, type: \"ULONG\", value: stringPoolOffset + pos });\n result.fields.push({ name: \"length \" + tag, type: \"ULONG\", value: tags[tag].length });\n }\n result.fields.push({ name: \"stringPool\", type: \"CHARARRAY\", value: stringPool });\n return result;\n}\nvar meta_default = { parse: parseMetaTable, make: makeMetaTable };\n\n// src/tables/colr.mjs\nfunction parseColrTable(data, start) {\n const p = new Parser(data, start);\n const version = p.parseUShort();\n if (version !== 0) {\n console.warn(\"Only COLRv0 is currently fully supported. A subset of color glyphs might be available in this font if provided in the v0 format.\");\n }\n const numBaseGlyphRecords = p.parseUShort();\n const baseGlyphRecordsOffset = p.parseOffset32();\n const layerRecordsOffset = p.parseOffset32();\n const numLayerRecords = p.parseUShort();\n p.relativeOffset = baseGlyphRecordsOffset;\n const baseGlyphRecords = p.parseRecordList(numBaseGlyphRecords, {\n glyphID: Parser.uShort,\n firstLayerIndex: Parser.uShort,\n numLayers: Parser.uShort\n });\n p.relativeOffset = layerRecordsOffset;\n const layerRecords = p.parseRecordList(numLayerRecords, {\n glyphID: Parser.uShort,\n paletteIndex: Parser.uShort\n });\n return {\n version,\n baseGlyphRecords,\n layerRecords\n };\n}\nfunction makeColrTable({ version = 0, baseGlyphRecords = [], layerRecords = [] }) {\n check_default.argument(version === 0, \"Only COLRv0 supported.\");\n const baseGlyphRecordsOffset = 14;\n const layerRecordsOffset = baseGlyphRecordsOffset + baseGlyphRecords.length * 6;\n return new table_default.Table(\"COLR\", [\n { name: \"version\", type: \"USHORT\", value: version },\n { name: \"numBaseGlyphRecords\", type: \"USHORT\", value: baseGlyphRecords.length },\n { name: \"baseGlyphRecordsOffset\", type: \"ULONG\", value: baseGlyphRecordsOffset },\n { name: \"layerRecordsOffset\", type: \"ULONG\", value: layerRecordsOffset },\n { name: \"numLayerRecords\", type: \"USHORT\", value: layerRecords.length },\n ...baseGlyphRecords.map((glyph, i) => [\n { name: \"glyphID_\" + i, type: \"USHORT\", value: glyph.glyphID },\n { name: \"firstLayerIndex_\" + i, type: \"USHORT\", value: glyph.firstLayerIndex },\n { name: \"numLayers_\" + i, type: \"USHORT\", value: glyph.numLayers }\n ]).flat(),\n ...layerRecords.map((layer, i) => [\n { name: \"LayerGlyphID_\" + i, type: \"USHORT\", value: layer.glyphID },\n { name: \"paletteIndex_\" + i, type: \"USHORT\", value: layer.paletteIndex }\n ]).flat()\n ]);\n}\nvar colr_default = { parse: parseColrTable, make: makeColrTable };\n\n// src/tables/fvar.mjs\nfunction makeFvarAxis(n, axis) {\n return [\n { name: \"tag_\" + n, type: \"TAG\", value: axis.tag },\n { name: \"minValue_\" + n, type: \"FIXED\", value: axis.minValue << 16 },\n { name: \"defaultValue_\" + n, type: \"FIXED\", value: axis.defaultValue << 16 },\n { name: \"maxValue_\" + n, type: \"FIXED\", value: axis.maxValue << 16 },\n { name: \"flags_\" + n, type: \"USHORT\", value: 0 },\n { name: \"nameID_\" + n, type: \"USHORT\", value: axis.axisNameID }\n ];\n}\nfunction parseFvarAxis(data, start, names) {\n const axis = {};\n const p = new parse_default.Parser(data, start);\n axis.tag = p.parseTag();\n axis.minValue = p.parseFixed();\n axis.defaultValue = p.parseFixed();\n axis.maxValue = p.parseFixed();\n p.skip(\"uShort\", 1);\n const axisNameID = p.parseUShort();\n axis.axisNameID = axisNameID;\n axis.name = getNameByID(names, axisNameID);\n return axis;\n}\nfunction makeFvarInstance(n, inst, axes, optionalFields = {}) {\n const fields = [\n { name: \"nameID_\" + n, type: \"USHORT\", value: inst.subfamilyNameID },\n { name: \"flags_\" + n, type: \"USHORT\", value: 0 }\n ];\n for (let i = 0; i < axes.length; ++i) {\n const axisTag = axes[i].tag;\n fields.push({\n name: \"axis_\" + n + \" \" + axisTag,\n type: \"FIXED\",\n value: inst.coordinates[axisTag] << 16\n });\n }\n if (optionalFields && optionalFields.postScriptNameID) {\n fields.push({\n name: \"postScriptNameID_\",\n type: \"USHORT\",\n value: inst.postScriptNameID !== void 0 ? inst.postScriptNameID : 65535\n });\n }\n return fields;\n}\nfunction parseFvarInstance(data, start, axes, names, instanceSize) {\n const inst = {};\n const p = new parse_default.Parser(data, start);\n const subfamilyNameID = p.parseUShort();\n inst.subfamilyNameID = subfamilyNameID;\n inst.name = getNameByID(names, subfamilyNameID, [2, 17]);\n p.skip(\"uShort\", 1);\n inst.coordinates = {};\n for (let i = 0; i < axes.length; ++i) {\n inst.coordinates[axes[i].tag] = p.parseFixed();\n }\n if (p.relativeOffset === instanceSize) {\n inst.postScriptNameID = void 0;\n inst.postScriptName = void 0;\n return inst;\n }\n const postScriptNameID = p.parseUShort();\n inst.postScriptNameID = postScriptNameID == 65535 ? void 0 : postScriptNameID;\n inst.postScriptName = inst.postScriptNameID !== void 0 ? getNameByID(names, postScriptNameID, [6]) : \"\";\n return inst;\n}\nfunction makeFvarTable(fvar, names) {\n const result = new table_default.Table(\"fvar\", [\n { name: \"version\", type: \"ULONG\", value: 65536 },\n { name: \"offsetToData\", type: \"USHORT\", value: 0 },\n { name: \"countSizePairs\", type: \"USHORT\", value: 2 },\n { name: \"axisCount\", type: \"USHORT\", value: fvar.axes.length },\n { name: \"axisSize\", type: \"USHORT\", value: 20 },\n { name: \"instanceCount\", type: \"USHORT\", value: fvar.instances.length },\n { name: \"instanceSize\", type: \"USHORT\", value: 4 + fvar.axes.length * 4 }\n ]);\n result.offsetToData = result.sizeOf();\n for (let i = 0; i < fvar.axes.length; i++) {\n result.fields = result.fields.concat(makeFvarAxis(i, fvar.axes[i], names));\n }\n const optionalFields = {};\n for (let j = 0; j < fvar.instances.length; j++) {\n if (fvar.instances[j].postScriptNameID !== void 0) {\n result.instanceSize += 2;\n optionalFields.postScriptNameID = true;\n break;\n }\n }\n for (let j = 0; j < fvar.instances.length; j++) {\n result.fields = result.fields.concat(makeFvarInstance(\n j,\n fvar.instances[j],\n fvar.axes,\n optionalFields\n ));\n }\n return result;\n}\nfunction parseFvarTable(data, start, names) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseULong();\n check_default.argument(tableVersion === 65536, \"Unsupported fvar table version.\");\n const offsetToData = p.parseOffset16();\n p.skip(\"uShort\", 1);\n const axisCount = p.parseUShort();\n const axisSize = p.parseUShort();\n const instanceCount = p.parseUShort();\n const instanceSize = p.parseUShort();\n const axes = [];\n for (let i = 0; i < axisCount; i++) {\n axes.push(parseFvarAxis(data, start + offsetToData + i * axisSize, names));\n }\n const instances = [];\n const instanceStart = start + offsetToData + axisCount * axisSize;\n for (let j = 0; j < instanceCount; j++) {\n instances.push(parseFvarInstance(data, instanceStart + j * instanceSize, axes, names, instanceSize));\n }\n return { axes, instances };\n}\nvar fvar_default = { make: makeFvarTable, parse: parseFvarTable };\n\n// src/tables/stat.mjs\nvar axisRecordStruct = {\n tag: Parser.tag,\n nameID: Parser.uShort,\n ordering: Parser.uShort\n};\nvar axisValueParsers = new Array(5);\naxisValueParsers[1] = function axisValueParser1() {\n return {\n axisIndex: this.parseUShort(),\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n value: this.parseFixed()\n };\n};\naxisValueParsers[2] = function axisValueParser2() {\n return {\n axisIndex: this.parseUShort(),\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n nominalValue: this.parseFixed(),\n rangeMinValue: this.parseFixed(),\n rangeMaxValue: this.parseFixed()\n };\n};\naxisValueParsers[3] = function axisValueParser3() {\n return {\n axisIndex: this.parseUShort(),\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n value: this.parseFixed(),\n linkedValue: this.parseFixed()\n };\n};\naxisValueParsers[4] = function axisValueParser4() {\n const axisCount = this.parseUShort();\n return {\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n axisValues: this.parseList(axisCount, function() {\n return {\n axisIndex: this.parseUShort(),\n value: this.parseFixed()\n };\n })\n };\n};\nfunction parseSTATAxisValue() {\n const valueTableFormat = this.parseUShort();\n const axisValueParser = axisValueParsers[valueTableFormat];\n const formatStub = {\n format: valueTableFormat\n };\n if (axisValueParser === void 0) {\n console.warn(`Unknown axis value table format ${valueTableFormat}`);\n return formatStub;\n }\n return Object.assign(formatStub, this.parseStruct(axisValueParser.bind(this)));\n}\nfunction parseSTATTable(data, start, fvar) {\n if (!start) {\n start = 0;\n }\n const p = new parse_default.Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported STAT table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n const version = [\n tableVersionMajor,\n tableVersionMinor\n ];\n const designAxisSize = p.parseUShort();\n const designAxisCount = p.parseUShort();\n const designAxesOffset = p.parseOffset32();\n const axisValueCount = p.parseUShort();\n const offsetToAxisValueOffsets = p.parseOffset32();\n const elidedFallbackNameID = tableVersionMajor > 1 || tableVersionMinor > 0 ? p.parseUShort() : void 0;\n if (fvar !== void 0) {\n check_default.argument(designAxisCount >= fvar.axes.length, \"STAT axis count must be greater than or equal to fvar axis count\");\n }\n if (axisValueCount > 0) {\n check_default.argument(designAxisCount >= 0, \"STAT axis count must be greater than 0 if STAT axis value count is greater than 0\");\n }\n const axes = [];\n for (let i = 0; i < designAxisCount; i++) {\n p.offset = start + designAxesOffset;\n p.relativeOffset = i * designAxisSize;\n axes.push(p.parseStruct(axisRecordStruct));\n }\n p.offset = start;\n p.relativeOffset = offsetToAxisValueOffsets;\n const valueOffsets = p.parseUShortList(axisValueCount);\n const values = [];\n for (let i = 0; i < axisValueCount; i++) {\n p.offset = start + offsetToAxisValueOffsets;\n p.relativeOffset = valueOffsets[i];\n values.push(parseSTATAxisValue.apply(p));\n }\n return {\n version,\n axes,\n values,\n elidedFallbackNameID\n };\n}\nvar axisValueMakers = new Array(5);\naxisValueMakers[1] = function axisValueMaker1(n, table) {\n return [\n { name: `format${n}`, type: \"USHORT\", value: 1 },\n { name: `axisIndex${n}`, type: \"USHORT\", value: table.axisIndex },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID },\n { name: `value${n}`, type: \"FLOAT\", value: table.value }\n ];\n};\naxisValueMakers[2] = function axisValueMaker2(n, table) {\n return [\n { name: `format${n}`, type: \"USHORT\", value: 2 },\n { name: `axisIndex${n}`, type: \"USHORT\", value: table.axisIndex },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID },\n { name: `nominalValue${n}`, type: \"FLOAT\", value: table.nominalValue },\n { name: `rangeMinValue${n}`, type: \"FLOAT\", value: table.rangeMinValue },\n { name: `rangeMaxValue${n}`, type: \"FLOAT\", value: table.rangeMaxValue }\n ];\n};\naxisValueMakers[3] = function axisValueMaker3(n, table) {\n return [\n { name: `format${n}`, type: \"USHORT\", value: 3 },\n { name: `axisIndex${n}`, type: \"USHORT\", value: table.axisIndex },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID },\n { name: `value${n}`, type: \"FLOAT\", value: table.value },\n { name: `linkedValue${n}`, type: \"FLOAT\", value: table.linkedValue }\n ];\n};\naxisValueMakers[4] = function axisValueMaker4(n, table) {\n let returnFields = [\n { name: `format${n}`, type: \"USHORT\", value: 4 },\n { name: `axisCount${n}`, type: \"USHORT\", value: table.axisValues.length },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID }\n ];\n for (let i = 0; i < table.axisValues.length; i++) {\n returnFields = returnFields.concat([\n { name: `format${n}axisIndex${i}`, type: \"USHORT\", value: table.axisValues[i].axisIndex },\n { name: `format${n}value${i}`, type: \"FLOAT\", value: table.axisValues[i].value }\n ]);\n }\n return returnFields;\n};\nfunction makeSTATAxisRecord(n, axis) {\n return new table_default.Record(\"axisRecord_\" + n, [\n { name: \"axisTag_\" + n, type: \"TAG\", value: axis.tag },\n { name: \"axisNameID_\" + n, type: \"USHORT\", value: axis.nameID },\n { name: \"axisOrdering_\" + n, type: \"USHORT\", value: axis.ordering }\n ]);\n}\nfunction makeSTATValueTable(n, tableData) {\n const valueTableFormat = tableData.format;\n const axisValueMaker = axisValueMakers[valueTableFormat];\n check_default.argument(axisValueMaker !== void 0, `Unknown axis value table format ${valueTableFormat}`);\n const fields = axisValueMaker(n, tableData);\n return new table_default.Table(\"axisValueTable_\" + n, fields);\n}\nfunction makeSTATTable(STAT) {\n const result = new table_default.Table(\"STAT\", [\n { name: \"majorVersion\", type: \"USHORT\", value: 1 },\n { name: \"minorVersion\", type: \"USHORT\", value: 2 },\n { name: \"designAxisSize\", type: \"USHORT\", value: 8 },\n { name: \"designAxisCount\", type: \"USHORT\", value: STAT.axes.length },\n { name: \"designAxesOffset\", type: \"ULONG\", value: 0 },\n { name: \"axisValueCount\", type: \"USHORT\", value: STAT.values.length },\n { name: \"offsetToAxisValueOffsets\", type: \"ULONG\", value: 0 },\n { name: \"elidedFallbackNameID\", type: \"USHORT\", value: STAT.elidedFallbackNameID }\n ]);\n result.designAxesOffset = result.offsetToAxisValueOffsets = result.sizeOf();\n for (let i = 0; i < STAT.axes.length; i++) {\n const axisRecord = makeSTATAxisRecord(i, STAT.axes[i]);\n result.offsetToAxisValueOffsets += axisRecord.sizeOf();\n result.fields = result.fields.concat(axisRecord.fields);\n }\n const axisValueOffsets = [];\n let axisValueTables = [];\n let axisValueTableOffset = STAT.values.length * 2;\n for (let j = 0; j < STAT.values.length; j++) {\n const axisValueTable = makeSTATValueTable(j, STAT.values[j]);\n axisValueOffsets.push({\n name: \"offset_\" + j,\n type: \"USHORT\",\n value: axisValueTableOffset\n });\n axisValueTableOffset += axisValueTable.sizeOf();\n axisValueTables = axisValueTables.concat(axisValueTable.fields);\n }\n result.fields = result.fields.concat(axisValueOffsets);\n result.fields = result.fields.concat(axisValueTables);\n return result;\n}\nvar stat_default = { make: makeSTATTable, parse: parseSTATTable };\n\n// src/tables/avar.mjs\nfunction makeAvarAxisValueMap(n, axisValueMap) {\n return new table_default.Record(\"axisValueMap_\" + n, [\n { name: \"fromCoordinate_\" + n, type: \"F2DOT14\", value: axisValueMap.fromCoordinate },\n { name: \"toCoordinate_\" + n, type: \"F2DOT14\", value: axisValueMap.toCoordinate }\n ]);\n}\nfunction makeAvarSegmentMap(n, axis) {\n const returnTable = new table_default.Record(\"segmentMap_\" + n, [\n { name: \"positionMapCount_\" + n, type: \"USHORT\", value: axis.axisValueMaps.length }\n ]);\n let axisValueMaps = [];\n for (let i = 0; i < axis.axisValueMaps.length; i++) {\n const valueMap = makeAvarAxisValueMap(`${n}_${i}`, axis.axisValueMaps[i]);\n axisValueMaps = axisValueMaps.concat(valueMap.fields);\n }\n returnTable.fields = returnTable.fields.concat(axisValueMaps);\n return returnTable;\n}\nfunction makeAvarTable(avar, fvar) {\n check_default.argument(avar.axisSegmentMaps.length === fvar.axes.length, \"avar axis count must correspond to fvar axis count\");\n const result = new table_default.Table(\"avar\", [\n { name: \"majorVersion\", type: \"USHORT\", value: 1 },\n { name: \"minorVersion\", type: \"USHORT\", value: 0 },\n { name: \"reserved\", type: \"USHORT\", value: 0 },\n { name: \"axisCount\", type: \"USHORT\", value: avar.axisSegmentMaps.length }\n ]);\n for (let i = 0; i < avar.axisSegmentMaps.length; i++) {\n const axisRecord = makeAvarSegmentMap(i, avar.axisSegmentMaps[i]);\n result.fields = result.fields.concat(axisRecord.fields);\n }\n return result;\n}\nfunction parseAvarTable(data, start, fvar) {\n if (!start) {\n start = 0;\n }\n const p = new Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported avar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n p.skip(\"uShort\", 1);\n const axisCount = p.parseUShort();\n check_default.argument(axisCount === fvar.axes.length, \"avar axis count must correspond to fvar axis count\");\n const axisSegmentMaps = [];\n for (let i = 0; i < axisCount; i++) {\n const axisValueMaps = [];\n const positionMapCount = p.parseUShort();\n for (let j = 0; j < positionMapCount; j++) {\n const fromCoordinate = p.parseF2Dot14();\n const toCoordinate = p.parseF2Dot14();\n axisValueMaps.push({\n fromCoordinate,\n toCoordinate\n });\n }\n axisSegmentMaps.push({\n axisValueMaps\n });\n }\n return {\n version: [tableVersionMajor, tableVersionMinor],\n axisSegmentMaps\n };\n}\nvar avar_default = { make: makeAvarTable, parse: parseAvarTable };\n\n// src/tables/cvar.mjs\nfunction parseCvarTable(data, start, fvar, cvt) {\n const p = new parse_default.Parser(data, start);\n const cvtVariations = p.parseTupleVariationStore(\n p.relativeOffset,\n fvar.axes.length,\n \"cvar\",\n cvt\n );\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported cvar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n return {\n version: [tableVersionMajor, tableVersionMinor],\n ...cvtVariations\n };\n}\nfunction makeCvarTable() {\n console.warn(\"Writing of cvar tables is not yet supported.\");\n}\nvar cvar_default = { make: makeCvarTable, parse: parseCvarTable };\n\n// src/tables/gvar.mjs\nfunction parseGvarTable(data, start, fvar, glyphs) {\n const p = new parse_default.Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported gvar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n const axisCount = p.parseUShort();\n if (axisCount !== fvar.axes.length) {\n console.warn(`axisCount ${axisCount} in gvar table does not match the number of axes ${fvar.axes.length} in the fvar table!`);\n }\n const sharedTupleCount = p.parseUShort();\n const sharedTuples = p.parsePointer32(function() {\n return this.parseTupleRecords(sharedTupleCount, axisCount);\n });\n const glyphVariations = p.parseTupleVariationStoreList(axisCount, \"gvar\", glyphs);\n return {\n version: [tableVersionMajor, tableVersionMinor],\n sharedTuples,\n glyphVariations\n };\n}\nfunction makeGvarTable() {\n console.warn(\"Writing of gvar tables is not yet supported.\");\n}\nvar gvar_default = { make: makeGvarTable, parse: parseGvarTable };\n\n// src/tables/gasp.mjs\nfunction parseGaspTable(data, start) {\n const gasp = {};\n const p = new parse_default.Parser(data, start);\n gasp.version = p.parseUShort();\n check_default.argument(gasp.version <= 1, \"Unsupported gasp table version.\");\n gasp.numRanges = p.parseUShort();\n gasp.gaspRanges = [];\n for (let i = 0; i < gasp.numRanges; i++) {\n gasp.gaspRanges[i] = {\n rangeMaxPPEM: p.parseUShort(),\n rangeGaspBehavior: p.parseUShort()\n };\n }\n return gasp;\n}\nfunction makeGaspTable(gasp) {\n const result = new table_default.Table(\"gasp\", [\n { name: \"version\", type: \"USHORT\", value: 1 },\n { name: \"numRanges\", type: \"USHORT\", value: gasp.numRanges }\n ]);\n for (let i in gasp.gaspRanges) {\n result.fields.push({ name: \"rangeMaxPPEM\", type: \"USHORT\", value: gasp.gaspRanges[i].rangeMaxPPEM });\n result.fields.push({ name: \"rangeGaspBehavior\", type: \"USHORT\", value: gasp.gaspRanges[i].rangeGaspBehavior });\n }\n return result;\n}\nvar gasp_default = { parse: parseGaspTable, make: makeGaspTable };\n\n// src/tables/svg.mjs\nfunction parseSvgTable(data, offset) {\n const svgTable = /* @__PURE__ */ new Map();\n const buf = data.buffer;\n const p = new Parser(data, offset);\n const version = p.parseUShort();\n if (version !== 0) return svgTable;\n p.relativeOffset = p.parseOffset32();\n const svgDocumentListOffset = data.byteOffset + offset + p.relativeOffset;\n const numEntries = p.parseUShort();\n const svgDocMap = /* @__PURE__ */ new Map();\n for (let i = 0; i < numEntries; i++) {\n const startGlyphID = p.parseUShort();\n const endGlyphID = p.parseUShort();\n const svgDocOffset = svgDocumentListOffset + p.parseOffset32();\n const svgDocLength = p.parseULong();\n let svgDoc = svgDocMap.get(svgDocOffset);\n if (svgDoc === void 0) {\n svgDoc = new Uint8Array(buf, svgDocOffset, svgDocLength);\n svgDocMap.set(svgDocOffset, svgDoc);\n }\n for (let i2 = startGlyphID; i2 <= endGlyphID; i2++) {\n svgTable.set(i2, svgDoc);\n }\n }\n return svgTable;\n}\nfunction makeSvgTable(svgTable) {\n const glyphIds = Array.from(svgTable.keys()).sort();\n const documentRecords = [];\n const documentBuffers = [];\n const documentOffsets = /* @__PURE__ */ new Map();\n let nextSvgDocOffset = 0;\n let record = { endGlyphID: null };\n for (let i = 0, l = glyphIds.length; i < l; i++) {\n const glyphId = glyphIds[i];\n const svgDoc = svgTable.get(glyphId);\n let svgDocOffset = documentOffsets.get(svgDoc);\n if (svgDocOffset === void 0) {\n svgDocOffset = nextSvgDocOffset;\n documentBuffers.push(svgDoc);\n documentOffsets.set(svgDoc, svgDocOffset);\n nextSvgDocOffset += svgDoc.byteLength;\n }\n if (glyphId - 1 === record.endGlyphID && svgDocOffset === record.svgDocOffset) {\n record.endGlyphID = glyphId;\n } else {\n record = {\n startGlyphID: glyphId,\n endGlyphID: glyphId,\n svgDocOffset,\n svgDocLength: svgDoc.byteLength\n };\n documentRecords.push(record);\n }\n }\n const numEntries = documentRecords.length;\n const numDocuments = documentBuffers.length;\n const documentsOffset = 2 + numEntries * (2 + 2 + 4 + 4);\n const fields = new Array(3 + 1 + numEntries * 4 + numDocuments);\n let fieldIndex = 0;\n fields[fieldIndex++] = { name: \"version\", type: \"USHORT\", value: 0 };\n fields[fieldIndex++] = { name: \"svgDocumentListOffset\", type: \"ULONG\", value: 2 + 4 + 4 };\n fields[fieldIndex++] = { name: \"reserved\", type: \"ULONG\", value: 0 };\n fields[fieldIndex++] = { name: \"numEntries\", type: \"USHORT\", value: numEntries };\n for (let i = 0; i < numEntries; i++) {\n const namePrefix = \"documentRecord_\" + i;\n const { startGlyphID, endGlyphID, svgDocOffset, svgDocLength } = documentRecords[i];\n fields[fieldIndex++] = { name: namePrefix + \"_startGlyphID\", type: \"USHORT\", value: startGlyphID };\n fields[fieldIndex++] = { name: namePrefix + \"_endGlyphID\", type: \"USHORT\", value: endGlyphID };\n fields[fieldIndex++] = { name: namePrefix + \"_svgDocOffset\", type: \"ULONG\", value: documentsOffset + svgDocOffset };\n fields[fieldIndex++] = { name: namePrefix + \"_svgDocLength\", type: \"ULONG\", value: svgDocLength };\n }\n for (let i = 0; i < numDocuments; i++) {\n fields[fieldIndex++] = { name: \"svgDoc_\" + i, type: \"LITERAL\", value: documentBuffers[i] };\n }\n return new table_default.Table(\"SVG \", fields);\n}\nvar svg_default = {\n make: makeSvgTable,\n parse: parseSvgTable\n};\n\n// src/tables/sfnt.mjs\nfunction log2(v) {\n return Math.log(v) / Math.log(2) | 0;\n}\nfunction computeCheckSum(bytes) {\n while (bytes.length % 4 !== 0) {\n bytes.push(0);\n }\n let sum = 0;\n for (let i = 0; i < bytes.length; i += 4) {\n sum += (bytes[i] << 24) + (bytes[i + 1] << 16) + (bytes[i + 2] << 8) + bytes[i + 3];\n }\n sum %= Math.pow(2, 32);\n return sum;\n}\nfunction makeTableRecord(tag, checkSum, offset, length) {\n return new table_default.Record(\"Table Record\", [\n { name: \"tag\", type: \"TAG\", value: tag !== void 0 ? tag : \"\" },\n { name: \"checkSum\", type: \"ULONG\", value: checkSum !== void 0 ? checkSum : 0 },\n { name: \"offset\", type: \"ULONG\", value: offset !== void 0 ? offset : 0 },\n { name: \"length\", type: \"ULONG\", value: length !== void 0 ? length : 0 }\n ]);\n}\nfunction makeSfntTable(tables) {\n const sfnt = new table_default.Table(\"sfnt\", [\n { name: \"version\", type: \"TAG\", value: \"OTTO\" },\n { name: \"numTables\", type: \"USHORT\", value: 0 },\n { name: \"searchRange\", type: \"USHORT\", value: 0 },\n { name: \"entrySelector\", type: \"USHORT\", value: 0 },\n { name: \"rangeShift\", type: \"USHORT\", value: 0 }\n ]);\n sfnt.tables = tables;\n sfnt.numTables = tables.length;\n const highestPowerOf2 = Math.pow(2, log2(sfnt.numTables));\n sfnt.searchRange = 16 * highestPowerOf2;\n sfnt.entrySelector = log2(highestPowerOf2);\n sfnt.rangeShift = sfnt.numTables * 16 - sfnt.searchRange;\n const recordFields = [];\n const tableFields = [];\n let offset = sfnt.sizeOf() + makeTableRecord().sizeOf() * sfnt.numTables;\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({ name: \"padding\", type: \"BYTE\", value: 0 });\n }\n for (let i = 0; i < tables.length; i += 1) {\n const t = tables[i];\n check_default.argument(t.tableName.length === 4, \"Table name\" + t.tableName + \" is invalid.\");\n const tableLength = t.sizeOf();\n const tableRecord = makeTableRecord(t.tableName, computeCheckSum(t.encode()), offset, tableLength);\n recordFields.push({ name: tableRecord.tag + \" Table Record\", type: \"RECORD\", value: tableRecord });\n tableFields.push({ name: t.tableName + \" table\", type: \"RECORD\", value: t });\n offset += tableLength;\n check_default.argument(!isNaN(offset), \"Something went wrong calculating the offset.\");\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({ name: \"padding\", type: \"BYTE\", value: 0 });\n }\n }\n recordFields.sort(function(r1, r2) {\n if (r1.value.tag > r2.value.tag) {\n return 1;\n } else {\n return -1;\n }\n });\n sfnt.fields = sfnt.fields.concat(recordFields);\n sfnt.fields = sfnt.fields.concat(tableFields);\n return sfnt;\n}\nfunction metricsForChar(font, chars, notFoundMetrics) {\n for (let i = 0; i < chars.length; i += 1) {\n const glyphIndex = font.charToGlyphIndex(chars[i]);\n if (glyphIndex > 0) {\n const glyph = font.glyphs.get(glyphIndex);\n return glyph.getMetrics();\n }\n }\n return notFoundMetrics;\n}\nfunction average(vs) {\n let sum = 0;\n for (let i = 0; i < vs.length; i += 1) {\n sum += vs[i];\n }\n return sum / vs.length;\n}\nfunction fontToSfntTable(font) {\n const xMins = [];\n const yMins = [];\n const xMaxs = [];\n const yMaxs = [];\n const advanceWidths = [];\n const leftSideBearings = [];\n const rightSideBearings = [];\n let firstCharIndex;\n let lastCharIndex = 0;\n let ulUnicodeRange1 = 0;\n let ulUnicodeRange2 = 0;\n let ulUnicodeRange3 = 0;\n let ulUnicodeRange4 = 0;\n for (let i = 0; i < font.glyphs.length; i += 1) {\n const glyph = font.glyphs.get(i);\n const unicode = glyph.unicode | 0;\n if (isNaN(glyph.advanceWidth)) {\n throw new Error(\"Glyph \" + glyph.name + \" (\" + i + \"): advanceWidth is not a number.\");\n }\n if (firstCharIndex > unicode || firstCharIndex === void 0) {\n if (unicode > 0) {\n firstCharIndex = unicode;\n }\n }\n if (lastCharIndex < unicode) {\n lastCharIndex = unicode;\n }\n const position = os2_default.getUnicodeRange(unicode);\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new Error(\"Unicode ranges bits > 123 are reserved for internal usage\");\n }\n if (glyph.name === \".notdef\") continue;\n const metrics = glyph.getMetrics();\n xMins.push(metrics.xMin);\n yMins.push(metrics.yMin);\n xMaxs.push(metrics.xMax);\n yMaxs.push(metrics.yMax);\n leftSideBearings.push(metrics.leftSideBearing);\n rightSideBearings.push(metrics.rightSideBearing);\n advanceWidths.push(glyph.advanceWidth);\n }\n const globals = {\n xMin: Math.min.apply(null, xMins),\n yMin: Math.min.apply(null, yMins),\n xMax: Math.max.apply(null, xMaxs),\n yMax: Math.max.apply(null, yMaxs),\n advanceWidthMax: Math.max.apply(null, advanceWidths),\n advanceWidthAvg: average(advanceWidths),\n minLeftSideBearing: Math.min.apply(null, leftSideBearings),\n maxLeftSideBearing: Math.max.apply(null, leftSideBearings),\n minRightSideBearing: Math.min.apply(null, rightSideBearings)\n };\n globals.ascender = font.ascender;\n globals.descender = font.descender;\n let macStyle = 0;\n if (font.weightClass >= 600) {\n macStyle |= font.macStyleValues.BOLD;\n }\n if (font.italicAngle < 0) {\n macStyle |= font.macStyleValues.ITALIC;\n }\n const headTable = head_default.make({\n flags: 3,\n // 00000011 (baseline for font at y=0; left sidebearing point at x=0)\n unitsPerEm: font.unitsPerEm,\n xMin: globals.xMin,\n yMin: globals.yMin,\n xMax: globals.xMax,\n yMax: globals.yMax,\n lowestRecPPEM: 3,\n macStyle,\n createdTimestamp: font.createdTimestamp\n });\n const hheaTable = hhea_default.make({\n ascender: globals.ascender,\n descender: globals.descender,\n advanceWidthMax: globals.advanceWidthMax,\n minLeftSideBearing: globals.minLeftSideBearing,\n minRightSideBearing: globals.minRightSideBearing,\n xMaxExtent: globals.maxLeftSideBearing + (globals.xMax - globals.xMin),\n numberOfHMetrics: font.glyphs.length\n });\n const maxpTable = maxp_default.make(font.glyphs.length);\n const os2Table = os2_default.make(Object.assign({\n xAvgCharWidth: Math.round(globals.advanceWidthAvg),\n usFirstCharIndex: firstCharIndex,\n usLastCharIndex: lastCharIndex,\n ulUnicodeRange1,\n ulUnicodeRange2,\n ulUnicodeRange3,\n ulUnicodeRange4,\n // See http://typophile.com/node/13081 for more info on vertical metrics.\n // We get metrics for typical characters (such as \"x\" for xHeight).\n // We provide some fallback characters if characters are unavailable: their\n // ordering was chosen experimentally.\n sTypoAscender: globals.ascender,\n sTypoDescender: globals.descender,\n sTypoLineGap: 0,\n usWinAscent: globals.yMax,\n usWinDescent: Math.abs(globals.yMin),\n ulCodePageRange1: 1,\n // FIXME: hard-code Latin 1 support for now\n sxHeight: metricsForChar(font, \"xyvw\", { yMax: Math.round(globals.ascender / 2) }).yMax,\n sCapHeight: metricsForChar(font, \"HIKLEFJMNTZBDPRAGOQSUVWXY\", globals).yMax,\n usDefaultChar: font.hasChar(\" \") ? 32 : 0,\n // Use space as the default character, if available.\n usBreakChar: font.hasChar(\" \") ? 32 : 0\n // Use space as the break character, if available.\n }, font.tables.os2));\n const hmtxTable = hmtx_default.make(font.glyphs);\n const cmapTable = cmap_default.make(font.glyphs);\n const englishFamilyName = font.getEnglishName(\"fontFamily\");\n const englishStyleName = font.getEnglishName(\"fontSubfamily\");\n const englishFullName = englishFamilyName + \" \" + englishStyleName;\n let postScriptName = font.getEnglishName(\"postScriptName\");\n if (!postScriptName) {\n postScriptName = englishFamilyName.replace(/\\s/g, \"\") + \"-\" + englishStyleName;\n }\n const names = {};\n for (let n in font.names) {\n names[n] = font.names[n];\n }\n names.unicode = names.unicode || {};\n names.macintosh = names.macintosh || {};\n names.windows = names.windows || {};\n const fontNamesUnicode = font.names.unicode || {};\n const fontNamesMacintosh = font.names.macintosh || {};\n const fontNamesWindows = font.names.windows || {};\n for (const platform in names) {\n names[platform] = names[platform] || {};\n if (!names[platform].uniqueID) {\n const manufacturer = font.getEnglishName(\"manufacturer\") || \"\";\n names[platform].uniqueID = { en: `${manufacturer}: ${englishFullName}` };\n }\n if (!names[platform].postScriptName) {\n names[platform].postScriptName = { en: postScriptName };\n }\n }\n if (!names.unicode.preferredFamily) {\n names.unicode.preferredFamily = fontNamesUnicode.fontFamily || fontNamesMacintosh.fontFamily || fontNamesWindows.fontFamily;\n }\n if (!names.macintosh.preferredFamily) {\n names.macintosh.preferredFamily = fontNamesMacintosh.fontFamily || fontNamesUnicode.fontFamily || fontNamesWindows.fontFamily;\n }\n if (!names.windows.preferredFamily) {\n names.windows.preferredFamily = fontNamesWindows.fontFamily || fontNamesUnicode.fontFamily || fontNamesMacintosh.fontFamily;\n }\n if (!names.unicode.preferredSubfamily) {\n names.unicode.preferredSubfamily = fontNamesUnicode.fontSubfamily || fontNamesMacintosh.fontSubfamily || fontNamesWindows.fontSubfamily;\n }\n if (!names.macintosh.preferredSubfamily) {\n names.macintosh.preferredSubfamily = fontNamesMacintosh.fontSubfamily || fontNamesUnicode.fontSubfamily || fontNamesWindows.fontSubfamily;\n }\n if (!names.windows.preferredSubfamily) {\n names.windows.preferredSubfamily = fontNamesWindows.fontSubfamily || fontNamesUnicode.fontSubfamily || fontNamesMacintosh.fontSubfamily;\n }\n const languageTags = [];\n const nameTable = name_default.make(names, languageTags);\n const ltagTable = languageTags.length > 0 ? ltag_default.make(languageTags) : void 0;\n const postTable = post_default.make(font);\n const cffTable = cff_default.make(font.glyphs, {\n version: font.getEnglishName(\"version\"),\n fullName: englishFullName,\n familyName: englishFamilyName,\n weightName: englishStyleName,\n postScriptName,\n unitsPerEm: font.unitsPerEm,\n fontBBox: [0, globals.yMin, globals.ascender, globals.advanceWidthMax],\n topDict: font.tables.cff && font.tables.cff.topDict || {}\n });\n const metaTable = font.metas && Object.keys(font.metas).length > 0 ? meta_default.make(font.metas) : void 0;\n const tables = [headTable, hheaTable, maxpTable, os2Table, nameTable, cmapTable, postTable, cffTable, hmtxTable];\n if (ltagTable) {\n tables.push(ltagTable);\n }\n const optionalTables = {\n gsub: gsub_default,\n cpal: cpal_default,\n colr: colr_default,\n stat: stat_default,\n avar: avar_default,\n cvar: cvar_default,\n fvar: fvar_default,\n gvar: gvar_default,\n gasp: gasp_default,\n svg: svg_default\n };\n const optionalTableArgs = {\n avar: [font.tables.fvar],\n fvar: [font.names]\n };\n for (let tableName in optionalTables) {\n const table = font.tables[tableName];\n if (table) {\n const tableData = optionalTables[tableName].make.call(font, table, ...optionalTableArgs[tableName] || []);\n if (tableData) {\n tables.push(tableData);\n }\n }\n }\n if (metaTable) {\n tables.push(metaTable);\n }\n const sfntTable = makeSfntTable(tables);\n const bytes = sfntTable.encode();\n const checkSum = computeCheckSum(bytes);\n const tableFields = sfntTable.fields;\n let checkSumAdjusted = false;\n for (let i = 0; i < tableFields.length; i += 1) {\n if (tableFields[i].name === \"head table\") {\n tableFields[i].value.checkSumAdjustment = 2981146554 - checkSum;\n checkSumAdjusted = true;\n break;\n }\n }\n if (!checkSumAdjusted) {\n throw new Error(\"Could not find head table with checkSum to adjust.\");\n }\n return sfntTable;\n}\nvar sfnt_default = { make: makeSfntTable, fontToTable: fontToSfntTable, computeCheckSum };\n\n// src/layout.mjs\nfunction searchTag(arr, tag) {\n let imin = 0;\n let imax = arr.length - 1;\n while (imin <= imax) {\n const imid = imin + imax >>> 1;\n const val = arr[imid].tag;\n if (val === tag) {\n return imid;\n } else if (val < tag) {\n imin = imid + 1;\n } else {\n imax = imid - 1;\n }\n }\n return -imin - 1;\n}\nfunction binSearch(arr, value) {\n let imin = 0;\n let imax = arr.length - 1;\n while (imin <= imax) {\n const imid = imin + imax >>> 1;\n const val = arr[imid];\n if (val === value) {\n return imid;\n } else if (val < value) {\n imin = imid + 1;\n } else {\n imax = imid - 1;\n }\n }\n return -imin - 1;\n}\nfunction searchRange(ranges, value) {\n let range;\n let imin = 0;\n let imax = ranges.length - 1;\n while (imin <= imax) {\n const imid = imin + imax >>> 1;\n range = ranges[imid];\n const start = range.start;\n if (start === value) {\n return range;\n } else if (start < value) {\n imin = imid + 1;\n } else {\n imax = imid - 1;\n }\n }\n if (imin > 0) {\n range = ranges[imin - 1];\n if (value > range.end) return 0;\n return range;\n }\n}\nfunction Layout(font, tableName) {\n this.font = font;\n this.tableName = tableName;\n}\nLayout.prototype = {\n /**\n * Binary search an object by \"tag\" property\n * @instance\n * @function searchTag\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {string} tag\n * @return {number}\n */\n searchTag,\n /**\n * Binary search in a list of numbers\n * @instance\n * @function binSearch\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {number} value\n * @return {number}\n */\n binSearch,\n /**\n * Get or create the Layout table (GSUB, GPOS etc).\n * @param {boolean} create - Whether to create a new one.\n * @return {Object} The GSUB or GPOS table.\n */\n getTable: function(create) {\n let layout = this.font.tables[this.tableName];\n if (!layout && create) {\n layout = this.font.tables[this.tableName] = this.createDefaultTable();\n }\n return layout;\n },\n /**\n * Returns all scripts in the substitution table.\n * @instance\n * @return {Array}\n */\n getScriptNames: function() {\n let layout = this.getTable();\n if (!layout) {\n return [];\n }\n return layout.scripts.map(function(script) {\n return script.tag;\n });\n },\n /**\n * Returns the best bet for a script name.\n * Returns 'DFLT' if it exists.\n * If not, returns 'latn' if it exists.\n * If neither exist, returns undefined.\n */\n getDefaultScriptName: function() {\n let layout = this.getTable();\n if (!layout) {\n return;\n }\n let hasLatn = false;\n for (let i = 0; i < layout.scripts.length; i++) {\n const name = layout.scripts[i].tag;\n if (name === \"DFLT\") return name;\n if (name === \"latn\") hasLatn = true;\n }\n if (hasLatn) return \"latn\";\n },\n /**\n * Returns all LangSysRecords in the given script.\n * @instance\n * @param {string} [script='DFLT']\n * @param {boolean} create - forces the creation of this script table if it doesn't exist.\n * @return {Object} An object with tag and script properties.\n */\n getScriptTable: function(script, create) {\n const layout = this.getTable(create);\n if (layout) {\n script = script || \"DFLT\";\n const scripts = layout.scripts;\n const pos = searchTag(layout.scripts, script);\n if (pos >= 0) {\n return scripts[pos].script;\n } else if (create) {\n const scr = {\n tag: script,\n script: {\n defaultLangSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] },\n langSysRecords: []\n }\n };\n scripts.splice(-1 - pos, 0, scr);\n return scr.script;\n }\n }\n },\n /**\n * Returns a language system table\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {boolean} create - forces the creation of this langSysTable if it doesn't exist.\n * @return {Object}\n */\n getLangSysTable: function(script, language, create) {\n const scriptTable = this.getScriptTable(script, create);\n if (scriptTable) {\n if (!language || language === \"dflt\" || language === \"DFLT\") {\n return scriptTable.defaultLangSys;\n }\n const pos = searchTag(scriptTable.langSysRecords, language);\n if (pos >= 0) {\n return scriptTable.langSysRecords[pos].langSys;\n } else if (create) {\n const langSysRecord = {\n tag: language,\n langSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] }\n };\n scriptTable.langSysRecords.splice(-1 - pos, 0, langSysRecord);\n return langSysRecord.langSys;\n }\n }\n },\n /**\n * Get a specific feature table.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - One of the codes listed at https://www.microsoft.com/typography/OTSPEC/featurelist.htm\n * @param {boolean} create - forces the creation of the feature table if it doesn't exist.\n * @return {Object}\n */\n getFeatureTable: function(script, language, feature, create) {\n const langSysTable2 = this.getLangSysTable(script, language, create);\n if (langSysTable2) {\n let featureRecord;\n const featIndexes = langSysTable2.featureIndexes;\n const allFeatures = this.font.tables[this.tableName].features;\n for (let i = 0; i < featIndexes.length; i++) {\n featureRecord = allFeatures[featIndexes[i]];\n if (featureRecord.tag === feature) {\n return featureRecord.feature;\n }\n }\n if (create) {\n const index = allFeatures.length;\n check_default.assert(index === 0 || feature >= allFeatures[index - 1].tag, \"Features must be added in alphabetical order.\");\n featureRecord = {\n tag: feature,\n feature: { params: 0, lookupListIndexes: [] }\n };\n allFeatures.push(featureRecord);\n featIndexes.push(index);\n return featureRecord.feature;\n }\n }\n },\n /**\n * Get the lookup tables of a given type for a script/language/feature.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - 4-letter feature code\n * @param {number} lookupType - 1 to 9\n * @param {boolean} create - forces the creation of the lookup table if it doesn't exist, with no subtables.\n * @return {Object[]}\n */\n getLookupTables: function(script, language, feature, lookupType, create) {\n const featureTable = this.getFeatureTable(script, language, feature, create);\n const tables = [];\n if (featureTable) {\n let lookupTable;\n const lookupListIndexes = featureTable.lookupListIndexes;\n const allLookups = this.font.tables[this.tableName].lookups;\n for (let i = 0; i < lookupListIndexes.length; i++) {\n lookupTable = allLookups[lookupListIndexes[i]];\n if (lookupTable.lookupType === lookupType) {\n tables.push(lookupTable);\n }\n }\n if (tables.length === 0 && create) {\n lookupTable = {\n lookupType,\n lookupFlag: 0,\n subtables: [],\n markFilteringSet: void 0\n };\n const index = allLookups.length;\n allLookups.push(lookupTable);\n lookupListIndexes.push(index);\n return [lookupTable];\n }\n }\n return tables;\n },\n /**\n * Find a glyph in a class definition table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#class-definition-table\n * @param {object} classDefTable - an OpenType Layout class definition table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getGlyphClass: function(classDefTable, glyphIndex) {\n switch (classDefTable.format) {\n case 1: {\n if (classDefTable.startGlyph <= glyphIndex && glyphIndex < classDefTable.startGlyph + classDefTable.classes.length) {\n return classDefTable.classes[glyphIndex - classDefTable.startGlyph];\n }\n return 0;\n }\n case 2: {\n const range = searchRange(classDefTable.ranges, glyphIndex);\n return range ? range.classId : 0;\n }\n }\n },\n /**\n * Find a glyph in a coverage table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#coverage-table\n * @param {object} coverageTable - an OpenType Layout coverage table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getCoverageIndex: function(coverageTable, glyphIndex) {\n switch (coverageTable.format) {\n case 1: {\n const index = binSearch(coverageTable.glyphs, glyphIndex);\n return index >= 0 ? index : -1;\n }\n case 2: {\n const range = searchRange(coverageTable.ranges, glyphIndex);\n return range ? range.index + glyphIndex - range.start : -1;\n }\n }\n },\n /**\n * Returns the list of glyph indexes of a coverage table.\n * Format 1: the list is stored raw\n * Format 2: compact list as range records.\n * @instance\n * @param {Object} coverageTable\n * @return {Array}\n */\n expandCoverage: function(coverageTable) {\n if (coverageTable.format === 1) {\n return coverageTable.glyphs;\n } else {\n const glyphs = [];\n const ranges = coverageTable.ranges;\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n const start = range.start;\n const end = range.end;\n for (let j = start; j <= end; j++) {\n glyphs.push(j);\n }\n }\n return glyphs;\n }\n }\n};\nvar layout_default = Layout;\n\n// src/position.mjs\nfunction Position(font) {\n layout_default.call(this, font, \"gpos\");\n}\nPosition.prototype = layout_default.prototype;\nPosition.prototype.init = function() {\n const script = this.getDefaultScriptName();\n this.defaultKerningTables = this.getKerningTables(script);\n};\nPosition.prototype.getKerningValue = function(kerningLookups, leftIndex, rightIndex) {\n for (let i = 0; i < kerningLookups.length; i++) {\n const subtables = kerningLookups[i].subtables;\n for (let j = 0; j < subtables.length; j++) {\n const subtable = subtables[j];\n const covIndex = this.getCoverageIndex(subtable.coverage, leftIndex);\n if (covIndex < 0) continue;\n switch (subtable.posFormat) {\n case 1: {\n let pairSet = subtable.pairSets[covIndex];\n for (let k = 0; k < pairSet.length; k++) {\n let pair = pairSet[k];\n if (pair.secondGlyph === rightIndex) {\n return pair.value1 && pair.value1.xAdvance || 0;\n }\n }\n break;\n }\n case 2: {\n const class1 = this.getGlyphClass(subtable.classDef1, leftIndex);\n const class2 = this.getGlyphClass(subtable.classDef2, rightIndex);\n const pair = subtable.classRecords[class1][class2];\n return pair.value1 && pair.value1.xAdvance || 0;\n }\n }\n }\n }\n return 0;\n};\nPosition.prototype.getKerningTables = function(script, language) {\n if (this.font.tables.gpos) {\n return this.getLookupTables(script, language, \"kern\", 2);\n }\n};\nvar position_default = Position;\n\n// src/util.mjs\nfunction arraysEqual(ar1, ar2) {\n const n = ar1.length;\n if (n !== ar2.length) {\n return false;\n }\n for (let i = 0; i < n; i++) {\n if (ar1[i] !== ar2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction binarySearch(array, key, value) {\n let low = 0, high = array.length - 1;\n let result = null;\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const record = array[mid];\n const recordValue = record[key];\n if (recordValue < value) {\n low = mid + 1;\n } else if (recordValue > value) {\n high = mid - 1;\n } else {\n result = record;\n break;\n }\n }\n return result;\n}\nfunction binarySearchIndex(array, key, value) {\n let low = 0, high = array.length - 1;\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const element = array[mid];\n if (element[key] < value) {\n low = mid + 1;\n } else if (element[key] > value) {\n high = mid - 1;\n } else {\n return mid;\n }\n }\n return -1;\n}\nfunction binarySearchInsert(array, key, value) {\n let low = 0, high = array.length;\n const compare = (a, b) => a[key] - b[key];\n while (low < high) {\n const mid = low + high >>> 1;\n if (compare(array[mid], value) < 0) low = mid + 1;\n else high = mid;\n }\n array.splice(low, 0, value);\n return low;\n}\nfunction isGzip(buf) {\n return buf[0] === 31 && buf[1] === 139 && buf[2] === 8;\n}\nfunction unGzip(gzip) {\n const data = new DataView(gzip.buffer, gzip.byteOffset, gzip.byteLength);\n let start = 10;\n const end = gzip.byteLength - 8;\n const flg = data.getInt8(3);\n if (flg & 4) {\n start += 2 + data.getUint16(start, true);\n }\n if (flg & 8) {\n while (start < end) if (gzip[start++] === 0) break;\n }\n if (flg & 16) {\n while (start < end) if (gzip[start++] === 0) break;\n }\n if (flg & 2) {\n start += 2;\n }\n if (start >= end) throw new Error(\"Can't find compressed blocks\");\n const isize = data.getUint32(data.byteLength - 4, true);\n return tinf_uncompress(gzip.subarray(start, end), new Uint8Array(isize));\n}\nfunction copyPoint(p) {\n return {\n x: p.x,\n y: p.y,\n onCurve: p.onCurve,\n lastPointOfContour: p.lastPointOfContour\n };\n}\nfunction copyComponent(c) {\n return {\n glyphIndex: c.glyphIndex,\n xScale: c.xScale,\n scale01: c.scale01,\n scale10: c.scale10,\n yScale: c.yScale,\n dx: c.dx,\n dy: c.dy\n };\n}\n\n// src/substitution.mjs\nfunction Substitution(font) {\n layout_default.call(this, font, \"gsub\");\n}\nfunction getSubstFormat(lookupTable, format, defaultSubtable) {\n const subtables = lookupTable.subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n if (subtable.substFormat === format) {\n return subtable;\n }\n }\n if (defaultSubtable) {\n subtables.push(defaultSubtable);\n return defaultSubtable;\n }\n return void 0;\n}\nSubstitution.prototype = layout_default.prototype;\nSubstitution.prototype.createDefaultTable = function() {\n return {\n version: 1,\n scripts: [{\n tag: \"DFLT\",\n script: {\n defaultLangSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] },\n langSysRecords: []\n }\n }],\n features: [],\n lookups: []\n };\n};\nSubstitution.prototype.getSingle = function(feature, script, language) {\n const substitutions = [];\n const lookupTables = this.getLookupTables(script, language, feature, 1);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n let j;\n if (subtable.substFormat === 1) {\n const delta = subtable.deltaGlyphId;\n for (j = 0; j < glyphs.length; j++) {\n const glyph = glyphs[j];\n substitutions.push({ sub: glyph, by: glyph + delta });\n }\n } else {\n const substitute = subtable.substitute;\n for (j = 0; j < glyphs.length; j++) {\n substitutions.push({ sub: glyphs[j], by: substitute[j] });\n }\n }\n }\n }\n return substitutions;\n};\nSubstitution.prototype.getMultiple = function(feature, script, language) {\n const substitutions = [];\n const lookupTables = this.getLookupTables(script, language, feature, 2);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n let j;\n for (j = 0; j < glyphs.length; j++) {\n const glyph = glyphs[j];\n const replacements = subtable.sequences[j];\n substitutions.push({ sub: glyph, by: replacements });\n }\n }\n }\n return substitutions;\n};\nSubstitution.prototype.getAlternates = function(feature, script, language) {\n const alternates = [];\n const lookupTables = this.getLookupTables(script, language, feature, 3);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n const alternateSets = subtable.alternateSets;\n for (let j = 0; j < glyphs.length; j++) {\n alternates.push({ sub: glyphs[j], by: alternateSets[j] });\n }\n }\n }\n return alternates;\n};\nSubstitution.prototype.getLigatures = function(feature, script, language) {\n const ligatures = [];\n const lookupTables = this.getLookupTables(script, language, feature, 4);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n const ligatureSets = subtable.ligatureSets;\n for (let j = 0; j < glyphs.length; j++) {\n const startGlyph = glyphs[j];\n const ligSet = ligatureSets[j];\n for (let k = 0; k < ligSet.length; k++) {\n const lig = ligSet[k];\n ligatures.push({\n sub: [startGlyph].concat(lig.components),\n by: lig.ligGlyph\n });\n }\n }\n }\n }\n return ligatures;\n};\nSubstitution.prototype.addSingle = function(feature, substitution, script, language) {\n const lookupTable = this.getLookupTables(script, language, feature, 1, true)[0];\n const subtable = getSubstFormat(lookupTable, 2, {\n // lookup type 1 subtable, format 2, coverage format 1\n substFormat: 2,\n coverage: { format: 1, glyphs: [] },\n substitute: []\n });\n check_default.assert(subtable.coverage.format === 1, \"Single: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = substitution.sub;\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.substitute.splice(pos, 0, 0);\n }\n subtable.substitute[pos] = substitution.by;\n};\nSubstitution.prototype.addMultiple = function(feature, substitution, script, language) {\n check_default.assert(substitution.by instanceof Array && substitution.by.length > 1, 'Multiple: \"by\" must be an array of two or more ids');\n const lookupTable = this.getLookupTables(script, language, feature, 2, true)[0];\n const subtable = getSubstFormat(lookupTable, 1, {\n // lookup type 2 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n sequences: []\n });\n check_default.assert(subtable.coverage.format === 1, \"Multiple: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = substitution.sub;\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.sequences.splice(pos, 0, 0);\n }\n subtable.sequences[pos] = substitution.by;\n};\nSubstitution.prototype.addAlternate = function(feature, substitution, script, language) {\n const lookupTable = this.getLookupTables(script, language, feature, 3, true)[0];\n const subtable = getSubstFormat(lookupTable, 1, {\n // lookup type 3 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n alternateSets: []\n });\n check_default.assert(subtable.coverage.format === 1, \"Alternate: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = substitution.sub;\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.alternateSets.splice(pos, 0, 0);\n }\n subtable.alternateSets[pos] = substitution.by;\n};\nSubstitution.prototype.addLigature = function(feature, ligature, script, language) {\n const lookupTable = this.getLookupTables(script, language, feature, 4, true)[0];\n let subtable = lookupTable.subtables[0];\n if (!subtable) {\n subtable = {\n // lookup type 4 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n ligatureSets: []\n };\n lookupTable.subtables[0] = subtable;\n }\n check_default.assert(subtable.coverage.format === 1, \"Ligature: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = ligature.sub[0];\n const ligComponents = ligature.sub.slice(1);\n const ligatureTable = {\n ligGlyph: ligature.by,\n components: ligComponents\n };\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos >= 0) {\n const ligatureSet = subtable.ligatureSets[pos];\n for (let i = 0; i < ligatureSet.length; i++) {\n if (arraysEqual(ligatureSet[i].components, ligComponents)) {\n return;\n }\n }\n ligatureSet.push(ligatureTable);\n } else {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.ligatureSets.splice(pos, 0, [ligatureTable]);\n }\n};\nSubstitution.prototype.getFeature = function(feature, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n return this.getSingle(feature, script, language);\n }\n switch (feature) {\n case \"aalt\":\n case \"salt\":\n return this.getSingle(feature, script, language).concat(this.getAlternates(feature, script, language));\n case \"dlig\":\n case \"liga\":\n case \"rlig\":\n return this.getLigatures(feature, script, language);\n case \"ccmp\":\n return this.getMultiple(feature, script, language).concat(this.getLigatures(feature, script, language));\n case \"stch\":\n return this.getMultiple(feature, script, language);\n }\n return void 0;\n};\nSubstitution.prototype.add = function(feature, sub, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n return this.addSingle(feature, sub, script, language);\n }\n switch (feature) {\n case \"aalt\":\n case \"salt\":\n if (typeof sub.by === \"number\") {\n return this.addSingle(feature, sub, script, language);\n }\n return this.addAlternate(feature, sub, script, language);\n case \"dlig\":\n case \"liga\":\n case \"rlig\":\n return this.addLigature(feature, sub, script, language);\n case \"ccmp\":\n if (sub.by instanceof Array) {\n return this.addMultiple(feature, sub, script, language);\n }\n return this.addLigature(feature, sub, script, language);\n }\n return void 0;\n};\nvar substitution_default = Substitution;\n\n// src/palettes.mjs\nvar PaletteManager = class {\n // private properties don't work with reify\n // @TODO: refactor once we migrated to ES6 modules, see https://github.com/opentypejs/opentype.js/pull/579\n // #font = null;\n /**\n * @type {integer} CPAL color used to (pre)fill unset colors in a palette.\n * Format 0xBBGGRRAA\n */\n // defaultValue = 0x000000FF;\n /**\n * \n * @param {opentype.Font} font \n */\n constructor(font) {\n this.defaultValue = 255;\n this.font = font;\n }\n /**\n * Returns the font's cpal table object if present\n * @returns {Object}\n */\n cpal() {\n if (this.font.tables && this.font.tables.cpal) {\n return this.font.tables.cpal;\n }\n return false;\n }\n /**\n * Returns an array of arrays of color values for each palette, optionally in a specified color format\n * @param {string} colorFormat \n * @returns {Array}\n */\n getAll(colorFormat) {\n const palettes = [];\n const cpal = this.cpal();\n if (!cpal) return palettes;\n for (let i = 0; i < cpal.colorRecordIndices.length; i++) {\n const startIndex = cpal.colorRecordIndices[i];\n const paletteColors = [];\n for (let j = startIndex; j < startIndex + cpal.numPaletteEntries; j++) {\n paletteColors.push(formatColor(cpal.colorRecords[j], colorFormat || \"hexa\"));\n }\n palettes.push(paletteColors);\n }\n return palettes;\n }\n /**\n * Converts a color value string or array of color value strings to CPAL integer color value(s)\n * @param {string|Array} color \n * @returns {integer}\n */\n toCPALcolor(color) {\n if (Array.isArray(color)) {\n return color.map((color2) => parseColor(color2, \"raw\"));\n }\n return parseColor(color, \"raw\");\n }\n /**\n * Fills a set of palette colors (from palette index, or a provided array of CPAL color values) with a set of colors, falling back to the default color value, until a given count\n * @param {Array|integer} palette Palette index integer or Array of colors to be filled\n * @param {Array} colors Colors to fill the palette with\n * @param {integer} _colorCount Number of colors to fill the palette with, defaults to the value of the numPaletteEntries field. Used internally by extend() and shouldn't be set manually\n * @returns \n */\n fillPalette(palette, colors = [], _colorCount = this.cpal().numPaletteEntries) {\n palette = Number.isInteger(palette) ? this.get(palette, \"raw\") : palette;\n return Object.assign(Array(_colorCount).fill(this.defaultValue), this.toCPALcolor(palette).concat(this.toCPALcolor(colors)));\n }\n /**\n * Extend existing palettes and numPaletteEntries by a number of color slots\n * @param {integer} num number of additional color slots to add to all palettes\n */\n extend(num) {\n if (this.ensureCPAL(Array(num).fill(this.defaultValue))) {\n return;\n }\n const cpal = this.cpal();\n const newCount = cpal.numPaletteEntries + num;\n const palettes = this.getAll().map((palette) => this.fillPalette(palette, [], newCount));\n cpal.numPaletteEntries = newCount;\n cpal.colorRecords = this.toCPALcolor(palettes.flat());\n this.updateIndices();\n }\n /**\n * Get a specific palette by its zero-based index\n * @param {integer} paletteIndex \n * @param {string} [colorFormat='hexa']\n * @returns {Array}\n */\n get(paletteIndex, colorFormat = \"hexa\") {\n return this.getAll(colorFormat)[paletteIndex] || null;\n }\n /**\n * Get a color from a specific palette by its zero-based index\n * @param {integer} index \n * @param {integer} paletteIndex\n * @param {string} [colorFormat ='hexa']\n * @returns \n */\n getColor(index, paletteIndex = 0, colorFormat = \"hexa\") {\n return getPaletteColor(this.font, index, paletteIndex, colorFormat);\n }\n /**\n * Set one or more colors on a specific palette by its zero-based index\n * @param {integer} index zero-based color index to start filling from\n * @param {string|integer|Array} color color value or array of color values\n * @param {integer} paletteIndex\n * @returns \n */\n setColor(index, colors, paletteIndex = 0) {\n index = parseInt(index);\n paletteIndex = parseInt(paletteIndex);\n let palettes = this.getAll(\"raw\");\n let palette = palettes[paletteIndex];\n if (!palette) {\n throw Error(`paletteIndex ${paletteIndex} out of range`);\n }\n const cpal = this.cpal();\n const colorCount = cpal.numPaletteEntries;\n if (!Array.isArray(colors)) {\n colors = [colors];\n }\n if (colors.length + index > colorCount) {\n this.extend(colors.length + index - colorCount);\n palettes = this.getAll(\"raw\");\n palette = palettes[paletteIndex];\n }\n for (let i = 0; i < colors.length; i++) {\n palette[i + index] = this.toCPALcolor(colors[i]);\n }\n cpal.colorRecords = palettes.flat();\n this.updateIndices();\n }\n /**\n * Add a new palette. \n * @param {Array} colors (optional) colors to add to the palette, differences to existing palettes will be filled with the defaultValue.\n * @returns \n */\n add(colors) {\n if (this.ensureCPAL(colors)) {\n return;\n }\n const cpal = this.cpal();\n const colorCount = cpal.numPaletteEntries;\n if (colors && colors.length) {\n colors = this.toCPALcolor(colors);\n if (colors.length > colorCount) {\n this.extend(colors.length - colorCount);\n } else if (colors.length < colorCount) {\n colors = this.fillPalette(colors);\n }\n cpal.colorRecordIndices.push(cpal.colorRecords.length);\n cpal.colorRecords.push(...colors);\n } else {\n cpal.colorRecordIndices.push(cpal.colorRecords.length);\n cpal.colorRecords.push(...Array(colorCount).fill(this.defaultValue));\n }\n }\n /**\n * deletes a palette by its zero-based index\n * @param {integer} paletteIndex \n */\n delete(paletteIndex) {\n const palettes = this.getAll(\"raw\");\n delete palettes[paletteIndex];\n const cpal = this.cpal();\n cpal.colorRecordIndices.pop();\n cpal.colorRecords = palettes.flat();\n }\n /**\n * Deletes a specific color index in all palettes and updates all layers using that color with the replacement index\n * @param {integer} colorIndex index of the color that should be deleted\n * @param {integer} replacementIndex index (according to the palette before deletion) of the color to replace in layers using the color to be to deleted\n */\n deleteColor(colorIndex, replacementIndex) {\n if (colorIndex === replacementIndex) {\n throw Error(\"replacementIndex cannot be the same as colorIndex\");\n }\n const cpal = this.cpal();\n const palettes = this.getAll(\"raw\");\n const updatedPalettes = [];\n if (replacementIndex > cpal.numPaletteEntries - 1) {\n throw Error(`Replacement index out of range: numPaletteEntries after deletion: ${cpal.numPaletteEntries - 1}, replacementIndex: ${replacementIndex})`);\n }\n for (let i = 0; i < palettes.length; i++) {\n const palette = palettes[i];\n const updatedPalette = palette.filter((color, index) => index !== colorIndex);\n updatedPalettes.push(updatedPalette);\n }\n const colrTable = this.font.tables.colr;\n if (colrTable) {\n const layerRecords = colrTable.layerRecords;\n for (let i = 0; i < layerRecords.length; i++) {\n const currentIndex = layerRecords[i].paletteIndex;\n if (currentIndex > colorIndex) {\n const shiftAmount = 1;\n layerRecords[i].paletteIndex -= shiftAmount;\n } else if (currentIndex === colorIndex) {\n let replacementShift = 0;\n for (let j = 0; j < palettes.length; j++) {\n if (replacementIndex > colorIndex && replacementIndex <= colorIndex + palettes[j].length) {\n replacementShift++;\n break;\n }\n }\n layerRecords[i].paletteIndex = replacementIndex - replacementShift;\n }\n }\n this.font.tables.colr = {\n ...colrTable,\n layerRecords\n };\n }\n const flattenedPalettes = updatedPalettes.flat();\n for (let i = 0; i < palettes.length; i++) {\n cpal.colorRecordIndices[i] -= i;\n }\n cpal.numPaletteEntries = Math.max(0, cpal.numPaletteEntries - 1);\n cpal.colorRecords = this.toCPALcolor(flattenedPalettes);\n }\n /**\n * Makes sure that the CPAL table exists and is populated with default values.\n * @param {Array} colors (optional) colors to populate on creation\n * @returns {Boolean} true if it was created, false if it already existed.\n */\n ensureCPAL(colors) {\n if (!this.cpal()) {\n if (!colors || !colors.length) {\n colors = [this.defaultValue];\n } else {\n colors = this.toCPALcolor(colors);\n }\n this.font.tables.cpal = {\n version: 0,\n numPaletteEntries: colors.length,\n colorRecords: colors,\n colorRecordIndices: [0]\n };\n return true;\n }\n return false;\n }\n /**\n * Mainly used internally. Recalculates the colorRecordIndices array based on the numPaletteEntries and number of palettes\n */\n updateIndices() {\n const cpal = this.cpal();\n const paletteCount = Math.ceil(cpal.colorRecords.length / cpal.numPaletteEntries);\n cpal.colorRecordIndices = [];\n for (let i = 0; i < paletteCount; i++) {\n cpal.colorRecordIndices.push(i * cpal.numPaletteEntries);\n }\n }\n};\n\n// src/layers.mjs\nvar LayerManager = class {\n // private properties don't work with reify\n // @TODO: refactor once we migrated to ES6 modules, see https://github.com/opentypejs/opentype.js/pull/579\n // #font = null;\n constructor(font) {\n this.font = font;\n }\n /**\n * Mainly used internally. Ensures that the COLR table exists and is populated with default values\n * @returns the LayerManager's font instance for chaining\n */\n ensureCOLR() {\n if (!this.font.tables.colr) {\n this.font.tables.colr = {\n version: 0,\n baseGlyphRecords: [],\n layerRecords: []\n };\n }\n return this.font;\n }\n /**\n * Gets the layers for a specific glyph\n * @param {integer} glyphIndex\n * @returns {Array} array of layer objects {glyph, paletteIndex}\n */\n get(glyphIndex) {\n const font = this.font;\n const layers = [];\n const colr = font.tables.colr;\n const cpal = font.tables.cpal;\n if (!colr || !cpal) {\n return layers;\n }\n const baseGlyph = binarySearch(colr.baseGlyphRecords, \"glyphID\", glyphIndex);\n if (!baseGlyph) {\n return layers;\n }\n const firstIndex = baseGlyph.firstLayerIndex;\n const numLayers = baseGlyph.numLayers;\n for (let l = 0; l < numLayers; l++) {\n const layer = colr.layerRecords[firstIndex + l];\n layers.push({\n glyph: font.glyphs.get(layer.glyphID),\n paletteIndex: layer.paletteIndex\n });\n }\n return layers;\n }\n /**\n * Adds one or more layers to a glyph, at the end or at a specific position.\n * @param {integer} glyphIndex glyph index to add the layer(s) to.\n * @param {Array|Object} layers layer object {glyph, paletteIndex}/{glyphID, paletteIndex} or array of layer objects.\n * @param {integer?} position position to insert the layers at (will default to adding at the end).\n */\n add(glyphIndex, layers, position) {\n const currentLayers = this.get(glyphIndex);\n layers = Array.isArray(layers) ? layers : [layers];\n if (position === void 0 || position === Infinity || position > currentLayers.length) {\n position = currentLayers.length;\n } else if (position < 0) {\n position = currentLayers.length + 1 + position % (currentLayers.length + 1);\n if (position >= currentLayers.length + 1) {\n position -= currentLayers.length + 1;\n }\n }\n const newLayers = [];\n for (let i = 0; i < position; i++) {\n const glyphID = Number.isInteger(currentLayers[i].glyph) ? currentLayers[i].glyph : currentLayers[i].glyph.index;\n newLayers.push({\n glyphID,\n paletteIndex: currentLayers[i].paletteIndex\n });\n }\n for (const layer of layers) {\n const glyphID = Number.isInteger(layer.glyph) ? layer.glyph : layer.glyph.index;\n newLayers.push({\n glyphID,\n paletteIndex: layer.paletteIndex\n });\n }\n for (let i = position; i < currentLayers.length; i++) {\n const glyphID = Number.isInteger(currentLayers[i].glyph) ? currentLayers[i].glyph : currentLayers[i].glyph.index;\n newLayers.push({\n glyphID,\n paletteIndex: currentLayers[i].paletteIndex\n });\n }\n this.updateColrTable(glyphIndex, newLayers);\n }\n /**\n * Sets a color glyph layer's paletteIndex property to a new index\n * @param {integer} glyphIndex glyph in the font by zero-based glyph index\n * @param {integer} layerIndex layer in the glyph by zero-based layer index\n * @param {integer} paletteIndex new color to set for the layer by zero-based index in any palette\n */\n setPaletteIndex(glyphIndex, layerIndex, paletteIndex) {\n let layers = this.get(glyphIndex);\n if (layers[layerIndex]) {\n layers = layers.map((layer, index) => ({\n glyphID: layer.glyph.index,\n paletteIndex: index === layerIndex ? paletteIndex : layer.paletteIndex\n }));\n this.updateColrTable(glyphIndex, layers);\n } else {\n console.error(\"Invalid layer index\");\n }\n }\n /**\n * Removes one or more layers from a glyph.\n * @param {integer} glyphIndex glyph index to remove the layer(s) from\n * @param {integer} start index to remove the layer at\n * @param {integer?} end (optional) if provided, removes all layers from start index to (and including) end index\n */\n remove(glyphIndex, start, end = start) {\n let currentLayers = this.get(glyphIndex);\n currentLayers = currentLayers.map((layer) => ({\n glyphID: layer.glyph.index,\n paletteIndex: layer.paletteIndex\n }));\n currentLayers.splice(start, end - start + 1);\n this.updateColrTable(glyphIndex, currentLayers);\n }\n /**\n * Mainly used internally. Mainly used internally. Updates the colr table, adding a baseGlyphRecord if needed,\n * ensuring that it's inserted at the correct position, updating numLayers, and adjusting firstLayerIndex values\n * for all baseGlyphRecords according to any deletions or insertions.\n * @param {integer} glyphIndex \n * @param {Array} layers array of layer objects {glyphID, paletteIndex}\n */\n updateColrTable(glyphIndex, layers) {\n this.ensureCOLR();\n const font = this.font;\n const colr = font.tables.colr;\n let index = binarySearchIndex(colr.baseGlyphRecords, \"glyphID\", glyphIndex);\n const addBaseGlyph = index === -1;\n if (addBaseGlyph) {\n const newBaseGlyphRecord = { glyphID: glyphIndex, firstLayerIndex: colr.layerRecords.length, numLayers: 0 };\n index = binarySearchInsert(colr.baseGlyphRecords, \"glyphID\", newBaseGlyphRecord);\n }\n const baseGlyphRecord = colr.baseGlyphRecords[index];\n const originalNumLayers = baseGlyphRecord.numLayers;\n const newNumLayers = layers.length;\n const layerDiff = newNumLayers - originalNumLayers;\n if (layerDiff > 0) {\n const newLayers = layers.slice(originalNumLayers).map((layer) => ({\n glyphID: layer.glyphID,\n paletteIndex: layer.paletteIndex\n }));\n colr.layerRecords.splice(baseGlyphRecord.firstLayerIndex + originalNumLayers, 0, ...newLayers);\n } else if (layerDiff < 0) {\n colr.layerRecords.splice(baseGlyphRecord.firstLayerIndex + newNumLayers, -layerDiff);\n }\n for (let i = 0; i < Math.min(originalNumLayers, newNumLayers); i++) {\n colr.layerRecords[baseGlyphRecord.firstLayerIndex + i] = {\n glyphID: layers[i].glyphID,\n paletteIndex: layers[i].paletteIndex\n };\n }\n baseGlyphRecord.numLayers = newNumLayers;\n if (layerDiff !== 0) {\n for (let i = 0; i < colr.baseGlyphRecords.length; i++) {\n const sibling = colr.baseGlyphRecords[i];\n if (i === index || sibling.firstLayerIndex < baseGlyphRecord.firstLayerIndex) continue;\n colr.baseGlyphRecords[i].firstLayerIndex += layerDiff;\n }\n }\n }\n};\n\n// src/svgimages.mjs\nvar SVGImageManager = class {\n /**\n * @param {opentype.Font} font\n */\n constructor(font) {\n this.font = font;\n this.cache = /* @__PURE__ */ new WeakMap();\n }\n /**\n * @param {number} glyphIndex\n * @returns {SvgImage | undefined}\n */\n get(glyphIndex) {\n const svgImageCacheEntry = this.getOrCreateSvgImageCacheEntry(glyphIndex);\n return svgImageCacheEntry && svgImageCacheEntry.image;\n }\n /**\n * @param {number} glyphIndex\n * @returns {Promise | undefined}\n */\n getAsync(glyphIndex) {\n const svgImageCacheEntry = this.getOrCreateSvgImageCacheEntry(glyphIndex);\n return svgImageCacheEntry && svgImageCacheEntry.promise;\n }\n /**\n * @param {number} glyphIndex\n * @returns {SVGImageCacheEntry | undefined}\n */\n getOrCreateSvgImageCacheEntry(glyphIndex) {\n const svg = this.font.tables.svg;\n if (svg === void 0) return;\n const svgBuf = svg.get(glyphIndex);\n if (svgBuf === void 0) return;\n let svgDocCacheEntry = this.cache.get(svgBuf);\n if (svgDocCacheEntry === void 0) {\n svgDocCacheEntry = createSvgDocCacheEntry(svgBuf);\n this.cache.set(svgBuf, svgDocCacheEntry);\n }\n let svgImageCacheEntry = svgDocCacheEntry.images.get(glyphIndex);\n if (svgImageCacheEntry === void 0) {\n svgImageCacheEntry = createSvgImageCacheEntry(this.font, svgDocCacheEntry.template, glyphIndex);\n svgImageCacheEntry.promise.then((svgImage) => {\n svgImageCacheEntry.image = svgImage;\n if (typeof this.font.onGlyphUpdated === \"function\") {\n try {\n this.font.onGlyphUpdated(glyphIndex);\n } catch (error) {\n console.error(\"font.onGlyphUpdated\", glyphIndex, error);\n }\n }\n });\n svgDocCacheEntry.images.set(glyphIndex, svgImageCacheEntry);\n }\n return svgImageCacheEntry;\n }\n};\nfunction createSvgDocCacheEntry(svgBuf) {\n return {\n template: decodeSvgDocument(svgBuf).then(makeSvgTemplate),\n images: /* @__PURE__ */ new Map()\n };\n}\nfunction createSvgImageCacheEntry(font, svgTemplatePromise, glyphIndex) {\n return {\n promise: svgTemplatePromise.then((svgTemplate) => {\n let svgText;\n if (typeof svgTemplate === \"string\") {\n svgText = svgTemplate;\n } else {\n svgTemplate[4] = glyphIndex;\n svgText = svgTemplate.join(\"\");\n }\n const svgImage = makeSvgImage(svgText, font.unitsPerEm);\n return svgImage.image.decode().then(() => svgImage);\n }),\n image: void 0\n };\n}\nvar decodeSvgDocument = typeof DecompressionStream === \"function\" ? decodeSvgDocumentWithDecompressionStream : decodeSvgDocumentWithTinyInflate;\nfunction decodeSvgDocumentWithTinyInflate(buf) {\n try {\n return Promise.resolve(new TextDecoder().decode(isGzip(buf) ? unGzip(buf) : buf));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction decodeSvgDocumentWithDecompressionStream(buf) {\n if (isGzip(buf)) {\n return new Response(new Response(buf).body.pipeThrough(new DecompressionStream(\"gzip\"))).text();\n }\n try {\n return Promise.resolve(new TextDecoder().decode(buf));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction makeSvgTemplate(text) {\n const documentStart = text.indexOf(\"\", documentStart + 4) + 1;\n if (/ id=['\"]glyph\\d+['\"]/.test(text.substring(documentStart, contentStart))) {\n return text;\n }\n const contentEnd = text.lastIndexOf(\"\");\n return [\n text.substring(0, contentStart),\n \"\",\n text.substring(contentStart, contentEnd),\n '',\n text.substring(contentEnd)\n ];\n}\nfunction makeSvgImage(text, unitsPerEm) {\n const svgDocument = new DOMParser().parseFromString(text, \"image/svg+xml\");\n const svg = svgDocument.documentElement;\n const viewBoxVal = svg.viewBox.baseVal;\n const widthVal = svg.width.baseVal;\n const heightVal = svg.height.baseVal;\n let xScale = 1;\n let yScale = 1;\n if (viewBoxVal.width > 0 && viewBoxVal.height > 0) {\n if (widthVal.unitType === 1) {\n xScale = widthVal.valueInSpecifiedUnits / viewBoxVal.width;\n yScale = heightVal.unitType === 1 ? heightVal.valueInSpecifiedUnits / viewBoxVal.height : xScale;\n } else if (heightVal.unitType === 1) {\n yScale = heightVal.valueInSpecifiedUnits / viewBoxVal.height;\n xScale = yScale;\n } else if (unitsPerEm) {\n xScale = unitsPerEm / viewBoxVal.width;\n yScale = unitsPerEm / viewBoxVal.height;\n }\n }\n const div = document.createElement(\"div\");\n div.style.position = \"fixed\";\n div.style.visibility = \"hidden\";\n div.appendChild(svg);\n document.body.appendChild(div);\n const bbox = svg.getBBox();\n document.body.removeChild(div);\n const leftSideBearing = (bbox.x - viewBoxVal.x) * xScale;\n const baseline = (viewBoxVal.y - bbox.y) * yScale;\n const width = bbox.width * xScale;\n const height = bbox.height * yScale;\n svg.setAttribute(\"viewBox\", [bbox.x, bbox.y, bbox.width, bbox.height].join(\" \"));\n if (xScale !== 1) svg.setAttribute(\"width\", width);\n if (yScale !== 1) svg.setAttribute(\"height\", height);\n const image = new Image(width, height);\n image.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(svg.outerHTML);\n return { leftSideBearing, baseline, image };\n}\n\n// src/tables/glyf.mjs\nvar _resolving = /* @__PURE__ */ new WeakMap();\nfunction parseGlyphCoordinate(p, flag, previousValue, shortVectorBitMask, sameBitMask) {\n let v;\n if ((flag & shortVectorBitMask) > 0) {\n v = p.parseByte();\n if ((flag & sameBitMask) === 0) {\n v = -v;\n }\n v = previousValue + v;\n } else {\n if ((flag & sameBitMask) > 0) {\n v = previousValue;\n } else {\n v = previousValue + p.parseShort();\n }\n }\n return v;\n}\nfunction parseGlyph(glyph, data, start) {\n const p = new parse_default.Parser(data, start);\n glyph._numberOfContours = p.parseShort();\n glyph._xMin = p.parseShort();\n glyph._yMin = p.parseShort();\n glyph._xMax = p.parseShort();\n glyph._yMax = p.parseShort();\n let flags;\n let flag;\n if (glyph._numberOfContours > 0) {\n const endPointIndices = glyph.endPointIndices = [];\n for (let i = 0; i < glyph._numberOfContours; i += 1) {\n endPointIndices.push(p.parseUShort());\n }\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (let i = 0; i < glyph.instructionLength; i += 1) {\n glyph.instructions.push(p.parseByte());\n }\n const numberOfCoordinates = endPointIndices[endPointIndices.length - 1] + 1;\n flags = [];\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = p.parseByte();\n flags.push(flag);\n if ((flag & 8) > 0) {\n const repeatCount = p.parseByte();\n for (let j = 0; j < repeatCount; j += 1) {\n flags.push(flag);\n i += 1;\n }\n }\n }\n check_default.argument(flags.length === numberOfCoordinates, \"Bad flags.\");\n if (endPointIndices.length > 0) {\n const points = [];\n let point;\n if (numberOfCoordinates > 0) {\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = flags[i];\n point = {};\n point.onCurve = !!(flag & 1);\n point.lastPointOfContour = endPointIndices.indexOf(i) >= 0;\n points.push(point);\n }\n let px = 0;\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = flags[i];\n point = points[i];\n point.x = parseGlyphCoordinate(p, flag, px, 2, 16);\n px = point.x;\n }\n let py = 0;\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = flags[i];\n point = points[i];\n point.y = parseGlyphCoordinate(p, flag, py, 4, 32);\n py = point.y;\n }\n }\n glyph.points = points;\n } else {\n glyph.points = [];\n }\n } else if (glyph._numberOfContours === 0) {\n glyph.points = [];\n } else {\n glyph.isComposite = true;\n glyph.points = [];\n glyph.components = [];\n let moreComponents = true;\n while (moreComponents) {\n flags = p.parseUShort();\n const component = {\n glyphIndex: p.parseUShort(),\n xScale: 1,\n scale01: 0,\n scale10: 0,\n yScale: 1,\n dx: 0,\n dy: 0\n };\n if ((flags & 1) > 0) {\n if ((flags & 2) > 0) {\n component.dx = p.parseShort();\n component.dy = p.parseShort();\n } else {\n component.matchedPoints = [p.parseUShort(), p.parseUShort()];\n }\n } else {\n if ((flags & 2) > 0) {\n component.dx = p.parseChar();\n component.dy = p.parseChar();\n } else {\n component.matchedPoints = [p.parseByte(), p.parseByte()];\n }\n }\n if ((flags & 8) > 0) {\n component.xScale = component.yScale = p.parseF2Dot14();\n } else if ((flags & 64) > 0) {\n component.xScale = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n } else if ((flags & 128) > 0) {\n component.xScale = p.parseF2Dot14();\n component.scale01 = p.parseF2Dot14();\n component.scale10 = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n }\n glyph.components.push(component);\n moreComponents = !!(flags & 32);\n }\n if (flags & 256) {\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (let i = 0; i < glyph.instructionLength; i += 1) {\n glyph.instructions.push(p.parseByte());\n }\n }\n }\n}\nfunction transformPoints(points, transform) {\n const newPoints = [];\n for (let i = 0; i < points.length; i += 1) {\n const pt = points[i];\n const newPt = {\n x: transform.xScale * pt.x + transform.scale10 * pt.y + transform.dx,\n y: transform.scale01 * pt.x + transform.yScale * pt.y + transform.dy,\n onCurve: pt.onCurve,\n lastPointOfContour: pt.lastPointOfContour\n };\n newPoints.push(newPt);\n }\n return newPoints;\n}\nfunction getContours(points) {\n const contours = [];\n let currentContour = [];\n for (let i = 0; i < points.length; i += 1) {\n const pt = points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n check_default.argument(currentContour.length === 0, \"There are still points left in the current contour.\");\n return contours;\n}\nfunction getPath(points) {\n const p = new path_default();\n if (!points) {\n return p;\n }\n const contours = getContours(points);\n for (let contourIndex = 0; contourIndex < contours.length; ++contourIndex) {\n const contour = contours[contourIndex];\n let curr = contour[contour.length - 1];\n let next = contour[0];\n if (curr.onCurve) {\n p.moveTo(curr.x, curr.y);\n } else {\n if (next.onCurve) {\n p.moveTo(next.x, next.y);\n } else {\n const start = { x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5 };\n p.moveTo(start.x, start.y);\n }\n }\n for (let i = 0; i < contour.length; ++i) {\n curr = next;\n next = contour[(i + 1) % contour.length];\n if (curr.onCurve) {\n p.lineTo(curr.x, curr.y);\n } else {\n let next2 = next;\n if (!next.onCurve) {\n next2 = { x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5 };\n }\n p.quadraticCurveTo(curr.x, curr.y, next2.x, next2.y);\n }\n }\n p.closePath();\n }\n return p;\n}\nfunction buildPath(glyphs, glyph) {\n if (glyph.isComposite) {\n if (!_resolving.has(glyphs)) {\n _resolving.set(glyphs, /* @__PURE__ */ new Set());\n }\n const resolving = _resolving.get(glyphs);\n resolving.add(glyph.index);\n try {\n for (let j = 0; j < glyph.components.length; j += 1) {\n const component = glyph.components[j];\n if (resolving.has(component.glyphIndex)) {\n continue;\n }\n const componentGlyph = glyphs.get(component.glyphIndex);\n componentGlyph.getPath();\n if (componentGlyph.points) {\n let transformedPoints;\n if (component.matchedPoints === void 0) {\n transformedPoints = transformPoints(componentGlyph.points, component);\n } else {\n if (component.matchedPoints[0] > glyph.points.length - 1 || component.matchedPoints[1] > componentGlyph.points.length - 1) {\n throw Error(\"Matched points out of range in \" + glyph.name);\n }\n const firstPt = glyph.points[component.matchedPoints[0]];\n let secondPt = componentGlyph.points[component.matchedPoints[1]];\n const transform = {\n xScale: component.xScale,\n scale01: component.scale01,\n scale10: component.scale10,\n yScale: component.yScale,\n dx: 0,\n dy: 0\n };\n secondPt = transformPoints([secondPt], transform)[0];\n transform.dx = firstPt.x - secondPt.x;\n transform.dy = firstPt.y - secondPt.y;\n transformedPoints = transformPoints(componentGlyph.points, transform);\n }\n glyph.points = glyph.points.concat(transformedPoints);\n }\n }\n } finally {\n resolving.delete(glyph.index);\n }\n }\n return getPath(glyph.points);\n}\nfunction parseGlyfTableAll(data, start, loca, font) {\n const glyphs = new glyphset_default.GlyphSet(font);\n for (let i = 0; i < loca.length - 1; i += 1) {\n const offset = loca[i];\n const nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset_default.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset_default.glyphLoader(font, i));\n }\n }\n return glyphs;\n}\nfunction parseGlyfTableOnLowMemory(data, start, loca, font) {\n const glyphs = new glyphset_default.GlyphSet(font);\n font._push = function(i) {\n const offset = loca[i];\n const nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset_default.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset_default.glyphLoader(font, i));\n }\n };\n return glyphs;\n}\nfunction parseGlyfTable(data, start, loca, font, opt) {\n if (opt.lowMemory)\n return parseGlyfTableOnLowMemory(data, start, loca, font);\n else\n return parseGlyfTableAll(data, start, loca, font);\n}\nvar glyf_default = { getPath, parse: parseGlyfTable };\n\n// src/variationprocessor.mjs\nvar VariationProcessor = class {\n constructor(font) {\n this.font = font;\n }\n /**\n * Modifies a coords object to make sure that tags have a length of 4\n * @param {Object} coords - variation coordinates\n */\n normalizeCoordTags(coords) {\n for (const tag in coords) {\n if (tag.length < 4) {\n const padded = tag.padEnd(4, \" \");\n coords[padded] === void 0 && (coords[padded] = coords[tag]);\n delete coords[tag];\n }\n }\n }\n /**\n * Normalizes the coordinates from the axis ranges to a range of -1 to 1.\n * @param {Object} coords - The coordinates object to normalize.\n * @returns {Array} The normalized coordinates as an array\n */\n getNormalizedCoords(coords) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n let normalized = [];\n this.normalizeCoordTags(coords);\n for (let i = 0; i < this.fvar().axes.length; i++) {\n const axis = this.fvar().axes[i];\n let tagValue = coords[axis.tag];\n if (tagValue === void 0) {\n tagValue = axis.defaultValue;\n }\n if (tagValue < axis.defaultValue) {\n normalized.push((tagValue - axis.defaultValue + Number.EPSILON) / (axis.defaultValue - axis.minValue + Number.EPSILON));\n } else {\n normalized.push((tagValue - axis.defaultValue + Number.EPSILON) / (axis.maxValue - axis.defaultValue + Number.EPSILON));\n }\n }\n if (this.avar()) {\n for (let i = 0; i < this.avar().axisSegmentMaps.length; i++) {\n let segment = this.avar().axisSegmentMaps[i];\n for (let j = 0; j < segment.axisValueMaps.length; j++) {\n let pair = segment.axisValueMaps[j];\n if (j >= 1 && normalized[i] < pair.fromCoordinate) {\n let prev = segment.axisValueMaps[j - 1];\n normalized[i] = ((normalized[i] - prev.fromCoordinate) * (pair.toCoordinate - prev.toCoordinate) + Number.EPSILON) / (pair.fromCoordinate - prev.fromCoordinate + Number.EPSILON) + prev.toCoordinate;\n break;\n }\n }\n }\n }\n return normalized;\n }\n /**\n * Interpolates points within a glyph if deltas are not provided for all points.\n * @param {Array} points - The points to be interpolated.\n * @param {Array} glyphPoints - Reference points from the glyph.\n * @param {Object} deltaMap - A map indicating which points have deltas.\n */\n interpolatePoints(points, glyphPoints, deltaMap) {\n if (points.length === 0) {\n return;\n }\n let pointIndex = 0;\n while (pointIndex < points.length) {\n let firstPoint = pointIndex;\n let endPoint = pointIndex;\n let point = points[endPoint];\n while (!point.lastPointOfContour) {\n point = points[++endPoint];\n }\n while (pointIndex <= endPoint && !deltaMap[pointIndex]) {\n pointIndex++;\n }\n if (pointIndex > endPoint) {\n continue;\n }\n let firstDelta = pointIndex;\n let curDelta = pointIndex;\n pointIndex++;\n while (pointIndex <= endPoint) {\n if (deltaMap[pointIndex]) {\n this.deltaInterpolate(curDelta + 1, pointIndex - 1, curDelta, pointIndex, glyphPoints, points);\n curDelta = pointIndex;\n }\n pointIndex++;\n }\n if (curDelta === firstDelta) {\n this.deltaShift(firstPoint, endPoint, curDelta, glyphPoints, points);\n } else {\n this.deltaInterpolate(curDelta + 1, endPoint, curDelta, firstDelta, glyphPoints, points);\n if (firstDelta > 0) {\n this.deltaInterpolate(firstPoint, firstDelta - 1, curDelta, firstDelta, glyphPoints, points);\n }\n }\n pointIndex = endPoint + 1;\n }\n }\n /**\n * Interpolates delta values between two points.\n * @param {number} p1 - Start point index for interpolation.\n * @param {number} p2 - End point index for interpolation.\n * @param {number} ref1 - Reference point index for the start delta.\n * @param {number} ref2 - Reference point index for the end delta.\n * @param {Array} glyphPoints - Reference points from the glyph.\n * @param {Array} points - The points to be adjusted.\n */\n deltaInterpolate(p1, p2, ref1, ref2, glyphPoints, points) {\n if (p1 > p2) {\n return;\n }\n let iterable = [\"x\", \"y\"];\n for (let i = 0; i < iterable.length; i++) {\n let k = iterable[i];\n if (glyphPoints[ref1][k] > glyphPoints[ref2][k]) {\n var p = ref1;\n ref1 = ref2;\n ref2 = p;\n }\n let in1 = glyphPoints[ref1][k];\n let in2 = glyphPoints[ref2][k];\n let out1 = points[ref1][k];\n let out2 = points[ref2][k];\n if (in1 !== in2 || out1 === out2) {\n let scale = in1 === in2 ? 0 : (out2 - out1) / (in2 - in1);\n for (let p3 = p1; p3 <= p2; p3++) {\n let out = glyphPoints[p3][k];\n if (out <= in1) {\n out += out1 - in1;\n } else if (out >= in2) {\n out += out2 - in2;\n } else {\n out = out1 + (out - in1) * scale;\n }\n points[p3][k] = out;\n }\n }\n }\n }\n /**\n * Applies a delta shift to a range of points based on a reference point.\n * @param {number} p1 - Start point index for shifting.\n * @param {number} p2 - End point index for shifting.\n * @param {number} ref - Reference point index.\n * @param {Array} glyphPoints - Reference points from the glyph.\n * @param {Array} points - The points to be shifted.\n */\n deltaShift(p1, p2, ref, glyphPoints, points) {\n let deltaX = points[ref].x - glyphPoints[ref].x;\n let deltaY = points[ref].y - glyphPoints[ref].y;\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n for (let p = p1; p <= p2; p++) {\n if (p !== ref) {\n points[p].x += deltaX;\n points[p].y += deltaY;\n }\n }\n }\n /**\n * Transforms glyph components based on variation data.\n * @param {Glyph} glyph - The composite glyph to transform.\n * @param {Array} transformedPoints - Points that are already transformed.\n * @param {Object} coords - Variation coordinates.\n * @param {Array} tuplePoints - Points that are part of the tuple.\n * @param {Object} header - Header information from the variation data.\n * @param {number} factor - The scaling factor for the transformation.\n */\n transformComponents(glyph, transformedPoints, coords, tuplePoints, header, factor) {\n let pointsIndex = 0;\n for (let c = 0; c < glyph.components.length; c++) {\n const component = glyph.components[c];\n const componentGlyph = this.font.glyphs.get(component.glyphIndex);\n const componentTransform = copyComponent(component);\n const deltaIndex = tuplePoints.indexOf(c);\n if (deltaIndex > -1) {\n componentTransform.dx += Math.round(header.deltas[deltaIndex] * factor);\n componentTransform.dy += Math.round(header.deltasY[deltaIndex] * factor);\n }\n const transformedComponentPoints = transformPoints(this.getTransform(componentGlyph, coords).points, componentTransform);\n transformedPoints.splice(pointsIndex, transformedComponentPoints.length, ...transformedComponentPoints);\n pointsIndex += componentGlyph.points.length;\n }\n }\n applyTupleVariationStore(variationData, points, coords, flavor = \"gvar\", args = {}) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n const normalizedCoords = this.getNormalizedCoords(coords);\n const { headers, sharedPoints } = variationData;\n const axisCount = this.fvar().axes.length;\n let transformedPoints;\n if (flavor === \"gvar\") {\n transformedPoints = points.map(copyPoint);\n } else if (flavor === \"cvar\") {\n transformedPoints = [...points];\n }\n for (let h = 0; h < headers.length; h++) {\n const header = headers[h];\n let factor = 1;\n for (let a = 0; a < axisCount; a++) {\n let tupleCoords = [0];\n switch (flavor) {\n case \"gvar\":\n tupleCoords = header.peakTuple ? header.peakTuple : this.gvar().sharedTuples[header.sharedTupleRecordsIndex];\n break;\n case \"cvar\":\n tupleCoords = header.peakTuple;\n break;\n }\n if (tupleCoords[a] === 0) {\n continue;\n }\n if (normalizedCoords[a] === 0) {\n factor = 0;\n break;\n }\n if (!header.intermediateStartTuple) {\n if (normalizedCoords[a] < Math.min(0, tupleCoords[a]) || normalizedCoords[a] > Math.max(0, tupleCoords[a])) {\n factor = 0;\n break;\n }\n factor = (factor * normalizedCoords[a] + Number.EPSILON) / (tupleCoords[a] + Number.EPSILON);\n } else {\n if (normalizedCoords[a] < header.intermediateStartTuple[a] || normalizedCoords[a] > header.intermediateEndTuple[a]) {\n factor = 0;\n break;\n } else if (normalizedCoords[a] < tupleCoords[a]) {\n factor = factor * (normalizedCoords[a] - header.intermediateStartTuple[a] + Number.EPSILON) / (tupleCoords[a] - header.intermediateStartTuple[a] + Number.EPSILON);\n } else {\n factor = factor * (header.intermediateEndTuple[a] - normalizedCoords[a] + Number.EPSILON) / (header.intermediateEndTuple[a] - tupleCoords[a] + Number.EPSILON);\n }\n }\n }\n if (factor === 0) {\n continue;\n }\n const tuplePoints = header.privatePoints.length ? header.privatePoints : sharedPoints;\n if (flavor === \"gvar\" && args.glyph && args.glyph.isComposite) {\n this.transformComponents(args.glyph, transformedPoints, coords, tuplePoints, header, factor);\n } else if (tuplePoints.length === 0) {\n for (let i = 0; i < transformedPoints.length; i++) {\n const point = transformedPoints[i];\n if (flavor === \"gvar\") {\n transformedPoints[i] = {\n x: Math.round(point.x + header.deltas[i] * factor),\n y: Math.round(point.y + header.deltasY[i] * factor),\n onCurve: point.onCurve,\n lastPointOfContour: point.lastPointOfContour\n };\n } else if (flavor === \"cvar\") {\n transformedPoints[i] = Math.round(point + header.deltas[i] * factor);\n }\n }\n } else {\n let interpolatedPoints;\n if (flavor === \"gvar\") {\n interpolatedPoints = transformedPoints.map(copyPoint);\n } else if (flavor === \"cvar\") {\n interpolatedPoints = transformedPoints;\n }\n const deltaMap = Array(points.length).fill(false);\n for (let i = 0; i < tuplePoints.length; i++) {\n let pointIndex = tuplePoints[i];\n if (pointIndex < points.length) {\n let point = interpolatedPoints[pointIndex];\n if (flavor === \"gvar\") {\n deltaMap[pointIndex] = true;\n point.x += header.deltas[i] * factor;\n point.y += header.deltasY[i] * factor;\n } else if (flavor === \"cvar\") {\n transformedPoints[pointIndex] = Math.round(point + header.deltas[i] * factor);\n }\n }\n }\n if (flavor === \"gvar\") {\n this.interpolatePoints(interpolatedPoints, transformedPoints, deltaMap);\n for (let i = 0; i < points.length; i++) {\n let deltaX = interpolatedPoints[i].x - transformedPoints[i].x;\n let deltaY = interpolatedPoints[i].y - transformedPoints[i].y;\n transformedPoints[i].x = Math.round(transformedPoints[i].x + deltaX);\n transformedPoints[i].y = Math.round(transformedPoints[i].y + deltaY);\n }\n }\n }\n }\n return transformedPoints;\n }\n /**\n * Retrieves a transformed copy of a glyph based on the provided variation coordinates, or the glyph itself if no variation was applied\n * @param {opentype.Glyph|number} glyph - Glyph or index of glyph to transform.\n * @param {Object} coords - Variation coords object (will fall back to variation coords in the defaultRenderOptions)\n * @returns {opentype.Glyph} - The transformed glyph.\n */\n getTransform(glyph, coords) {\n if (Number.isInteger(glyph)) {\n glyph = this.font.glyphs.get(glyph);\n }\n const hasBlend = glyph.getBlendPath;\n const hasPoints = !!(glyph.points && glyph.points.length);\n let transformedGlyph = glyph;\n if (hasBlend || hasPoints) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n if (hasPoints) {\n const variationData = this.gvar() && this.gvar().glyphVariations[glyph.index];\n if (variationData) {\n const glyphPoints = glyph.points;\n let transformedPoints = this.applyTupleVariationStore(variationData, glyphPoints, coords, \"gvar\", { glyph });\n transformedGlyph = new glyph_default(Object.assign({}, glyph, { points: transformedPoints, path: getPath(transformedPoints) }));\n }\n } else if (hasBlend) {\n const blendPath = glyph.getBlendPath(coords);\n transformedGlyph = new glyph_default(Object.assign({}, glyph, { path: blendPath }));\n }\n }\n if (this.font.tables.hvar) {\n glyph._advanceWidth = typeof glyph._advanceWidth !== \"undefined\" ? glyph._advanceWidth : glyph.advanceWidth;\n glyph.advanceWidth = transformedGlyph.advanceWidth = Math.round(glyph._advanceWidth + this.getVariableAdjustment(transformedGlyph.index, \"hvar\", \"advanceWidth\", coords));\n glyph._leftSideBearing = typeof glyph._leftSideBearing !== \"undefined\" ? glyph._leftSideBearing : glyph.leftSideBearing;\n glyph.leftSideBearing = transformedGlyph.leftSideBearing = Math.round(glyph._leftSideBearing + this.getVariableAdjustment(transformedGlyph.index, \"hvar\", \"lsb\", coords));\n }\n return transformedGlyph;\n }\n getCvarTransform(coords) {\n const cvt = this.font.tables.cvt;\n const variationData = this.cvar();\n if (!cvt || !cvt.length || !variationData || !variationData.headers.length) return cvt;\n return this.applyTupleVariationStore(variationData, cvt, coords, \"cvar\");\n }\n /**\n * Calculates the variable adjustment for a glyph property from variation data.\n * @param {number} gid - Glyph ID.\n * @param {string} tableName - The name of the variation data table.\n * @param {string} parameter - The property to adjust.\n * @param {Object} coords - Variation coordinates.\n * @returns {number} - The calculated adjustment.\n */\n getVariableAdjustment(gid, tableName, parameter, coords) {\n coords = coords || this.font.variation.get();\n let outerIndex, innerIndex;\n const table = this.font.tables[tableName];\n if (!table) {\n throw Error(`trying to get variation adjustment from non-existent table \"${table}\"`);\n }\n if (!table.itemVariationStore) {\n throw Error(`trying to get variation adjustment from table \"${table}\" which does not have an itemVariationStore`);\n }\n const mapSize = table[parameter] && table[parameter].map.length;\n if (mapSize) {\n let i = gid;\n if (i >= mapSize) {\n i = mapSize - 1;\n }\n ({ outerIndex, innerIndex } = table[parameter].map[i]);\n } else {\n outerIndex = 0;\n innerIndex = gid;\n }\n return this.getDelta(table.itemVariationStore, outerIndex, innerIndex, coords);\n }\n /**\n * Retrieves the delta value from a variation store.\n * @param {Object} itemStore - The item variation store.\n * @param {number} outerIndex - The outer index in the variation subtables.\n * @param {number} innerIndex - The inner index in the delta sets.\n * @param {Object} coords - Variation coordinates.\n * @returns {number} - The delta value.\n */\n getDelta(itemStore, outerIndex, innerIndex, coords) {\n if (outerIndex >= itemStore.itemVariationSubtables.length) {\n return 0;\n }\n let varData = itemStore.itemVariationSubtables[outerIndex];\n if (innerIndex >= varData.deltaSets.length) {\n return 0;\n }\n let deltaSet = varData.deltaSets[innerIndex];\n let blendVector = this.getBlendVector(itemStore, outerIndex, coords);\n let netAdjustment = 0;\n for (let master = 0; master < varData.regionIndexes.length; master++) {\n netAdjustment += deltaSet[master] * blendVector[master];\n }\n return netAdjustment;\n }\n /**\n * Calculates the blend vector for a set of variation coordinates.\n * @param {Object} itemStore - The item variation store.\n * @param {number} itemIndex - Index of the current item in the variation subtables.\n * @param {Object} coords - Variation coordinates.\n * @returns {Array} - The blend vector for the given coordinates.\n */\n getBlendVector(itemStore, itemIndex, coords) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n let varData = itemStore.itemVariationSubtables[itemIndex];\n const normalizedCoords = this.getNormalizedCoords(coords);\n let blendVector = [];\n for (let master = 0; master < varData.regionIndexes.length; master++) {\n let scalar = 1;\n let regionIndex = varData.regionIndexes[master];\n let axes = itemStore.variationRegions[regionIndex].regionAxes;\n for (let j = 0; j < axes.length; j++) {\n let axis = axes[j];\n let axisScalar;\n if (axis.startCoord > axis.peakCoord || axis.peakCoord > axis.endCoord) {\n axisScalar = 1;\n } else if (axis.startCoord < 0 && axis.endCoord > 0 && axis.peakCoord !== 0) {\n axisScalar = 1;\n } else if (axis.peakCoord === 0) {\n axisScalar = 1;\n } else if (normalizedCoords[j] < axis.startCoord || normalizedCoords[j] > axis.endCoord) {\n axisScalar = 0;\n } else {\n if (normalizedCoords[j] === axis.peakCoord) {\n axisScalar = 1;\n } else if (normalizedCoords[j] < axis.peakCoord) {\n axisScalar = (normalizedCoords[j] - axis.startCoord + Number.EPSILON) / (axis.peakCoord - axis.startCoord + Number.EPSILON);\n } else {\n axisScalar = (axis.endCoord - normalizedCoords[j] + Number.EPSILON) / (axis.endCoord - axis.peakCoord + Number.EPSILON);\n }\n }\n scalar *= axisScalar;\n }\n blendVector[master] = scalar;\n }\n return blendVector;\n }\n /**\n * Helper method that returns the font's avar table if present\n * @returns {Object|undefined}\n */\n avar() {\n return this.font.tables.avar;\n }\n /**\n * Helper method that returns the font's cvar table if present\n * @returns {Object|undefined}\n */\n cvar() {\n return this.font.tables.cvar;\n }\n /**\n * Helper method that returns the font's fvar table if present\n * @returns {Object|undefined}\n */\n fvar() {\n return this.font.tables.fvar;\n }\n /**\n * Helper method that returns the font's gvar table if present\n * @returns {Object|undefined}\n */\n gvar() {\n return this.font.tables.gvar;\n }\n /**\n * Helper method that returns the font's hvar table if present\n * @returns {Object|undefined}\n */\n hvar() {\n return this.font.tables.hvar;\n }\n};\n\n// src/variation.mjs\nvar VariationManager = class {\n constructor(font) {\n this.font = font;\n this.process = new VariationProcessor(this.font);\n this.activateDefaultVariation();\n this.getTransform = this.process.getTransform.bind(this.process);\n }\n /**\n * Tries to determine the default instance and sets its variation data as the font.defaultRenderOptions.\n * If not defaultInstance can be determined, the default coordinates of all axes are used.\n */\n activateDefaultVariation() {\n const defaultInstance = this.getDefaultInstanceIndex();\n if (defaultInstance > -1) {\n this.set(defaultInstance);\n } else {\n this.set(this.getDefaultCoordinates());\n }\n }\n /**\n * Retrieves the default coordinates for the font's variation axes.\n * @returns {Object} An object mapping axis tags to their default values.\n */\n getDefaultCoordinates() {\n return this.fvar().axes.reduce((acc, axis) => {\n acc[axis.tag] = axis.defaultValue;\n return acc;\n }, {});\n }\n /**\n * Gets the index of the default variation instance or -1 if not able to determine\n * @returns {integer} default index or -1\n */\n getDefaultInstanceIndex() {\n const defaultCoordinates = this.getDefaultCoordinates();\n let defaultInstanceIndex = this.getInstanceIndex(defaultCoordinates);\n if (defaultInstanceIndex < 0) {\n defaultInstanceIndex = this.fvar().instances.findIndex((instance) => instance.name && instance.name.en === \"Regular\");\n }\n return defaultInstanceIndex;\n }\n /**\n * Retrieves the index of the variation instance matching the coordinates object or -1 if not able to determine\n * @param {integer|Object} coordinates An object where keys are axis tags and values are the corresponding variation values.\n * @returns {integer} The index of the matching instance or -1 if no match is found.\n */\n getInstanceIndex(coordinates) {\n return this.fvar().instances.findIndex(\n (instance) => Object.keys(coordinates).every(\n (axis) => instance.coordinates[axis] === coordinates[axis]\n )\n );\n }\n /**\n * Retrieves a variation instance by its zero-based index\n * @param {integer} index - zero-based index of the variation instance\n * @returns {Object} - variation instance or null if the index is invalid.\n */\n getInstance(index) {\n return this.fvar().instances && this.fvar().instances[index];\n }\n /**\n * Set the variation coordinates to use by default for rendering in the font.defaultRenderOptions\n * @param {integer|Object} instanceIdOrObject Either the zero-based index of a variation instance or an object with axis tags as keys and variation values as values\n */\n set(instanceIdOrObject) {\n let variationData;\n if (Number.isInteger(instanceIdOrObject)) {\n const instance = this.getInstance(instanceIdOrObject);\n if (!instance) {\n throw Error(`Invalid instance index ${instanceIdOrObject}`);\n }\n variationData = { ...instance.coordinates };\n } else {\n variationData = instanceIdOrObject;\n this.process.normalizeCoordTags(variationData);\n }\n variationData = Object.assign(\n {},\n this.font.defaultRenderOptions.variation,\n variationData\n );\n this.font.defaultRenderOptions = Object.assign(\n {},\n this.font.defaultRenderOptions,\n { variation: variationData }\n );\n }\n /**\n * Returns the variation coordinates currently set in the font.defaultRenderOptions\n * @returns {Object}\n */\n get() {\n return Object.assign({}, this.font.defaultRenderOptions.variation);\n }\n /**\n * Helper method that returns the font's avar table if present\n * @returns {Object|undefined}\n */\n avar() {\n return this.font.tables.avar;\n }\n /**\n * Helper method that returns the font's cvar table if present\n * @returns {Object|undefined}\n */\n cvar() {\n return this.font.tables.cvar;\n }\n /**\n * Helper method that returns the font's fvar table if present\n * @returns {Object|undefined}\n */\n fvar() {\n return this.font.tables.fvar;\n }\n /**\n * Helper method that returns the font's gvar table if present\n * @returns {Object|undefined}\n */\n gvar() {\n return this.font.tables.gvar;\n }\n /**\n * Helper method that returns the font's hvar table if present\n * @returns {Object|undefined}\n */\n hvar() {\n return this.font.tables.hvar;\n }\n};\n\n// src/hintingtt.mjs\nvar MAX_INSTRUCTIONS = 1e6;\nvar MAX_CALL_DEPTH2 = 64;\nvar MAX_LOOP_COUNT = 1e4;\nvar instructionTable;\nvar exec;\nvar execGlyph;\nvar execComponent;\nfunction Hinting(font) {\n this.font = font;\n this.getCommands = function(hPoints) {\n return glyf_default.getPath(hPoints).commands;\n };\n this._fpgmState = this._prepState = void 0;\n this._errorState = 0;\n}\nfunction roundOff(v) {\n return v;\n}\nfunction roundToGrid(v) {\n return Math.sign(v) * Math.round(Math.abs(v));\n}\nfunction roundToDoubleGrid(v) {\n return Math.sign(v) * Math.round(Math.abs(v * 2)) / 2;\n}\nfunction roundToHalfGrid(v) {\n return Math.sign(v) * (Math.round(Math.abs(v) + 0.5) - 0.5);\n}\nfunction roundUpToGrid(v) {\n return Math.sign(v) * Math.ceil(Math.abs(v));\n}\nfunction roundDownToGrid(v) {\n return Math.sign(v) * Math.floor(Math.abs(v));\n}\nvar roundSuper = function(v) {\n const period = this.srPeriod;\n let phase = this.srPhase;\n const threshold = this.srThreshold;\n let sign = 1;\n if (v < 0) {\n v = -v;\n sign = -1;\n }\n v += threshold - phase;\n v = Math.trunc(v / period) * period;\n v += phase;\n if (v < 0) return phase * sign;\n return v * sign;\n};\nvar xUnitVector = {\n x: 1,\n y: 0,\n axis: \"x\",\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function(p1, p2, o1, o2) {\n return (o1 ? p1.xo : p1.x) - (o2 ? p2.xo : p2.x);\n },\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function(p, rp1, rp2, pv) {\n let do1;\n let do2;\n let doa1;\n let doa2;\n let dm1;\n let dm2;\n let dt;\n if (!pv || pv === this) {\n do1 = p.xo - rp1.xo;\n do2 = p.xo - rp2.xo;\n dm1 = rp1.x - rp1.xo;\n dm2 = rp2.x - rp2.xo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n p.x = p.xo + (dm1 + dm2) / 2;\n return;\n }\n p.x = p.xo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n xUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n xUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n // Slope of line normal to this\n normalSlope: Number.NEGATIVE_INFINITY,\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'.\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function(p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.x = (org ? rp.xo : rp.x) + d;\n return;\n }\n const rpx = org ? rp.xo : rp.x;\n const rpy = org ? rp.yo : rp.y;\n const rpdx = rpx + d * pv.x;\n const rpdy = rpy + d * pv.y;\n p.x = rpdx + (p.y - rpdy) / pv.normalSlope;\n },\n // Slope of vector line.\n slope: 0,\n // Touches the point p.\n touch: function(p) {\n p.xTouched = true;\n },\n // Tests if a point p is touched.\n touched: function(p) {\n return p.xTouched;\n },\n // Untouches the point p.\n untouch: function(p) {\n p.xTouched = false;\n }\n};\nvar yUnitVector = {\n x: 0,\n y: 1,\n axis: \"y\",\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function(p1, p2, o1, o2) {\n return (o1 ? p1.yo : p1.y) - (o2 ? p2.yo : p2.y);\n },\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function(p, rp1, rp2, pv) {\n let do1;\n let do2;\n let doa1;\n let doa2;\n let dm1;\n let dm2;\n let dt;\n if (!pv || pv === this) {\n do1 = p.yo - rp1.yo;\n do2 = p.yo - rp2.yo;\n dm1 = rp1.y - rp1.yo;\n dm2 = rp2.y - rp2.yo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n p.y = p.yo + (dm1 + dm2) / 2;\n return;\n }\n p.y = p.yo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n yUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n yUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n // Slope of line normal to this.\n normalSlope: 0,\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function(p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.y = (org ? rp.yo : rp.y) + d;\n return;\n }\n const rpx = org ? rp.xo : rp.x;\n const rpy = org ? rp.yo : rp.y;\n const rpdx = rpx + d * pv.x;\n const rpdy = rpy + d * pv.y;\n p.y = rpdy + pv.normalSlope * (p.x - rpdx);\n },\n // Slope of vector line.\n slope: Number.POSITIVE_INFINITY,\n // Touches the point p.\n touch: function(p) {\n p.yTouched = true;\n },\n // Tests if a point p is touched.\n touched: function(p) {\n return p.yTouched;\n },\n // Untouches the point p.\n untouch: function(p) {\n p.yTouched = false;\n }\n};\nObject.freeze(xUnitVector);\nObject.freeze(yUnitVector);\nfunction UnitVector(x, y) {\n this.x = x;\n this.y = y;\n this.axis = void 0;\n this.slope = y / x;\n this.normalSlope = -x / y;\n Object.freeze(this);\n}\nUnitVector.prototype.distance = function(p1, p2, o1, o2) {\n return this.x * xUnitVector.distance(p1, p2, o1, o2) + this.y * yUnitVector.distance(p1, p2, o1, o2);\n};\nUnitVector.prototype.interpolate = function(p, rp1, rp2, pv) {\n let dm1;\n let dm2;\n let do1;\n let do2;\n let doa1;\n let doa2;\n let dt;\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n this.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n this.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n};\nUnitVector.prototype.setRelative = function(p, rp, d, pv, org) {\n pv = pv || this;\n const rpx = org ? rp.xo : rp.x;\n const rpy = org ? rp.yo : rp.y;\n const rpdx = rpx + d * pv.x;\n const rpdy = rpy + d * pv.y;\n const pvns = pv.normalSlope;\n const fvs = this.slope;\n const px = p.x;\n const py = p.y;\n p.x = (fvs * px - pvns * rpdx + rpdy - py) / (fvs - pvns);\n p.y = fvs * (p.x - px) + py;\n};\nUnitVector.prototype.touch = function(p) {\n p.xTouched = true;\n p.yTouched = true;\n};\nfunction getUnitVector(x, y) {\n const d = Math.sqrt(x * x + y * y);\n x /= d;\n y /= d;\n if (x === 1 && y === 0) return xUnitVector;\n else if (x === 0 && y === 1) return yUnitVector;\n else return new UnitVector(x, y);\n}\nfunction HPoint(x, y, lastPointOfContour, onCurve) {\n this.x = this.xo = Math.round(x * 64) / 64;\n this.y = this.yo = Math.round(y * 64) / 64;\n this.lastPointOfContour = lastPointOfContour;\n this.onCurve = onCurve;\n this.prevPointOnContour = void 0;\n this.nextPointOnContour = void 0;\n this.xTouched = false;\n this.yTouched = false;\n Object.preventExtensions(this);\n}\nHPoint.prototype.nextTouched = function(v) {\n let p = this.nextPointOnContour;\n while (!v.touched(p) && p !== this) p = p.nextPointOnContour;\n return p;\n};\nHPoint.prototype.prevTouched = function(v) {\n let p = this.prevPointOnContour;\n while (!v.touched(p) && p !== this) p = p.prevPointOnContour;\n return p;\n};\nvar HPZero = Object.freeze(new HPoint(0, 0));\nvar defaultState = {\n cvCutIn: 17 / 16,\n // control value cut in\n deltaBase: 9,\n deltaShift: 0.125,\n loop: 1,\n // loops some instructions\n minDis: 1,\n // minimum distance\n autoFlip: true\n};\nfunction State(env, prog) {\n this.env = env;\n this.stack = [];\n this.prog = prog;\n switch (env) {\n case \"glyf\":\n this.zp0 = this.zp1 = this.zp2 = 1;\n this.rp0 = this.rp1 = this.rp2 = 0;\n /* fall through */\n case \"prep\":\n this.fv = this.pv = this.dpv = xUnitVector;\n this.round = roundToGrid;\n }\n}\nHinting.prototype.exec = function(glyph, ppem) {\n if (typeof ppem !== \"number\") {\n throw new Error(\"Point size is not a number!\");\n }\n if (this._errorState > 2) return;\n const font = this.font;\n let prepState = this._prepState;\n if (!prepState || prepState.ppem !== ppem) {\n let fpgmState = this._fpgmState;\n if (!fpgmState) {\n State.prototype = defaultState;\n fpgmState = this._fpgmState = new State(\"fpgm\", font.tables.fpgm);\n fpgmState.funcs = [];\n fpgmState.font = font;\n fpgmState.instructionCount = 0;\n fpgmState.callDepth = 0;\n if (false) {\n console.log(\"---EXEC FPGM---\");\n fpgmState.step = -1;\n }\n try {\n exec(fpgmState);\n } catch (e) {\n console.log(\"Hinting error in FPGM:\" + e);\n this._errorState = 3;\n return;\n }\n }\n State.prototype = fpgmState;\n prepState = this._prepState = new State(\"prep\", font.tables.prep);\n prepState.ppem = ppem;\n prepState.instructionCount = 0;\n prepState.callDepth = 0;\n const oCvt = font.variation && font.variation.process.getCvarTransform() || font.tables.cvt;\n if (oCvt) {\n const cvt = prepState.cvt = new Array(oCvt.length);\n const scale = ppem / font.unitsPerEm;\n for (let c = 0; c < oCvt.length; c++) {\n cvt[c] = oCvt[c] * scale;\n }\n } else {\n prepState.cvt = [];\n }\n if (false) {\n console.log(\"---EXEC PREP---\");\n prepState.step = -1;\n }\n try {\n exec(prepState);\n } catch (e) {\n if (this._errorState < 2) {\n console.log(\"Hinting error in PREP:\" + e);\n }\n this._errorState = 2;\n }\n }\n if (this._errorState > 1) return;\n try {\n return execGlyph(glyph, prepState);\n } catch (e) {\n if (this._errorState < 1) {\n console.log(\"Hinting error:\" + e);\n console.log(\"Note: further hinting errors are silenced\");\n }\n this._errorState = 1;\n return void 0;\n }\n};\nexecGlyph = function(glyph, prepState) {\n const xScale = prepState.ppem / prepState.font.unitsPerEm;\n const yScale = xScale;\n let components = glyph.components;\n let contours;\n let gZone;\n let state;\n State.prototype = prepState;\n if (!components) {\n state = new State(\"glyf\", glyph.instructions);\n state.instructionCount = 0;\n state.callDepth = 0;\n if (false) {\n console.log(\"---EXEC GLYPH---\");\n state.step = -1;\n }\n execComponent(glyph, state, xScale, yScale);\n gZone = state.gZone;\n } else {\n const font = prepState.font;\n gZone = [];\n contours = [];\n for (let i = 0; i < components.length; i++) {\n const c = components[i];\n const cg = font.glyphs.get(c.glyphIndex);\n state = new State(\"glyf\", cg.instructions);\n state.instructionCount = 0;\n state.callDepth = 0;\n if (false) {\n console.log(\"---EXEC COMP \" + i + \"---\");\n state.step = -1;\n }\n execComponent(cg, state, xScale, yScale);\n const dx = Math.round(c.dx * xScale);\n const dy = Math.round(c.dy * yScale);\n const gz = state.gZone;\n const cc = state.contours;\n for (let pi = 0; pi < gz.length; pi++) {\n const p = gz[pi];\n p.xTouched = p.yTouched = false;\n p.xo = p.x = p.x + dx;\n p.yo = p.y = p.y + dy;\n }\n const gLen = gZone.length;\n gZone.push.apply(gZone, gz);\n for (let j = 0; j < cc.length; j++) {\n contours.push(cc[j] + gLen);\n }\n }\n if (glyph.instructions && !state.inhibitGridFit) {\n state = new State(\"glyf\", glyph.instructions);\n state.gZone = state.z0 = state.z1 = state.z2 = gZone;\n state.contours = contours;\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n if (false) {\n console.log(\"---EXEC COMPOSITE---\");\n state.step = -1;\n }\n exec(state);\n gZone.length -= 2;\n }\n }\n return gZone;\n};\nexecComponent = function(glyph, state, xScale, yScale) {\n const points = glyph.points || [];\n const pLen = points.length;\n const gZone = state.gZone = state.z0 = state.z1 = state.z2 = [];\n const contours = state.contours = [];\n let cp;\n for (let i = 0; i < pLen; i++) {\n cp = points[i];\n gZone[i] = new HPoint(\n cp.x * xScale,\n cp.y * yScale,\n cp.lastPointOfContour,\n cp.onCurve\n );\n }\n let sp;\n let np;\n for (let i = 0; i < pLen; i++) {\n cp = gZone[i];\n if (!sp) {\n sp = cp;\n contours.push(i);\n }\n if (cp.lastPointOfContour) {\n cp.nextPointOnContour = sp;\n sp.prevPointOnContour = cp;\n sp = void 0;\n } else {\n np = gZone[i + 1];\n cp.nextPointOnContour = np;\n np.prevPointOnContour = cp;\n }\n }\n if (state.inhibitGridFit) return;\n if (false) {\n console.log(\"PROCESSING GLYPH\", state.stack);\n for (let i = 0; i < pLen; i++) {\n console.log(i, gZone[i].x, gZone[i].y);\n }\n }\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n exec(state);\n gZone.length -= 2;\n if (false) {\n console.log(\"FINISHED GLYPH\", state.stack);\n for (let i = 0; i < pLen; i++) {\n console.log(i, gZone[i].x, gZone[i].y);\n }\n }\n};\nexec = function(state) {\n let prog = state.prog;\n if (!prog) return;\n const pLen = prog.length;\n let ins;\n for (state.ip = 0; state.ip < pLen; state.ip++) {\n if (++state.instructionCount > MAX_INSTRUCTIONS) {\n throw new Error(\n \"Hinting instructions exceeded maximum of \" + MAX_INSTRUCTIONS\n );\n }\n if (false) state.step++;\n ins = instructionTable[prog[state.ip]];\n if (!ins) {\n throw new Error(\n \"unknown instruction: 0x\" + Number(prog[state.ip]).toString(16)\n );\n }\n ins(state);\n }\n};\nfunction initTZone(state) {\n const tZone = state.tZone = new Array(state.gZone.length);\n for (let i = 0; i < tZone.length; i++) {\n tZone[i] = new HPoint(0, 0);\n }\n}\nfunction skip(state, handleElse) {\n const prog = state.prog;\n let ip = state.ip;\n let nesting = 1;\n let ins;\n do {\n ins = prog[++ip];\n if (ins === 88)\n nesting++;\n else if (ins === 89)\n nesting--;\n else if (ins === 64)\n ip += prog[ip + 1] + 1;\n else if (ins === 65)\n ip += 2 * prog[ip + 1] + 1;\n else if (ins >= 176 && ins <= 183)\n ip += ins - 176 + 1;\n else if (ins >= 184 && ins <= 191)\n ip += (ins - 184 + 1) * 2;\n else if (handleElse && nesting === 1 && ins === 27)\n break;\n } while (nesting > 0);\n state.ip = ip;\n}\nfunction SVTCA(v, state) {\n if (false) console.log(state.step, \"SVTCA[\" + v.axis + \"]\");\n state.fv = state.pv = state.dpv = v;\n}\nfunction SPVTCA(v, state) {\n if (false) console.log(state.step, \"SPVTCA[\" + v.axis + \"]\");\n state.pv = state.dpv = v;\n}\nfunction SFVTCA(v, state) {\n if (false) console.log(state.step, \"SFVTCA[\" + v.axis + \"]\");\n state.fv = v;\n}\nfunction SPVTL(a, state) {\n const stack = state.stack;\n const p2i = stack.pop();\n const p1i = stack.pop();\n const p2 = state.z2[p2i];\n const p1 = state.z1[p1i];\n if (false) console.log(\"SPVTL[\" + a + \"]\", p2i, p1i);\n let dx;\n let dy;\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n state.pv = state.dpv = getUnitVector(dx, dy);\n}\nfunction SFVTL(a, state) {\n const stack = state.stack;\n const p2i = stack.pop();\n const p1i = stack.pop();\n const p2 = state.z2[p2i];\n const p1 = state.z1[p1i];\n if (false) console.log(\"SFVTL[\" + a + \"]\", p2i, p1i);\n let dx;\n let dy;\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n state.fv = getUnitVector(dx, dy);\n}\nfunction SPVFS(state) {\n const stack = state.stack;\n const y = stack.pop();\n const x = stack.pop();\n if (false) console.log(state.step, \"SPVFS[]\", y, x);\n state.pv = state.dpv = getUnitVector(x, y);\n}\nfunction SFVFS(state) {\n const stack = state.stack;\n const y = stack.pop();\n const x = stack.pop();\n if (false) console.log(state.step, \"SPVFS[]\", y, x);\n state.fv = getUnitVector(x, y);\n}\nfunction GPV(state) {\n const stack = state.stack;\n const pv = state.pv;\n if (false) console.log(state.step, \"GPV[]\");\n stack.push(pv.x * 16384);\n stack.push(pv.y * 16384);\n}\nfunction GFV(state) {\n const stack = state.stack;\n const fv = state.fv;\n if (false) console.log(state.step, \"GFV[]\");\n stack.push(fv.x * 16384);\n stack.push(fv.y * 16384);\n}\nfunction SFVTPV(state) {\n state.fv = state.pv;\n if (false) console.log(state.step, \"SFVTPV[]\");\n}\nfunction ISECT(state) {\n const stack = state.stack;\n const pa0i = stack.pop();\n const pa1i = stack.pop();\n const pb0i = stack.pop();\n const pb1i = stack.pop();\n const pi = stack.pop();\n const z0 = state.z0;\n const z1 = state.z1;\n const pa0 = z0[pa0i];\n const pa1 = z0[pa1i];\n const pb0 = z1[pb0i];\n const pb1 = z1[pb1i];\n const p = state.z2[pi];\n if (false) console.log(\"ISECT[], \", pa0i, pa1i, pb0i, pb1i, pi);\n const x1 = pa0.x;\n const y1 = pa0.y;\n const x2 = pa1.x;\n const y2 = pa1.y;\n const x3 = pb0.x;\n const y3 = pb0.y;\n const x4 = pb1.x;\n const y4 = pb1.y;\n const div = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n const f1 = x1 * y2 - y1 * x2;\n const f2 = x3 * y4 - y3 * x4;\n p.x = (f1 * (x3 - x4) - f2 * (x1 - x2)) / div;\n p.y = (f1 * (y3 - y4) - f2 * (y1 - y2)) / div;\n}\nfunction SRP0(state) {\n state.rp0 = state.stack.pop();\n if (false) console.log(state.step, \"SRP0[]\", state.rp0);\n}\nfunction SRP1(state) {\n state.rp1 = state.stack.pop();\n if (false) console.log(state.step, \"SRP1[]\", state.rp1);\n}\nfunction SRP2(state) {\n state.rp2 = state.stack.pop();\n if (false) console.log(state.step, \"SRP2[]\", state.rp2);\n}\nfunction SZP0(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZP0[]\", n);\n state.zp0 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z0 = state.tZone;\n break;\n case 1:\n state.z0 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SZP1(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZP1[]\", n);\n state.zp1 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z1 = state.tZone;\n break;\n case 1:\n state.z1 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SZP2(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZP2[]\", n);\n state.zp2 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z2 = state.tZone;\n break;\n case 1:\n state.z2 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SZPS(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZPS[]\", n);\n state.zp0 = state.zp1 = state.zp2 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z0 = state.z1 = state.z2 = state.tZone;\n break;\n case 1:\n state.z0 = state.z1 = state.z2 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SLOOP(state) {\n state.loop = state.stack.pop();\n if (state.loop > MAX_LOOP_COUNT) {\n state.loop = MAX_LOOP_COUNT;\n }\n if (false) console.log(state.step, \"SLOOP[]\", state.loop);\n}\nfunction RTG(state) {\n if (false) console.log(state.step, \"RTG[]\");\n state.round = roundToGrid;\n}\nfunction RTHG(state) {\n if (false) console.log(state.step, \"RTHG[]\");\n state.round = roundToHalfGrid;\n}\nfunction SMD(state) {\n const d = state.stack.pop();\n if (false) console.log(state.step, \"SMD[]\", d);\n state.minDis = d / 64;\n}\nfunction ELSE(state) {\n if (false) console.log(state.step, \"ELSE[]\");\n skip(state, false);\n}\nfunction JMPR(state) {\n const o = state.stack.pop();\n if (false) console.log(state.step, \"JMPR[]\", o);\n state.ip += o - 1;\n}\nfunction SCVTCI(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SCVTCI[]\", n);\n state.cvCutIn = n / 64;\n}\nfunction DUP(state) {\n const stack = state.stack;\n if (false) console.log(state.step, \"DUP[]\");\n stack.push(stack[stack.length - 1]);\n}\nfunction POP(state) {\n if (false) console.log(state.step, \"POP[]\");\n state.stack.pop();\n}\nfunction CLEAR(state) {\n if (false) console.log(state.step, \"CLEAR[]\");\n state.stack.length = 0;\n}\nfunction SWAP(state) {\n const stack = state.stack;\n const a = stack.pop();\n const b = stack.pop();\n if (false) console.log(state.step, \"SWAP[]\");\n stack.push(a);\n stack.push(b);\n}\nfunction DEPTH(state) {\n const stack = state.stack;\n if (false) console.log(state.step, \"DEPTH[]\");\n stack.push(stack.length);\n}\nfunction LOOPCALL(state) {\n const stack = state.stack;\n const fn = stack.pop();\n let c = stack.pop();\n if (c > MAX_LOOP_COUNT) c = MAX_LOOP_COUNT;\n if (false) console.log(state.step, \"LOOPCALL[]\", fn, c);\n if (++state.callDepth > MAX_CALL_DEPTH2) {\n throw new Error(\"Hinting call depth exceeded maximum of \" + MAX_CALL_DEPTH2);\n }\n const cip = state.ip;\n const cprog = state.prog;\n state.prog = state.funcs[fn];\n for (let i = 0; i < c; i++) {\n exec(state);\n if (false) console.log(\n ++state.step,\n i + 1 < c ? \"next loopcall\" : \"done loopcall\",\n i\n );\n }\n state.ip = cip;\n state.prog = cprog;\n state.callDepth--;\n}\nfunction CALL(state) {\n const fn = state.stack.pop();\n if (false) console.log(state.step, \"CALL[]\", fn);\n if (++state.callDepth > MAX_CALL_DEPTH2) {\n throw new Error(\"Hinting call depth exceeded maximum of \" + MAX_CALL_DEPTH2);\n }\n const cip = state.ip;\n const cprog = state.prog;\n state.prog = state.funcs[fn];\n exec(state);\n state.ip = cip;\n state.prog = cprog;\n state.callDepth--;\n if (false) console.log(++state.step, \"returning from\", fn);\n}\nfunction CINDEX(state) {\n const stack = state.stack;\n const k = stack.pop();\n if (false) console.log(state.step, \"CINDEX[]\", k);\n stack.push(stack[stack.length - k]);\n}\nfunction MINDEX(state) {\n const stack = state.stack;\n const k = stack.pop();\n if (false) console.log(state.step, \"MINDEX[]\", k);\n stack.push(stack.splice(stack.length - k, 1)[0]);\n}\nfunction FDEF(state) {\n if (state.env !== \"fpgm\") throw new Error(\"FDEF not allowed here\");\n const stack = state.stack;\n const prog = state.prog;\n let ip = state.ip;\n const fn = stack.pop();\n const ipBegin = ip;\n if (false) console.log(state.step, \"FDEF[]\", fn);\n while (prog[++ip] !== 45) ;\n state.ip = ip;\n state.funcs[fn] = prog.slice(ipBegin + 1, ip);\n}\nfunction MDAP(round, state) {\n const pi = state.stack.pop();\n const p = state.z0[pi];\n const fv = state.fv;\n const pv = state.pv;\n if (false) console.log(state.step, \"MDAP[\" + round + \"]\", pi);\n let d = pv.distance(p, HPZero);\n if (round) d = state.round(d);\n fv.setRelative(p, HPZero, d, pv);\n fv.touch(p);\n state.rp0 = state.rp1 = pi;\n}\nfunction IUP(v, state) {\n const z2 = state.z2;\n const pLen = z2.length - 2;\n let cp;\n let pp;\n let np;\n if (false) console.log(state.step, \"IUP[\" + v.axis + \"]\");\n for (let i = 0; i < pLen; i++) {\n cp = z2[i];\n if (v.touched(cp)) continue;\n pp = cp.prevTouched(v);\n if (pp === cp) continue;\n np = cp.nextTouched(v);\n if (pp === np) {\n v.setRelative(cp, cp, v.distance(pp, pp, false, true), v, true);\n }\n v.interpolate(cp, pp, np, v);\n }\n}\nfunction SHP(a, state) {\n const stack = state.stack;\n const rpi = a ? state.rp1 : state.rp2;\n const rp = (a ? state.z0 : state.z1)[rpi];\n const fv = state.fv;\n const pv = state.pv;\n let loop = state.loop;\n const z2 = state.z2;\n while (loop--) {\n const pi = stack.pop();\n const p = z2[pi];\n const d = pv.distance(rp, rp, false, true);\n fv.setRelative(p, p, d, pv);\n fv.touch(p);\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"SHP[\" + (a ? \"rp1\" : \"rp2\") + \"]\",\n pi\n );\n }\n }\n state.loop = 1;\n}\nfunction SHC(a, state) {\n const stack = state.stack;\n const rpi = a ? state.rp1 : state.rp2;\n const rp = (a ? state.z0 : state.z1)[rpi];\n const fv = state.fv;\n const pv = state.pv;\n const ci = stack.pop();\n const sp = state.z2[state.contours[ci]];\n let p = sp;\n if (false) console.log(state.step, \"SHC[\" + a + \"]\", ci);\n const d = pv.distance(rp, rp, false, true);\n do {\n if (p !== rp) fv.setRelative(p, p, d, pv);\n p = p.nextPointOnContour;\n } while (p !== sp);\n}\nfunction SHZ(a, state) {\n const stack = state.stack;\n const rpi = a ? state.rp1 : state.rp2;\n const rp = (a ? state.z0 : state.z1)[rpi];\n const fv = state.fv;\n const pv = state.pv;\n const e = stack.pop();\n if (false) console.log(state.step, \"SHZ[\" + a + \"]\", e);\n let z;\n switch (e) {\n case 0:\n z = state.tZone;\n break;\n case 1:\n z = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone\");\n }\n let p;\n const d = pv.distance(rp, rp, false, true);\n const pLen = z.length - 2;\n for (let i = 0; i < pLen; i++) {\n p = z[i];\n fv.setRelative(p, p, d, pv);\n }\n}\nfunction SHPIX(state) {\n const stack = state.stack;\n let loop = state.loop;\n const fv = state.fv;\n const d = stack.pop() / 64;\n const z2 = state.z2;\n while (loop--) {\n const pi = stack.pop();\n const p = z2[pi];\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"SHPIX[]\",\n pi,\n d\n );\n }\n fv.setRelative(p, p, d);\n fv.touch(p);\n }\n state.loop = 1;\n}\nfunction IP(state) {\n const stack = state.stack;\n const rp1i = state.rp1;\n const rp2i = state.rp2;\n let loop = state.loop;\n const rp1 = state.z0[rp1i];\n const rp2 = state.z1[rp2i];\n const fv = state.fv;\n const pv = state.dpv;\n const z2 = state.z2;\n while (loop--) {\n const pi = stack.pop();\n const p = z2[pi];\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"IP[]\",\n pi,\n rp1i,\n \"<->\",\n rp2i\n );\n }\n fv.interpolate(p, rp1, rp2, pv);\n fv.touch(p);\n }\n state.loop = 1;\n}\nfunction MSIRP(a, state) {\n const stack = state.stack;\n const d = stack.pop() / 64;\n const pi = stack.pop();\n const p = state.z1[pi];\n const rp0 = state.z0[state.rp0];\n const fv = state.fv;\n const pv = state.pv;\n fv.setRelative(p, rp0, d, pv);\n fv.touch(p);\n if (false) console.log(state.step, \"MSIRP[\" + a + \"]\", d, pi);\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (a) state.rp0 = pi;\n}\nfunction ALIGNRP(state) {\n const stack = state.stack;\n const rp0i = state.rp0;\n const rp0 = state.z0[rp0i];\n let loop = state.loop;\n const fv = state.fv;\n const pv = state.pv;\n const z1 = state.z1;\n while (loop--) {\n const pi = stack.pop();\n const p = z1[pi];\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"ALIGNRP[]\",\n pi\n );\n }\n fv.setRelative(p, rp0, 0, pv);\n fv.touch(p);\n }\n state.loop = 1;\n}\nfunction RTDG(state) {\n if (false) console.log(state.step, \"RTDG[]\");\n state.round = roundToDoubleGrid;\n}\nfunction MIAP(round, state) {\n const stack = state.stack;\n const n = stack.pop();\n const pi = stack.pop();\n const p = state.z0[pi];\n const fv = state.fv;\n const pv = state.pv;\n let cv = state.cvt[n];\n if (false) {\n console.log(\n state.step,\n \"MIAP[\" + round + \"]\",\n n,\n \"(\",\n cv,\n \")\",\n pi\n );\n }\n let d = pv.distance(p, HPZero);\n if (round) {\n if (Math.abs(d - cv) < state.cvCutIn) d = cv;\n d = state.round(d);\n }\n fv.setRelative(p, HPZero, d, pv);\n if (state.zp0 === 0) {\n p.xo = p.x;\n p.yo = p.y;\n }\n fv.touch(p);\n state.rp0 = state.rp1 = pi;\n}\nfunction NPUSHB(state) {\n const prog = state.prog;\n let ip = state.ip;\n const stack = state.stack;\n const n = prog[++ip];\n if (false) console.log(state.step, \"NPUSHB[]\", n);\n for (let i = 0; i < n; i++) stack.push(prog[++ip]);\n state.ip = ip;\n}\nfunction NPUSHW(state) {\n let ip = state.ip;\n const prog = state.prog;\n const stack = state.stack;\n const n = prog[++ip];\n if (false) console.log(state.step, \"NPUSHW[]\", n);\n for (let i = 0; i < n; i++) {\n let w = prog[++ip] << 8 | prog[++ip];\n if (w & 32768) w = -((w ^ 65535) + 1);\n stack.push(w);\n }\n state.ip = ip;\n}\nfunction WS(state) {\n const stack = state.stack;\n let store = state.store;\n if (!store) store = state.store = [];\n const v = stack.pop();\n const l = stack.pop();\n if (false) console.log(state.step, \"WS\", v, l);\n store[l] = v;\n}\nfunction RS(state) {\n const stack = state.stack;\n const store = state.store;\n const l = stack.pop();\n if (false) console.log(state.step, \"RS\", l);\n const v = store && store[l] || 0;\n stack.push(v);\n}\nfunction WCVTP(state) {\n const stack = state.stack;\n const v = stack.pop();\n const l = stack.pop();\n if (false) console.log(state.step, \"WCVTP\", v, l);\n state.cvt[l] = v / 64;\n}\nfunction RCVT(state) {\n const stack = state.stack;\n const cvte = stack.pop();\n if (false) console.log(state.step, \"RCVT\", cvte);\n stack.push(state.cvt[cvte] * 64);\n}\nfunction GC(a, state) {\n const stack = state.stack;\n const pi = stack.pop();\n const p = state.z2[pi];\n if (false) console.log(state.step, \"GC[\" + a + \"]\", pi);\n stack.push(state.dpv.distance(p, HPZero, a, false) * 64);\n}\nfunction MD(a, state) {\n const stack = state.stack;\n const pi2 = stack.pop();\n const pi1 = stack.pop();\n const p2 = state.z1[pi2];\n const p1 = state.z0[pi1];\n const d = state.dpv.distance(p1, p2, a, a);\n if (false) console.log(state.step, \"MD[\" + a + \"]\", pi2, pi1, \"->\", d);\n state.stack.push(Math.round(d * 64));\n}\nfunction MPPEM(state) {\n if (false) console.log(state.step, \"MPPEM[]\");\n state.stack.push(state.ppem);\n}\nfunction FLIPON(state) {\n if (false) console.log(state.step, \"FLIPON[]\");\n state.autoFlip = true;\n}\nfunction LT(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"LT[]\", e2, e1);\n stack.push(e1 < e2 ? 1 : 0);\n}\nfunction LTEQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"LTEQ[]\", e2, e1);\n stack.push(e1 <= e2 ? 1 : 0);\n}\nfunction GT(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"GT[]\", e2, e1);\n stack.push(e1 > e2 ? 1 : 0);\n}\nfunction GTEQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"GTEQ[]\", e2, e1);\n stack.push(e1 >= e2 ? 1 : 0);\n}\nfunction EQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"EQ[]\", e2, e1);\n stack.push(e2 === e1 ? 1 : 0);\n}\nfunction NEQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"NEQ[]\", e2, e1);\n stack.push(e2 !== e1 ? 1 : 0);\n}\nfunction ODD(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"ODD[]\", n);\n stack.push(Math.trunc(n) & 1 ? 1 : 0);\n}\nfunction EVEN(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"EVEN[]\", n);\n stack.push(Math.trunc(n) & 1 ? 0 : 1);\n}\nfunction IF(state) {\n let test = state.stack.pop();\n let ins;\n if (false) console.log(state.step, \"IF[]\", test);\n if (!test) {\n skip(state, true);\n if (false) console.log(state.step, ins === 27 ? \"ELSE[]\" : \"EIF[]\");\n }\n}\nfunction EIF(state) {\n if (false) console.log(state.step, \"EIF[]\");\n}\nfunction AND(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"AND[]\", e2, e1);\n stack.push(e2 && e1 ? 1 : 0);\n}\nfunction OR(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"OR[]\", e2, e1);\n stack.push(e2 || e1 ? 1 : 0);\n}\nfunction NOT(state) {\n const stack = state.stack;\n const e = stack.pop();\n if (false) console.log(state.step, \"NOT[]\", e);\n stack.push(e ? 0 : 1);\n}\nfunction DELTAP123(b, state) {\n const stack = state.stack;\n const n = stack.pop();\n const fv = state.fv;\n const pv = state.pv;\n const ppem = state.ppem;\n const base = state.deltaBase + (b - 1) * 16;\n const ds = state.deltaShift;\n const z0 = state.z0;\n if (false) console.log(state.step, \"DELTAP[\" + b + \"]\", n, stack);\n for (let i = 0; i < n; i++) {\n const pi = stack.pop();\n const arg = stack.pop();\n const appem = base + ((arg & 240) >> 4);\n if (appem !== ppem) continue;\n let mag = (arg & 15) - 8;\n if (mag >= 0) mag++;\n if (false) console.log(state.step, \"DELTAPFIX\", pi, \"by\", mag * ds);\n const p = z0[pi];\n fv.setRelative(p, p, mag * ds, pv);\n }\n}\nfunction SDB(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"SDB[]\", n);\n state.deltaBase = n;\n}\nfunction SDS(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"SDS[]\", n);\n state.deltaShift = Math.pow(0.5, n);\n}\nfunction ADD(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"ADD[]\", n2, n1);\n stack.push(n1 + n2);\n}\nfunction SUB(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"SUB[]\", n2, n1);\n stack.push(n1 - n2);\n}\nfunction DIV(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"DIV[]\", n2, n1);\n stack.push(n1 * 64 / n2);\n}\nfunction MUL(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"MUL[]\", n2, n1);\n stack.push(n1 * n2 / 64);\n}\nfunction ABS(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"ABS[]\", n);\n stack.push(Math.abs(n));\n}\nfunction NEG(state) {\n const stack = state.stack;\n let n = stack.pop();\n if (false) console.log(state.step, \"NEG[]\", n);\n stack.push(-n);\n}\nfunction FLOOR(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"FLOOR[]\", n);\n stack.push(Math.floor(n / 64) * 64);\n}\nfunction CEILING(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"CEILING[]\", n);\n stack.push(Math.ceil(n / 64) * 64);\n}\nfunction ROUND(dt, state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"ROUND[]\");\n stack.push(state.round(n / 64) * 64);\n}\nfunction WCVTF(state) {\n const stack = state.stack;\n const v = stack.pop();\n const l = stack.pop();\n if (false) console.log(state.step, \"WCVTF[]\", v, l);\n state.cvt[l] = v * state.ppem / state.font.unitsPerEm;\n}\nfunction DELTAC123(b, state) {\n const stack = state.stack;\n const n = stack.pop();\n const ppem = state.ppem;\n const base = state.deltaBase + (b - 1) * 16;\n const ds = state.deltaShift;\n if (false) console.log(state.step, \"DELTAC[\" + b + \"]\", n, stack);\n for (let i = 0; i < n; i++) {\n const c = stack.pop();\n const arg = stack.pop();\n const appem = base + ((arg & 240) >> 4);\n if (appem !== ppem) continue;\n let mag = (arg & 15) - 8;\n if (mag >= 0) mag++;\n const delta = mag * ds;\n if (false) console.log(state.step, \"DELTACFIX\", c, \"by\", delta);\n state.cvt[c] += delta;\n }\n}\nfunction SROUND(state) {\n let n = state.stack.pop();\n if (false) console.log(state.step, \"SROUND[]\", n);\n state.round = roundSuper;\n let period;\n switch (n & 192) {\n case 0:\n period = 0.5;\n break;\n case 64:\n period = 1;\n break;\n case 128:\n period = 2;\n break;\n default:\n throw new Error(\"invalid SROUND value\");\n }\n state.srPeriod = period;\n switch (n & 48) {\n case 0:\n state.srPhase = 0;\n break;\n case 16:\n state.srPhase = 0.25 * period;\n break;\n case 32:\n state.srPhase = 0.5 * period;\n break;\n case 48:\n state.srPhase = 0.75 * period;\n break;\n default:\n throw new Error(\"invalid SROUND value\");\n }\n n &= 15;\n if (n === 0) state.srThreshold = 0;\n else state.srThreshold = (n / 8 - 0.5) * period;\n}\nfunction S45ROUND(state) {\n let n = state.stack.pop();\n if (false) console.log(state.step, \"S45ROUND[]\", n);\n state.round = roundSuper;\n let period;\n switch (n & 192) {\n case 0:\n period = Math.sqrt(2) / 2;\n break;\n case 64:\n period = Math.sqrt(2);\n break;\n case 128:\n period = 2 * Math.sqrt(2);\n break;\n default:\n throw new Error(\"invalid S45ROUND value\");\n }\n state.srPeriod = period;\n switch (n & 48) {\n case 0:\n state.srPhase = 0;\n break;\n case 16:\n state.srPhase = 0.25 * period;\n break;\n case 32:\n state.srPhase = 0.5 * period;\n break;\n case 48:\n state.srPhase = 0.75 * period;\n break;\n default:\n throw new Error(\"invalid S45ROUND value\");\n }\n n &= 15;\n if (n === 0) state.srThreshold = 0;\n else state.srThreshold = (n / 8 - 0.5) * period;\n}\nfunction ROFF(state) {\n if (false) console.log(state.step, \"ROFF[]\");\n state.round = roundOff;\n}\nfunction RUTG(state) {\n if (false) console.log(state.step, \"RUTG[]\");\n state.round = roundUpToGrid;\n}\nfunction RDTG(state) {\n if (false) console.log(state.step, \"RDTG[]\");\n state.round = roundDownToGrid;\n}\nfunction SCANCTRL(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SCANCTRL[]\", n);\n}\nfunction SDPVTL(a, state) {\n const stack = state.stack;\n const p2i = stack.pop();\n const p1i = stack.pop();\n const p2 = state.z2[p2i];\n const p1 = state.z1[p1i];\n if (false) console.log(state.step, \"SDPVTL[\" + a + \"]\", p2i, p1i);\n let dx;\n let dy;\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n state.dpv = getUnitVector(dx, dy);\n}\nfunction GETINFO(state) {\n const stack = state.stack;\n const sel = stack.pop();\n let r = 0;\n if (false) console.log(state.step, \"GETINFO[]\", sel);\n if (sel & 1) r = 35;\n if (sel & 32) r |= 4096;\n stack.push(r);\n}\nfunction ROLL(state) {\n const stack = state.stack;\n const a = stack.pop();\n const b = stack.pop();\n const c = stack.pop();\n if (false) console.log(state.step, \"ROLL[]\");\n stack.push(b);\n stack.push(a);\n stack.push(c);\n}\nfunction MAX(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"MAX[]\", e2, e1);\n stack.push(Math.max(e1, e2));\n}\nfunction MIN(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"MIN[]\", e2, e1);\n stack.push(Math.min(e1, e2));\n}\nfunction SCANTYPE(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SCANTYPE[]\", n);\n}\nfunction INSTCTRL(state) {\n const s = state.stack.pop();\n let v = state.stack.pop();\n if (false) console.log(state.step, \"INSTCTRL[]\", s, v);\n switch (s) {\n case 1:\n state.inhibitGridFit = !!v;\n return;\n case 2:\n state.ignoreCvt = !!v;\n return;\n default:\n throw new Error(\"invalid INSTCTRL[] selector\");\n }\n}\nfunction PUSHB(n, state) {\n const stack = state.stack;\n const prog = state.prog;\n let ip = state.ip;\n if (false) console.log(state.step, \"PUSHB[\" + n + \"]\");\n for (let i = 0; i < n; i++) stack.push(prog[++ip]);\n state.ip = ip;\n}\nfunction PUSHW(n, state) {\n let ip = state.ip;\n const prog = state.prog;\n const stack = state.stack;\n if (false) console.log(state.ip, \"PUSHW[\" + n + \"]\");\n for (let i = 0; i < n; i++) {\n let w = prog[++ip] << 8 | prog[++ip];\n if (w & 32768) w = -((w ^ 65535) + 1);\n stack.push(w);\n }\n state.ip = ip;\n}\nfunction MDRP_MIRP(indirect, setRp0, keepD, ro, dt, state) {\n const stack = state.stack;\n const cvte = indirect && stack.pop();\n const pi = stack.pop();\n const rp0i = state.rp0;\n const rp = state.z0[rp0i];\n const p = state.z1[pi];\n const md = state.minDis;\n const fv = state.fv;\n const pv = state.dpv;\n let od;\n let d;\n let sign;\n let cv;\n d = od = pv.distance(p, rp, true, true);\n sign = d >= 0 ? 1 : -1;\n d = Math.abs(d);\n if (indirect) {\n cv = state.cvt[cvte];\n if (ro && Math.abs(d - cv) < state.cvCutIn) d = cv;\n }\n if (keepD && d < md) d = md;\n if (ro) d = state.round(d);\n fv.setRelative(p, rp, sign * d, pv);\n fv.touch(p);\n if (false) {\n console.log(\n state.step,\n (indirect ? \"MIRP[\" : \"MDRP[\") + (setRp0 ? \"M\" : \"m\") + (keepD ? \">\" : \"_\") + (ro ? \"R\" : \"_\") + (dt === 0 ? \"Gr\" : dt === 1 ? \"Bl\" : dt === 2 ? \"Wh\" : \"\") + \"]\",\n indirect ? cvte + \"(\" + state.cvt[cvte] + \",\" + cv + \")\" : \"\",\n pi,\n \"(d =\",\n od,\n \"->\",\n sign * d,\n \")\"\n );\n }\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (setRp0) state.rp0 = pi;\n}\ninstructionTable = [\n /* 0x00 */\n SVTCA.bind(void 0, yUnitVector),\n /* 0x01 */\n SVTCA.bind(void 0, xUnitVector),\n /* 0x02 */\n SPVTCA.bind(void 0, yUnitVector),\n /* 0x03 */\n SPVTCA.bind(void 0, xUnitVector),\n /* 0x04 */\n SFVTCA.bind(void 0, yUnitVector),\n /* 0x05 */\n SFVTCA.bind(void 0, xUnitVector),\n /* 0x06 */\n SPVTL.bind(void 0, 0),\n /* 0x07 */\n SPVTL.bind(void 0, 1),\n /* 0x08 */\n SFVTL.bind(void 0, 0),\n /* 0x09 */\n SFVTL.bind(void 0, 1),\n /* 0x0A */\n SPVFS,\n /* 0x0B */\n SFVFS,\n /* 0x0C */\n GPV,\n /* 0x0D */\n GFV,\n /* 0x0E */\n SFVTPV,\n /* 0x0F */\n ISECT,\n /* 0x10 */\n SRP0,\n /* 0x11 */\n SRP1,\n /* 0x12 */\n SRP2,\n /* 0x13 */\n SZP0,\n /* 0x14 */\n SZP1,\n /* 0x15 */\n SZP2,\n /* 0x16 */\n SZPS,\n /* 0x17 */\n SLOOP,\n /* 0x18 */\n RTG,\n /* 0x19 */\n RTHG,\n /* 0x1A */\n SMD,\n /* 0x1B */\n ELSE,\n /* 0x1C */\n JMPR,\n /* 0x1D */\n SCVTCI,\n /* 0x1E */\n void 0,\n // TODO SSWCI\n /* 0x1F */\n void 0,\n // TODO SSW\n /* 0x20 */\n DUP,\n /* 0x21 */\n POP,\n /* 0x22 */\n CLEAR,\n /* 0x23 */\n SWAP,\n /* 0x24 */\n DEPTH,\n /* 0x25 */\n CINDEX,\n /* 0x26 */\n MINDEX,\n /* 0x27 */\n void 0,\n // TODO ALIGNPTS\n /* 0x28 */\n void 0,\n /* 0x29 */\n void 0,\n // TODO UTP\n /* 0x2A */\n LOOPCALL,\n /* 0x2B */\n CALL,\n /* 0x2C */\n FDEF,\n /* 0x2D */\n void 0,\n // ENDF (eaten by FDEF)\n /* 0x2E */\n MDAP.bind(void 0, 0),\n /* 0x2F */\n MDAP.bind(void 0, 1),\n /* 0x30 */\n IUP.bind(void 0, yUnitVector),\n /* 0x31 */\n IUP.bind(void 0, xUnitVector),\n /* 0x32 */\n SHP.bind(void 0, 0),\n /* 0x33 */\n SHP.bind(void 0, 1),\n /* 0x34 */\n SHC.bind(void 0, 0),\n /* 0x35 */\n SHC.bind(void 0, 1),\n /* 0x36 */\n SHZ.bind(void 0, 0),\n /* 0x37 */\n SHZ.bind(void 0, 1),\n /* 0x38 */\n SHPIX,\n /* 0x39 */\n IP,\n /* 0x3A */\n MSIRP.bind(void 0, 0),\n /* 0x3B */\n MSIRP.bind(void 0, 1),\n /* 0x3C */\n ALIGNRP,\n /* 0x3D */\n RTDG,\n /* 0x3E */\n MIAP.bind(void 0, 0),\n /* 0x3F */\n MIAP.bind(void 0, 1),\n /* 0x40 */\n NPUSHB,\n /* 0x41 */\n NPUSHW,\n /* 0x42 */\n WS,\n /* 0x43 */\n RS,\n /* 0x44 */\n WCVTP,\n /* 0x45 */\n RCVT,\n /* 0x46 */\n GC.bind(void 0, 0),\n /* 0x47 */\n GC.bind(void 0, 1),\n /* 0x48 */\n void 0,\n // TODO SCFS\n /* 0x49 */\n MD.bind(void 0, 0),\n /* 0x4A */\n MD.bind(void 0, 1),\n /* 0x4B */\n MPPEM,\n /* 0x4C */\n void 0,\n // TODO MPS\n /* 0x4D */\n FLIPON,\n /* 0x4E */\n void 0,\n // TODO FLIPOFF\n /* 0x4F */\n void 0,\n // TODO DEBUG\n /* 0x50 */\n LT,\n /* 0x51 */\n LTEQ,\n /* 0x52 */\n GT,\n /* 0x53 */\n GTEQ,\n /* 0x54 */\n EQ,\n /* 0x55 */\n NEQ,\n /* 0x56 */\n ODD,\n /* 0x57 */\n EVEN,\n /* 0x58 */\n IF,\n /* 0x59 */\n EIF,\n /* 0x5A */\n AND,\n /* 0x5B */\n OR,\n /* 0x5C */\n NOT,\n /* 0x5D */\n DELTAP123.bind(void 0, 1),\n /* 0x5E */\n SDB,\n /* 0x5F */\n SDS,\n /* 0x60 */\n ADD,\n /* 0x61 */\n SUB,\n /* 0x62 */\n DIV,\n /* 0x63 */\n MUL,\n /* 0x64 */\n ABS,\n /* 0x65 */\n NEG,\n /* 0x66 */\n FLOOR,\n /* 0x67 */\n CEILING,\n /* 0x68 */\n ROUND.bind(void 0, 0),\n /* 0x69 */\n ROUND.bind(void 0, 1),\n /* 0x6A */\n ROUND.bind(void 0, 2),\n /* 0x6B */\n ROUND.bind(void 0, 3),\n /* 0x6C */\n void 0,\n // TODO NROUND[ab]\n /* 0x6D */\n void 0,\n // TODO NROUND[ab]\n /* 0x6E */\n void 0,\n // TODO NROUND[ab]\n /* 0x6F */\n void 0,\n // TODO NROUND[ab]\n /* 0x70 */\n WCVTF,\n /* 0x71 */\n DELTAP123.bind(void 0, 2),\n /* 0x72 */\n DELTAP123.bind(void 0, 3),\n /* 0x73 */\n DELTAC123.bind(void 0, 1),\n /* 0x74 */\n DELTAC123.bind(void 0, 2),\n /* 0x75 */\n DELTAC123.bind(void 0, 3),\n /* 0x76 */\n SROUND,\n /* 0x77 */\n S45ROUND,\n /* 0x78 */\n void 0,\n // TODO JROT[]\n /* 0x79 */\n void 0,\n // TODO JROF[]\n /* 0x7A */\n ROFF,\n /* 0x7B */\n void 0,\n /* 0x7C */\n RUTG,\n /* 0x7D */\n RDTG,\n /* 0x7E */\n POP,\n // actually SANGW, supposed to do only a pop though\n /* 0x7F */\n POP,\n // actually AA, supposed to do only a pop though\n /* 0x80 */\n void 0,\n // TODO FLIPPT\n /* 0x81 */\n void 0,\n // TODO FLIPRGON\n /* 0x82 */\n void 0,\n // TODO FLIPRGOFF\n /* 0x83 */\n void 0,\n /* 0x84 */\n void 0,\n /* 0x85 */\n SCANCTRL,\n /* 0x86 */\n SDPVTL.bind(void 0, 0),\n /* 0x87 */\n SDPVTL.bind(void 0, 1),\n /* 0x88 */\n GETINFO,\n /* 0x89 */\n void 0,\n // TODO IDEF\n /* 0x8A */\n ROLL,\n /* 0x8B */\n MAX,\n /* 0x8C */\n MIN,\n /* 0x8D */\n SCANTYPE,\n /* 0x8E */\n INSTCTRL,\n /* 0x8F */\n void 0,\n /* 0x90 */\n void 0,\n /* 0x91 */\n void 0,\n /* 0x92 */\n void 0,\n /* 0x93 */\n void 0,\n /* 0x94 */\n void 0,\n /* 0x95 */\n void 0,\n /* 0x96 */\n void 0,\n /* 0x97 */\n void 0,\n /* 0x98 */\n void 0,\n /* 0x99 */\n void 0,\n /* 0x9A */\n void 0,\n /* 0x9B */\n void 0,\n /* 0x9C */\n void 0,\n /* 0x9D */\n void 0,\n /* 0x9E */\n void 0,\n /* 0x9F */\n void 0,\n /* 0xA0 */\n void 0,\n /* 0xA1 */\n void 0,\n /* 0xA2 */\n void 0,\n /* 0xA3 */\n void 0,\n /* 0xA4 */\n void 0,\n /* 0xA5 */\n void 0,\n /* 0xA6 */\n void 0,\n /* 0xA7 */\n void 0,\n /* 0xA8 */\n void 0,\n /* 0xA9 */\n void 0,\n /* 0xAA */\n void 0,\n /* 0xAB */\n void 0,\n /* 0xAC */\n void 0,\n /* 0xAD */\n void 0,\n /* 0xAE */\n void 0,\n /* 0xAF */\n void 0,\n /* 0xB0 */\n PUSHB.bind(void 0, 1),\n /* 0xB1 */\n PUSHB.bind(void 0, 2),\n /* 0xB2 */\n PUSHB.bind(void 0, 3),\n /* 0xB3 */\n PUSHB.bind(void 0, 4),\n /* 0xB4 */\n PUSHB.bind(void 0, 5),\n /* 0xB5 */\n PUSHB.bind(void 0, 6),\n /* 0xB6 */\n PUSHB.bind(void 0, 7),\n /* 0xB7 */\n PUSHB.bind(void 0, 8),\n /* 0xB8 */\n PUSHW.bind(void 0, 1),\n /* 0xB9 */\n PUSHW.bind(void 0, 2),\n /* 0xBA */\n PUSHW.bind(void 0, 3),\n /* 0xBB */\n PUSHW.bind(void 0, 4),\n /* 0xBC */\n PUSHW.bind(void 0, 5),\n /* 0xBD */\n PUSHW.bind(void 0, 6),\n /* 0xBE */\n PUSHW.bind(void 0, 7),\n /* 0xBF */\n PUSHW.bind(void 0, 8),\n /* 0xC0 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 0),\n /* 0xC1 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 1),\n /* 0xC2 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 2),\n /* 0xC3 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 3),\n /* 0xC4 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 0),\n /* 0xC5 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 1),\n /* 0xC6 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 2),\n /* 0xC7 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 3),\n /* 0xC8 */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 0),\n /* 0xC9 */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 1),\n /* 0xCA */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 2),\n /* 0xCB */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 3),\n /* 0xCC */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 0),\n /* 0xCD */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 1),\n /* 0xCE */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 2),\n /* 0xCF */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 3),\n /* 0xD0 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 0),\n /* 0xD1 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 1),\n /* 0xD2 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 2),\n /* 0xD3 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 3),\n /* 0xD4 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 0),\n /* 0xD5 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 1),\n /* 0xD6 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 2),\n /* 0xD7 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 3),\n /* 0xD8 */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 0),\n /* 0xD9 */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 1),\n /* 0xDA */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 2),\n /* 0xDB */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 3),\n /* 0xDC */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 0),\n /* 0xDD */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 1),\n /* 0xDE */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 2),\n /* 0xDF */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 3),\n /* 0xE0 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 0),\n /* 0xE1 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 1),\n /* 0xE2 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 2),\n /* 0xE3 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 3),\n /* 0xE4 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 0),\n /* 0xE5 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 1),\n /* 0xE6 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 2),\n /* 0xE7 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 3),\n /* 0xE8 */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 0),\n /* 0xE9 */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 1),\n /* 0xEA */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 2),\n /* 0xEB */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 3),\n /* 0xEC */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 0),\n /* 0xED */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 1),\n /* 0xEE */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 2),\n /* 0xEF */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 3),\n /* 0xF0 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 0),\n /* 0xF1 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 1),\n /* 0xF2 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 2),\n /* 0xF3 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 3),\n /* 0xF4 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 0),\n /* 0xF5 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 1),\n /* 0xF6 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 2),\n /* 0xF7 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 3),\n /* 0xF8 */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 0),\n /* 0xF9 */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 1),\n /* 0xFA */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 2),\n /* 0xFB */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 3),\n /* 0xFC */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 0),\n /* 0xFD */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 1),\n /* 0xFE */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 2),\n /* 0xFF */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 3)\n];\nvar hintingtt_default = Hinting;\n\n// src/tokenizer.mjs\nfunction Token(char) {\n this.char = char;\n this.state = {};\n this.activeState = null;\n}\nfunction ContextRange(startIndex, endOffset, contextName) {\n this.contextName = contextName;\n this.startIndex = startIndex;\n this.endOffset = endOffset;\n}\nfunction ContextChecker(contextName, checkStart, checkEnd) {\n this.contextName = contextName;\n this.openRange = null;\n this.ranges = [];\n this.checkStart = checkStart;\n this.checkEnd = checkEnd;\n}\nfunction ContextParams(context, currentIndex) {\n this.context = context;\n this.index = currentIndex;\n this.length = context.length;\n this.current = context[currentIndex];\n this.backtrack = context.slice(0, currentIndex);\n this.lookahead = context.slice(currentIndex + 1);\n}\nfunction Event(eventId) {\n this.eventId = eventId;\n this.subscribers = [];\n}\nfunction initializeCoreEvents(events) {\n const coreEvents = [\n \"start\",\n \"end\",\n \"next\",\n \"newToken\",\n \"contextStart\",\n \"contextEnd\",\n \"insertToken\",\n \"removeToken\",\n \"removeRange\",\n \"replaceToken\",\n \"replaceRange\",\n \"composeRUD\",\n \"updateContextsRanges\"\n ];\n for (let i = 0; i < coreEvents.length; i++) {\n const eventId = coreEvents[i];\n Object.defineProperty(this.events, eventId, {\n value: new Event(eventId)\n });\n }\n if (events) {\n for (let i = 0; i < coreEvents.length; i++) {\n const eventId = coreEvents[i];\n const event = events[eventId];\n if (typeof event === \"function\") {\n this.events[eventId].subscribe(event);\n }\n }\n }\n const requiresContextUpdate = [\n \"insertToken\",\n \"removeToken\",\n \"removeRange\",\n \"replaceToken\",\n \"replaceRange\",\n \"composeRUD\"\n ];\n for (let i = 0; i < requiresContextUpdate.length; i++) {\n const eventId = requiresContextUpdate[i];\n this.events[eventId].subscribe(\n this.updateContextsRanges\n );\n }\n}\nfunction Tokenizer(events) {\n this.tokens = [];\n this.registeredContexts = {};\n this.contextCheckers = [];\n this.events = {};\n this.registeredModifiers = [];\n initializeCoreEvents.call(this, events);\n}\nToken.prototype.setState = function(key, value) {\n this.state[key] = value;\n this.activeState = { key, value: this.state[key] };\n return this.activeState;\n};\nToken.prototype.getState = function(stateId) {\n return this.state[stateId] || null;\n};\nTokenizer.prototype.inboundIndex = function(index) {\n return index >= 0 && index < this.tokens.length;\n};\nTokenizer.prototype.composeRUD = function(RUDs) {\n const silent = true;\n const state = RUDs.map((RUD) => this[RUD[0]].apply(this, RUD.slice(1).concat(silent)));\n const hasFAILObject = (obj) => typeof obj === \"object\" && Object.prototype.hasOwnProperty.call(obj, \"FAIL\");\n if (state.every(hasFAILObject)) {\n return {\n FAIL: \"composeRUD: one or more operations hasn't completed successfully\",\n report: state.filter(hasFAILObject)\n };\n }\n this.dispatch(\"composeRUD\", [state.filter((op) => !hasFAILObject(op))]);\n};\nTokenizer.prototype.replaceRange = function(startIndex, offset, tokens, silent) {\n offset = offset !== null ? offset : this.tokens.length;\n const isTokenType = tokens.every((token) => token instanceof Token);\n if (!isNaN(startIndex) && this.inboundIndex(startIndex) && isTokenType) {\n const replaced = this.tokens.splice.apply(\n this.tokens,\n [startIndex, offset].concat(tokens)\n );\n if (!silent) this.dispatch(\"replaceToken\", [startIndex, offset, tokens]);\n return [replaced, tokens];\n } else {\n return { FAIL: \"replaceRange: invalid tokens or startIndex.\" };\n }\n};\nTokenizer.prototype.replaceToken = function(index, token, silent) {\n if (!isNaN(index) && this.inboundIndex(index) && token instanceof Token) {\n const replaced = this.tokens.splice(index, 1, token);\n if (!silent) this.dispatch(\"replaceToken\", [index, token]);\n return [replaced[0], token];\n } else {\n return { FAIL: \"replaceToken: invalid token or index.\" };\n }\n};\nTokenizer.prototype.removeRange = function(startIndex, offset, silent) {\n offset = !isNaN(offset) ? offset : this.tokens.length;\n const tokens = this.tokens.splice(startIndex, offset);\n if (!silent) this.dispatch(\"removeRange\", [tokens, startIndex, offset]);\n return tokens;\n};\nTokenizer.prototype.removeToken = function(index, silent) {\n if (!isNaN(index) && this.inboundIndex(index)) {\n const token = this.tokens.splice(index, 1);\n if (!silent) this.dispatch(\"removeToken\", [token, index]);\n return token;\n } else {\n return { FAIL: \"removeToken: invalid token index.\" };\n }\n};\nTokenizer.prototype.insertToken = function(tokens, index, silent) {\n const tokenType = tokens.every(\n (token) => token instanceof Token\n );\n if (tokenType) {\n this.tokens.splice.apply(\n this.tokens,\n [index, 0].concat(tokens)\n );\n if (!silent) this.dispatch(\"insertToken\", [tokens, index]);\n return tokens;\n } else {\n return { FAIL: \"insertToken: invalid token(s).\" };\n }\n};\nTokenizer.prototype.registerModifier = function(modifierId, condition, modifier) {\n this.events.newToken.subscribe(function(token, contextParams) {\n const conditionParams = [token, contextParams];\n const canApplyModifier = condition === null || condition.apply(this, conditionParams) === true;\n const modifierParams = [token, contextParams];\n if (canApplyModifier) {\n let newStateValue = modifier.apply(this, modifierParams);\n token.setState(modifierId, newStateValue);\n }\n });\n this.registeredModifiers.push(modifierId);\n};\nEvent.prototype.subscribe = function(eventHandler) {\n if (typeof eventHandler === \"function\") {\n return this.subscribers.push(eventHandler) - 1;\n } else {\n return { FAIL: `invalid '${this.eventId}' event handler` };\n }\n};\nEvent.prototype.unsubscribe = function(subsId) {\n this.subscribers.splice(subsId, 1);\n};\nContextParams.prototype.setCurrentIndex = function(index) {\n this.index = index;\n this.current = this.context[index];\n this.backtrack = this.context.slice(0, index);\n this.lookahead = this.context.slice(index + 1);\n};\nContextParams.prototype.get = function(offset) {\n switch (true) {\n case offset === 0:\n return this.current;\n case (offset < 0 && Math.abs(offset) <= this.backtrack.length):\n return this.backtrack.slice(offset)[0];\n case (offset > 0 && offset <= this.lookahead.length):\n return this.lookahead[offset - 1];\n default:\n return null;\n }\n};\nTokenizer.prototype.rangeToText = function(range) {\n if (range instanceof ContextRange) {\n return this.getRangeTokens(range).map((token) => token.char).join(\"\");\n }\n};\nTokenizer.prototype.getText = function() {\n return this.tokens.map((token) => token.char).join(\"\");\n};\nTokenizer.prototype.getContext = function(contextName) {\n let context = this.registeredContexts[contextName];\n return context ? context : null;\n};\nTokenizer.prototype.on = function(eventName, eventHandler) {\n const event = this.events[eventName];\n if (event) {\n return event.subscribe(eventHandler);\n } else {\n return null;\n }\n};\nTokenizer.prototype.dispatch = function(eventName, args) {\n const event = this.events[eventName];\n if (event instanceof Event) {\n for (let i = 0; i < event.subscribers.length; i++) {\n const subscriber = event.subscribers[i];\n subscriber.apply(this, args || []);\n }\n }\n};\nTokenizer.prototype.registerContextChecker = function(contextName, contextStartCheck, contextEndCheck) {\n if (this.getContext(contextName)) return {\n FAIL: `context name '${contextName}' is already registered.`\n };\n if (typeof contextStartCheck !== \"function\") return {\n FAIL: \"missing context start check.\"\n };\n if (typeof contextEndCheck !== \"function\") return {\n FAIL: \"missing context end check.\"\n };\n const contextCheckers = new ContextChecker(\n contextName,\n contextStartCheck,\n contextEndCheck\n );\n this.registeredContexts[contextName] = contextCheckers;\n this.contextCheckers.push(contextCheckers);\n return contextCheckers;\n};\nTokenizer.prototype.getRangeTokens = function(range) {\n const endIndex = range.startIndex + range.endOffset;\n return [].concat(\n this.tokens.slice(range.startIndex, endIndex)\n );\n};\nTokenizer.prototype.getContextRanges = function(contextName) {\n const context = this.getContext(contextName);\n if (context) {\n return context.ranges;\n } else {\n return { FAIL: `context checker '${contextName}' is not registered.` };\n }\n};\nTokenizer.prototype.resetContextsRanges = function() {\n const registeredContexts = this.registeredContexts;\n for (const contextName in registeredContexts) {\n if (Object.prototype.hasOwnProperty.call(registeredContexts, contextName)) {\n const context = registeredContexts[contextName];\n context.ranges = [];\n }\n }\n};\nTokenizer.prototype.updateContextsRanges = function() {\n this.resetContextsRanges();\n const chars = this.tokens.map((token) => token.char);\n for (let i = 0; i < chars.length; i++) {\n const contextParams = new ContextParams(chars, i);\n this.runContextCheck(contextParams);\n }\n this.dispatch(\"updateContextsRanges\", [this.registeredContexts]);\n};\nTokenizer.prototype.setEndOffset = function(offset, contextName) {\n const startIndex = this.getContext(contextName).openRange.startIndex;\n let range = new ContextRange(startIndex, offset, contextName);\n const ranges = this.getContext(contextName).ranges;\n range.rangeId = `${contextName}.${ranges.length}`;\n ranges.push(range);\n this.getContext(contextName).openRange = null;\n return range;\n};\nTokenizer.prototype.runContextCheck = function(contextParams) {\n const index = contextParams.index;\n for (let i = 0; i < this.contextCheckers.length; i++) {\n const contextChecker = this.contextCheckers[i];\n let contextName = contextChecker.contextName;\n let openRange = this.getContext(contextName).openRange;\n if (!openRange && contextChecker.checkStart(contextParams)) {\n openRange = new ContextRange(index, null, contextName);\n this.getContext(contextName).openRange = openRange;\n this.dispatch(\"contextStart\", [contextName, index]);\n }\n if (!!openRange && contextChecker.checkEnd(contextParams)) {\n const offset = index - openRange.startIndex + 1;\n const range = this.setEndOffset(offset, contextName);\n this.dispatch(\"contextEnd\", [contextName, range]);\n }\n }\n};\nTokenizer.prototype.tokenize = function(text) {\n this.tokens = [];\n this.resetContextsRanges();\n let chars = Array.from(text);\n this.dispatch(\"start\");\n for (let i = 0; i < chars.length; i++) {\n const char = chars[i];\n const contextParams = new ContextParams(chars, i);\n this.dispatch(\"next\", [contextParams]);\n this.runContextCheck(contextParams);\n let token = new Token(char);\n this.tokens.push(token);\n this.dispatch(\"newToken\", [token, contextParams]);\n }\n this.dispatch(\"end\", [this.tokens]);\n return this.tokens;\n};\nvar tokenizer_default = Tokenizer;\n\n// src/char.mjs\nfunction isArabicChar(c) {\n return /[\\u0600-\\u065F\\u066A-\\u06D2\\u06FA-\\u06FF]/.test(c);\n}\nfunction isIsolatedArabicChar(char) {\n return /[\\u0630\\u0690\\u0621\\u0631\\u0661\\u0671\\u0622\\u0632\\u0672\\u0692\\u06C2\\u0623\\u0673\\u0693\\u06C3\\u0624\\u0694\\u06C4\\u0625\\u0675\\u0695\\u06C5\\u06E5\\u0676\\u0696\\u06C6\\u0627\\u0677\\u0697\\u06C7\\u0648\\u0688\\u0698\\u06C8\\u0689\\u0699\\u06C9\\u068A\\u06CA\\u066B\\u068B\\u06CB\\u068C\\u068D\\u06CD\\u06FD\\u068E\\u06EE\\u06FE\\u062F\\u068F\\u06CF\\u06EF]/.test(char);\n}\nfunction isTashkeelArabicChar(char) {\n return /[\\u0600-\\u0605\\u060C-\\u060E\\u0610-\\u061B\\u061E\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED]/.test(char);\n}\nfunction isThaiChar(c) {\n return /[\\u0E00-\\u0E7F]/.test(c);\n}\nfunction isLatinChar(c) {\n return /[A-z]/.test(c);\n}\nfunction isWhiteSpace(c) {\n return /\\s/.test(c);\n}\n\n// src/features/featureQuery.mjs\nfunction FeatureQuery(font) {\n this.font = font;\n this.features = {};\n}\nfunction SubstitutionAction(action) {\n this.id = action.id;\n this.tag = action.tag;\n this.substitution = action.substitution;\n}\nfunction lookupCoverage(glyphIndex, coverage) {\n if (!glyphIndex) return -1;\n switch (coverage.format) {\n case 1:\n return coverage.glyphs.indexOf(glyphIndex);\n case 2: {\n let ranges = coverage.ranges;\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (glyphIndex >= range.start && glyphIndex <= range.end) {\n let offset = glyphIndex - range.start;\n return range.index + offset;\n }\n }\n break;\n }\n default:\n return -1;\n }\n return -1;\n}\nfunction singleSubstitutionFormat1(glyphIndex, subtable) {\n let substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) return null;\n return glyphIndex + subtable.deltaGlyphId;\n}\nfunction singleSubstitutionFormat2(glyphIndex, subtable) {\n let substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) return null;\n return subtable.substitute[substituteIndex];\n}\nfunction lookupCoverageList(coverageList, contextParams) {\n let lookupList = [];\n for (let i = 0; i < coverageList.length; i++) {\n const coverage = coverageList[i];\n let glyphIndex = contextParams.current;\n glyphIndex = Array.isArray(glyphIndex) ? glyphIndex[0] : glyphIndex;\n const lookupIndex = lookupCoverage(glyphIndex, coverage);\n if (lookupIndex !== -1) {\n lookupList.push(lookupIndex);\n }\n }\n if (lookupList.length !== coverageList.length) return -1;\n return lookupList;\n}\nfunction chainingSubstitutionFormat3(contextParams, subtable) {\n const lookupsCount = subtable.inputCoverage.length + subtable.lookaheadCoverage.length + subtable.backtrackCoverage.length;\n if (contextParams.context.length < lookupsCount) return [];\n let inputLookups = lookupCoverageList(\n subtable.inputCoverage,\n contextParams\n );\n if (inputLookups === -1) return [];\n const lookaheadOffset = subtable.inputCoverage.length - 1;\n if (contextParams.lookahead.length < subtable.lookaheadCoverage.length) return [];\n let lookaheadContext = contextParams.lookahead.slice(lookaheadOffset);\n while (lookaheadContext.length && isTashkeelArabicChar(lookaheadContext[0].char)) {\n lookaheadContext.shift();\n }\n const lookaheadParams = new ContextParams(lookaheadContext, 0);\n let lookaheadLookups = lookupCoverageList(\n subtable.lookaheadCoverage,\n lookaheadParams\n );\n let backtrackContext = [].concat(contextParams.backtrack);\n backtrackContext.reverse();\n while (backtrackContext.length && isTashkeelArabicChar(backtrackContext[0].char)) {\n backtrackContext.shift();\n }\n if (backtrackContext.length < subtable.backtrackCoverage.length) return [];\n const backtrackParams = new ContextParams(backtrackContext, 0);\n let backtrackLookups = lookupCoverageList(\n subtable.backtrackCoverage,\n backtrackParams\n );\n const contextRulesMatch = inputLookups.length === subtable.inputCoverage.length && lookaheadLookups.length === subtable.lookaheadCoverage.length && backtrackLookups.length === subtable.backtrackCoverage.length;\n let substitutions = [];\n if (contextRulesMatch) {\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const lookupRecord = subtable.lookupRecords[i];\n const lookupListIndex = lookupRecord.lookupListIndex;\n const lookupTable = this.getLookupByIndex(lookupListIndex);\n for (let s = 0; s < lookupTable.subtables.length; s++) {\n let subtable2 = lookupTable.subtables[s];\n let lookup;\n let substitutionType = this.getSubstitutionType(lookupTable, subtable2);\n if (substitutionType === \"71\") {\n substitutionType = this.getSubstitutionType(subtable2, subtable2.extension);\n lookup = this.getLookupMethod(subtable2, subtable2.extension);\n subtable2 = subtable2.extension;\n } else {\n lookup = this.getLookupMethod(lookupTable, subtable2);\n }\n if (substitutionType === \"12\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n } else if (substitutionType === \"21\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n } else {\n throw new Error(`Substitution type ${substitutionType} is not supported in chaining substitution`);\n }\n }\n }\n }\n return substitutions;\n}\nfunction ligatureSubstitutionFormat1(contextParams, subtable) {\n let glyphIndex = contextParams.current;\n let ligSetIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (ligSetIndex === -1) return null;\n let ligature;\n let ligatureSet = subtable.ligatureSets[ligSetIndex];\n for (let s = 0; s < ligatureSet.length; s++) {\n ligature = ligatureSet[s];\n for (let l = 0; l < ligature.components.length; l++) {\n const lookaheadItem = contextParams.lookahead[l];\n const component = ligature.components[l];\n if (lookaheadItem !== component) break;\n if (l === ligature.components.length - 1) return ligature;\n }\n }\n return null;\n}\nfunction contextSubstitutionFormat1(contextParams, subtable) {\n let glyphId = contextParams.current;\n let ligSetIndex = lookupCoverage(glyphId, subtable.coverage);\n if (ligSetIndex === -1)\n return null;\n for (const ruleSet of subtable.ruleSets) {\n for (const rule of ruleSet) {\n let matched = true;\n for (let i = 0; i < rule.input.length; i++) {\n if (contextParams.lookahead[i] !== rule.input[i]) {\n matched = false;\n break;\n }\n }\n if (matched) {\n let substitutions = [];\n substitutions.push(glyphId);\n for (let i = 0; i < rule.input.length; i++) {\n substitutions.push(rule.input[i]);\n }\n const parser = (substitutions2, lookupRecord) => {\n const { lookupListIndex, sequenceIndex } = lookupRecord;\n const { subtables } = this.getLookupByIndex(lookupListIndex);\n for (const subtable2 of subtables) {\n let ligSetIndex2 = lookupCoverage(substitutions2[sequenceIndex], subtable2.coverage);\n if (ligSetIndex2 !== -1) {\n substitutions2[sequenceIndex] = subtable2.deltaGlyphId;\n }\n }\n };\n for (let i = 0; i < rule.lookupRecords.length; i++) {\n const lookupRecord = rule.lookupRecords[i];\n parser(substitutions, lookupRecord);\n }\n return substitutions;\n }\n }\n }\n return null;\n}\nfunction contextSubstitutionFormat3(contextParams, subtable) {\n if (contextParams.context.length < subtable.coverages.length) {\n return [];\n }\n for (let i = 0; i < subtable.coverages.length; i++) {\n let glyphIndex = contextParams.get(i);\n glyphIndex = Array.isArray(glyphIndex) ? glyphIndex[0] : glyphIndex;\n if (lookupCoverage(glyphIndex, subtable.coverages[i]) === -1) {\n return [];\n }\n }\n let substitutions = [];\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const lookupRecord = subtable.lookupRecords[i];\n const lookupListIndex = lookupRecord.lookupListIndex;\n const lookupTable = this.getLookupByIndex(lookupListIndex);\n for (let s = 0; s < lookupTable.subtables.length; s++) {\n let subtable2 = lookupTable.subtables[s];\n let lookup;\n let substitutionType = this.getSubstitutionType(lookupTable, subtable2);\n if (substitutionType === \"71\") {\n substitutionType = this.getSubstitutionType(subtable2, subtable2.extension);\n lookup = this.getLookupMethod(subtable2, subtable2.extension);\n subtable2 = subtable2.extension;\n } else {\n lookup = this.getLookupMethod(lookupTable, subtable2);\n }\n if (substitutionType === \"12\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n } else if (substitutionType === \"21\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n }\n }\n }\n return substitutions;\n}\nfunction decompositionSubstitutionFormat1(glyphIndex, subtable) {\n let substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) return null;\n return subtable.sequences[substituteIndex];\n}\nFeatureQuery.prototype.getDefaultScriptFeaturesIndexes = function() {\n const scripts = this.font.tables.gsub.scripts;\n for (let s = 0; s < scripts.length; s++) {\n const script = scripts[s];\n if (script.tag === \"DFLT\") return script.script.defaultLangSys.featureIndexes;\n }\n return [];\n};\nFeatureQuery.prototype.getScriptFeaturesIndexes = function(scriptTag) {\n const tables = this.font.tables;\n if (!tables.gsub) return [];\n if (!scriptTag) return this.getDefaultScriptFeaturesIndexes();\n const scripts = this.font.tables.gsub.scripts;\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (script.tag === scriptTag && script.script.defaultLangSys) {\n return script.script.defaultLangSys.featureIndexes;\n } else {\n let langSysRecords = script.langSysRecords;\n if (langSysRecords) {\n for (let j = 0; j < langSysRecords.length; j++) {\n const langSysRecord = langSysRecords[j];\n if (langSysRecord.tag === scriptTag) {\n let langSys = langSysRecord.langSys;\n return langSys.featureIndexes;\n }\n }\n }\n }\n }\n return this.getDefaultScriptFeaturesIndexes();\n};\nFeatureQuery.prototype.mapTagsToFeatures = function(features, scriptTag) {\n let tags = {};\n for (let i = 0; i < features.length; i++) {\n const tag = features[i].tag;\n const feature = features[i].feature;\n tags[tag] = feature;\n }\n this.features[scriptTag].tags = tags;\n};\nFeatureQuery.prototype.getScriptFeatures = function(scriptTag) {\n let features = this.features[scriptTag];\n if (Object.prototype.hasOwnProperty.call(this.features, scriptTag)) return features;\n const featuresIndexes = this.getScriptFeaturesIndexes(scriptTag);\n if (!featuresIndexes) return null;\n const gsub = this.font.tables.gsub;\n features = featuresIndexes.map((index) => gsub.features[index]);\n this.features[scriptTag] = features;\n this.mapTagsToFeatures(features, scriptTag);\n return features;\n};\nFeatureQuery.prototype.getSubstitutionType = function(lookupTable, subtable) {\n const lookupType = lookupTable.lookupType.toString();\n const substFormat = subtable.substFormat.toString();\n return lookupType + substFormat;\n};\nFeatureQuery.prototype.getLookupMethod = function(lookupTable, subtable) {\n let substitutionType = this.getSubstitutionType(lookupTable, subtable);\n switch (substitutionType) {\n case \"11\":\n return (glyphIndex) => singleSubstitutionFormat1.apply(\n this,\n [glyphIndex, subtable]\n );\n case \"12\":\n return (glyphIndex) => singleSubstitutionFormat2.apply(\n this,\n [glyphIndex, subtable]\n );\n case \"63\":\n return (contextParams) => chainingSubstitutionFormat3.apply(\n this,\n [contextParams, subtable]\n );\n case \"41\":\n return (contextParams) => ligatureSubstitutionFormat1.apply(\n this,\n [contextParams, subtable]\n );\n case \"21\":\n return (glyphIndex) => decompositionSubstitutionFormat1.apply(\n this,\n [glyphIndex, subtable]\n );\n case \"51\":\n return (contextParams) => contextSubstitutionFormat1.apply(\n this,\n [contextParams, subtable]\n );\n case \"53\":\n return (contextParams) => contextSubstitutionFormat3.apply(\n this,\n [contextParams, subtable]\n );\n default:\n throw new Error(\n `substitutionType : ${substitutionType} lookupType: ${lookupTable.lookupType} - substFormat: ${subtable.substFormat} is not yet supported`\n );\n }\n};\nFeatureQuery.prototype.lookupFeature = function(query) {\n let contextParams = query.contextParams;\n let currentIndex = contextParams.index;\n const feature = this.getFeature({\n tag: query.tag,\n script: query.script\n });\n if (!feature) return new Error(\n `font '${(this.font.names.unicode || this.font.names.windows || this.font.names.macintosh).fullName.en}' doesn't support feature '${query.tag}' for script '${query.script}'.`\n );\n const lookups = this.getFeatureLookups(feature);\n const substitutions = [].concat(contextParams.context);\n for (let l = 0; l < lookups.length; l++) {\n const lookupTable = lookups[l];\n const subtables = this.getLookupSubtables(lookupTable);\n for (let s = 0; s < subtables.length; s++) {\n let subtable = subtables[s];\n let substType = this.getSubstitutionType(lookupTable, subtable);\n let lookup;\n if (substType === \"71\") {\n substType = this.getSubstitutionType(subtable, subtable.extension);\n lookup = this.getLookupMethod(subtable, subtable.extension);\n subtable = subtable.extension;\n } else {\n lookup = this.getLookupMethod(lookupTable, subtable);\n }\n let substitution;\n switch (substType) {\n case \"11\":\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 11,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"12\":\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 12,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"63\":\n substitution = lookup(contextParams);\n if (Array.isArray(substitution) && substitution.length) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 63,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"41\":\n substitution = lookup(contextParams);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 41,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"21\":\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 21,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"51\":\n case \"53\":\n substitution = lookup(contextParams);\n if (Array.isArray(substitution) && substitution.length) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: parseInt(substType),\n tag: query.tag,\n substitution\n }));\n }\n break;\n }\n contextParams = new ContextParams(substitutions, currentIndex);\n if (Array.isArray(substitution) && !substitution.length) continue;\n substitution = null;\n }\n }\n return substitutions.length ? substitutions : null;\n};\nFeatureQuery.prototype.supports = function(query) {\n if (!query.script) return false;\n this.getScriptFeatures(query.script);\n const supportedScript = Object.prototype.hasOwnProperty.call(this.features, query.script);\n if (!query.tag) return supportedScript;\n const supportedFeature = this.features[query.script].some((feature) => feature.tag === query.tag);\n return supportedScript && supportedFeature;\n};\nFeatureQuery.prototype.getLookupSubtables = function(lookupTable) {\n return lookupTable.subtables || null;\n};\nFeatureQuery.prototype.getLookupByIndex = function(index) {\n const lookups = this.font.tables.gsub.lookups;\n return lookups[index] || null;\n};\nFeatureQuery.prototype.getFeatureLookups = function(feature) {\n return feature.lookupListIndexes.map(this.getLookupByIndex.bind(this));\n};\nFeatureQuery.prototype.getFeature = function getFeature(query) {\n if (!this.font) return { FAIL: \"No font was found\" };\n if (!Object.prototype.hasOwnProperty.call(this.features, query.script)) {\n this.getScriptFeatures(query.script);\n }\n const scriptFeatures = this.features[query.script];\n if (!scriptFeatures) return { FAIL: `No feature for script ${query.script}` };\n if (!scriptFeatures.tags[query.tag]) return null;\n return this.features[query.script].tags[query.tag];\n};\nvar featureQuery_default = FeatureQuery;\n\n// src/features/arab/contextCheck/arabicWord.mjs\nfunction arabicWordStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? arabic first char\n prevChar === null && isArabicChar(char) || // ? arabic char preceded with a non arabic char\n !isArabicChar(prevChar) && isArabicChar(char)\n );\n}\nfunction arabicWordEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return (\n // ? last arabic char\n nextChar === null || // ? next char is not arabic\n !isArabicChar(nextChar)\n );\n}\nvar arabicWord_default = {\n startCheck: arabicWordStartCheck,\n endCheck: arabicWordEndCheck\n};\n\n// src/features/arab/contextCheck/arabicSentence.mjs\nfunction arabicSentenceStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? an arabic char preceded with a non arabic char\n (isArabicChar(char) || isTashkeelArabicChar(char)) && !isArabicChar(prevChar)\n );\n}\nfunction arabicSentenceEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n switch (true) {\n case nextChar === null:\n return true;\n case (!isArabicChar(nextChar) && !isTashkeelArabicChar(nextChar)): {\n const nextIsWhitespace = isWhiteSpace(nextChar);\n if (!nextIsWhitespace) return true;\n if (nextIsWhitespace) {\n let arabicCharAhead = false;\n arabicCharAhead = contextParams.lookahead.some(\n (c) => isArabicChar(c) || isTashkeelArabicChar(c)\n );\n if (!arabicCharAhead) return true;\n }\n break;\n }\n default:\n return false;\n }\n}\nvar arabicSentence_default = {\n startCheck: arabicSentenceStartCheck,\n endCheck: arabicSentenceEndCheck\n};\n\n// src/features/applySubstitution.mjs\nfunction singleSubstitutionFormat12(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\nfunction singleSubstitutionFormat22(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\nfunction chainingSubstitutionFormat32(action, tokens, index) {\n for (let i = 0; i < action.substitution.length; i++) {\n const subst = action.substitution[i];\n const token = tokens[index + i];\n if (Array.isArray(subst)) {\n if (subst.length) {\n token.setState(action.tag, subst[0]);\n } else {\n token.setState(\"deleted\", true);\n }\n continue;\n }\n token.setState(action.tag, subst);\n }\n}\nfunction ligatureSubstitutionFormat12(action, tokens, index) {\n let token = tokens[index];\n token.setState(action.tag, action.substitution.ligGlyph);\n const compsCount = action.substitution.components.length;\n for (let i = 0; i < compsCount; i++) {\n token = tokens[index + i + 1];\n token.setState(\"deleted\", true);\n }\n}\nvar SUBSTITUTIONS = {\n 11: singleSubstitutionFormat12,\n 12: singleSubstitutionFormat22,\n 63: chainingSubstitutionFormat32,\n 41: ligatureSubstitutionFormat12,\n 51: chainingSubstitutionFormat32,\n 53: chainingSubstitutionFormat32\n};\nfunction applySubstitution(action, tokens, index) {\n if (action instanceof SubstitutionAction && SUBSTITUTIONS[action.id]) {\n SUBSTITUTIONS[action.id](action, tokens, index);\n }\n}\nvar applySubstitution_default = applySubstitution;\n\n// src/features/arab/arabicPresentationForms.mjs\nfunction willConnectPrev(charContextParams) {\n let backtrack = [].concat(charContextParams.backtrack);\n for (let i = backtrack.length - 1; i >= 0; i--) {\n const prevChar = backtrack[i];\n const isolated = isIsolatedArabicChar(prevChar);\n const tashkeel = isTashkeelArabicChar(prevChar);\n if (!isolated && !tashkeel) return true;\n if (isolated) return false;\n }\n return false;\n}\nfunction willConnectNext(charContextParams) {\n if (isIsolatedArabicChar(charContextParams.current)) return false;\n for (let i = 0; i < charContextParams.lookahead.length; i++) {\n const nextChar = charContextParams.lookahead[i];\n const tashkeel = isTashkeelArabicChar(nextChar);\n if (!tashkeel) return true;\n }\n return false;\n}\nfunction arabicPresentationForms(range) {\n const script = \"arab\";\n const tags = this.featuresTags[script];\n const tokens = this.tokenizer.getRangeTokens(range);\n if (tokens.length === 1) return;\n let contextParams = new ContextParams(\n tokens.map(\n (token) => token.getState(\"glyphIndex\")\n ),\n 0\n );\n const charContextParams = new ContextParams(\n tokens.map(\n (token) => token.char\n ),\n 0\n );\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (isTashkeelArabicChar(token.char)) continue;\n contextParams.setCurrentIndex(i);\n charContextParams.setCurrentIndex(i);\n let CONNECT = 0;\n if (willConnectPrev(charContextParams)) CONNECT |= 1;\n if (willConnectNext(charContextParams)) CONNECT |= 2;\n let tag;\n switch (CONNECT) {\n case 1:\n tag = \"fina\";\n break;\n case 2:\n tag = \"init\";\n break;\n case 3:\n tag = \"medi\";\n break;\n }\n if (tags.indexOf(tag) === -1) continue;\n let substitutions = this.query.lookupFeature({\n tag,\n script,\n contextParams\n });\n if (substitutions instanceof Error) {\n console.info(substitutions.message);\n continue;\n }\n for (let j = 0; j < substitutions.length; j++) {\n const action = substitutions[j];\n if (action instanceof SubstitutionAction) {\n applySubstitution_default(action, tokens, j);\n contextParams.context[j] = action.substitution;\n }\n }\n }\n}\nvar arabicPresentationForms_default = arabicPresentationForms;\n\n// src/features/arab/arabicRequiredLigatures.mjs\nfunction getContextParams(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction arabicRequiredLigatures(range) {\n const script = \"arab\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams(tokens);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"rlig\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams(tokens);\n }\n }\n}\nvar arabicRequiredLigatures_default = arabicRequiredLigatures;\n\n// src/features/ccmp/contextCheck/ccmpReplacement.mjs\nfunction ccmpReplacementStartCheck(contextParams) {\n return contextParams.index === 0 && contextParams.context.length > 1;\n}\nfunction ccmpReplacementEndCheck(contextParams) {\n return contextParams.index === contextParams.context.length - 1;\n}\nvar ccmpReplacement_default = {\n startCheck: ccmpReplacementStartCheck,\n endCheck: ccmpReplacementEndCheck\n};\n\n// src/features/ccmp/ccmpReplacementLigatures.mjs\nfunction getContextParams2(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction ccmpReplacementLigatures(range) {\n const script = \"delf\";\n const tag = \"ccmp\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams2(tokens);\n for (let index = 0; index < contextParams.context.length; index++) {\n if (!this.query.getFeature({ tag, script, contextParams })) {\n continue;\n }\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag,\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams2(tokens);\n }\n }\n}\nvar ccmpReplacementLigatures_default = ccmpReplacementLigatures;\n\n// src/features/latn/contextCheck/latinWord.mjs\nfunction latinWordStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? latin first char\n prevChar === null && isLatinChar(char) || // ? latin char preceded with a non latin char\n !isLatinChar(prevChar) && isLatinChar(char)\n );\n}\nfunction latinWordEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return (\n // ? last latin char\n nextChar === null || // ? next char is not latin\n !isLatinChar(nextChar)\n );\n}\nvar latinWord_default = {\n startCheck: latinWordStartCheck,\n endCheck: latinWordEndCheck\n};\n\n// src/features/latn/latinLigatures.mjs\nfunction getContextParams3(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction latinLigature(range) {\n const script = \"latn\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams3(tokens);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"liga\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams3(tokens);\n }\n }\n}\nvar latinLigatures_default = latinLigature;\n\n// src/features/thai/contextCheck/thaiWord.mjs\nfunction thaiWordStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? thai first char\n prevChar === null && isThaiChar(char) || // ? thai char preceded with a non thai char\n !isThaiChar(prevChar) && isThaiChar(char)\n );\n}\nfunction thaiWordEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return (\n // ? last thai char\n nextChar === null || // ? next char is not thai\n !isThaiChar(nextChar)\n );\n}\nvar thaiWord_default = {\n startCheck: thaiWordStartCheck,\n endCheck: thaiWordEndCheck\n};\n\n// src/features/thai/thaiGlyphComposition.mjs\nfunction getContextParams4(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction thaiGlyphComposition(range) {\n const script = \"thai\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams4(tokens, 0);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"ccmp\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams4(tokens, index);\n }\n }\n}\nvar thaiGlyphComposition_default = thaiGlyphComposition;\n\n// src/features/thai/thaiLigatures.mjs\nfunction getContextParams5(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction thaiLigatures(range) {\n const script = \"thai\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams5(tokens, 0);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"liga\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams5(tokens, index);\n }\n }\n}\nvar thaiLigatures_default = thaiLigatures;\n\n// src/features/thai/thaiRequiredLigatures.mjs\nfunction getContextParams6(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction thaiRequiredLigatures(range) {\n const script = \"thai\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams6(tokens, 0);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"rlig\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams6(tokens, index);\n }\n }\n}\nvar thaiRequiredLigatures_default = thaiRequiredLigatures;\n\n// src/features/unicode/contextCheck/variationSequenceCheck.mjs\nfunction isVariationSequenceSelector(char) {\n if (char === null) return false;\n const charCode = char.codePointAt(0);\n return (\n // Mongolian Variation Selectors\n charCode >= 6155 && charCode <= 6157 || // Generic Variation Selectors\n charCode >= 65024 && charCode <= 65039 || // Ideographic Variation Sequences\n charCode >= 917760 && charCode <= 917999\n );\n}\nfunction unicodeVariationSequenceStartCheck(contextParams) {\n const char = contextParams.current;\n const nextChar = contextParams.get(1);\n return nextChar === null && isVariationSequenceSelector(char) || isVariationSequenceSelector(nextChar);\n}\nfunction unicodeVariationSequenceEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return nextChar === null || !isVariationSequenceSelector(nextChar);\n}\nvar variationSequenceCheck_default = {\n startCheck: unicodeVariationSequenceStartCheck,\n endCheck: unicodeVariationSequenceEndCheck\n};\n\n// src/features/unicode/variationSequences.mjs\nfunction unicodeVariationSequence(range) {\n const font = this.query.font;\n const tokens = this.tokenizer.getRangeTokens(range);\n tokens[1].setState(\"deleted\", true);\n if (font.tables.cmap && font.tables.cmap.varSelectorList) {\n const baseCodePoint = tokens[0].char.codePointAt(0);\n const vsCodePoint = tokens[1].char.codePointAt(0);\n const selectorLookup = font.tables.cmap.varSelectorList[vsCodePoint];\n if (selectorLookup !== void 0) {\n if (selectorLookup.nonDefaultUVS) {\n const mappings = selectorLookup.nonDefaultUVS.uvsMappings;\n if (mappings[baseCodePoint]) {\n const replacementGlyphId = mappings[baseCodePoint].glyphID;\n if (font.glyphs.glyphs[replacementGlyphId] !== void 0) {\n tokens[0].setState(\"glyphIndex\", replacementGlyphId);\n }\n }\n }\n }\n }\n}\nvar variationSequences_default = unicodeVariationSequence;\n\n// src/bidi.mjs\nfunction Bidi(baseDir) {\n this.baseDir = baseDir || \"ltr\";\n this.tokenizer = new tokenizer_default();\n this.featuresTags = {};\n}\nBidi.prototype.setText = function(text) {\n this.text = text;\n};\nBidi.prototype.contextChecks = {\n ccmpReplacementCheck: ccmpReplacement_default,\n latinWordCheck: latinWord_default,\n arabicWordCheck: arabicWord_default,\n arabicSentenceCheck: arabicSentence_default,\n thaiWordCheck: thaiWord_default,\n unicodeVariationSequenceCheck: variationSequenceCheck_default\n};\nfunction registerContextChecker(checkId) {\n const check = this.contextChecks[`${checkId}Check`];\n return this.tokenizer.registerContextChecker(\n checkId,\n check.startCheck,\n check.endCheck\n );\n}\nfunction tokenizeText() {\n registerContextChecker.call(this, \"ccmpReplacement\");\n registerContextChecker.call(this, \"latinWord\");\n registerContextChecker.call(this, \"arabicWord\");\n registerContextChecker.call(this, \"arabicSentence\");\n registerContextChecker.call(this, \"thaiWord\");\n registerContextChecker.call(this, \"unicodeVariationSequence\");\n return this.tokenizer.tokenize(this.text);\n}\nfunction reverseArabicSentences() {\n const ranges = this.tokenizer.getContextRanges(\"arabicSentence\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n let rangeTokens = this.tokenizer.getRangeTokens(range);\n this.tokenizer.replaceRange(\n range.startIndex,\n range.endOffset,\n rangeTokens.reverse()\n );\n }\n}\nBidi.prototype.registerFeatures = function(script, tags) {\n const supportedTags = tags.filter(\n (tag) => this.query.supports({ script, tag })\n );\n if (!Object.prototype.hasOwnProperty.call(this.featuresTags, script)) {\n this.featuresTags[script] = supportedTags;\n } else {\n this.featuresTags[script] = this.featuresTags[script].concat(supportedTags);\n }\n};\nBidi.prototype.applyFeatures = function(font, features) {\n if (!font) throw new Error(\n \"No valid font was provided to apply features\"\n );\n if (!this.query) this.query = new featureQuery_default(font);\n for (let f = 0; f < features.length; f++) {\n const feature = features[f];\n if (!this.query.supports({ script: feature.script })) continue;\n this.registerFeatures(feature.script, feature.tags);\n }\n};\nBidi.prototype.registerModifier = function(modifierId, condition, modifier) {\n this.tokenizer.registerModifier(modifierId, condition, modifier);\n};\nfunction checkGlyphIndexStatus() {\n if (this.tokenizer.registeredModifiers.indexOf(\"glyphIndex\") === -1) {\n throw new Error(\n \"glyphIndex modifier is required to apply arabic presentation features.\"\n );\n }\n}\nfunction applyArabicPresentationForms() {\n const script = \"arab\";\n if (!Object.prototype.hasOwnProperty.call(this.featuresTags, script)) return;\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"arabicWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n arabicPresentationForms_default.call(this, range);\n }\n}\nfunction applyCcmpReplacement() {\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"ccmpReplacement\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n ccmpReplacementLigatures_default.call(this, range);\n }\n}\nfunction applyArabicRequireLigatures() {\n if (!this.hasFeatureEnabled(\"arab\", \"rlig\")) return;\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"arabicWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n arabicRequiredLigatures_default.call(this, range);\n }\n}\nfunction applyLatinLigatures() {\n if (!this.hasFeatureEnabled(\"latn\", \"liga\")) return;\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"latinWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n latinLigatures_default.call(this, range);\n }\n}\nfunction applyUnicodeVariationSequences() {\n const ranges = this.tokenizer.getContextRanges(\"unicodeVariationSequence\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n variationSequences_default.call(this, range);\n }\n}\nfunction applyThaiFeatures() {\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"thaiWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (this.hasFeatureEnabled(\"thai\", \"liga\")) thaiLigatures_default.call(this, range);\n if (this.hasFeatureEnabled(\"thai\", \"rlig\")) thaiRequiredLigatures_default.call(this, range);\n if (this.hasFeatureEnabled(\"thai\", \"ccmp\")) thaiGlyphComposition_default.call(this, range);\n }\n}\nBidi.prototype.checkContextReady = function(contextId) {\n return !!this.tokenizer.getContext(contextId);\n};\nBidi.prototype.applyFeaturesToContexts = function() {\n if (this.checkContextReady(\"ccmpReplacement\")) {\n applyCcmpReplacement.call(this);\n }\n if (this.checkContextReady(\"arabicWord\")) {\n applyArabicPresentationForms.call(this);\n applyArabicRequireLigatures.call(this);\n }\n if (this.checkContextReady(\"latinWord\")) {\n applyLatinLigatures.call(this);\n }\n if (this.checkContextReady(\"arabicSentence\")) {\n reverseArabicSentences.call(this);\n }\n if (this.checkContextReady(\"thaiWord\")) {\n applyThaiFeatures.call(this);\n }\n if (this.checkContextReady(\"unicodeVariationSequence\")) {\n applyUnicodeVariationSequences.call(this);\n }\n};\nBidi.prototype.hasFeatureEnabled = function(script, tag) {\n return (this.featuresTags[script] || []).indexOf(tag) !== -1;\n};\nBidi.prototype.processText = function(text) {\n if (!this.text || this.text !== text) {\n this.setText(text);\n tokenizeText.call(this);\n this.applyFeaturesToContexts();\n }\n};\nBidi.prototype.getBidiText = function(text) {\n this.processText(text);\n return this.tokenizer.getText();\n};\nBidi.prototype.getTextGlyphs = function(text) {\n this.processText(text);\n let indexes = [];\n for (let i = 0; i < this.tokenizer.tokens.length; i++) {\n const token = this.tokenizer.tokens[i];\n if (token.state.deleted) continue;\n const index = token.activeState.value;\n indexes.push(Array.isArray(index) ? index[0] : index);\n }\n return indexes;\n};\nvar bidi_default = Bidi;\n\n// src/font.mjs\nfunction createDefaultNamesInfo(options) {\n return {\n fontFamily: { en: options.familyName || \" \" },\n fontSubfamily: { en: options.styleName || \" \" },\n fullName: { en: options.fullName || options.familyName + \" \" + options.styleName },\n // postScriptName may not contain any whitespace\n postScriptName: { en: options.postScriptName || (options.familyName + options.styleName).replace(/\\s/g, \"\") },\n designer: { en: options.designer || \" \" },\n designerURL: { en: options.designerURL || \" \" },\n manufacturer: { en: options.manufacturer || \" \" },\n manufacturerURL: { en: options.manufacturerURL || \" \" },\n license: { en: options.license || \" \" },\n licenseURL: { en: options.licenseURL || \" \" },\n version: { en: options.version || \"Version 0.1\" },\n description: { en: options.description || \" \" },\n copyright: { en: options.copyright || \" \" },\n trademark: { en: options.trademark || \" \" }\n };\n}\nfunction Font(options) {\n options = options || {};\n options.tables = options.tables || {};\n if (!options.empty) {\n if (!options.familyName) throw new Error(\"When creating a new Font object, familyName is required.\");\n if (!options.styleName) throw new Error(\"When creating a new Font object, styleName is required.\");\n if (!options.unitsPerEm) throw new Error(\"When creating a new Font object, unitsPerEm is required.\");\n if (!options.ascender) throw new Error(\"When creating a new Font object, ascender is required.\");\n if (options.descender > 0) throw new Error(\"When creating a new Font object, negative descender value is required.\");\n this.names = {};\n this.names.unicode = createDefaultNamesInfo(options);\n this.names.macintosh = createDefaultNamesInfo(options);\n this.names.windows = createDefaultNamesInfo(options);\n this.unitsPerEm = options.unitsPerEm || 1e3;\n this.ascender = options.ascender;\n this.descender = options.descender;\n this.createdTimestamp = options.createdTimestamp;\n this.italicAngle = options.italicAngle || 0;\n this.weightClass = options.weightClass || 0;\n let selection = 0;\n if (options.fsSelection) {\n selection = options.fsSelection;\n } else {\n if (this.italicAngle < 0) {\n selection |= this.fsSelectionValues.ITALIC;\n } else if (this.italicAngle > 0) {\n selection |= this.fsSelectionValues.OBLIQUE;\n }\n if (this.weightClass >= 600) {\n selection |= this.fsSelectionValues.BOLD;\n }\n if (selection === 0) {\n selection = this.fsSelectionValues.REGULAR;\n }\n }\n if (!options.panose || !Array.isArray(options.panose)) {\n options.panose = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n this.tables = Object.assign(options.tables, {\n os2: Object.assign({\n usWeightClass: options.weightClass || this.usWeightClasses.MEDIUM,\n usWidthClass: options.widthClass || this.usWidthClasses.MEDIUM,\n bFamilyType: options.panose[0] || 0,\n bSerifStyle: options.panose[1] || 0,\n bWeight: options.panose[2] || 0,\n bProportion: options.panose[3] || 0,\n bContrast: options.panose[4] || 0,\n bStrokeVariation: options.panose[5] || 0,\n bArmStyle: options.panose[6] || 0,\n bLetterform: options.panose[7] || 0,\n bMidline: options.panose[8] || 0,\n bXHeight: options.panose[9] || 0,\n fsSelection: selection\n }, options.tables.os2)\n });\n }\n this.supported = true;\n this.glyphs = new glyphset_default.GlyphSet(this, options.glyphs || []);\n this.encoding = new DefaultEncoding(this);\n this.position = new position_default(this);\n this.substitution = new substitution_default(this);\n this.tables = this.tables || {};\n this.tables = new Proxy(this.tables, {\n set: (tables, tableName, tableData) => {\n tables[tableName] = tableData;\n if (tables.fvar && (tables.gvar || tables.cff2) && !this.variation) {\n this.variation = new VariationManager(this);\n }\n return true;\n }\n });\n this.palettes = new PaletteManager(this);\n this.layers = new LayerManager(this);\n this.svgImages = new SVGImageManager(this);\n this._push = null;\n this._hmtxTableData = {};\n Object.defineProperty(this, \"hinting\", {\n get: function() {\n if (this._hinting) return this._hinting;\n if (this.outlinesFormat === \"truetype\") {\n return this._hinting = new hintingtt_default(this);\n }\n return null;\n }\n });\n}\nFont.prototype.hasChar = function(c) {\n return this.encoding.charToGlyphIndex(c) > 0;\n};\nFont.prototype.charToGlyphIndex = function(s) {\n return this.encoding.charToGlyphIndex(s);\n};\nFont.prototype.charToGlyph = function(c) {\n const glyphIndex = this.charToGlyphIndex(c);\n let glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n glyph = this.glyphs.get(0);\n }\n return glyph;\n};\nFont.prototype.updateFeatures = function(options) {\n return this.defaultRenderOptions.features.map((feature) => {\n if (feature.script === \"latn\") {\n return {\n script: \"latn\",\n tags: feature.tags.filter((tag) => options[tag])\n };\n } else {\n return feature;\n }\n });\n};\nFont.prototype.stringToGlyphIndexes = function(s, options) {\n const bidi = new bidi_default();\n const charToGlyphIndexMod = (token) => this.charToGlyphIndex(token.char);\n bidi.registerModifier(\"glyphIndex\", null, charToGlyphIndexMod);\n let features = options ? this.updateFeatures(options.features) : this.defaultRenderOptions.features;\n bidi.applyFeatures(this, features);\n return bidi.getTextGlyphs(s);\n};\nFont.prototype.stringToGlyphs = function(s, options) {\n const indexes = this.stringToGlyphIndexes(s, options);\n let length = indexes.length;\n const glyphs = new Array(length);\n const notdef = this.glyphs.get(0);\n for (let i = 0; i < length; i += 1) {\n glyphs[i] = this.glyphs.get(indexes[i]) || notdef;\n }\n return glyphs;\n};\nFont.prototype.nameToGlyphIndex = function(name) {\n return this.glyphNames.nameToGlyphIndex(name);\n};\nFont.prototype.nameToGlyph = function(name) {\n const glyphIndex = this.nameToGlyphIndex(name);\n let glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n glyph = this.glyphs.get(0);\n }\n return glyph;\n};\nFont.prototype.glyphIndexToName = function(gid) {\n if (!this.glyphNames.glyphIndexToName) {\n return \"\";\n }\n return this.glyphNames.glyphIndexToName(gid);\n};\nFont.prototype.getKerningValue = function(leftGlyph, rightGlyph) {\n leftGlyph = leftGlyph.index || leftGlyph;\n rightGlyph = rightGlyph.index || rightGlyph;\n const gposKerning = this.position.defaultKerningTables;\n if (gposKerning) {\n return this.position.getKerningValue(gposKerning, leftGlyph, rightGlyph);\n }\n return this.kerningPairs[leftGlyph + \",\" + rightGlyph] || 0;\n};\nFont.prototype.defaultRenderOptions = {\n kerning: true,\n features: [\n /**\n * these 4 features are required to render Arabic text properly\n * and shouldn't be turned off when rendering arabic text.\n */\n { script: \"arab\", tags: [\"init\", \"medi\", \"fina\", \"rlig\"] },\n { script: \"latn\", tags: [\"liga\", \"rlig\"] },\n { script: \"thai\", tags: [\"liga\", \"rlig\", \"ccmp\"] }\n ],\n hinting: false,\n usePalette: 0,\n drawLayers: true,\n drawSVG: true\n};\nFont.prototype.forEachGlyph = function(text, x, y, fontSize, options, callback) {\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 72;\n options = Object.assign({}, this.defaultRenderOptions, options);\n const fontScale = 1 / this.unitsPerEm * fontSize;\n const glyphs = this.stringToGlyphs(text, options);\n let kerningLookups;\n if (options.kerning) {\n const script = options.script || this.position.getDefaultScriptName();\n kerningLookups = this.position.getKerningTables(script, options.language);\n }\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs[i];\n callback.call(this, glyph, x, y, fontSize, options);\n if (glyph.advanceWidth) {\n x += glyph.advanceWidth * fontScale;\n }\n if (options.kerning && i < glyphs.length - 1) {\n const kerningValue = kerningLookups ? this.position.getKerningValue(kerningLookups, glyph.index, glyphs[i + 1].index) : this.getKerningValue(glyph, glyphs[i + 1]);\n x += kerningValue * fontScale;\n }\n if (options.letterSpacing) {\n x += options.letterSpacing * fontSize;\n } else if (options.tracking) {\n x += options.tracking / 1e3 * fontSize;\n }\n }\n return x;\n};\nFont.prototype.getPath = function(text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n const fullPath = new path_default();\n fullPath._layers = [];\n applyPaintType(this, fullPath, fontSize);\n if (fullPath.stroke) {\n const scale = 1 / (fullPath.unitsPerEm || 1e3) * fontSize;\n fullPath.strokeWidth *= scale;\n }\n this.forEachGlyph(text, x, y, fontSize, options, (glyph, gX, gY, gFontSize) => {\n const glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n if (options.drawSVG || options.drawLayers) {\n const layers = glyphPath._layers;\n if (layers && layers.length) {\n for (let l = 0; l < layers.length; l++) {\n const layer = layers[l];\n fullPath._layers.push(layer);\n }\n return;\n }\n }\n fullPath.extend(glyphPath);\n });\n return fullPath;\n};\nFont.prototype.getPaths = function(text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n const glyphPaths = [];\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n const glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n glyphPaths.push(glyphPath);\n });\n return glyphPaths;\n};\nFont.prototype.getAdvanceWidth = function(text, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n return this.forEachGlyph(text, 0, 0, fontSize, options, function() {\n });\n};\nFont.prototype.draw = function(ctx, text, x, y, fontSize, options) {\n const path = this.getPath(text, x, y, fontSize, options);\n path.draw(ctx);\n};\nFont.prototype.drawPoints = function(ctx, text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawPoints(ctx, gX, gY, gFontSize, options, this);\n });\n};\nFont.prototype.drawMetrics = function(ctx, text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawMetrics(ctx, gX, gY, gFontSize);\n });\n};\nFont.prototype.getEnglishName = function(name) {\n const translations = (this.names.unicode || this.names.macintosh || this.names.windows)[name];\n if (translations) {\n return translations.en;\n }\n};\nFont.prototype.validate = function() {\n const warnings = [];\n const _this = this;\n function assert(predicate, message) {\n if (!predicate) {\n console.warn(`[opentype.js] ${message}`);\n warnings.push(message);\n }\n }\n function assertNamePresent(name) {\n const englishName = _this.getEnglishName(name);\n assert(\n englishName && englishName.trim().length > 0,\n \"No English \" + name + \" specified.\"\n );\n }\n assertNamePresent(\"fontFamily\");\n assertNamePresent(\"weightName\");\n assertNamePresent(\"manufacturer\");\n assertNamePresent(\"copyright\");\n assertNamePresent(\"version\");\n assert(this.unitsPerEm > 0, \"No unitsPerEm specified.\");\n if (this.tables.colr) {\n const baseGlyphs = this.tables.colr.baseGlyphRecords;\n let previousID = -1;\n for (let b = 0; b < baseGlyphs.length; b++) {\n const currentGlyphID = baseGlyphs[b].glyphID;\n assert(previousID < baseGlyphs[b].glyphID, `baseGlyphs must be sorted by GlyphID in ascending order, but glyphID ${currentGlyphID} comes after ${previousID}`);\n if (previousID > baseGlyphs[b].glyphID) {\n break;\n }\n previousID = currentGlyphID;\n }\n }\n return warnings;\n};\nFont.prototype.toTables = function() {\n return sfnt_default.fontToTable(this);\n};\nFont.prototype.toBuffer = function() {\n console.warn(\"Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.\");\n return this.toArrayBuffer();\n};\nFont.prototype.toArrayBuffer = function() {\n const sfntTable = this.toTables();\n const bytes = sfntTable.encode();\n const buffer = new ArrayBuffer(bytes.length);\n const intArray = new Uint8Array(buffer);\n for (let i = 0; i < bytes.length; i++) {\n intArray[i] = bytes[i];\n }\n return buffer;\n};\nFont.prototype.download = function() {\n console.error(\"DEPRECATED: platform-specific actions are to be implemented on user-side\");\n};\nFont.prototype.fsSelectionValues = {\n ITALIC: 1,\n //1\n UNDERSCORE: 2,\n //2\n NEGATIVE: 4,\n //4\n OUTLINED: 8,\n //8\n STRIKEOUT: 16,\n //16\n BOLD: 32,\n //32\n REGULAR: 64,\n //64\n USER_TYPO_METRICS: 128,\n //128\n WWS: 256,\n //256\n OBLIQUE: 512\n //512\n};\nFont.prototype.macStyleValues = {\n BOLD: 1,\n //1\n ITALIC: 2,\n //2\n UNDERLINE: 4,\n //4\n OUTLINED: 8,\n //8\n SHADOW: 16,\n //16\n CONDENSED: 32,\n //32\n EXTENDED: 64\n //64\n};\nFont.prototype.usWidthClasses = {\n ULTRA_CONDENSED: 1,\n EXTRA_CONDENSED: 2,\n CONDENSED: 3,\n SEMI_CONDENSED: 4,\n MEDIUM: 5,\n SEMI_EXPANDED: 6,\n EXPANDED: 7,\n EXTRA_EXPANDED: 8,\n ULTRA_EXPANDED: 9\n};\nFont.prototype.usWeightClasses = {\n THIN: 100,\n EXTRA_LIGHT: 200,\n LIGHT: 300,\n NORMAL: 400,\n MEDIUM: 500,\n SEMI_BOLD: 600,\n BOLD: 700,\n EXTRA_BOLD: 800,\n BLACK: 900\n};\nvar font_default = Font;\n\n// src/tables/hvar.mjs\nfunction parseHvarTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported hvar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n const version = [\n tableVersionMajor,\n tableVersionMinor\n ];\n const itemVariationStore = p.parsePointer32(function() {\n return this.parseItemVariationStore();\n });\n const advanceWidth = p.parsePointer32(function() {\n return this.parseDeltaSetIndexMap();\n });\n const lsb = p.parsePointer32(function() {\n return this.parseDeltaSetIndexMap();\n });\n const rsb = p.parsePointer32(function() {\n return this.parseDeltaSetIndexMap();\n });\n return {\n version,\n itemVariationStore,\n advanceWidth,\n lsb,\n rsb\n };\n}\nfunction makeHvarTable() {\n console.warn(\"Writing of hvar tables is not yet supported.\");\n}\nvar hvar_default = { make: makeHvarTable, parse: parseHvarTable };\n\n// src/tables/gdef.mjs\nvar attachList = function() {\n return {\n coverage: this.parsePointer(Parser.coverage),\n attachPoints: this.parseList(Parser.pointer(Parser.uShortList))\n };\n};\nvar caretValue = function() {\n var format = this.parseUShort();\n check_default.argument(\n format === 1 || format === 2 || format === 3,\n \"Unsupported CaretValue table version.\"\n );\n if (format === 1) {\n return { coordinate: this.parseShort() };\n } else if (format === 2) {\n return { pointindex: this.parseShort() };\n } else if (format === 3) {\n return { coordinate: this.parseShort() };\n }\n};\nvar ligGlyph = function() {\n return this.parseList(Parser.pointer(caretValue));\n};\nvar ligCaretList = function() {\n return {\n coverage: this.parsePointer(Parser.coverage),\n ligGlyphs: this.parseList(Parser.pointer(ligGlyph))\n };\n};\nvar markGlyphSets = function() {\n this.parseUShort();\n return this.parseList(Parser.pointer(Parser.coverage));\n};\nfunction parseGDEFTable(data, start) {\n start = start || 0;\n const p = new Parser(data, start);\n const tableVersion = p.parseVersion(1);\n check_default.argument(\n tableVersion === 1 || tableVersion === 1.2 || tableVersion === 1.3,\n \"Unsupported GDEF table version.\"\n );\n var gdef = {\n version: tableVersion,\n classDef: p.parsePointer(Parser.classDef),\n attachList: p.parsePointer(attachList),\n ligCaretList: p.parsePointer(ligCaretList),\n markAttachClassDef: p.parsePointer(Parser.classDef)\n };\n if (tableVersion >= 1.2) {\n gdef.markGlyphSets = p.parsePointer(markGlyphSets);\n }\n return gdef;\n}\nvar gdef_default = { parse: parseGDEFTable };\n\n// src/tables/gpos.mjs\nvar subtableParsers2 = new Array(10);\nsubtableParsers2[1] = function parseLookup12() {\n const start = this.offset + this.relativeOffset;\n const posformat = this.parseUShort();\n if (posformat === 1) {\n return {\n posFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n value: this.parseValueRecord()\n };\n } else if (posformat === 2) {\n return {\n posFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n values: this.parseValueRecordList()\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": GPOS lookup type 1 format must be 1 or 2.\");\n};\nsubtableParsers2[2] = function parseLookup22() {\n const start = this.offset + this.relativeOffset;\n const posFormat = this.parseUShort();\n check_default.assert(posFormat === 1 || posFormat === 2, \"0x\" + start.toString(16) + \": GPOS lookup type 2 format must be 1 or 2.\");\n const coverage = this.parsePointer(Parser.coverage);\n const valueFormat1 = this.parseUShort();\n const valueFormat2 = this.parseUShort();\n if (posFormat === 1) {\n return {\n posFormat,\n coverage,\n valueFormat1,\n valueFormat2,\n pairSets: this.parseList(Parser.pointer(Parser.list(function() {\n return {\n // pairValueRecord\n secondGlyph: this.parseUShort(),\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n })))\n };\n } else if (posFormat === 2) {\n const classDef1 = this.parsePointer(Parser.classDef);\n const classDef2 = this.parsePointer(Parser.classDef);\n const class1Count = this.parseUShort();\n const class2Count = this.parseUShort();\n return {\n // Class Pair Adjustment\n posFormat,\n coverage,\n valueFormat1,\n valueFormat2,\n classDef1,\n classDef2,\n class1Count,\n class2Count,\n classRecords: this.parseList(class1Count, Parser.list(class2Count, function() {\n return {\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n }))\n };\n }\n};\nsubtableParsers2[3] = function parseLookup32() {\n return { error: \"GPOS Lookup 3 not supported\" };\n};\nsubtableParsers2[4] = function parseLookup42() {\n return { error: \"GPOS Lookup 4 not supported\" };\n};\nsubtableParsers2[5] = function parseLookup52() {\n return { error: \"GPOS Lookup 5 not supported\" };\n};\nsubtableParsers2[6] = function parseLookup62() {\n return { error: \"GPOS Lookup 6 not supported\" };\n};\nsubtableParsers2[7] = function parseLookup72() {\n return { error: \"GPOS Lookup 7 not supported\" };\n};\nsubtableParsers2[8] = function parseLookup82() {\n return { error: \"GPOS Lookup 8 not supported\" };\n};\nsubtableParsers2[9] = function parseLookup9() {\n return { error: \"GPOS Lookup 9 not supported\" };\n};\nfunction parseGposTable(data, start) {\n start = start || 0;\n const p = new Parser(data, start);\n const tableVersion = p.parseVersion(1);\n check_default.argument(tableVersion === 1 || tableVersion === 1.1, \"Unsupported GPOS table version \" + tableVersion);\n if (tableVersion === 1) {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers2)\n };\n } else {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers2),\n variations: p.parseFeatureVariationsList()\n };\n }\n}\nvar subtableMakers2 = new Array(10);\nfunction makeGposTable(gpos) {\n return new table_default.Table(\"GPOS\", [\n { name: \"version\", type: \"ULONG\", value: 65536 },\n { name: \"scripts\", type: \"TABLE\", value: new table_default.ScriptList(gpos.scripts) },\n { name: \"features\", type: \"TABLE\", value: new table_default.FeatureList(gpos.features) },\n { name: \"lookups\", type: \"TABLE\", value: new table_default.LookupList(gpos.lookups, subtableMakers2) }\n ]);\n}\nvar gpos_default = { parse: parseGposTable, make: makeGposTable };\n\n// src/tables/kern.mjs\nfunction parseWindowsKernTable(p) {\n const pairs = {};\n p.skip(\"uShort\");\n const subtableVersion = p.parseUShort();\n check_default.argument(subtableVersion === 0, \"Unsupported kern sub-table version.\");\n p.skip(\"uShort\", 2);\n const nPairs = p.parseUShort();\n p.skip(\"uShort\", 3);\n for (let i = 0; i < nPairs; i += 1) {\n const leftIndex = p.parseUShort();\n const rightIndex = p.parseUShort();\n const value = p.parseShort();\n pairs[leftIndex + \",\" + rightIndex] = value;\n }\n return pairs;\n}\nfunction parseMacKernTable(p) {\n const pairs = {};\n p.skip(\"uShort\");\n const nTables = p.parseULong();\n if (nTables > 1) {\n console.warn(\"Only the first kern subtable is supported.\");\n }\n p.skip(\"uLong\");\n const coverage = p.parseUShort();\n const subtableVersion = coverage & 255;\n p.skip(\"uShort\");\n if (subtableVersion === 0) {\n const nPairs = p.parseUShort();\n p.skip(\"uShort\", 3);\n for (let i = 0; i < nPairs; i += 1) {\n const leftIndex = p.parseUShort();\n const rightIndex = p.parseUShort();\n const value = p.parseShort();\n pairs[leftIndex + \",\" + rightIndex] = value;\n }\n }\n return pairs;\n}\nfunction parseKernTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseUShort();\n if (tableVersion === 0) {\n return parseWindowsKernTable(p);\n } else if (tableVersion === 1) {\n return parseMacKernTable(p);\n } else {\n throw new Error(\"Unsupported kern table version (\" + tableVersion + \").\");\n }\n}\nvar kern_default = { parse: parseKernTable };\n\n// src/tables/loca.mjs\nfunction parseLocaTable(data, start, numGlyphs, shortVersion) {\n const p = new parse_default.Parser(data, start);\n const parseFn = shortVersion ? p.parseUShort : p.parseULong;\n const glyphOffsets = [];\n for (let i = 0; i < numGlyphs + 1; i += 1) {\n let glyphOffset = parseFn.call(p);\n if (shortVersion) {\n glyphOffset *= 2;\n }\n glyphOffsets.push(glyphOffset);\n }\n return glyphOffsets;\n}\nvar loca_default = { parse: parseLocaTable };\n\n// src/opentype.mjs\nfunction parseOpenTypeTableEntries(data, numTables) {\n const tableEntries = [];\n let p = 12;\n for (let i = 0; i < numTables; i += 1) {\n const tag = parse_default.getTag(data, p);\n const checksum = parse_default.getULong(data, p + 4);\n const offset = parse_default.getULong(data, p + 8);\n const length = parse_default.getULong(data, p + 12);\n tableEntries.push({ tag, checksum, offset, length, compression: false });\n p += 16;\n }\n return tableEntries;\n}\nfunction parseWOFFTableEntries(data, numTables) {\n const tableEntries = [];\n let p = 44;\n for (let i = 0; i < numTables; i += 1) {\n const tag = parse_default.getTag(data, p);\n const offset = parse_default.getULong(data, p + 4);\n const compLength = parse_default.getULong(data, p + 8);\n const origLength = parse_default.getULong(data, p + 12);\n let compression;\n if (compLength < origLength) {\n compression = \"WOFF\";\n } else {\n compression = false;\n }\n tableEntries.push({\n tag,\n offset,\n compression,\n compressedLength: compLength,\n length: origLength\n });\n p += 20;\n }\n return tableEntries;\n}\nfunction uncompressTable(data, tableEntry) {\n if (tableEntry.compression === \"WOFF\") {\n const inBuffer = new Uint8Array(data.buffer, tableEntry.offset + 2, tableEntry.compressedLength - 2);\n const outBuffer = new Uint8Array(tableEntry.length);\n tinf_uncompress(inBuffer, outBuffer);\n if (outBuffer.byteLength !== tableEntry.length) {\n throw new Error(\"Decompression error: \" + tableEntry.tag + \" decompressed length doesn't match recorded length\");\n }\n const view = new DataView(outBuffer.buffer, 0);\n return { data: view, offset: 0 };\n } else {\n return { data, offset: tableEntry.offset };\n }\n}\nfunction parseBuffer(buffer, opt = {}) {\n let indexToLocFormat;\n let ltagTable;\n const font = new font_default({ empty: true });\n if (buffer.constructor !== ArrayBuffer) {\n buffer = new Uint8Array(buffer).buffer;\n }\n const data = new DataView(buffer, 0);\n let numTables;\n let tableEntries = [];\n const signature = parse_default.getTag(data, 0);\n if (signature === String.fromCharCode(0, 1, 0, 0) || signature === \"true\" || signature === \"typ1\") {\n font.outlinesFormat = \"truetype\";\n numTables = parse_default.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === \"OTTO\") {\n font.outlinesFormat = \"cff\";\n numTables = parse_default.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === \"wOFF\") {\n const flavor = parse_default.getTag(data, 4);\n if (flavor === String.fromCharCode(0, 1, 0, 0)) {\n font.outlinesFormat = \"truetype\";\n } else if (flavor === \"OTTO\") {\n font.outlinesFormat = \"cff\";\n } else {\n throw new Error(\"Unsupported OpenType flavor \" + signature);\n }\n numTables = parse_default.getUShort(data, 12);\n tableEntries = parseWOFFTableEntries(data, numTables);\n } else if (signature === \"wOF2\") {\n const issue = \"https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025\";\n throw new Error(\"WOFF2 require an external decompressor library, see examples at: \" + issue);\n } else {\n throw new Error(\"Unsupported OpenType signature \" + signature);\n }\n let cffTableEntry;\n let cff2TableEntry;\n let fvarTableEntry;\n let statTableEntry;\n let gvarTableEntry;\n let cvarTableEntry;\n let avarTableEntry;\n let glyfTableEntry;\n let gdefTableEntry;\n let gposTableEntry;\n let gsubTableEntry;\n let hmtxTableEntry;\n let hvarTableEntry;\n let kernTableEntry;\n let locaTableEntry;\n let nameTableEntry;\n let metaTableEntry;\n let p;\n for (let i = 0; i < numTables; i += 1) {\n const tableEntry = tableEntries[i];\n let table;\n switch (tableEntry.tag) {\n case \"avar\":\n avarTableEntry = tableEntry;\n break;\n case \"cmap\":\n table = uncompressTable(data, tableEntry);\n font.tables.cmap = cmap_default.parse(table.data, table.offset);\n font.encoding = new CmapEncoding(font.tables.cmap);\n break;\n case \"cvt \":\n table = uncompressTable(data, tableEntry);\n p = new parse_default.Parser(table.data, table.offset);\n font.tables.cvt = p.parseShortList(tableEntry.length / 2);\n break;\n case \"fvar\":\n fvarTableEntry = tableEntry;\n break;\n case \"STAT\":\n statTableEntry = tableEntry;\n break;\n case \"gvar\":\n gvarTableEntry = tableEntry;\n break;\n case \"cvar\":\n cvarTableEntry = tableEntry;\n break;\n case \"fpgm\":\n table = uncompressTable(data, tableEntry);\n p = new parse_default.Parser(table.data, table.offset);\n font.tables.fpgm = p.parseByteList(tableEntry.length);\n break;\n case \"head\":\n table = uncompressTable(data, tableEntry);\n font.tables.head = head_default.parse(table.data, table.offset);\n font.unitsPerEm = font.tables.head.unitsPerEm;\n indexToLocFormat = font.tables.head.indexToLocFormat;\n break;\n case \"hhea\":\n table = uncompressTable(data, tableEntry);\n font.tables.hhea = hhea_default.parse(table.data, table.offset);\n font.ascender = font.tables.hhea.ascender;\n font.descender = font.tables.hhea.descender;\n font.numberOfHMetrics = font.tables.hhea.numberOfHMetrics;\n break;\n case \"HVAR\":\n hvarTableEntry = tableEntry;\n break;\n case \"hmtx\":\n hmtxTableEntry = tableEntry;\n break;\n case \"ltag\":\n table = uncompressTable(data, tableEntry);\n ltagTable = ltag_default.parse(table.data, table.offset);\n break;\n case \"COLR\":\n table = uncompressTable(data, tableEntry);\n font.tables.colr = colr_default.parse(table.data, table.offset);\n break;\n case \"CPAL\":\n table = uncompressTable(data, tableEntry);\n font.tables.cpal = cpal_default.parse(table.data, table.offset);\n break;\n case \"maxp\":\n table = uncompressTable(data, tableEntry);\n font.tables.maxp = maxp_default.parse(table.data, table.offset);\n font.numGlyphs = font.tables.maxp.numGlyphs;\n break;\n case \"name\":\n nameTableEntry = tableEntry;\n break;\n case \"OS/2\":\n table = uncompressTable(data, tableEntry);\n font.tables.os2 = os2_default.parse(table.data, table.offset);\n break;\n case \"post\":\n table = uncompressTable(data, tableEntry);\n font.tables.post = post_default.parse(table.data, table.offset);\n font.glyphNames = new GlyphNames(font.tables.post);\n break;\n case \"prep\":\n table = uncompressTable(data, tableEntry);\n p = new parse_default.Parser(table.data, table.offset);\n font.tables.prep = p.parseByteList(tableEntry.length);\n break;\n case \"glyf\":\n glyfTableEntry = tableEntry;\n break;\n case \"loca\":\n locaTableEntry = tableEntry;\n break;\n case \"CFF \":\n cffTableEntry = tableEntry;\n break;\n case \"CFF2\":\n cff2TableEntry = tableEntry;\n break;\n case \"kern\":\n kernTableEntry = tableEntry;\n break;\n case \"GDEF\":\n gdefTableEntry = tableEntry;\n break;\n case \"GPOS\":\n gposTableEntry = tableEntry;\n break;\n case \"GSUB\":\n gsubTableEntry = tableEntry;\n break;\n case \"meta\":\n metaTableEntry = tableEntry;\n break;\n case \"gasp\":\n try {\n table = uncompressTable(data, tableEntry);\n font.tables.gasp = gasp_default.parse(table.data, table.offset);\n } catch (e) {\n console.warn(\"Failed to parse gasp table, skipping.\");\n console.warn(e);\n }\n break;\n case \"SVG \":\n table = uncompressTable(data, tableEntry);\n font.tables.svg = svg_default.parse(table.data, table.offset);\n break;\n default:\n break;\n }\n }\n const nameTable = uncompressTable(data, nameTableEntry);\n font.tables.name = name_default.parse(nameTable.data, nameTable.offset, ltagTable);\n font.names = font.tables.name;\n if (glyfTableEntry && locaTableEntry) {\n const shortVersion = indexToLocFormat === 0;\n const locaTable = uncompressTable(data, locaTableEntry);\n const locaOffsets = loca_default.parse(locaTable.data, locaTable.offset, font.numGlyphs, shortVersion);\n const glyfTable = uncompressTable(data, glyfTableEntry);\n font.glyphs = glyf_default.parse(glyfTable.data, glyfTable.offset, locaOffsets, font, opt);\n } else if (cffTableEntry) {\n const cffTable = uncompressTable(data, cffTableEntry);\n cff_default.parse(cffTable.data, cffTable.offset, font, opt);\n } else if (cff2TableEntry) {\n const cffTable2 = uncompressTable(data, cff2TableEntry);\n cff_default.parse(cffTable2.data, cffTable2.offset, font, opt);\n } else {\n throw new Error(\"Font doesn't contain TrueType, CFF or CFF2 outlines.\");\n }\n const hmtxTable = uncompressTable(data, hmtxTableEntry);\n hmtx_default.parse(font, hmtxTable.data, hmtxTable.offset, font.numberOfHMetrics, font.numGlyphs, font.glyphs, opt);\n addGlyphNames(font, opt);\n if (kernTableEntry) {\n const kernTable = uncompressTable(data, kernTableEntry);\n font.kerningPairs = kern_default.parse(kernTable.data, kernTable.offset);\n } else {\n font.kerningPairs = {};\n }\n if (gdefTableEntry) {\n const gdefTable = uncompressTable(data, gdefTableEntry);\n font.tables.gdef = gdef_default.parse(gdefTable.data, gdefTable.offset);\n }\n if (gposTableEntry) {\n const gposTable = uncompressTable(data, gposTableEntry);\n font.tables.gpos = gpos_default.parse(gposTable.data, gposTable.offset);\n font.position.init();\n }\n if (gsubTableEntry) {\n const gsubTable = uncompressTable(data, gsubTableEntry);\n font.tables.gsub = gsub_default.parse(gsubTable.data, gsubTable.offset);\n }\n if (fvarTableEntry) {\n const fvarTable = uncompressTable(data, fvarTableEntry);\n font.tables.fvar = fvar_default.parse(fvarTable.data, fvarTable.offset, font.names);\n }\n if (statTableEntry) {\n const statTable = uncompressTable(data, statTableEntry);\n font.tables.stat = stat_default.parse(statTable.data, statTable.offset, font.tables.fvar);\n }\n if (gvarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides a gvar table, but no fvar table, which is required for variable fonts.\");\n }\n if (!glyfTableEntry) {\n console.warn(\"This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.\");\n }\n const gvarTable = uncompressTable(data, gvarTableEntry);\n font.tables.gvar = gvar_default.parse(gvarTable.data, gvarTable.offset, font.tables.fvar, font.glyphs);\n }\n if (cvarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides a cvar table, but no fvar table, which is required for variable fonts.\");\n }\n if (!font.tables.cvt) {\n console.warn(\"This font provides a cvar table, but no cvt table which could be made variable.\");\n }\n if (!glyfTableEntry) {\n console.warn(\"This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.\");\n }\n const cvarTable = uncompressTable(data, cvarTableEntry);\n font.tables.cvar = cvar_default.parse(cvarTable.data, cvarTable.offset, font.tables.fvar, font.tables.cvt || []);\n }\n if (avarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides an avar table, but no fvar table, which is required for variable fonts.\");\n }\n const avarTable = uncompressTable(data, avarTableEntry);\n font.tables.avar = avar_default.parse(avarTable.data, avarTable.offset, font.tables.fvar);\n }\n if (hvarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides an HVAR table, but no fvar table, which is required for variable fonts.\");\n }\n if (!hmtxTableEntry) {\n console.warn(\"This font provides an HVAR table, but no hmtx table to vary.\");\n }\n const hvarTable = uncompressTable(data, hvarTableEntry);\n font.tables.hvar = hvar_default.parse(hvarTable.data, hvarTable.offset, font.tables.fvar);\n }\n if (metaTableEntry) {\n const metaTable = uncompressTable(data, metaTableEntry);\n font.tables.meta = meta_default.parse(metaTable.data, metaTable.offset);\n font.metas = font.tables.meta;\n }\n font.palettes = new PaletteManager(font);\n return font;\n}\nfunction load() {\n console.error(\"DEPRECATED! migrate to: opentype.parse(buffer, opt) See: https://github.com/opentypejs/opentype.js/issues/675\");\n}\nfunction loadSync() {\n console.error('DEPRECATED! migrate to: opentype.parse(require(\"fs\").readFileSync(url), opt)');\n}\nexport {\n bbox_default as BoundingBox,\n font_default as Font,\n glyph_default as Glyph,\n path_default as Path,\n parse_default as _parse,\n load,\n loadSync,\n parseBuffer as parse\n};\n","// distance between 2 points\nfunction distance(p1, p2) {\n return Math.sqrt(distanceSq(p1, p2));\n}\n// distance between 2 points squared\nfunction distanceSq(p1, p2) {\n return Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2);\n}\n// Sistance squared from a point p to the line segment vw\nfunction distanceToSegmentSq(p, v, w) {\n const l2 = distanceSq(v, w);\n if (l2 === 0) {\n return distanceSq(p, v);\n }\n let t = ((p[0] - v[0]) * (w[0] - v[0]) + (p[1] - v[1]) * (w[1] - v[1])) / l2;\n t = Math.max(0, Math.min(1, t));\n return distanceSq(p, lerp(v, w, t));\n}\nfunction lerp(a, b, t) {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n ];\n}\n// Adapted from https://seant23.wordpress.com/2010/11/12/offset-bezier-curves/\nfunction flatness(points, offset) {\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n let ux = 3 * p2[0] - 2 * p1[0] - p4[0];\n ux *= ux;\n let uy = 3 * p2[1] - 2 * p1[1] - p4[1];\n uy *= uy;\n let vx = 3 * p3[0] - 2 * p4[0] - p1[0];\n vx *= vx;\n let vy = 3 * p3[1] - 2 * p4[1] - p1[1];\n vy *= vy;\n if (ux < vx) {\n ux = vx;\n }\n if (uy < vy) {\n uy = vy;\n }\n return ux + uy;\n}\nfunction getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints) {\n const outPoints = newPoints || [];\n if (flatness(points, offset) < tolerance) {\n const p0 = points[offset + 0];\n if (outPoints.length) {\n const d = distance(outPoints[outPoints.length - 1], p0);\n if (d > 1) {\n outPoints.push(p0);\n }\n }\n else {\n outPoints.push(p0);\n }\n outPoints.push(points[offset + 3]);\n }\n else {\n // subdivide\n const t = .5;\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n const q1 = lerp(p1, p2, t);\n const q2 = lerp(p2, p3, t);\n const q3 = lerp(p3, p4, t);\n const r1 = lerp(q1, q2, t);\n const r2 = lerp(q2, q3, t);\n const red = lerp(r1, r2, t);\n getPointsOnBezierCurveWithSplitting([p1, q1, r1, red], 0, tolerance, outPoints);\n getPointsOnBezierCurveWithSplitting([red, r2, q3, p4], 0, tolerance, outPoints);\n }\n return outPoints;\n}\nexport function simplify(points, distance) {\n return simplifyPoints(points, 0, points.length, distance);\n}\n// Ramer–Douglas–Peucker algorithm\n// https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm\nfunction simplifyPoints(points, start, end, epsilon, newPoints) {\n const outPoints = newPoints || [];\n // find the most distance point from the endpoints\n const s = points[start];\n const e = points[end - 1];\n let maxDistSq = 0;\n let maxNdx = 1;\n for (let i = start + 1; i < end - 1; ++i) {\n const distSq = distanceToSegmentSq(points[i], s, e);\n if (distSq > maxDistSq) {\n maxDistSq = distSq;\n maxNdx = i;\n }\n }\n // if that point is too far, split\n if (Math.sqrt(maxDistSq) > epsilon) {\n simplifyPoints(points, start, maxNdx + 1, epsilon, outPoints);\n simplifyPoints(points, maxNdx, end, epsilon, outPoints);\n }\n else {\n if (!outPoints.length) {\n outPoints.push(s);\n }\n outPoints.push(e);\n }\n return outPoints;\n}\nexport function pointsOnBezierCurves(points, tolerance = 0.15, distance) {\n const newPoints = [];\n const numSegments = (points.length - 1) / 3;\n for (let i = 0; i < numSegments; i++) {\n const offset = i * 3;\n getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints);\n }\n if (distance && distance > 0) {\n return simplifyPoints(newPoints, 0, newPoints.length, distance);\n }\n return newPoints;\n}\n","const COMMAND = 0;\nconst NUMBER = 1;\nconst EOD = 2;\nconst PARAMS = { A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0 };\nfunction tokenize(d) {\n const tokens = new Array();\n while (d !== '') {\n if (d.match(/^([ \\t\\r\\n,]+)/)) {\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^([aAcChHlLmMqQsStTvVzZ])/)) {\n tokens[tokens.length] = { type: COMMAND, text: RegExp.$1 };\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/)) {\n tokens[tokens.length] = { type: NUMBER, text: `${parseFloat(RegExp.$1)}` };\n d = d.substr(RegExp.$1.length);\n }\n else {\n return [];\n }\n }\n tokens[tokens.length] = { type: EOD, text: '' };\n return tokens;\n}\nfunction isType(token, type) {\n return token.type === type;\n}\nexport function parsePath(d) {\n const segments = [];\n const tokens = tokenize(d);\n let mode = 'BOD';\n let index = 0;\n let token = tokens[index];\n while (!isType(token, EOD)) {\n let paramsCount = 0;\n const params = [];\n if (mode === 'BOD') {\n if (token.text === 'M' || token.text === 'm') {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n else {\n return parsePath('M0,0' + d);\n }\n }\n else if (isType(token, NUMBER)) {\n paramsCount = PARAMS[mode];\n }\n else {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n if ((index + paramsCount) < tokens.length) {\n for (let i = index; i < index + paramsCount; i++) {\n const numbeToken = tokens[i];\n if (isType(numbeToken, NUMBER)) {\n params[params.length] = +numbeToken.text;\n }\n else {\n throw new Error('Param not a number: ' + mode + ',' + numbeToken.text);\n }\n }\n if (typeof PARAMS[mode] === 'number') {\n const segment = { key: mode, data: params };\n segments.push(segment);\n index += paramsCount;\n token = tokens[index];\n if (mode === 'M')\n mode = 'L';\n if (mode === 'm')\n mode = 'l';\n }\n else {\n throw new Error('Bad segment: ' + mode);\n }\n }\n else {\n throw new Error('Path data ended short');\n }\n }\n return segments;\n}\nexport function serialize(segments) {\n const tokens = [];\n for (const { key, data } of segments) {\n tokens.push(key);\n switch (key) {\n case 'C':\n case 'c':\n tokens.push(data[0], `${data[1]},`, data[2], `${data[3]},`, data[4], data[5]);\n break;\n case 'S':\n case 's':\n case 'Q':\n case 'q':\n tokens.push(data[0], `${data[1]},`, data[2], data[3]);\n break;\n default:\n tokens.push(...data);\n break;\n }\n }\n return tokens.join(' ');\n}\n","// Translate relative commands to absolute commands\nexport function absolutize(segments) {\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n const out = [];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'm':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'M', data: [cx, cy] });\n subx = cx;\n suby = cy;\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'l':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n break;\n case 'c': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'C', data: newdata });\n cx = newdata[4];\n cy = newdata[5];\n break;\n }\n case 'Q':\n out.push({ key: 'Q', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 'q': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'Q', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'A':\n out.push({ key: 'A', data: [...data] });\n cx = data[5];\n cy = data[6];\n break;\n case 'a':\n cx += data[5];\n cy += data[6];\n out.push({ key: 'A', data: [data[0], data[1], data[2], data[3], data[4], cx, cy] });\n break;\n case 'H':\n out.push({ key: 'H', data: [...data] });\n cx = data[0];\n break;\n case 'h':\n cx += data[0];\n out.push({ key: 'H', data: [cx] });\n break;\n case 'V':\n out.push({ key: 'V', data: [...data] });\n cy = data[0];\n break;\n case 'v':\n cy += data[0];\n out.push({ key: 'V', data: [cy] });\n break;\n case 'S':\n out.push({ key: 'S', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 's': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'S', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'T':\n out.push({ key: 'T', data: [...data] });\n cx = data[0];\n cy = data[1];\n break;\n case 't':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'T', data: [cx, cy] });\n break;\n case 'Z':\n case 'z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n }\n return out;\n}\n","// Normalize path to include only M, L, C, and Z commands\nexport function normalize(segments) {\n const out = [];\n let lastType = '';\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n let lcx = 0, lcy = 0;\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n lcx = data[2];\n lcy = data[3];\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'H':\n cx = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'V':\n cy = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'S': {\n let cx1 = 0, cy1 = 0;\n if (lastType === 'C' || lastType === 'S') {\n cx1 = cx + (cx - lcx);\n cy1 = cy + (cy - lcy);\n }\n else {\n cx1 = cx;\n cy1 = cy;\n }\n out.push({ key: 'C', data: [cx1, cy1, ...data] });\n lcx = data[0];\n lcy = data[1];\n cx = data[2];\n cy = data[3];\n break;\n }\n case 'T': {\n const [x, y] = data;\n let x1 = 0, y1 = 0;\n if (lastType === 'Q' || lastType === 'T') {\n x1 = cx + (cx - lcx);\n y1 = cy + (cy - lcy);\n }\n else {\n x1 = cx;\n y1 = cy;\n }\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'Q': {\n const [x1, y1, x, y] = data;\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'A': {\n const r1 = Math.abs(data[0]);\n const r2 = Math.abs(data[1]);\n const angle = data[2];\n const largeArcFlag = data[3];\n const sweepFlag = data[4];\n const x = data[5];\n const y = data[6];\n if (r1 === 0 || r2 === 0) {\n out.push({ key: 'C', data: [cx, cy, x, y, x, y] });\n cx = x;\n cy = y;\n }\n else {\n if (cx !== x || cy !== y) {\n const curves = arcToCubicCurves(cx, cy, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n curves.forEach(function (curve) {\n out.push({ key: 'C', data: curve });\n });\n cx = x;\n cy = y;\n }\n }\n break;\n }\n case 'Z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n lastType = key;\n }\n return out;\n}\nfunction degToRad(degrees) {\n return (Math.PI * degrees) / 180;\n}\nfunction rotate(x, y, angleRad) {\n const X = x * Math.cos(angleRad) - y * Math.sin(angleRad);\n const Y = x * Math.sin(angleRad) + y * Math.cos(angleRad);\n return [X, Y];\n}\nfunction arcToCubicCurves(x1, y1, x2, y2, r1, r2, angle, largeArcFlag, sweepFlag, recursive) {\n const angleRad = degToRad(angle);\n let params = [];\n let f1 = 0, f2 = 0, cx = 0, cy = 0;\n if (recursive) {\n [f1, f2, cx, cy] = recursive;\n }\n else {\n [x1, y1] = rotate(x1, y1, -angleRad);\n [x2, y2] = rotate(x2, y2, -angleRad);\n const x = (x1 - x2) / 2;\n const y = (y1 - y2) / 2;\n let h = (x * x) / (r1 * r1) + (y * y) / (r2 * r2);\n if (h > 1) {\n h = Math.sqrt(h);\n r1 = h * r1;\n r2 = h * r2;\n }\n const sign = (largeArcFlag === sweepFlag) ? -1 : 1;\n const r1Pow = r1 * r1;\n const r2Pow = r2 * r2;\n const left = r1Pow * r2Pow - r1Pow * y * y - r2Pow * x * x;\n const right = r1Pow * y * y + r2Pow * x * x;\n const k = sign * Math.sqrt(Math.abs(left / right));\n cx = k * r1 * y / r2 + (x1 + x2) / 2;\n cy = k * -r2 * x / r1 + (y1 + y2) / 2;\n f1 = Math.asin(parseFloat(((y1 - cy) / r2).toFixed(9)));\n f2 = Math.asin(parseFloat(((y2 - cy) / r2).toFixed(9)));\n if (x1 < cx) {\n f1 = Math.PI - f1;\n }\n if (x2 < cx) {\n f2 = Math.PI - f2;\n }\n if (f1 < 0) {\n f1 = Math.PI * 2 + f1;\n }\n if (f2 < 0) {\n f2 = Math.PI * 2 + f2;\n }\n if (sweepFlag && f1 > f2) {\n f1 = f1 - Math.PI * 2;\n }\n if (!sweepFlag && f2 > f1) {\n f2 = f2 - Math.PI * 2;\n }\n }\n let df = f2 - f1;\n if (Math.abs(df) > (Math.PI * 120 / 180)) {\n const f2old = f2;\n const x2old = x2;\n const y2old = y2;\n if (sweepFlag && f2 > f1) {\n f2 = f1 + (Math.PI * 120 / 180) * (1);\n }\n else {\n f2 = f1 + (Math.PI * 120 / 180) * (-1);\n }\n x2 = cx + r1 * Math.cos(f2);\n y2 = cy + r2 * Math.sin(f2);\n params = arcToCubicCurves(x2, y2, x2old, y2old, r1, r2, angle, 0, sweepFlag, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n const c1 = Math.cos(f1);\n const s1 = Math.sin(f1);\n const c2 = Math.cos(f2);\n const s2 = Math.sin(f2);\n const t = Math.tan(df / 4);\n const hx = 4 / 3 * r1 * t;\n const hy = 4 / 3 * r2 * t;\n const m1 = [x1, y1];\n const m2 = [x1 + hx * s1, y1 - hy * c1];\n const m3 = [x2 + hx * s2, y2 - hy * c2];\n const m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(params);\n }\n else {\n params = [m2, m3, m4].concat(params);\n const curves = [];\n for (let i = 0; i < params.length; i += 3) {\n const r1 = rotate(params[i][0], params[i][1], angleRad);\n const r2 = rotate(params[i + 1][0], params[i + 1][1], angleRad);\n const r3 = rotate(params[i + 2][0], params[i + 2][1], angleRad);\n curves.push([r1[0], r1[1], r2[0], r2[1], r3[0], r3[1]]);\n }\n return curves;\n }\n}\n","import { pointsOnBezierCurves, simplify } from 'points-on-curve';\nimport { parsePath, absolutize, normalize } from 'path-data-parser';\nexport function pointsOnPath(path, tolerance, distance) {\n const segments = parsePath(path);\n const normalized = normalize(absolutize(segments));\n const sets = [];\n let currentPoints = [];\n let start = [0, 0];\n let pendingCurve = [];\n const appendPendingCurve = () => {\n if (pendingCurve.length >= 4) {\n currentPoints.push(...pointsOnBezierCurves(pendingCurve, tolerance));\n }\n pendingCurve = [];\n };\n const appendPendingPoints = () => {\n appendPendingCurve();\n if (currentPoints.length) {\n sets.push(currentPoints);\n currentPoints = [];\n }\n };\n for (const { key, data } of normalized) {\n switch (key) {\n case 'M':\n appendPendingPoints();\n start = [data[0], data[1]];\n currentPoints.push(start);\n break;\n case 'L':\n appendPendingCurve();\n currentPoints.push([data[0], data[1]]);\n break;\n case 'C':\n if (!pendingCurve.length) {\n const lastPoint = currentPoints.length ? currentPoints[currentPoints.length - 1] : start;\n pendingCurve.push([lastPoint[0], lastPoint[1]]);\n }\n pendingCurve.push([data[0], data[1]]);\n pendingCurve.push([data[2], data[3]]);\n pendingCurve.push([data[4], data[5]]);\n break;\n case 'Z':\n appendPendingCurve();\n currentPoints.push([start[0], start[1]]);\n break;\n }\n }\n appendPendingPoints();\n if (!distance) {\n return sets;\n }\n const out = [];\n for (const set of sets) {\n const simplifiedSet = simplify(set, distance);\n if (simplifiedSet.length) {\n out.push(simplifiedSet);\n }\n }\n return out;\n}\n","export const WIDTH = 300\nexport const HEIGHT = 150\nexport const SCALE = 3\nexport const SIZE = 4\nexport const INTERVAL = 1.5\nexport const GITHUB_ID = 'Orta'\nexport const TEXT = 'Orta Therox'\n\nexport interface TextPathResult {\n paths: {\n vertices: Float32Array\n indices: Uint32Array\n }\n pathData: string\n rect: {\n x: number\n y: number\n width: number\n height: number\n }\n}\n\nexport interface ContributionJson {\n date: string\n color: string\n trajectory: {\n x: number\n y: number\n }[]\n}\n\nexport interface SimulationResult {\n stepCount: number\n time: number\n /** 贡献方块的形状:circle 或 square */\n shape: string\n textPaths: Pick[]\n contributions: ContributionJson[]\n /** 用户名文字碰撞体的三角网格(世界坐标),用于 web 端渲染 */\n textTriangles: number[][]\n /** 文字在物理世界中的 X 偏移量 */\n offsetX: number\n /** 文字在物理世界中的 Y 偏移量 */\n centerY: number\n /** 一步的时间(ms) */\n stepTime: number\n /** 背景颜色 */\n backgroundColor: string\n /** 文字颜色 */\n textColor: string\n}\n","import { readFileSync } from 'node:fs'\nimport { fileURLToPath } from 'node:url'\nimport earcut from 'earcut'\nimport * as opentype from 'opentype.js'\nimport { pointsOnPath } from 'points-on-path'\nimport { SCALE, TextPathResult } from './utils'\n\nfunction svgPathToRapierTrimesh(path: string, scale = 1, tolerance = 1) {\n const subPaths = pointsOnPath(path, tolerance)\n const points = subPaths.flat()\n\n const vertices = points.map(\n ([x, y]) => [x * scale, y * scale] as [number, number]\n )\n\n const flatVertices = vertices.flat()\n\n const indices = earcut(flatVertices)\n\n return {\n vertices: new Float32Array(flatVertices),\n indices: new Uint32Array(indices)\n }\n}\n\nconst font = opentype.parse(\n readFileSync(\n fileURLToPath(\n new URL('../public/LiberationSerif-Bold.ttf', import.meta.url)\n )\n ).buffer as ArrayBuffer\n)\n\nexport function getTextPaths(text: string, fontSize: number): TextPathResult[] {\n const paths = font.getPaths(text, 0, 0, fontSize / SCALE)\n\n return paths.map((path) => {\n const bbox = path.getBoundingBox()\n const pathData = path.toPathData(2)\n return {\n paths: svgPathToRapierTrimesh(pathData),\n pathData: pathData,\n rect: {\n x: bbox.x1,\n y: bbox.y1,\n width: bbox.x2 - bbox.x1,\n height: bbox.y2 - bbox.y1\n }\n }\n })\n}\n","import {\n Collider,\n ColliderDesc,\n init,\n RigidBodyDesc,\n World\n} from '@dimforge/rapier2d-compat'\nimport {\n fetchContributions,\n INTENSITY_COLORS,\n RawContributionDay\n} from './github-contributions'\nimport { getTextPaths } from './parseTextPath'\nimport {\n ContributionJson,\n HEIGHT,\n INTERVAL,\n SIZE,\n SimulationResult,\n WIDTH\n} from './utils'\n\nexport class Contribution implements ContributionJson {\n date: string\n x: number\n y: number\n color: string\n\n trajectory: {\n x: number\n y: number\n }[]\n\n collider: Collider\n private sampleRate: number\n private stepCounter: number\n\n constructor(\n contributionDay: RawContributionDay,\n collider: Collider,\n sampleRate: number\n ) {\n this.collider = collider\n this.date = contributionDay.date\n this.color = INTENSITY_COLORS[contributionDay.intensity]\n this.sampleRate = sampleRate\n this.stepCounter = 0\n const pos = collider.translation()\n this.x = pos.x\n this.y = pos.y\n this.trajectory = [{ x: pos.x, y: pos.y }]\n }\n\n update() {\n this.stepCounter++\n if (this.stepCounter % this.sampleRate !== 0) return\n const pos = this.collider.translation()\n this.x = pos.x\n this.y = pos.y\n this.trajectory.push({ x: pos.x, y: pos.y })\n }\n\n getTrajectory() {\n return this.trajectory\n }\n\n toJSON(): ContributionJson {\n return {\n color: this.color,\n date: this.date,\n trajectory: this.trajectory\n }\n }\n}\n\nasync function createWord() {\n await init()\n // 重力\n const world = new World({ x: 0.0, y: -30 })\n world.lengthUnit = 32\n\n // 地面\n world.createCollider(\n ColliderDesc.cuboid(WIDTH, 1),\n world.createRigidBody(RigidBodyDesc.fixed().setTranslation(0, -1))\n )\n // 墙壁\n world.createCollider(\n ColliderDesc.cuboid(1, HEIGHT),\n world.createRigidBody(RigidBodyDesc.fixed().setTranslation(WIDTH, 0))\n )\n world.createCollider(\n ColliderDesc.cuboid(1, HEIGHT),\n world.createRigidBody(RigidBodyDesc.fixed().setTranslation(-1, 0))\n )\n\n return world\n}\n\n/** 速度小于此阈值视为静止 */\nconst VELOCITY_THRESHOLD = 1e-3\n\nexport interface SimulationOptions {\n username: string\n text?: string\n /** 文字到顶部的距离 */\n textTop?: number\n /** 字体大小 */\n fontSize?: number\n /** 一步的时间,单位为ms,越小速度越快 */\n stepTime?: number\n /** 轨迹采样率,每隔 N 步记录一个轨迹点。默认为 1(不采样)。值越大,SVG 越小 */\n sampleRate?: number\n /** 贡献方块的形状:circle(圆形)或 square(方形)。圆形物理模拟更丝滑,不容易穿模。 */\n shape?: string\n /** 背景颜色,默认透明 */\n backgroundColor?: string\n /** 文字颜色,默认黑色 */\n textColor?: string\n}\n\nexport async function startSimulation({\n username,\n text = username,\n textTop = 50,\n fontSize = 80,\n stepTime = 8,\n sampleRate = 4,\n shape = 'circle',\n backgroundColor = 'transparent',\n textColor = 'black'\n}: SimulationOptions): Promise {\n const world = await createWord()\n const contributionsSet = new Set()\n\n // 创建用户名文字静止刚体(居中对齐),同时收集三角网格数据\n const textPaths = getTextPaths(text, fontSize)\n\n // 计算所有字形的整体包围盒(翻转 Y 轴后)\n let minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity\n for (const { rect } of textPaths) {\n if (rect.x < minX) minX = rect.x\n if (rect.x + rect.width > maxX) maxX = rect.x + rect.width\n // 翻转 Y:opentype 字形在基线下方(y 为负),碰撞体需要正向\n const top = -rect.y\n const bottom = -(rect.y + rect.height)\n if (bottom < minY) minY = bottom\n if (top > maxY) maxY = top\n }\n const bboxCenterX = (minX + maxX) / 2\n const offsetX = WIDTH / 2 - bboxCenterX\n // 文字顶部距离世界顶部的距离\n const centerY = HEIGHT - textTop - maxY\n const textTriangles: number[][] = []\n\n for (const { paths } of textPaths) {\n const { vertices, indices } = paths\n if (!vertices.length && !indices.length) continue\n // 翻转 Y 轴:opentype 字形在基线下方(y 为负),物理世界需要正向\n const flippedVertices = new Float32Array(vertices.length)\n for (let i = 0; i < vertices.length; i += 2) {\n flippedVertices[i] = vertices[i]\n flippedVertices[i + 1] = -vertices[i + 1]\n }\n world.createCollider(\n ColliderDesc.trimesh(flippedVertices, indices),\n world.createRigidBody(\n RigidBodyDesc.fixed()\n .setCcdEnabled(true)\n .setTranslation(offsetX, centerY)\n )\n )\n for (let i = 0; i < indices.length; i += 3) {\n const i0 = indices[i] * 2,\n i1 = indices[i + 1] * 2,\n i2 = indices[i + 2] * 2\n textTriangles.push([\n offsetX + flippedVertices[i0],\n centerY + flippedVertices[i0 + 1],\n offsetX + flippedVertices[i1],\n centerY + flippedVertices[i1 + 1],\n offsetX + flippedVertices[i2],\n centerY + flippedVertices[i2 + 1]\n ])\n }\n }\n\n const githubContributions = await fetchContributions(username)\n\n const rowLen = githubContributions.contributions.length\n const rowWidth = SIZE * rowLen + INTERVAL * (rowLen - 1)\n const left = (WIDTH - rowWidth) / 2\n const top = HEIGHT * 1\n\n for (let rowIndex = 0; rowIndex < rowLen; rowIndex++) {\n const col = githubContributions.contributions[rowIndex]\n for (let j = 0; j < col.length; j++) {\n const contributionDay = col[j]\n\n if (!contributionDay.date) {\n console.log(contributionDay)\n }\n\n const dayOfWeek = new Date(contributionDay.date).getDay()\n\n if (contributionDay.count) {\n const x = left + (INTERVAL + SIZE) * rowIndex\n const y = top + (INTERVAL + SIZE) * dayOfWeek\n // 动态刚体:圆形物理模拟更丝滑,不容易穿模\n const colliderDesc =\n shape === 'square'\n ? ColliderDesc.cuboid(SIZE / 2, SIZE / 2).setFriction(0.2)\n : ColliderDesc.ball(SIZE / 2).setFriction(0.2)\n const boxCollider = world.createCollider(\n colliderDesc,\n world.createRigidBody(\n RigidBodyDesc.dynamic().setCcdEnabled(true).setTranslation(x, y)\n )\n )\n\n contributionsSet.add(\n new Contribution(contributionDay, boxCollider, sampleRate)\n )\n }\n }\n }\n\n /** 判断所有 collider 的刚体是否都已静止(线速度与角速度均低于阈值) */\n function areAllCollidersSleeping(): boolean {\n for (const contribution of contributionsSet) {\n const body = contribution.collider.parent()\n if (body) {\n const linvel = body.linvel()\n const angvel = body.angvel()\n if (\n Math.abs(linvel.x) > VELOCITY_THRESHOLD ||\n Math.abs(linvel.y) > VELOCITY_THRESHOLD ||\n Math.abs(angvel) > VELOCITY_THRESHOLD\n ) {\n return false\n }\n }\n }\n return true\n }\n\n let stepCount = 0\n const startTime = Date.now()\n while (true) {\n world.step()\n stepCount++\n\n for (const contribution of contributionsSet) {\n contribution.update()\n }\n\n if (areAllCollidersSleeping()) break\n }\n\n const endTime = Date.now()\n\n return {\n stepCount,\n time: endTime - startTime,\n shape,\n contributions: Array.from(contributionsSet).map((contribution) =>\n contribution.toJSON()\n ),\n textPaths: textPaths.map(({ pathData, rect }) => ({\n pathData: pathData,\n rect: rect\n })),\n textTriangles,\n offsetX,\n centerY,\n stepTime,\n backgroundColor,\n textColor\n }\n}\n","import { SimulationOptions, startSimulation } from './physics'\nimport type { ContributionJson, SimulationResult } from './utils'\nimport { HEIGHT, SCALE, SIZE, WIDTH } from './utils'\n\n/**\n * 生成贡献方块重力模拟的 SVG 动画字符串。\n * 模拟 GitHub 用户的贡献方块从上方掉落,最终静止在底部。\n *\n * @param options - 包含 GitHub 用户名\n * @returns 完整的 SVG 字符串\n */\nexport async function gensvg(options: SimulationOptions): Promise {\n const backgroundColor = options.backgroundColor || 'transparent'\n const textColor = options.textColor || 'black'\n const result: SimulationResult = await startSimulation(options)\n\n const svgWidth = WIDTH * SCALE\n const svgHeight = HEIGHT * SCALE\n\n // 生成每个贡献方块的 SVG 元素\n const isCircle = result.shape === 'circle'\n const contributionsSvg = result.contributions\n .map((contribution: ContributionJson) => {\n // 轨迹坐标转换:物理坐标 → SVG 坐标(Y 轴翻转)\n const values = contribution.trajectory\n .map(\n ({ x, y }) =>\n `${+(x * SCALE).toFixed(2)},${+((HEIGHT - y) * SCALE).toFixed(2)}`\n )\n .join(';')\n\n const shapeElement = isCircle\n ? ``\n : ``\n\n return ` \n ${shapeElement}\n \n `\n })\n .join('\\n')\n\n // 用 path 渲染文字路径,与物理碰撞体坐标对齐\n // opentype 坐标 → SVG 坐标: svgX = (opentypeX + offsetX) * SCALE, svgY = (HEIGHT - centerY + opentypeY) * SCALE\n const textPathsSvg = result.textPaths\n .map(({ pathData }) => ` `)\n .join('\\n')\n\n const textGroupSvg = `\n \n${textPathsSvg}\n `\n\n const svg = `\n \n${contributionsSvg}\n${textGroupSvg}\n`\n return svg\n}\n","import { mkdirSync, writeFileSync } from 'node:fs'\nimport { dirname } from 'node:path'\nimport * as core from '@actions/core'\nimport { gensvg } from './gensvg.js'\n\n/**\n * GitHub Action 入口:生成 GitHub 贡献图重力跌落动画 SVG。\n *\n * 输入参数:\n * - username: GitHub 用户名(必填)\n * - text: 显示的文字,默认为 username\n * - output-path: SVG 输出路径,默认为 gravity.svg\n * - font-size: 文字大小,默认为 80\n * - sample-rate: 轨迹采样率,默认为 4\n *\n * 输出:\n * - svg-path: 生成的 SVG 文件路径\n */\nexport async function run(): Promise {\n try {\n const username: string = core.getInput('username', { required: true })\n const text: string = core.getInput('text') || username\n const outputPath: string = core.getInput('output-path') || 'gravity.svg'\n const fontSize: number = parseInt(core.getInput('font-size') || '80', 10)\n const sampleRate: number = parseInt(core.getInput('sample-rate') || '4', 10)\n const shape: string = core.getInput('shape') || 'circle'\n const textTop: number = parseInt(core.getInput('text-top') || '50', 10)\n const backgroundColor: string =\n core.getInput('background-color') || 'transparent'\n const textColor: string = core.getInput('text-color') || 'black'\n\n core.info(`Generating gravity SVG for user: ${username}`)\n core.info(\n `Text: \"${text}\", Font size: ${fontSize}, Sample rate: ${sampleRate}, Shape: ${shape}, Text top: ${textTop}, Background: ${backgroundColor}, Text color: ${textColor}`\n )\n\n const svg = await gensvg({\n username,\n text,\n fontSize,\n sampleRate,\n shape,\n textTop,\n backgroundColor,\n textColor\n })\n\n mkdirSync(dirname(outputPath), { recursive: true })\n writeFileSync(outputPath, svg, 'utf-8')\n core.info(`SVG written to: ${outputPath}`)\n\n core.setOutput('svg-path', outputPath)\n } catch (error) {\n if (error instanceof Error) core.setFailed(error.message)\n }\n}\n","/**\n * The entrypoint for the action. This file simply imports and runs the action's\n * main logic.\n */\nimport { run } from './main.js'\n\n/* istanbul ignore next */\nrun()\n"],"names":["http","require$$2","https","require$$3","require$$4","tunnel","require$$0","symbols","constants","require$$1","require$$5","require$$6","require$$9","require$$10","require$$11","util","request","global","exports","require$$7","require$$8","require$$12","apiRequestModule","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","this","os","equals","Event","opentype.parse","init","World","ColliderDesc","RigidBodyDesc","core.getInput","core.info","core.setOutput","core.setFailed"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,C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C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,C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CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,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E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAA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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC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ACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,OAAO;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,OAAO;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,YAAY;AACnB,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE;AACP,CAAC;AACD,IAAI,mBAAmB,GAAG;AAC1B,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EA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AAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,IAAI,EAAE,KAAK;AACb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AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;AAC7B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;AAChC;AACA,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;AAChC;AACA,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;AAClC;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;AAChC;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;AAChC;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;AAChC;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,K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ACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119]} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../node_modules/@actions/core/lib/utils.js","../node_modules/@actions/core/lib/command.js","../node_modules/@actions/core/lib/file-command.js","../node_modules/tunnel/lib/tunnel.js","../node_modules/tunnel/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/errors.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/tree.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/diagnostics.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/request.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/dispatcher.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/dispatcher-base.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/util/timers.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/core/connect.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/utils.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp-wasm.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/global.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/data-url.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/webidl.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/file.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/formdata.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/formdata-parser.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/body.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/client-h1.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/client-h2.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/handler/redirect-handler.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/redirect-interceptor.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/client.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/fixed-queue.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/pool-stats.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/pool-base.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/pool.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/balanced-pool.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/proxy-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/handler/retry-handler.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/dispatcher/retry-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/readable.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-request.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/abort-signal.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-stream.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-pipeline.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-upgrade.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/api-connect.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/api/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-errors.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-utils.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-interceptor.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-client.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-pool.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/pluralizer.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/pending-interceptors-formatter.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-agent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/global.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/handler/decorator-handler.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/redirect.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/retry.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/dump.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/interceptor/dns.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/headers.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/response.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/dispatcher-weakref.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/request.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fetch/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/progressevent.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/encoding.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/fileapi/filereader.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/cache.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cache/cachestorage.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/parse.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/cookies/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/events.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/constants.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/symbols.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/frame.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/connection.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/permessage-deflate.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/receiver.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/sender.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/websocket/websocket.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/eventsource/util.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/eventsource/eventsource-stream.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/lib/web/eventsource/eventsource.js","../node_modules/@actions/core/node_modules/@actions/http-client/node_modules/undici/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/lib/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/lib/auth.js","../node_modules/@actions/core/lib/oidc-utils.js","../node_modules/@actions/core/lib/summary.js","../node_modules/@actions/core/node_modules/@actions/exec/node_modules/@actions/io/lib/io-util.js","../node_modules/@actions/core/node_modules/@actions/exec/node_modules/@actions/io/lib/io.js","../node_modules/@actions/core/node_modules/@actions/exec/lib/toolrunner.js","../node_modules/@actions/core/node_modules/@actions/exec/lib/exec.js","../node_modules/@actions/core/lib/platform.js","../node_modules/@actions/core/lib/core.js","../node_modules/@dimforge/rapier2d-compat/rapier.mjs","../node_modules/earcut/src/earcut.js","../node_modules/opentype.js/dist/opentype.mjs","../node_modules/points-on-curve/lib/index.js","../node_modules/path-data-parser/lib/parser.js","../node_modules/path-data-parser/lib/absolutize.js","../node_modules/path-data-parser/lib/normalize.js","../node_modules/points-on-path/lib/index.js","../src/utils/index.ts","../src/parseTextPath.ts","../src/utils/githubContributions.ts","../src/utils/simplifyTrajectory.ts","../src/physics.ts","../src/gensvg.ts","../src/main.ts","../src/index.ts"],"sourcesContent":["// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nexport function toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nexport function toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\n//# sourceMappingURL=utils.js.map","import * as os from 'os';\nimport { toCommandValue } from './utils.js';\n/**\n * Issues a command to the GitHub Actions runner\n *\n * @param command - The command name to issue\n * @param properties - Additional properties for the command (key-value pairs)\n * @param message - The message to include with the command\n * @remarks\n * This function outputs a specially formatted string to stdout that the Actions\n * runner interprets as a command. These commands can control workflow behavior,\n * set outputs, create annotations, mask values, and more.\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * @example\n * ```typescript\n * // Issue a warning annotation\n * issueCommand('warning', {}, 'This is a warning message');\n * // Output: ::warning::This is a warning message\n *\n * // Set an environment variable\n * issueCommand('set-env', { name: 'MY_VAR' }, 'some value');\n * // Output: ::set-env name=MY_VAR::some value\n *\n * // Add a secret mask\n * issueCommand('add-mask', {}, 'secretValue123');\n * // Output: ::add-mask::secretValue123\n * ```\n *\n * @internal\n * This is an internal utility function that powers the public API functions\n * such as setSecret, warning, error, and exportVariable.\n */\nexport function issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexport function issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","// For internal use, subject to change.\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as crypto from 'crypto';\nimport * as fs from 'fs';\nimport * as os from 'os';\nimport { toCommandValue } from './utils.js';\nexport function issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexport function prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${crypto.randomUUID()}`;\n const convertedValue = toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\n//# sourceMappingURL=file-command.js.map","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","module.exports = require('./lib/tunnel');\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 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 kBody: Symbol('abstracted request body'),\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 kResume: Symbol('resume'),\n kOnError: Symbol('on error'),\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 kHTTP2Session: Symbol('http2Session'),\n kHTTP2SessionState: Symbol('http2Session state'),\n kRetryHandlerDefaultRetry: Symbol('retry agent default retry'),\n kConstruct: Symbol('constructable'),\n kListeners: Symbol('listeners'),\n kHTTPContext: Symbol('http context'),\n kMaxConcurrentStreams: Symbol('max concurrent streams'),\n kNoProxyAgent: Symbol('no proxy agent'),\n kHttpProxyAgent: Symbol('http proxy agent'),\n kHttpsProxyAgent: Symbol('https proxy agent')\n}\n","'use strict'\n\nconst kUndiciError = Symbol.for('undici.error.UND_ERR')\nclass UndiciError extends Error {\n constructor (message) {\n super(message)\n this.name = 'UndiciError'\n this.code = 'UND_ERR'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kUndiciError] === true\n }\n\n [kUndiciError] = true\n}\n\nconst kConnectTimeoutError = Symbol.for('undici.error.UND_ERR_CONNECT_TIMEOUT')\nclass ConnectTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ConnectTimeoutError'\n this.message = message || 'Connect Timeout Error'\n this.code = 'UND_ERR_CONNECT_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kConnectTimeoutError] === true\n }\n\n [kConnectTimeoutError] = true\n}\n\nconst kHeadersTimeoutError = Symbol.for('undici.error.UND_ERR_HEADERS_TIMEOUT')\nclass HeadersTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'HeadersTimeoutError'\n this.message = message || 'Headers Timeout Error'\n this.code = 'UND_ERR_HEADERS_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHeadersTimeoutError] === true\n }\n\n [kHeadersTimeoutError] = true\n}\n\nconst kHeadersOverflowError = Symbol.for('undici.error.UND_ERR_HEADERS_OVERFLOW')\nclass HeadersOverflowError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'HeadersOverflowError'\n this.message = message || 'Headers Overflow Error'\n this.code = 'UND_ERR_HEADERS_OVERFLOW'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHeadersOverflowError] === true\n }\n\n [kHeadersOverflowError] = true\n}\n\nconst kBodyTimeoutError = Symbol.for('undici.error.UND_ERR_BODY_TIMEOUT')\nclass BodyTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'BodyTimeoutError'\n this.message = message || 'Body Timeout Error'\n this.code = 'UND_ERR_BODY_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kBodyTimeoutError] === true\n }\n\n [kBodyTimeoutError] = true\n}\n\nconst kResponseStatusCodeError = Symbol.for('undici.error.UND_ERR_RESPONSE_STATUS_CODE')\nclass ResponseStatusCodeError extends UndiciError {\n constructor (message, statusCode, headers, body) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseStatusCodeError] === true\n }\n\n [kResponseStatusCodeError] = true\n}\n\nconst kInvalidArgumentError = Symbol.for('undici.error.UND_ERR_INVALID_ARG')\nclass InvalidArgumentError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InvalidArgumentError'\n this.message = message || 'Invalid Argument Error'\n this.code = 'UND_ERR_INVALID_ARG'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInvalidArgumentError] === true\n }\n\n [kInvalidArgumentError] = true\n}\n\nconst kInvalidReturnValueError = Symbol.for('undici.error.UND_ERR_INVALID_RETURN_VALUE')\nclass InvalidReturnValueError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InvalidReturnValueError'\n this.message = message || 'Invalid Return Value Error'\n this.code = 'UND_ERR_INVALID_RETURN_VALUE'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInvalidReturnValueError] === true\n }\n\n [kInvalidReturnValueError] = true\n}\n\nconst kAbortError = Symbol.for('undici.error.UND_ERR_ABORT')\nclass AbortError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'AbortError'\n this.message = message || 'The operation was aborted'\n this.code = 'UND_ERR_ABORT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kAbortError] === true\n }\n\n [kAbortError] = true\n}\n\nconst kRequestAbortedError = Symbol.for('undici.error.UND_ERR_ABORTED')\nclass RequestAbortedError extends AbortError {\n constructor (message) {\n super(message)\n this.name = 'AbortError'\n this.message = message || 'Request aborted'\n this.code = 'UND_ERR_ABORTED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestAbortedError] === true\n }\n\n [kRequestAbortedError] = true\n}\n\nconst kInformationalError = Symbol.for('undici.error.UND_ERR_INFO')\nclass InformationalError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InformationalError'\n this.message = message || 'Request information'\n this.code = 'UND_ERR_INFO'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInformationalError] === true\n }\n\n [kInformationalError] = true\n}\n\nconst kRequestContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH')\nclass RequestContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestContentLengthMismatchError] === true\n }\n\n [kRequestContentLengthMismatchError] = true\n}\n\nconst kResponseContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH')\nclass ResponseContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseContentLengthMismatchError] === true\n }\n\n [kResponseContentLengthMismatchError] = true\n}\n\nconst kClientDestroyedError = Symbol.for('undici.error.UND_ERR_DESTROYED')\nclass ClientDestroyedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ClientDestroyedError'\n this.message = message || 'The client is destroyed'\n this.code = 'UND_ERR_DESTROYED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kClientDestroyedError] === true\n }\n\n [kClientDestroyedError] = true\n}\n\nconst kClientClosedError = Symbol.for('undici.error.UND_ERR_CLOSED')\nclass ClientClosedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ClientClosedError'\n this.message = message || 'The client is closed'\n this.code = 'UND_ERR_CLOSED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kClientClosedError] === true\n }\n\n [kClientClosedError] = true\n}\n\nconst kSocketError = Symbol.for('undici.error.UND_ERR_SOCKET')\nclass SocketError extends UndiciError {\n constructor (message, socket) {\n super(message)\n this.name = 'SocketError'\n this.message = message || 'Socket error'\n this.code = 'UND_ERR_SOCKET'\n this.socket = socket\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kSocketError] === true\n }\n\n [kSocketError] = true\n}\n\nconst kNotSupportedError = Symbol.for('undici.error.UND_ERR_NOT_SUPPORTED')\nclass NotSupportedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'NotSupportedError'\n this.message = message || 'Not supported error'\n this.code = 'UND_ERR_NOT_SUPPORTED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kNotSupportedError] === true\n }\n\n [kNotSupportedError] = true\n}\n\nconst kBalancedPoolMissingUpstreamError = Symbol.for('undici.error.UND_ERR_BPL_MISSING_UPSTREAM')\nclass BalancedPoolMissingUpstreamError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kBalancedPoolMissingUpstreamError] === true\n }\n\n [kBalancedPoolMissingUpstreamError] = true\n}\n\nconst kHTTPParserError = Symbol.for('undici.error.UND_ERR_HTTP_PARSER')\nclass HTTPParserError extends Error {\n constructor (message, code, data) {\n super(message)\n this.name = 'HTTPParserError'\n this.code = code ? `HPE_${code}` : undefined\n this.data = data ? data.toString() : undefined\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHTTPParserError] === true\n }\n\n [kHTTPParserError] = true\n}\n\nconst kResponseExceededMaxSizeError = Symbol.for('undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE')\nclass ResponseExceededMaxSizeError extends UndiciError {\n constructor (message) {\n super(message)\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseExceededMaxSizeError] === true\n }\n\n [kResponseExceededMaxSizeError] = true\n}\n\nconst kRequestRetryError = Symbol.for('undici.error.UND_ERR_REQ_RETRY')\nclass RequestRetryError extends UndiciError {\n constructor (message, code, { headers, data }) {\n super(message)\n this.name = 'RequestRetryError'\n this.message = message || 'Request retry error'\n this.code = 'UND_ERR_REQ_RETRY'\n this.statusCode = code\n this.data = data\n this.headers = headers\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestRetryError] === true\n }\n\n [kRequestRetryError] = true\n}\n\nconst kResponseError = Symbol.for('undici.error.UND_ERR_RESPONSE')\nclass ResponseError extends UndiciError {\n constructor (message, code, { headers, data }) {\n super(message)\n this.name = 'ResponseError'\n this.message = message || 'Response error'\n this.code = 'UND_ERR_RESPONSE'\n this.statusCode = code\n this.data = data\n this.headers = headers\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseError] === true\n }\n\n [kResponseError] = true\n}\n\nconst kSecureProxyConnectionError = Symbol.for('undici.error.UND_ERR_PRX_TLS')\nclass SecureProxyConnectionError extends UndiciError {\n constructor (cause, message, options) {\n super(message, { cause, ...(options ?? {}) })\n this.name = 'SecureProxyConnectionError'\n this.message = message || 'Secure Proxy Connection failed'\n this.code = 'UND_ERR_PRX_TLS'\n this.cause = cause\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kSecureProxyConnectionError] === true\n }\n\n [kSecureProxyConnectionError] = true\n}\n\nmodule.exports = {\n AbortError,\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 RequestRetryError,\n ResponseError,\n SecureProxyConnectionError\n}\n","'use strict'\n\n/** @type {Record} */\nconst headerNameLowerCasedRecord = {}\n\n// https://developer.mozilla.org/docs/Web/HTTP/Headers\nconst wellknownHeaderNames = [\n 'Accept',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Ranges',\n 'Access-Control-Allow-Credentials',\n 'Access-Control-Allow-Headers',\n 'Access-Control-Allow-Methods',\n 'Access-Control-Allow-Origin',\n 'Access-Control-Expose-Headers',\n 'Access-Control-Max-Age',\n 'Access-Control-Request-Headers',\n 'Access-Control-Request-Method',\n 'Age',\n 'Allow',\n 'Alt-Svc',\n 'Alt-Used',\n 'Authorization',\n 'Cache-Control',\n 'Clear-Site-Data',\n 'Connection',\n 'Content-Disposition',\n 'Content-Encoding',\n 'Content-Language',\n 'Content-Length',\n 'Content-Location',\n 'Content-Range',\n 'Content-Security-Policy',\n 'Content-Security-Policy-Report-Only',\n 'Content-Type',\n 'Cookie',\n 'Cross-Origin-Embedder-Policy',\n 'Cross-Origin-Opener-Policy',\n 'Cross-Origin-Resource-Policy',\n 'Date',\n 'Device-Memory',\n 'Downlink',\n 'ECT',\n 'ETag',\n 'Expect',\n 'Expect-CT',\n 'Expires',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Keep-Alive',\n 'Last-Modified',\n 'Link',\n 'Location',\n 'Max-Forwards',\n 'Origin',\n 'Permissions-Policy',\n 'Pragma',\n 'Proxy-Authenticate',\n 'Proxy-Authorization',\n 'RTT',\n 'Range',\n 'Referer',\n 'Referrer-Policy',\n 'Refresh',\n 'Retry-After',\n 'Sec-WebSocket-Accept',\n 'Sec-WebSocket-Extensions',\n 'Sec-WebSocket-Key',\n 'Sec-WebSocket-Protocol',\n 'Sec-WebSocket-Version',\n 'Server',\n 'Server-Timing',\n 'Service-Worker-Allowed',\n 'Service-Worker-Navigation-Preload',\n 'Set-Cookie',\n 'SourceMap',\n 'Strict-Transport-Security',\n 'Supports-Loading-Mode',\n 'TE',\n 'Timing-Allow-Origin',\n 'Trailer',\n 'Transfer-Encoding',\n 'Upgrade',\n 'Upgrade-Insecure-Requests',\n 'User-Agent',\n 'Vary',\n 'Via',\n 'WWW-Authenticate',\n 'X-Content-Type-Options',\n 'X-DNS-Prefetch-Control',\n 'X-Frame-Options',\n 'X-Permitted-Cross-Domain-Policies',\n 'X-Powered-By',\n 'X-Requested-With',\n 'X-XSS-Protection'\n]\n\nfor (let i = 0; i < wellknownHeaderNames.length; ++i) {\n const key = wellknownHeaderNames[i]\n const lowerCasedKey = key.toLowerCase()\n headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] =\n lowerCasedKey\n}\n\n// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`.\nObject.setPrototypeOf(headerNameLowerCasedRecord, null)\n\nmodule.exports = {\n wellknownHeaderNames,\n headerNameLowerCasedRecord\n}\n","'use strict'\n\nconst {\n wellknownHeaderNames,\n headerNameLowerCasedRecord\n} = require('./constants')\n\nclass TstNode {\n /** @type {any} */\n value = null\n /** @type {null | TstNode} */\n left = null\n /** @type {null | TstNode} */\n middle = null\n /** @type {null | TstNode} */\n right = null\n /** @type {number} */\n code\n /**\n * @param {string} key\n * @param {any} value\n * @param {number} index\n */\n constructor (key, value, index) {\n if (index === undefined || index >= key.length) {\n throw new TypeError('Unreachable')\n }\n const code = this.code = key.charCodeAt(index)\n // check code is ascii string\n if (code > 0x7F) {\n throw new TypeError('key must be ascii string')\n }\n if (key.length !== ++index) {\n this.middle = new TstNode(key, value, index)\n } else {\n this.value = value\n }\n }\n\n /**\n * @param {string} key\n * @param {any} value\n */\n add (key, value) {\n const length = key.length\n if (length === 0) {\n throw new TypeError('Unreachable')\n }\n let index = 0\n let node = this\n while (true) {\n const code = key.charCodeAt(index)\n // check code is ascii string\n if (code > 0x7F) {\n throw new TypeError('key must be ascii string')\n }\n if (node.code === code) {\n if (length === ++index) {\n node.value = value\n break\n } else if (node.middle !== null) {\n node = node.middle\n } else {\n node.middle = new TstNode(key, value, index)\n break\n }\n } else if (node.code < code) {\n if (node.left !== null) {\n node = node.left\n } else {\n node.left = new TstNode(key, value, index)\n break\n }\n } else if (node.right !== null) {\n node = node.right\n } else {\n node.right = new TstNode(key, value, index)\n break\n }\n }\n }\n\n /**\n * @param {Uint8Array} key\n * @return {TstNode | null}\n */\n search (key) {\n const keylength = key.length\n let index = 0\n let node = this\n while (node !== null && index < keylength) {\n let code = key[index]\n // A-Z\n // First check if it is bigger than 0x5a.\n // Lowercase letters have higher char codes than uppercase ones.\n // Also we assume that headers will mostly contain lowercase characters.\n if (code <= 0x5a && code >= 0x41) {\n // Lowercase for uppercase.\n code |= 32\n }\n while (node !== null) {\n if (code === node.code) {\n if (keylength === ++index) {\n // Returns Node since it is the last key.\n return node\n }\n node = node.middle\n break\n }\n node = node.code < code ? node.left : node.right\n }\n }\n return null\n }\n}\n\nclass TernarySearchTree {\n /** @type {TstNode | null} */\n node = null\n\n /**\n * @param {string} key\n * @param {any} value\n * */\n insert (key, value) {\n if (this.node === null) {\n this.node = new TstNode(key, value, 0)\n } else {\n this.node.add(key, value)\n }\n }\n\n /**\n * @param {Uint8Array} key\n * @return {any}\n */\n lookup (key) {\n return this.node?.search(key)?.value ?? null\n }\n}\n\nconst tree = new TernarySearchTree()\n\nfor (let i = 0; i < wellknownHeaderNames.length; ++i) {\n const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]]\n tree.insert(key, key)\n}\n\nmodule.exports = {\n TernarySearchTree,\n tree\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { kDestroyed, kBodyUsed, kListeners, kBody } = require('./symbols')\nconst { IncomingMessage } = require('node:http')\nconst stream = require('node:stream')\nconst net = require('node:net')\nconst { Blob } = require('node:buffer')\nconst nodeUtil = require('node:util')\nconst { stringify } = require('node:querystring')\nconst { EventEmitter: EE } = require('node:events')\nconst { InvalidArgumentError } = require('./errors')\nconst { headerNameLowerCasedRecord } = require('./constants')\nconst { tree } = require('./tree')\n\nconst [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))\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\nfunction wrapRequestBody (body) {\n if (isStream(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 (bodyLength(body) === 0) {\n body\n .on('data', function () {\n assert(false)\n })\n }\n\n if (typeof body.readableDidRead !== 'boolean') {\n body[kBodyUsed] = false\n EE.prototype.on.call(body, 'data', function () {\n this[kBodyUsed] = true\n })\n }\n\n return body\n } else if (body && typeof 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 return new BodyAsyncIterable(body)\n } else if (\n body &&\n typeof body !== 'string' &&\n !ArrayBuffer.isView(body) &&\n isIterable(body)\n ) {\n // TODO: Should we allow re-using iterable if !this.opts.idempotent\n // or through some other flag?\n return new BodyAsyncIterable(body)\n } else {\n return body\n }\n}\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 if (object === null) {\n return false\n } else if (object instanceof Blob) {\n return true\n } else if (typeof object !== 'object') {\n return false\n } else {\n const sTag = object[Symbol.toStringTag]\n\n return (sTag === 'Blob' || sTag === 'File') && (\n ('stream' in object && typeof object.stream === 'function') ||\n ('arrayBuffer' in object && typeof object.arrayBuffer === 'function')\n )\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 isValidPort (port) {\n const value = parseInt(port, 10)\n return (\n value === Number(port) &&\n value >= 0 &&\n value <= 65535\n )\n}\n\nfunction isHttpOrHttpsPrefixed (value) {\n return (\n value != null &&\n value[0] === 'h' &&\n value[1] === 't' &&\n value[2] === 't' &&\n value[3] === 'p' &&\n (\n value[4] === ':' ||\n (\n value[4] === 's' &&\n value[5] === ':'\n )\n )\n )\n}\n\nfunction parseURL (url) {\n if (typeof url === 'string') {\n url = new URL(url)\n\n if (!isHttpOrHttpsPrefixed(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 instanceof URL)) {\n if (url.port != null && url.port !== '' && isValidPort(url.port) === false) {\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 (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\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[origin.length - 1] === '/') {\n origin = origin.slice(0, origin.length - 1)\n }\n\n if (path && path[0] !== '/') {\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 return new URL(`${origin}${path}`)\n }\n\n if (!isHttpOrHttpsPrefixed(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\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.substring(1, idx)\n }\n\n const idx = host.indexOf(':')\n if (idx === -1) return host\n\n return host.substring(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(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.objectMode === false && 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 (body) {\n return body && !!(body.destroyed || body[kDestroyed] || (stream.isDestroyed?.(body)))\n}\n\nfunction destroy (stream, err) {\n if (stream == null || !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\n stream.destroy(err)\n } else if (err) {\n queueMicrotask(() => {\n stream.emit('error', err)\n })\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\n/**\n * Retrieves a header name and returns its lowercase value.\n * @param {string | Buffer} value Header name\n * @returns {string}\n */\nfunction headerNameToString (value) {\n return typeof value === 'string'\n ? headerNameLowerCasedRecord[value] ?? value.toLowerCase()\n : tree.lookup(value) ?? value.toString('latin1').toLowerCase()\n}\n\n/**\n * Receive the buffer as a string and return its lowercase value.\n * @param {Buffer} value Header name\n * @returns {string}\n */\nfunction bufferToLowerCasedHeaderName (value) {\n return tree.lookup(value) ?? value.toString('latin1').toLowerCase()\n}\n\n/**\n * @param {Record | (Buffer | string | (Buffer | string)[])[]} headers\n * @param {Record} [obj]\n * @returns {Record}\n */\nfunction parseHeaders (headers, obj) {\n if (obj === undefined) obj = {}\n for (let i = 0; i < headers.length; i += 2) {\n const key = headerNameToString(headers[i])\n let val = obj[key]\n\n if (val) {\n if (typeof val === 'string') {\n val = [val]\n obj[key] = val\n }\n val.push(headers[i + 1].toString('utf8'))\n } else {\n const headersValue = headers[i + 1]\n if (typeof headersValue === 'string') {\n obj[key] = headersValue\n } else {\n obj[key] = Array.isArray(headersValue) ? headersValue.map(x => x.toString('utf8')) : headersValue.toString('utf8')\n }\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 len = headers.length\n const ret = new Array(len)\n\n let hasContentLength = false\n let contentDispositionIdx = -1\n let key\n let val\n let kLen = 0\n\n for (let n = 0; n < headers.length; n += 2) {\n key = headers[n]\n val = headers[n + 1]\n\n typeof key !== 'string' && (key = key.toString())\n typeof val !== 'string' && (val = val.toString('utf8'))\n\n kLen = key.length\n if (kLen === 14 && key[7] === '-' && (key === 'content-length' || key.toLowerCase() === 'content-length')) {\n hasContentLength = true\n } else if (kLen === 19 && key[7] === '-' && (key === 'content-disposition' || key.toLowerCase() === 'content-disposition')) {\n contentDispositionIdx = n + 1\n }\n ret[n] = key\n ret[n + 1] = val\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 // TODO (fix): Why is body[kBodyUsed] needed?\n return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]))\n}\n\nfunction isErrored (body) {\n return !!(body && stream.isErrored(body))\n}\n\nfunction isReadable (body) {\n return !!(body && stream.isReadable(body))\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\n/** @type {globalThis['ReadableStream']} */\nfunction ReadableStreamFrom (iterable) {\n // We cannot use ReadableStream.from here because it does not return a byte stream.\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 controller.byobRequest?.respond(0)\n })\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value)\n if (buf.byteLength) {\n controller.enqueue(new Uint8Array(buf))\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: 'bytes'\n }\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 addAbortListener (signal, listener) {\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 = typeof String.prototype.toWellFormed === 'function'\nconst hasIsWellFormed = typeof String.prototype.isWellFormed === 'function'\n\n/**\n * @param {string} val\n */\nfunction toUSVString (val) {\n return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val)\n}\n\n/**\n * @param {string} val\n */\n// TODO: move this to webidl\nfunction isUSVString (val) {\n return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`\n}\n\n/**\n * @see https://tools.ietf.org/html/rfc7230#section-3.2.6\n * @param {number} c\n */\nfunction isTokenCharCode (c) {\n switch (c) {\n case 0x22:\n case 0x28:\n case 0x29:\n case 0x2c:\n case 0x2f:\n case 0x3a:\n case 0x3b:\n case 0x3c:\n case 0x3d:\n case 0x3e:\n case 0x3f:\n case 0x40:\n case 0x5b:\n case 0x5c:\n case 0x5d:\n case 0x7b:\n case 0x7d:\n // DQUOTE and \"(),/:;<=>?@[\\]{}\"\n return false\n default:\n // VCHAR %x21-7E\n return c >= 0x21 && c <= 0x7e\n }\n}\n\n/**\n * @param {string} characters\n */\nfunction isValidHTTPToken (characters) {\n if (characters.length === 0) {\n return false\n }\n for (let i = 0; i < characters.length; ++i) {\n if (!isTokenCharCode(characters.charCodeAt(i))) {\n return false\n }\n }\n return true\n}\n\n// headerCharRegex have been lifted from\n// https://github.com/nodejs/node/blob/main/lib/_http_common.js\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/**\n * @param {string} characters\n */\nfunction isValidHeaderValue (characters) {\n return !headerCharRegex.test(characters)\n}\n\n// Parsed accordingly to RFC 9110\n// https://www.rfc-editor.org/rfc/rfc9110#field.content-range\nfunction parseRangeHeader (range) {\n if (range == null || range === '') return { start: 0, end: null, size: null }\n\n const m = range ? range.match(/^bytes (\\d+)-(\\d+)\\/(\\d+)?$/) : null\n return m\n ? {\n start: parseInt(m[1]),\n end: m[2] ? parseInt(m[2]) : null,\n size: m[3] ? parseInt(m[3]) : null\n }\n : null\n}\n\nfunction addListener (obj, name, listener) {\n const listeners = (obj[kListeners] ??= [])\n listeners.push([name, listener])\n obj.on(name, listener)\n return obj\n}\n\nfunction removeAllListeners (obj) {\n for (const [name, listener] of obj[kListeners] ?? []) {\n obj.removeListener(name, listener)\n }\n obj[kListeners] = null\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\nconst kEnumerableProperty = Object.create(null)\nkEnumerableProperty.enumerable = true\n\nconst normalizedMethodRecordsBase = {\n delete: 'DELETE',\n DELETE: 'DELETE',\n get: 'GET',\n GET: 'GET',\n head: 'HEAD',\n HEAD: 'HEAD',\n options: 'OPTIONS',\n OPTIONS: 'OPTIONS',\n post: 'POST',\n POST: 'POST',\n put: 'PUT',\n PUT: 'PUT'\n}\n\nconst normalizedMethodRecords = {\n ...normalizedMethodRecordsBase,\n patch: 'patch',\n PATCH: 'PATCH'\n}\n\n// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`.\nObject.setPrototypeOf(normalizedMethodRecordsBase, null)\nObject.setPrototypeOf(normalizedMethodRecords, null)\n\nmodule.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isUSVString,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n headerNameToString,\n bufferToLowerCasedHeaderName,\n addListener,\n removeAllListeners,\n errorRequest,\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 addAbortListener,\n isValidHTTPToken,\n isValidHeaderValue,\n isTokenCharCode,\n parseRangeHeader,\n normalizedMethodRecordsBase,\n normalizedMethodRecords,\n isValidPort,\n isHttpOrHttpsPrefixed,\n nodeMajor,\n nodeMinor,\n safeHTTPMethods: ['GET', 'HEAD', 'OPTIONS', 'TRACE'],\n wrapRequestBody\n}\n","'use strict'\nconst diagnosticsChannel = require('node:diagnostics_channel')\nconst util = require('node:util')\n\nconst undiciDebugLog = util.debuglog('undici')\nconst fetchDebuglog = util.debuglog('fetch')\nconst websocketDebuglog = util.debuglog('websocket')\nlet isClientSet = false\nconst channels = {\n // Client\n beforeConnect: diagnosticsChannel.channel('undici:client:beforeConnect'),\n connected: diagnosticsChannel.channel('undici:client:connected'),\n connectError: diagnosticsChannel.channel('undici:client:connectError'),\n sendHeaders: diagnosticsChannel.channel('undici:client:sendHeaders'),\n // Request\n create: diagnosticsChannel.channel('undici:request:create'),\n bodySent: diagnosticsChannel.channel('undici:request:bodySent'),\n headers: diagnosticsChannel.channel('undici:request:headers'),\n trailers: diagnosticsChannel.channel('undici:request:trailers'),\n error: diagnosticsChannel.channel('undici:request:error'),\n // WebSocket\n open: diagnosticsChannel.channel('undici:websocket:open'),\n close: diagnosticsChannel.channel('undici:websocket:close'),\n socketError: diagnosticsChannel.channel('undici:websocket:socket_error'),\n ping: diagnosticsChannel.channel('undici:websocket:ping'),\n pong: diagnosticsChannel.channel('undici:websocket:pong')\n}\n\nif (undiciDebugLog.enabled || fetchDebuglog.enabled) {\n const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog\n\n // Track all Client events\n diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connecting to %s using %s%s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connected').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connected to %s using %s%s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host },\n error\n } = evt\n debuglog(\n 'connection to %s using %s%s errored - %s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version,\n error.message\n )\n })\n\n diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('sending request to %s %s/%s', method, origin, path)\n })\n\n // Track Request events\n diagnosticsChannel.channel('undici:request:headers').subscribe(evt => {\n const {\n request: { method, path, origin },\n response: { statusCode }\n } = evt\n debuglog(\n 'received response to %s %s/%s - HTTP %d',\n method,\n origin,\n path,\n statusCode\n )\n })\n\n diagnosticsChannel.channel('undici:request:trailers').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('trailers received from %s %s/%s', method, origin, path)\n })\n\n diagnosticsChannel.channel('undici:request:error').subscribe(evt => {\n const {\n request: { method, path, origin },\n error\n } = evt\n debuglog(\n 'request to %s %s/%s errored - %s',\n method,\n origin,\n path,\n error.message\n )\n })\n\n isClientSet = true\n}\n\nif (websocketDebuglog.enabled) {\n if (!isClientSet) {\n const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog\n diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connecting to %s%s using %s%s',\n host,\n port ? `:${port}` : '',\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connected').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connected to %s%s using %s%s',\n host,\n port ? `:${port}` : '',\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host },\n error\n } = evt\n debuglog(\n 'connection to %s%s using %s%s errored - %s',\n host,\n port ? `:${port}` : '',\n protocol,\n version,\n error.message\n )\n })\n\n diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('sending request to %s %s/%s', method, origin, path)\n })\n }\n\n // Track all WebSocket events\n diagnosticsChannel.channel('undici:websocket:open').subscribe(evt => {\n const {\n address: { address, port }\n } = evt\n websocketDebuglog('connection opened %s%s', address, port ? `:${port}` : '')\n })\n\n diagnosticsChannel.channel('undici:websocket:close').subscribe(evt => {\n const { websocket, code, reason } = evt\n websocketDebuglog(\n 'closed connection to %s - %s %s',\n websocket.url,\n code,\n reason\n )\n })\n\n diagnosticsChannel.channel('undici:websocket:socket_error').subscribe(err => {\n websocketDebuglog('connection errored - %s', err.message)\n })\n\n diagnosticsChannel.channel('undici:websocket:ping').subscribe(evt => {\n websocketDebuglog('ping received')\n })\n\n diagnosticsChannel.channel('undici:websocket:pong').subscribe(evt => {\n websocketDebuglog('pong received')\n })\n}\n\nmodule.exports = {\n channels\n}\n","'use strict'\n\nconst {\n InvalidArgumentError,\n NotSupportedError\n} = require('./errors')\nconst assert = require('node:assert')\nconst {\n isValidHTTPToken,\n isValidHeaderValue,\n isStream,\n destroy,\n isBuffer,\n isFormDataLike,\n isIterable,\n isBlobLike,\n buildURL,\n validateHandler,\n getServerName,\n normalizedMethodRecords\n} = require('./util')\nconst { channels } = require('./diagnostics.js')\nconst { headerNameLowerCasedRecord } = require('./constants')\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\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 expectContinue,\n servername\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.test(path)) {\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 (normalizedMethodRecords[method] === undefined && !isValidHTTPToken(method)) {\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 if (expectContinue != null && typeof expectContinue !== 'boolean') {\n throw new InvalidArgumentError('invalid expectContinue')\n }\n\n this.headersTimeout = headersTimeout\n\n this.bodyTimeout = bodyTimeout\n\n this.throwOnError = throwOnError === true\n\n this.method = method\n\n this.abort = null\n\n if (body == null) {\n this.body = null\n } else if (isStream(body)) {\n this.body = body\n\n const rState = this.body._readableState\n if (!rState || !rState.autoDestroy) {\n this.endHandler = function autoDestroy () {\n destroy(this)\n }\n this.body.on('end', this.endHandler)\n }\n\n this.errorHandler = err => {\n if (this.abort) {\n this.abort(err)\n } else {\n this.error = err\n }\n }\n this.body.on('error', this.errorHandler)\n } else if (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 (isFormDataLike(body) || isIterable(body) || 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 ? 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 // Only for H2\n this.expectContinue = expectContinue != null ? expectContinue : false\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 if (headers[Symbol.iterator]) {\n for (const header of headers) {\n if (!Array.isArray(header) || header.length !== 2) {\n throw new InvalidArgumentError('headers must be in key-value pair format')\n }\n processHeader(this, header[0], header[1])\n }\n } else {\n const keys = Object.keys(headers)\n for (let i = 0; i < keys.length; ++i) {\n processHeader(this, keys[i], headers[keys[i]])\n }\n }\n } else if (headers != null) {\n throw new InvalidArgumentError('headers must be an object or an array')\n }\n\n validateHandler(handler, method, upgrade)\n\n this.servername = servername || 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 return this[kHandler].onBodySent(chunk)\n } catch (err) {\n this.abort(err)\n }\n }\n }\n\n onRequestSent () {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this })\n }\n\n if (this[kHandler].onRequestSent) {\n try {\n return this[kHandler].onRequestSent()\n } catch (err) {\n this.abort(err)\n }\n }\n }\n\n onConnect (abort) {\n assert(!this.aborted)\n assert(!this.completed)\n\n if (this.error) {\n abort(this.error)\n } else {\n this.abort = abort\n return this[kHandler].onConnect(abort)\n }\n }\n\n onResponseStarted () {\n return this[kHandler].onResponseStarted?.()\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 try {\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText)\n } catch (err) {\n this.abort(err)\n }\n }\n\n onData (chunk) {\n assert(!this.aborted)\n assert(!this.completed)\n\n try {\n return this[kHandler].onData(chunk)\n } catch (err) {\n this.abort(err)\n return false\n }\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 this.onFinally()\n\n assert(!this.aborted)\n\n this.completed = true\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers })\n }\n\n try {\n return this[kHandler].onComplete(trailers)\n } catch (err) {\n // TODO (fix): This might be a bad idea?\n this.onError(err)\n }\n }\n\n onError (error) {\n this.onFinally()\n\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\n return this[kHandler].onError(error)\n }\n\n onFinally () {\n if (this.errorHandler) {\n this.body.off('error', this.errorHandler)\n this.errorHandler = null\n }\n\n if (this.endHandler) {\n this.body.off('end', this.endHandler)\n this.endHandler = null\n }\n }\n\n addHeader (key, value) {\n processHeader(this, key, value)\n return this\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 let headerName = headerNameLowerCasedRecord[key]\n\n if (headerName === undefined) {\n headerName = key.toLowerCase()\n if (headerNameLowerCasedRecord[headerName] === undefined && !isValidHTTPToken(headerName)) {\n throw new InvalidArgumentError('invalid header key')\n }\n }\n\n if (Array.isArray(val)) {\n const arr = []\n for (let i = 0; i < val.length; i++) {\n if (typeof val[i] === 'string') {\n if (!isValidHeaderValue(val[i])) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n arr.push(val[i])\n } else if (val[i] === null) {\n arr.push('')\n } else if (typeof val[i] === 'object') {\n throw new InvalidArgumentError(`invalid ${key} header`)\n } else {\n arr.push(`${val[i]}`)\n }\n }\n val = arr\n } else if (typeof val === 'string') {\n if (!isValidHeaderValue(val)) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n } else if (val === null) {\n val = ''\n } else {\n val = `${val}`\n }\n\n if (request.host === null && headerName === 'host') {\n if (typeof val !== 'string') {\n throw new InvalidArgumentError('invalid host header')\n }\n // Consumed by Client\n request.host = val\n } else if (request.contentLength === null && headerName === 'content-length') {\n request.contentLength = parseInt(val, 10)\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError('invalid content-length header')\n }\n } else if (request.contentType === null && headerName === 'content-type') {\n request.contentType = val\n request.headers.push(key, val)\n } else if (headerName === 'transfer-encoding' || headerName === 'keep-alive' || headerName === 'upgrade') {\n throw new InvalidArgumentError(`invalid ${headerName} header`)\n } else if (headerName === 'connection') {\n const value = typeof val === 'string' ? val.toLowerCase() : null\n if (value !== 'close' && value !== 'keep-alive') {\n throw new InvalidArgumentError('invalid connection header')\n }\n\n if (value === 'close') {\n request.reset = true\n }\n } else if (headerName === 'expect') {\n throw new NotSupportedError('expect header not supported')\n } else {\n request.headers.push(key, val)\n }\n}\n\nmodule.exports = Request\n","'use strict'\nconst EventEmitter = require('node: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 compose (...args) {\n // So we handle [interceptor1, interceptor2] or interceptor1, interceptor2, ...\n const interceptors = Array.isArray(args[0]) ? args[0] : args\n let dispatch = this.dispatch.bind(this)\n\n for (const interceptor of interceptors) {\n if (interceptor == null) {\n continue\n }\n\n if (typeof interceptor !== 'function') {\n throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`)\n }\n\n dispatch = interceptor(dispatch)\n\n if (dispatch == null || typeof dispatch !== 'function' || dispatch.length !== 2) {\n throw new TypeError('invalid interceptor')\n }\n }\n\n return new ComposedDispatcher(this, dispatch)\n }\n}\n\nclass ComposedDispatcher extends Dispatcher {\n #dispatcher = null\n #dispatch = null\n\n constructor (dispatcher, dispatch) {\n super()\n this.#dispatcher = dispatcher\n this.#dispatch = dispatch\n }\n\n dispatch (...args) {\n this.#dispatch(...args)\n }\n\n close (...args) {\n return this.#dispatcher.close(...args)\n }\n\n destroy (...args) {\n return this.#dispatcher.destroy(...args)\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, kClosed, kDestroyed, kDispatch, kInterceptors } = require('../core/symbols')\n\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\n/**\n * This module offers an optimized timer implementation designed for scenarios\n * where high precision is not critical.\n *\n * The timer achieves faster performance by using a low-resolution approach,\n * with an accuracy target of within 500ms. This makes it particularly useful\n * for timers with delays of 1 second or more, where exact timing is less\n * crucial.\n *\n * It's important to note that Node.js timers are inherently imprecise, as\n * delays can occur due to the event loop being blocked by other operations.\n * Consequently, timers may trigger later than their scheduled time.\n */\n\n/**\n * The fastNow variable contains the internal fast timer clock value.\n *\n * @type {number}\n */\nlet fastNow = 0\n\n/**\n * RESOLUTION_MS represents the target resolution time in milliseconds.\n *\n * @type {number}\n * @default 1000\n */\nconst RESOLUTION_MS = 1e3\n\n/**\n * TICK_MS defines the desired interval in milliseconds between each tick.\n * The target value is set to half the resolution time, minus 1 ms, to account\n * for potential event loop overhead.\n *\n * @type {number}\n * @default 499\n */\nconst TICK_MS = (RESOLUTION_MS >> 1) - 1\n\n/**\n * fastNowTimeout is a Node.js timer used to manage and process\n * the FastTimers stored in the `fastTimers` array.\n *\n * @type {NodeJS.Timeout}\n */\nlet fastNowTimeout\n\n/**\n * The kFastTimer symbol is used to identify FastTimer instances.\n *\n * @type {Symbol}\n */\nconst kFastTimer = Symbol('kFastTimer')\n\n/**\n * The fastTimers array contains all active FastTimers.\n *\n * @type {FastTimer[]}\n */\nconst fastTimers = []\n\n/**\n * These constants represent the various states of a FastTimer.\n */\n\n/**\n * The `NOT_IN_LIST` constant indicates that the FastTimer is not included\n * in the `fastTimers` array. Timers with this status will not be processed\n * during the next tick by the `onTick` function.\n *\n * A FastTimer can be re-added to the `fastTimers` array by invoking the\n * `refresh` method on the FastTimer instance.\n *\n * @type {-2}\n */\nconst NOT_IN_LIST = -2\n\n/**\n * The `TO_BE_CLEARED` constant indicates that the FastTimer is scheduled\n * for removal from the `fastTimers` array. A FastTimer in this state will\n * be removed in the next tick by the `onTick` function and will no longer\n * be processed.\n *\n * This status is also set when the `clear` method is called on the FastTimer instance.\n *\n * @type {-1}\n */\nconst TO_BE_CLEARED = -1\n\n/**\n * The `PENDING` constant signifies that the FastTimer is awaiting processing\n * in the next tick by the `onTick` function. Timers with this status will have\n * their `_idleStart` value set and their status updated to `ACTIVE` in the next tick.\n *\n * @type {0}\n */\nconst PENDING = 0\n\n/**\n * The `ACTIVE` constant indicates that the FastTimer is active and waiting\n * for its timer to expire. During the next tick, the `onTick` function will\n * check if the timer has expired, and if so, it will execute the associated callback.\n *\n * @type {1}\n */\nconst ACTIVE = 1\n\n/**\n * The onTick function processes the fastTimers array.\n *\n * @returns {void}\n */\nfunction onTick () {\n /**\n * Increment the fastNow value by the TICK_MS value, despite the actual time\n * that has passed since the last tick. This approach ensures independence\n * from the system clock and delays caused by a blocked event loop.\n *\n * @type {number}\n */\n fastNow += TICK_MS\n\n /**\n * The `idx` variable is used to iterate over the `fastTimers` array.\n * Expired timers are removed by replacing them with the last element in the array.\n * Consequently, `idx` is only incremented when the current element is not removed.\n *\n * @type {number}\n */\n let idx = 0\n\n /**\n * The len variable will contain the length of the fastTimers array\n * and will be decremented when a FastTimer should be removed from the\n * fastTimers array.\n *\n * @type {number}\n */\n let len = fastTimers.length\n\n while (idx < len) {\n /**\n * @type {FastTimer}\n */\n const timer = fastTimers[idx]\n\n // If the timer is in the ACTIVE state and the timer has expired, it will\n // be processed in the next tick.\n if (timer._state === PENDING) {\n // Set the _idleStart value to the fastNow value minus the TICK_MS value\n // to account for the time the timer was in the PENDING state.\n timer._idleStart = fastNow - TICK_MS\n timer._state = ACTIVE\n } else if (\n timer._state === ACTIVE &&\n fastNow >= timer._idleStart + timer._idleTimeout\n ) {\n timer._state = TO_BE_CLEARED\n timer._idleStart = -1\n timer._onTimeout(timer._timerArg)\n }\n\n if (timer._state === TO_BE_CLEARED) {\n timer._state = NOT_IN_LIST\n\n // Move the last element to the current index and decrement len if it is\n // not the only element in the array.\n if (--len !== 0) {\n fastTimers[idx] = fastTimers[len]\n }\n } else {\n ++idx\n }\n }\n\n // Set the length of the fastTimers array to the new length and thus\n // removing the excess FastTimers elements from the array.\n fastTimers.length = len\n\n // If there are still active FastTimers in the array, refresh the Timer.\n // If there are no active FastTimers, the timer will be refreshed again\n // when a new FastTimer is instantiated.\n if (fastTimers.length !== 0) {\n refreshTimeout()\n }\n}\n\nfunction refreshTimeout () {\n // If the fastNowTimeout is already set, refresh it.\n if (fastNowTimeout) {\n fastNowTimeout.refresh()\n // fastNowTimeout is not instantiated yet, create a new Timer.\n } else {\n clearTimeout(fastNowTimeout)\n fastNowTimeout = setTimeout(onTick, TICK_MS)\n\n // If the Timer has an unref method, call it to allow the process to exit if\n // there are no other active handles.\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref()\n }\n }\n}\n\n/**\n * The `FastTimer` class is a data structure designed to store and manage\n * timer information.\n */\nclass FastTimer {\n [kFastTimer] = true\n\n /**\n * The state of the timer, which can be one of the following:\n * - NOT_IN_LIST (-2)\n * - TO_BE_CLEARED (-1)\n * - PENDING (0)\n * - ACTIVE (1)\n *\n * @type {-2|-1|0|1}\n * @private\n */\n _state = NOT_IN_LIST\n\n /**\n * The number of milliseconds to wait before calling the callback.\n *\n * @type {number}\n * @private\n */\n _idleTimeout = -1\n\n /**\n * The time in milliseconds when the timer was started. This value is used to\n * calculate when the timer should expire.\n *\n * @type {number}\n * @default -1\n * @private\n */\n _idleStart = -1\n\n /**\n * The function to be executed when the timer expires.\n * @type {Function}\n * @private\n */\n _onTimeout\n\n /**\n * The argument to be passed to the callback when the timer expires.\n *\n * @type {*}\n * @private\n */\n _timerArg\n\n /**\n * @constructor\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should wait\n * before the specified function or code is executed.\n * @param {*} arg\n */\n constructor (callback, delay, arg) {\n this._onTimeout = callback\n this._idleTimeout = delay\n this._timerArg = arg\n\n this.refresh()\n }\n\n /**\n * Sets the timer's start time to the current time, and reschedules the timer\n * to call its callback at the previously specified duration adjusted to the\n * current time.\n * Using this on a timer that has already called its callback will reactivate\n * the timer.\n *\n * @returns {void}\n */\n refresh () {\n // In the special case that the timer is not in the list of active timers,\n // add it back to the array to be processed in the next tick by the onTick\n // function.\n if (this._state === NOT_IN_LIST) {\n fastTimers.push(this)\n }\n\n // If the timer is the only active timer, refresh the fastNowTimeout for\n // better resolution.\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout()\n }\n\n // Setting the state to PENDING will cause the timer to be reset in the\n // next tick by the onTick function.\n this._state = PENDING\n }\n\n /**\n * The `clear` method cancels the timer, preventing it from executing.\n *\n * @returns {void}\n * @private\n */\n clear () {\n // Set the state to TO_BE_CLEARED to mark the timer for removal in the next\n // tick by the onTick function.\n this._state = TO_BE_CLEARED\n\n // Reset the _idleStart value to -1 to indicate that the timer is no longer\n // active.\n this._idleStart = -1\n }\n}\n\n/**\n * This module exports a setTimeout and clearTimeout function that can be\n * used as a drop-in replacement for the native functions.\n */\nmodule.exports = {\n /**\n * The setTimeout() method sets a timer which executes a function once the\n * timer expires.\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should\n * wait before the specified function or code is executed.\n * @param {*} [arg] An optional argument to be passed to the callback function\n * when the timer expires.\n * @returns {NodeJS.Timeout|FastTimer}\n */\n setTimeout (callback, delay, arg) {\n // If the delay is less than or equal to the RESOLUTION_MS value return a\n // native Node.js Timer instance.\n return delay <= RESOLUTION_MS\n ? setTimeout(callback, delay, arg)\n : new FastTimer(callback, delay, arg)\n },\n /**\n * The clearTimeout method cancels an instantiated Timer previously created\n * by calling setTimeout.\n *\n * @param {NodeJS.Timeout|FastTimer} timeout\n */\n clearTimeout (timeout) {\n // If the timeout is a FastTimer, call its own clear method.\n if (timeout[kFastTimer]) {\n /**\n * @type {FastTimer}\n */\n timeout.clear()\n // Otherwise it is an instance of a native NodeJS.Timeout, so call the\n // Node.js native clearTimeout function.\n } else {\n clearTimeout(timeout)\n }\n },\n /**\n * The setFastTimeout() method sets a fastTimer which executes a function once\n * the timer expires.\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should\n * wait before the specified function or code is executed.\n * @param {*} [arg] An optional argument to be passed to the callback function\n * when the timer expires.\n * @returns {FastTimer}\n */\n setFastTimeout (callback, delay, arg) {\n return new FastTimer(callback, delay, arg)\n },\n /**\n * The clearTimeout method cancels an instantiated FastTimer previously\n * created by calling setFastTimeout.\n *\n * @param {FastTimer} timeout\n */\n clearFastTimeout (timeout) {\n timeout.clear()\n },\n /**\n * The now method returns the value of the internal fast timer clock.\n *\n * @returns {number}\n */\n now () {\n return fastNow\n },\n /**\n * Trigger the onTick function to process the fastTimers array.\n * Exported for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n * @param {number} [delay=0] The delay in milliseconds to add to the now value.\n */\n tick (delay = 0) {\n fastNow += delay - RESOLUTION_MS + 1\n onTick()\n onTick()\n },\n /**\n * Reset FastTimers.\n * Exported for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n */\n reset () {\n fastNow = 0\n fastTimers.length = 0\n clearTimeout(fastNowTimeout)\n fastNowTimeout = null\n },\n /**\n * Exporting for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n */\n kFastTimer\n}\n","'use strict'\n\nconst net = require('node:net')\nconst assert = require('node:assert')\nconst util = require('./util')\nconst { InvalidArgumentError, ConnectTimeoutError } = require('./errors')\nconst timers = require('../util/timers')\n\nfunction noop () {}\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\n// FIXME: remove workaround when the Node bug is fixed\n// https://github.com/nodejs/node/issues/49344#issuecomment-1741776308\nif (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {\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 ({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...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 allowH2 = allowH2 != null ? allowH2 : false\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('node:tls')\n }\n servername = servername || options.servername || util.getServerName(host) || null\n\n const sessionKey = servername || hostname\n assert(sessionKey)\n\n const session = customSession || sessionCache.get(sessionKey) || null\n\n port = port || 443\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 // TODO(HTTP/2): Add support for h2c\n ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'],\n socket: httpSocket, // upgrade socket connection\n port,\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\n port = port || 80\n\n socket = net.connect({\n highWaterMark: 64 * 1024, // Same as nodejs fs streams.\n ...options,\n localAddress,\n port,\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 clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port })\n\n socket\n .setNoDelay(true)\n .once(protocol === 'https:' ? 'secureConnect' : 'connect', function () {\n queueMicrotask(clearConnectTimeout)\n\n if (callback) {\n const cb = callback\n callback = null\n cb(null, this)\n }\n })\n .on('error', function (err) {\n queueMicrotask(clearConnectTimeout)\n\n if (callback) {\n const cb = callback\n callback = null\n cb(err)\n }\n })\n\n return socket\n }\n}\n\n/**\n * @param {WeakRef} socketWeakRef\n * @param {object} opts\n * @param {number} opts.timeout\n * @param {string} opts.hostname\n * @param {number} opts.port\n * @returns {() => void}\n */\nconst setupConnectTimeout = process.platform === 'win32'\n ? (socketWeakRef, opts) => {\n if (!opts.timeout) {\n return noop\n }\n\n let s1 = null\n let s2 = null\n const fastTimer = timers.setFastTimeout(() => {\n // setImmediate is added to make sure that we prioritize socket error events over timeouts\n s1 = setImmediate(() => {\n // Windows needs an extra setImmediate probably due to implementation differences in the socket logic\n s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts))\n })\n }, opts.timeout)\n return () => {\n timers.clearFastTimeout(fastTimer)\n clearImmediate(s1)\n clearImmediate(s2)\n }\n }\n : (socketWeakRef, opts) => {\n if (!opts.timeout) {\n return noop\n }\n\n let s1 = null\n const fastTimer = timers.setFastTimeout(() => {\n // setImmediate is added to make sure that we prioritize socket error events over timeouts\n s1 = setImmediate(() => {\n onConnectTimeout(socketWeakRef.deref(), opts)\n })\n }, opts.timeout)\n return () => {\n timers.clearFastTimeout(fastTimer)\n clearImmediate(s1)\n }\n }\n\n/**\n * @param {net.Socket} socket\n * @param {object} opts\n * @param {number} opts.timeout\n * @param {string} opts.hostname\n * @param {number} opts.port\n */\nfunction onConnectTimeout (socket, opts) {\n // The socket could be already garbage collected\n if (socket == null) {\n return\n }\n\n let message = 'Connect Timeout Error'\n if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {\n message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`\n } else {\n message += ` (attempted address: ${opts.hostname}:${opts.port},`\n }\n\n message += ` timeout: ${opts.timeout}ms)`\n\n util.destroy(socket, new ConnectTimeoutError(message))\n}\n\nmodule.exports = buildConnector\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.enumToMap = void 0;\nfunction enumToMap(obj) {\n const res = {};\n Object.keys(obj).forEach((key) => {\n const value = obj[key];\n if (typeof value === 'number') {\n res[key] = value;\n }\n });\n return res;\n}\nexports.enumToMap = enumToMap;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;\nconst utils_1 = require(\"./utils\");\n// C headers\nvar ERROR;\n(function (ERROR) {\n ERROR[ERROR[\"OK\"] = 0] = \"OK\";\n ERROR[ERROR[\"INTERNAL\"] = 1] = \"INTERNAL\";\n ERROR[ERROR[\"STRICT\"] = 2] = \"STRICT\";\n ERROR[ERROR[\"LF_EXPECTED\"] = 3] = \"LF_EXPECTED\";\n ERROR[ERROR[\"UNEXPECTED_CONTENT_LENGTH\"] = 4] = \"UNEXPECTED_CONTENT_LENGTH\";\n ERROR[ERROR[\"CLOSED_CONNECTION\"] = 5] = \"CLOSED_CONNECTION\";\n ERROR[ERROR[\"INVALID_METHOD\"] = 6] = \"INVALID_METHOD\";\n ERROR[ERROR[\"INVALID_URL\"] = 7] = \"INVALID_URL\";\n ERROR[ERROR[\"INVALID_CONSTANT\"] = 8] = \"INVALID_CONSTANT\";\n ERROR[ERROR[\"INVALID_VERSION\"] = 9] = \"INVALID_VERSION\";\n ERROR[ERROR[\"INVALID_HEADER_TOKEN\"] = 10] = \"INVALID_HEADER_TOKEN\";\n ERROR[ERROR[\"INVALID_CONTENT_LENGTH\"] = 11] = \"INVALID_CONTENT_LENGTH\";\n ERROR[ERROR[\"INVALID_CHUNK_SIZE\"] = 12] = \"INVALID_CHUNK_SIZE\";\n ERROR[ERROR[\"INVALID_STATUS\"] = 13] = \"INVALID_STATUS\";\n ERROR[ERROR[\"INVALID_EOF_STATE\"] = 14] = \"INVALID_EOF_STATE\";\n ERROR[ERROR[\"INVALID_TRANSFER_ENCODING\"] = 15] = \"INVALID_TRANSFER_ENCODING\";\n ERROR[ERROR[\"CB_MESSAGE_BEGIN\"] = 16] = \"CB_MESSAGE_BEGIN\";\n ERROR[ERROR[\"CB_HEADERS_COMPLETE\"] = 17] = \"CB_HEADERS_COMPLETE\";\n ERROR[ERROR[\"CB_MESSAGE_COMPLETE\"] = 18] = \"CB_MESSAGE_COMPLETE\";\n ERROR[ERROR[\"CB_CHUNK_HEADER\"] = 19] = \"CB_CHUNK_HEADER\";\n ERROR[ERROR[\"CB_CHUNK_COMPLETE\"] = 20] = \"CB_CHUNK_COMPLETE\";\n ERROR[ERROR[\"PAUSED\"] = 21] = \"PAUSED\";\n ERROR[ERROR[\"PAUSED_UPGRADE\"] = 22] = \"PAUSED_UPGRADE\";\n ERROR[ERROR[\"PAUSED_H2_UPGRADE\"] = 23] = \"PAUSED_H2_UPGRADE\";\n ERROR[ERROR[\"USER\"] = 24] = \"USER\";\n})(ERROR = exports.ERROR || (exports.ERROR = {}));\nvar TYPE;\n(function (TYPE) {\n TYPE[TYPE[\"BOTH\"] = 0] = \"BOTH\";\n TYPE[TYPE[\"REQUEST\"] = 1] = \"REQUEST\";\n TYPE[TYPE[\"RESPONSE\"] = 2] = \"RESPONSE\";\n})(TYPE = exports.TYPE || (exports.TYPE = {}));\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"CONNECTION_KEEP_ALIVE\"] = 1] = \"CONNECTION_KEEP_ALIVE\";\n FLAGS[FLAGS[\"CONNECTION_CLOSE\"] = 2] = \"CONNECTION_CLOSE\";\n FLAGS[FLAGS[\"CONNECTION_UPGRADE\"] = 4] = \"CONNECTION_UPGRADE\";\n FLAGS[FLAGS[\"CHUNKED\"] = 8] = \"CHUNKED\";\n FLAGS[FLAGS[\"UPGRADE\"] = 16] = \"UPGRADE\";\n FLAGS[FLAGS[\"CONTENT_LENGTH\"] = 32] = \"CONTENT_LENGTH\";\n FLAGS[FLAGS[\"SKIPBODY\"] = 64] = \"SKIPBODY\";\n FLAGS[FLAGS[\"TRAILING\"] = 128] = \"TRAILING\";\n // 1 << 8 is unused\n FLAGS[FLAGS[\"TRANSFER_ENCODING\"] = 512] = \"TRANSFER_ENCODING\";\n})(FLAGS = exports.FLAGS || (exports.FLAGS = {}));\nvar LENIENT_FLAGS;\n(function (LENIENT_FLAGS) {\n LENIENT_FLAGS[LENIENT_FLAGS[\"HEADERS\"] = 1] = \"HEADERS\";\n LENIENT_FLAGS[LENIENT_FLAGS[\"CHUNKED_LENGTH\"] = 2] = \"CHUNKED_LENGTH\";\n LENIENT_FLAGS[LENIENT_FLAGS[\"KEEP_ALIVE\"] = 4] = \"KEEP_ALIVE\";\n})(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}));\nvar METHODS;\n(function (METHODS) {\n METHODS[METHODS[\"DELETE\"] = 0] = \"DELETE\";\n METHODS[METHODS[\"GET\"] = 1] = \"GET\";\n METHODS[METHODS[\"HEAD\"] = 2] = \"HEAD\";\n METHODS[METHODS[\"POST\"] = 3] = \"POST\";\n METHODS[METHODS[\"PUT\"] = 4] = \"PUT\";\n /* pathological */\n METHODS[METHODS[\"CONNECT\"] = 5] = \"CONNECT\";\n METHODS[METHODS[\"OPTIONS\"] = 6] = \"OPTIONS\";\n METHODS[METHODS[\"TRACE\"] = 7] = \"TRACE\";\n /* WebDAV */\n METHODS[METHODS[\"COPY\"] = 8] = \"COPY\";\n METHODS[METHODS[\"LOCK\"] = 9] = \"LOCK\";\n METHODS[METHODS[\"MKCOL\"] = 10] = \"MKCOL\";\n METHODS[METHODS[\"MOVE\"] = 11] = \"MOVE\";\n METHODS[METHODS[\"PROPFIND\"] = 12] = \"PROPFIND\";\n METHODS[METHODS[\"PROPPATCH\"] = 13] = \"PROPPATCH\";\n METHODS[METHODS[\"SEARCH\"] = 14] = \"SEARCH\";\n METHODS[METHODS[\"UNLOCK\"] = 15] = \"UNLOCK\";\n METHODS[METHODS[\"BIND\"] = 16] = \"BIND\";\n METHODS[METHODS[\"REBIND\"] = 17] = \"REBIND\";\n METHODS[METHODS[\"UNBIND\"] = 18] = \"UNBIND\";\n METHODS[METHODS[\"ACL\"] = 19] = \"ACL\";\n /* subversion */\n METHODS[METHODS[\"REPORT\"] = 20] = \"REPORT\";\n METHODS[METHODS[\"MKACTIVITY\"] = 21] = \"MKACTIVITY\";\n METHODS[METHODS[\"CHECKOUT\"] = 22] = \"CHECKOUT\";\n METHODS[METHODS[\"MERGE\"] = 23] = \"MERGE\";\n /* upnp */\n METHODS[METHODS[\"M-SEARCH\"] = 24] = \"M-SEARCH\";\n METHODS[METHODS[\"NOTIFY\"] = 25] = \"NOTIFY\";\n METHODS[METHODS[\"SUBSCRIBE\"] = 26] = \"SUBSCRIBE\";\n METHODS[METHODS[\"UNSUBSCRIBE\"] = 27] = \"UNSUBSCRIBE\";\n /* RFC-5789 */\n METHODS[METHODS[\"PATCH\"] = 28] = \"PATCH\";\n METHODS[METHODS[\"PURGE\"] = 29] = \"PURGE\";\n /* CalDAV */\n METHODS[METHODS[\"MKCALENDAR\"] = 30] = \"MKCALENDAR\";\n /* RFC-2068, section 19.6.1.2 */\n METHODS[METHODS[\"LINK\"] = 31] = \"LINK\";\n METHODS[METHODS[\"UNLINK\"] = 32] = \"UNLINK\";\n /* icecast */\n METHODS[METHODS[\"SOURCE\"] = 33] = \"SOURCE\";\n /* RFC-7540, section 11.6 */\n METHODS[METHODS[\"PRI\"] = 34] = \"PRI\";\n /* RFC-2326 RTSP */\n METHODS[METHODS[\"DESCRIBE\"] = 35] = \"DESCRIBE\";\n METHODS[METHODS[\"ANNOUNCE\"] = 36] = \"ANNOUNCE\";\n METHODS[METHODS[\"SETUP\"] = 37] = \"SETUP\";\n METHODS[METHODS[\"PLAY\"] = 38] = \"PLAY\";\n METHODS[METHODS[\"PAUSE\"] = 39] = \"PAUSE\";\n METHODS[METHODS[\"TEARDOWN\"] = 40] = \"TEARDOWN\";\n METHODS[METHODS[\"GET_PARAMETER\"] = 41] = \"GET_PARAMETER\";\n METHODS[METHODS[\"SET_PARAMETER\"] = 42] = \"SET_PARAMETER\";\n METHODS[METHODS[\"REDIRECT\"] = 43] = \"REDIRECT\";\n METHODS[METHODS[\"RECORD\"] = 44] = \"RECORD\";\n /* RAOP */\n METHODS[METHODS[\"FLUSH\"] = 45] = \"FLUSH\";\n})(METHODS = exports.METHODS || (exports.METHODS = {}));\nexports.METHODS_HTTP = [\n METHODS.DELETE,\n METHODS.GET,\n METHODS.HEAD,\n METHODS.POST,\n METHODS.PUT,\n METHODS.CONNECT,\n METHODS.OPTIONS,\n METHODS.TRACE,\n METHODS.COPY,\n METHODS.LOCK,\n METHODS.MKCOL,\n METHODS.MOVE,\n METHODS.PROPFIND,\n METHODS.PROPPATCH,\n METHODS.SEARCH,\n METHODS.UNLOCK,\n METHODS.BIND,\n METHODS.REBIND,\n METHODS.UNBIND,\n METHODS.ACL,\n METHODS.REPORT,\n METHODS.MKACTIVITY,\n METHODS.CHECKOUT,\n METHODS.MERGE,\n METHODS['M-SEARCH'],\n METHODS.NOTIFY,\n METHODS.SUBSCRIBE,\n METHODS.UNSUBSCRIBE,\n METHODS.PATCH,\n METHODS.PURGE,\n METHODS.MKCALENDAR,\n METHODS.LINK,\n METHODS.UNLINK,\n METHODS.PRI,\n // TODO(indutny): should we allow it with HTTP?\n METHODS.SOURCE,\n];\nexports.METHODS_ICE = [\n METHODS.SOURCE,\n];\nexports.METHODS_RTSP = [\n METHODS.OPTIONS,\n METHODS.DESCRIBE,\n METHODS.ANNOUNCE,\n METHODS.SETUP,\n METHODS.PLAY,\n METHODS.PAUSE,\n METHODS.TEARDOWN,\n METHODS.GET_PARAMETER,\n METHODS.SET_PARAMETER,\n METHODS.REDIRECT,\n METHODS.RECORD,\n METHODS.FLUSH,\n // For AirPlay\n METHODS.GET,\n METHODS.POST,\n];\nexports.METHOD_MAP = utils_1.enumToMap(METHODS);\nexports.H_METHOD_MAP = {};\nObject.keys(exports.METHOD_MAP).forEach((key) => {\n if (/^H/.test(key)) {\n exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key];\n }\n});\nvar FINISH;\n(function (FINISH) {\n FINISH[FINISH[\"SAFE\"] = 0] = \"SAFE\";\n FINISH[FINISH[\"SAFE_WITH_CB\"] = 1] = \"SAFE_WITH_CB\";\n FINISH[FINISH[\"UNSAFE\"] = 2] = \"UNSAFE\";\n})(FINISH = exports.FINISH || (exports.FINISH = {}));\nexports.ALPHA = [];\nfor (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) {\n // Upper case\n exports.ALPHA.push(String.fromCharCode(i));\n // Lower case\n exports.ALPHA.push(String.fromCharCode(i + 0x20));\n}\nexports.NUM_MAP = {\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,\n 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\n};\nexports.HEX_MAP = {\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,\n 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\n A: 0XA, B: 0XB, C: 0XC, D: 0XD, E: 0XE, F: 0XF,\n a: 0xa, b: 0xb, c: 0xc, d: 0xd, e: 0xe, f: 0xf,\n};\nexports.NUM = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n];\nexports.ALPHANUM = exports.ALPHA.concat(exports.NUM);\nexports.MARK = ['-', '_', '.', '!', '~', '*', '\\'', '(', ')'];\nexports.USERINFO_CHARS = exports.ALPHANUM\n .concat(exports.MARK)\n .concat(['%', ';', ':', '&', '=', '+', '$', ',']);\n// TODO(indutny): use RFC\nexports.STRICT_URL_CHAR = [\n '!', '\"', '$', '%', '&', '\\'',\n '(', ')', '*', '+', ',', '-', '.', '/',\n ':', ';', '<', '=', '>',\n '@', '[', '\\\\', ']', '^', '_',\n '`',\n '{', '|', '}', '~',\n].concat(exports.ALPHANUM);\nexports.URL_CHAR = exports.STRICT_URL_CHAR\n .concat(['\\t', '\\f']);\n// All characters with 0x80 bit set to 1\nfor (let i = 0x80; i <= 0xff; i++) {\n exports.URL_CHAR.push(i);\n}\nexports.HEX = exports.NUM.concat(['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']);\n/* Tokens as defined by rfc 2616. Also lowercases them.\n * token = 1*\n * separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n * | \",\" | \";\" | \":\" | \"\\\" | <\">\n * | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n * | \"{\" | \"}\" | SP | HT\n */\nexports.STRICT_TOKEN = [\n '!', '#', '$', '%', '&', '\\'',\n '*', '+', '-', '.',\n '^', '_', '`',\n '|', '~',\n].concat(exports.ALPHANUM);\nexports.TOKEN = exports.STRICT_TOKEN.concat([' ']);\n/*\n * Verify that a char is a valid visible (printable) US-ASCII\n * character or %x80-FF\n */\nexports.HEADER_CHARS = ['\\t'];\nfor (let i = 32; i <= 255; i++) {\n if (i !== 127) {\n exports.HEADER_CHARS.push(i);\n }\n}\n// ',' = \\x44\nexports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);\nexports.MAJOR = exports.NUM_MAP;\nexports.MINOR = exports.MAJOR;\nvar HEADER_STATE;\n(function (HEADER_STATE) {\n HEADER_STATE[HEADER_STATE[\"GENERAL\"] = 0] = \"GENERAL\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION\"] = 1] = \"CONNECTION\";\n HEADER_STATE[HEADER_STATE[\"CONTENT_LENGTH\"] = 2] = \"CONTENT_LENGTH\";\n HEADER_STATE[HEADER_STATE[\"TRANSFER_ENCODING\"] = 3] = \"TRANSFER_ENCODING\";\n HEADER_STATE[HEADER_STATE[\"UPGRADE\"] = 4] = \"UPGRADE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_KEEP_ALIVE\"] = 5] = \"CONNECTION_KEEP_ALIVE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_CLOSE\"] = 6] = \"CONNECTION_CLOSE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_UPGRADE\"] = 7] = \"CONNECTION_UPGRADE\";\n HEADER_STATE[HEADER_STATE[\"TRANSFER_ENCODING_CHUNKED\"] = 8] = \"TRANSFER_ENCODING_CHUNKED\";\n})(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}));\nexports.SPECIAL_HEADERS = {\n 'connection': HEADER_STATE.CONNECTION,\n 'content-length': HEADER_STATE.CONTENT_LENGTH,\n 'proxy-connection': HEADER_STATE.CONNECTION,\n 'transfer-encoding': HEADER_STATE.TRANSFER_ENCODING,\n 'upgrade': HEADER_STATE.UPGRADE,\n};\n//# sourceMappingURL=constants.js.map","'use strict'\n\nconst { Buffer } = require('node:buffer')\n\nmodule.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK07MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv', 'base64')\n","'use strict'\n\nconst { Buffer } = require('node:buffer')\n\nmodule.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEVDF8LQZIBIQMgASAERg2aAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGhzwBqLQAARw1dIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAybAgsgAkEANgIAIAZBAWohAUEeDF4LIAEgBEYEQEGTASEDDJoCCyABLQAAQcwARw1bIAFBAWohAUEKDF0LIAEgBEYEQEGUASEDDJkCCwJAAkAgAS0AAEHBAGsODwBcXFxcXFxcXFxcXFxcAVwLIAFBAWohAUH+ACEDDIACCyABQQFqIQFB/wAhAwz/AQsgASAERgRAQZUBIQMMmAILAkACQCABLQAAQcEAaw4DAFsBWwsgAUEBaiEBQf0AIQMM/wELIAFBAWohAUGAASEDDP4BC0GWASEDIAEgBEYNlgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBp88Aai0AAEcNWSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlwILIAJBADYCACAGQQFqIQFBCwxaCyABIARGBEBBlwEhAwyWAgsCQAJAAkACQCABLQAAQS1rDiMAW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1sBW1tbW1sCW1tbA1sLIAFBAWohAUH7ACEDDP8BCyABQQFqIQFB/AAhAwz+AQsgAUEBaiEBQYEBIQMM/QELIAFBAWohAUGCASEDDPwBC0GYASEDIAEgBEYNlAIgAigCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBqc8Aai0AAEcNVyAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlQILIAJBADYCACAGQQFqIQFBGQxYC0GZASEDIAEgBEYNkwIgAigCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBrs8Aai0AAEcNViAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlAILIAJBADYCACAGQQFqIQFBBgxXC0GaASEDIAEgBEYNkgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBtM8Aai0AAEcNVSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkwILIAJBADYCACAGQQFqIQFBHAxWC0GbASEDIAEgBEYNkQIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBts8Aai0AAEcNVCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkgILIAJBADYCACAGQQFqIQFBJwxVCyABIARGBEBBnAEhAwyRAgsCQAJAIAEtAABB1ABrDgIAAVQLIAFBAWohAUGGASEDDPgBCyABQQFqIQFBhwEhAwz3AQtBnQEhAyABIARGDY8CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjPAGotAABHDVIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADJACCyACQQA2AgAgBkEBaiEBQSYMUwtBngEhAyABIARGDY4CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbrPAGotAABHDVEgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI8CCyACQQA2AgAgBkEBaiEBQQMMUgtBnwEhAyABIARGDY0CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDVAgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI4CCyACQQA2AgAgBkEBaiEBQQwMUQtBoAEhAyABIARGDYwCIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQbzPAGotAABHDU8gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI0CCyACQQA2AgAgBkEBaiEBQQ0MUAsgASAERgRAQaEBIQMMjAILAkACQCABLQAAQcYAaw4LAE9PT09PT09PTwFPCyABQQFqIQFBiwEhAwzzAQsgAUEBaiEBQYwBIQMM8gELIAEgBEYEQEGiASEDDIsCCyABLQAAQdAARw1MIAFBAWohAQxGCyABIARGBEBBowEhAwyKAgsCQAJAIAEtAABByQBrDgcBTU1NTU0ATQsgAUEBaiEBQY4BIQMM8QELIAFBAWohAUEiDE0LQaQBIQMgASAERg2IAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHAzwBqLQAARw1LIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyJAgsgAkEANgIAIAZBAWohAUEdDEwLIAEgBEYEQEGlASEDDIgCCwJAAkAgAS0AAEHSAGsOAwBLAUsLIAFBAWohAUGQASEDDO8BCyABQQFqIQFBBAxLCyABIARGBEBBpgEhAwyHAgsCQAJAAkACQAJAIAEtAABBwQBrDhUATU1NTU1NTU1NTQFNTQJNTQNNTQRNCyABQQFqIQFBiAEhAwzxAQsgAUEBaiEBQYkBIQMM8AELIAFBAWohAUGKASEDDO8BCyABQQFqIQFBjwEhAwzuAQsgAUEBaiEBQZEBIQMM7QELQacBIQMgASAERg2FAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHtzwBqLQAARw1IIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyGAgsgAkEANgIAIAZBAWohAUERDEkLQagBIQMgASAERg2EAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHCzwBqLQAARw1HIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyFAgsgAkEANgIAIAZBAWohAUEsDEgLQakBIQMgASAERg2DAiACKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHFzwBqLQAARw1GIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyEAgsgAkEANgIAIAZBAWohAUErDEcLQaoBIQMgASAERg2CAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHKzwBqLQAARw1FIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyDAgsgAkEANgIAIAZBAWohAUEUDEYLIAEgBEYEQEGrASEDDIICCwJAAkACQAJAIAEtAABBwgBrDg8AAQJHR0dHR0dHR0dHRwNHCyABQQFqIQFBkwEhAwzrAQsgAUEBaiEBQZQBIQMM6gELIAFBAWohAUGVASEDDOkBCyABQQFqIQFBlgEhAwzoAQsgASAERgRAQawBIQMMgQILIAEtAABBxQBHDUIgAUEBaiEBDD0LQa0BIQMgASAERg3/ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHNzwBqLQAARw1CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyAAgsgAkEANgIAIAZBAWohAUEODEMLIAEgBEYEQEGuASEDDP8BCyABLQAAQdAARw1AIAFBAWohAUElDEILQa8BIQMgASAERg39ASACKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEHQzwBqLQAARw1AIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz+AQsgAkEANgIAIAZBAWohAUEqDEELIAEgBEYEQEGwASEDDP0BCwJAAkAgAS0AAEHVAGsOCwBAQEBAQEBAQEABQAsgAUEBaiEBQZoBIQMM5AELIAFBAWohAUGbASEDDOMBCyABIARGBEBBsQEhAwz8AQsCQAJAIAEtAABBwQBrDhQAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/AT8LIAFBAWohAUGZASEDDOMBCyABQQFqIQFBnAEhAwziAQtBsgEhAyABIARGDfoBIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQdnPAGotAABHDT0gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPsBCyACQQA2AgAgBkEBaiEBQSEMPgtBswEhAyABIARGDfkBIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQd3PAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPoBCyACQQA2AgAgBkEBaiEBQRoMPQsgASAERgRAQbQBIQMM+QELAkACQAJAIAEtAABBxQBrDhEAPT09PT09PT09AT09PT09Aj0LIAFBAWohAUGdASEDDOEBCyABQQFqIQFBngEhAwzgAQsgAUEBaiEBQZ8BIQMM3wELQbUBIQMgASAERg33ASACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHkzwBqLQAARw06IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz4AQsgAkEANgIAIAZBAWohAUEoDDsLQbYBIQMgASAERg32ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHqzwBqLQAARw05IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz3AQsgAkEANgIAIAZBAWohAUEHDDoLIAEgBEYEQEG3ASEDDPYBCwJAAkAgAS0AAEHFAGsODgA5OTk5OTk5OTk5OTkBOQsgAUEBaiEBQaEBIQMM3QELIAFBAWohAUGiASEDDNwBC0G4ASEDIAEgBEYN9AEgAigCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB7c8Aai0AAEcNNyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9QELIAJBADYCACAGQQFqIQFBEgw4C0G5ASEDIAEgBEYN8wEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8M8Aai0AAEcNNiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9AELIAJBADYCACAGQQFqIQFBIAw3C0G6ASEDIAEgBEYN8gEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8s8Aai0AAEcNNSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8wELIAJBADYCACAGQQFqIQFBDww2CyABIARGBEBBuwEhAwzyAQsCQAJAIAEtAABByQBrDgcANTU1NTUBNQsgAUEBaiEBQaUBIQMM2QELIAFBAWohAUGmASEDDNgBC0G8ASEDIAEgBEYN8AEgAigCACIAIAQgAWtqIQUgASAAa0EHaiEGAkADQCABLQAAIABB9M8Aai0AAEcNMyAAQQdGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8QELIAJBADYCACAGQQFqIQFBGww0CyABIARGBEBBvQEhAwzwAQsCQAJAAkAgAS0AAEHCAGsOEgA0NDQ0NDQ0NDQBNDQ0NDQ0AjQLIAFBAWohAUGkASEDDNgBCyABQQFqIQFBpwEhAwzXAQsgAUEBaiEBQagBIQMM1gELIAEgBEYEQEG+ASEDDO8BCyABLQAAQc4ARw0wIAFBAWohAQwsCyABIARGBEBBvwEhAwzuAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQcEAaw4VAAECAz8EBQY/Pz8HCAkKCz8MDQ4PPwsgAUEBaiEBQegAIQMM4wELIAFBAWohAUHpACEDDOIBCyABQQFqIQFB7gAhAwzhAQsgAUEBaiEBQfIAIQMM4AELIAFBAWohAUHzACEDDN8BCyABQQFqIQFB9gAhAwzeAQsgAUEBaiEBQfcAIQMM3QELIAFBAWohAUH6ACEDDNwBCyABQQFqIQFBgwEhAwzbAQsgAUEBaiEBQYQBIQMM2gELIAFBAWohAUGFASEDDNkBCyABQQFqIQFBkgEhAwzYAQsgAUEBaiEBQZgBIQMM1wELIAFBAWohAUGgASEDDNYBCyABQQFqIQFBowEhAwzVAQsgAUEBaiEBQaoBIQMM1AELIAEgBEcEQCACQRA2AgggAiABNgIEQasBIQMM1AELQcABIQMM7AELQQAhAAJAIAIoAjgiA0UNACADKAI0IgNFDQAgAiADEQAAIQALIABFDV4gAEEVRw0HIAJB0QA2AhwgAiABNgIUIAJBsBc2AhAgAkEVNgIMQQAhAwzrAQsgAUEBaiABIARHDQgaQcIBIQMM6gELA0ACQCABLQAAQQprDgQIAAALAAsgBCABQQFqIgFHDQALQcMBIQMM6QELIAEgBEcEQCACQRE2AgggAiABNgIEQQEhAwzQAQtBxAEhAwzoAQsgASAERgRAQcUBIQMM6AELAkACQCABLQAAQQprDgQBKCgAKAsgAUEBagwJCyABQQFqDAULIAEgBEYEQEHGASEDDOcBCwJAAkAgAS0AAEEKaw4XAQsLAQsLCwsLCwsLCwsLCwsLCwsLCwALCyABQQFqIQELQbABIQMMzQELIAEgBEYEQEHIASEDDOYBCyABLQAAQSBHDQkgAkEAOwEyIAFBAWohAUGzASEDDMwBCwNAIAEhAAJAIAEgBEcEQCABLQAAQTBrQf8BcSIDQQpJDQEMJwtBxwEhAwzmAQsCQCACLwEyIgFBmTNLDQAgAiABQQpsIgU7ATIgBUH+/wNxIANB//8Dc0sNACAAQQFqIQEgAiADIAVqIgM7ATIgA0H//wNxQegHSQ0BCwtBACEDIAJBADYCHCACQcEJNgIQIAJBDTYCDCACIABBAWo2AhQM5AELIAJBADYCHCACIAE2AhQgAkHwDDYCECACQRs2AgxBACEDDOMBCyACKAIEIQAgAkEANgIEIAIgACABECYiAA0BIAFBAWoLIQFBrQEhAwzIAQsgAkHBATYCHCACIAA2AgwgAiABQQFqNgIUQQAhAwzgAQsgAigCBCEAIAJBADYCBCACIAAgARAmIgANASABQQFqCyEBQa4BIQMMxQELIAJBwgE2AhwgAiAANgIMIAIgAUEBajYCFEEAIQMM3QELIAJBADYCHCACIAE2AhQgAkGXCzYCECACQQ02AgxBACEDDNwBCyACQQA2AhwgAiABNgIUIAJB4xA2AhAgAkEJNgIMQQAhAwzbAQsgAkECOgAoDKwBC0EAIQMgAkEANgIcIAJBrws2AhAgAkECNgIMIAIgAUEBajYCFAzZAQtBAiEDDL8BC0ENIQMMvgELQSYhAwy9AQtBFSEDDLwBC0EWIQMMuwELQRghAwy6AQtBHCEDDLkBC0EdIQMMuAELQSAhAwy3AQtBISEDDLYBC0EjIQMMtQELQcYAIQMMtAELQS4hAwyzAQtBPSEDDLIBC0HLACEDDLEBC0HOACEDDLABC0HYACEDDK8BC0HZACEDDK4BC0HbACEDDK0BC0HxACEDDKwBC0H0ACEDDKsBC0GNASEDDKoBC0GXASEDDKkBC0GpASEDDKgBC0GvASEDDKcBC0GxASEDDKYBCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB8Rs2AhAgAkEGNgIMDL0BCyACQQA2AgAgBkEBaiEBQSQLOgApIAIoAgQhACACQQA2AgQgAiAAIAEQJyIARQRAQeUAIQMMowELIAJB+QA2AhwgAiABNgIUIAIgADYCDEEAIQMMuwELIABBFUcEQCACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwy7AQsgAkH4ADYCHCACIAE2AhQgAkHKGDYCECACQRU2AgxBACEDDLoBCyACQQA2AhwgAiABNgIUIAJBjhs2AhAgAkEGNgIMQQAhAwy5AQsgAkEANgIcIAIgATYCFCACQf4RNgIQIAJBBzYCDEEAIQMMuAELIAJBADYCHCACIAE2AhQgAkGMHDYCECACQQc2AgxBACEDDLcBCyACQQA2AhwgAiABNgIUIAJBww82AhAgAkEHNgIMQQAhAwy2AQsgAkEANgIcIAIgATYCFCACQcMPNgIQIAJBBzYCDEEAIQMMtQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==', 'base64')\n","'use strict'\n\nconst corsSafeListedMethods = /** @type {const} */ (['GET', 'HEAD', 'POST'])\nconst corsSafeListedMethodsSet = new Set(corsSafeListedMethods)\n\nconst nullBodyStatus = /** @type {const} */ ([101, 204, 205, 304])\n\nconst redirectStatus = /** @type {const} */ ([301, 302, 303, 307, 308])\nconst redirectStatusSet = new Set(redirectStatus)\n\n/**\n * @see https://fetch.spec.whatwg.org/#block-bad-port\n */\nconst badPorts = /** @type {const} */ ([\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', '4190', '5060', '5061', '6000', '6566', '6665', '6666', '6667', '6668', '6669', '6679',\n '6697', '10080'\n])\nconst badPortsSet = new Set(badPorts)\n\n/**\n * @see https://w3c.github.io/webappsec-referrer-policy/#referrer-policies\n */\nconst referrerPolicy = /** @type {const} */ ([\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])\nconst referrerPolicySet = new Set(referrerPolicy)\n\nconst requestRedirect = /** @type {const} */ (['follow', 'manual', 'error'])\n\nconst safeMethods = /** @type {const} */ (['GET', 'HEAD', 'OPTIONS', 'TRACE'])\nconst safeMethodsSet = new Set(safeMethods)\n\nconst requestMode = /** @type {const} */ (['navigate', 'same-origin', 'no-cors', 'cors'])\n\nconst requestCredentials = /** @type {const} */ (['omit', 'same-origin', 'include'])\n\nconst requestCache = /** @type {const} */ ([\n 'default',\n 'no-store',\n 'reload',\n 'no-cache',\n 'force-cache',\n 'only-if-cached'\n])\n\n/**\n * @see https://fetch.spec.whatwg.org/#request-body-header-name\n */\nconst requestBodyHeader = /** @type {const} */ ([\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/**\n * @see https://fetch.spec.whatwg.org/#enumdef-requestduplex\n */\nconst requestDuplex = /** @type {const} */ ([\n 'half'\n])\n\n/**\n * @see http://fetch.spec.whatwg.org/#forbidden-method\n */\nconst forbiddenMethods = /** @type {const} */ (['CONNECT', 'TRACE', 'TRACK'])\nconst forbiddenMethodsSet = new Set(forbiddenMethods)\n\nconst subresource = /** @type {const} */ ([\n 'audio',\n 'audioworklet',\n 'font',\n 'image',\n 'manifest',\n 'paintworklet',\n 'script',\n 'style',\n 'track',\n 'video',\n 'xslt',\n ''\n])\nconst subresourceSet = new Set(subresource)\n\nmodule.exports = {\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 subresourceSet,\n badPortsSet,\n redirectStatusSet,\n corsSafeListedMethodsSet,\n safeMethodsSet,\n forbiddenMethodsSet,\n referrerPolicySet\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 (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 assert = require('node:assert')\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\nconst ASCII_WHITESPACE_REPLACE_REGEX = /[\\u0009\\u000A\\u000C\\u000D\\u0020]/g // 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’s 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 if (!excludeFragment) {\n return url.href\n }\n\n const href = url.href\n const hashLength = url.hash.length\n\n const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength)\n\n if (!hashLength && href.endsWith('#')) {\n return serialized.slice(0, -1)\n }\n\n return serialized\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’t 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/**\n * @param {number} byte\n */\nfunction isHexCharByte (byte) {\n // 0-9 A-F a-f\n return (byte >= 0x30 && byte <= 0x39) || (byte >= 0x41 && byte <= 0x46) || (byte >= 0x61 && byte <= 0x66)\n}\n\n/**\n * @param {number} byte\n */\nfunction hexByteToNumber (byte) {\n return (\n // 0-9\n byte >= 0x30 && byte <= 0x39\n ? (byte - 48)\n // Convert to uppercase\n // ((byte & 0xDF) - 65) + 10\n : ((byte & 0xDF) - 55)\n )\n}\n\n// https://url.spec.whatwg.org/#percent-decode\n/** @param {Uint8Array} input */\nfunction percentDecode (input) {\n const length = input.length\n // 1. Let output be an empty byte sequence.\n /** @type {Uint8Array} */\n const output = new Uint8Array(length)\n let j = 0\n // 2. For each byte byte in input:\n for (let i = 0; i < 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[j++] = 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 !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))\n ) {\n output[j++] = 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 // 2. Append a byte whose value is bytePoint to output.\n output[j++] = (hexByteToNumber(input[i + 1]) << 4) | hexByteToNumber(input[i + 2])\n\n // 3. Skip the next two bytes in input.\n i += 2\n }\n }\n\n // 3. Return output.\n return length === j ? output : output.subarray(0, j)\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} */\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’s parameters[parameterName] does not exist\n // then set mimeType’s 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(ASCII_WHITESPACE_REPLACE_REGEX, '') // eslint-disable-line\n\n let dataLength = data.length\n // 2. If data’s code point length divides by 4 leaving\n // no remainder, then:\n if (dataLength % 4 === 0) {\n // 1. If data ends with one or two U+003D (=) code points,\n // then remove them from data.\n if (data.charCodeAt(dataLength - 1) === 0x003D) {\n --dataLength\n if (data.charCodeAt(dataLength - 1) === 0x003D) {\n --dataLength\n }\n }\n }\n\n // 3. If data’s code point length divides by 4 leaving\n // a remainder of 1, then return failure.\n if (dataLength % 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.length === dataLength ? data : data.substring(0, dataLength))) {\n return 'failure'\n }\n\n const buffer = Buffer.from(data, 'base64')\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength)\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’s\n // type, U+002F (/), and mimeType’s subtype.\n let serialization = essence\n\n // 2. For each name → value of mimeType’s 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 occurrence 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 {number} char\n */\nfunction isHTTPWhiteSpace (char) {\n // \"\\r\\n\\t \"\n return char === 0x00d || char === 0x00a || char === 0x009 || char === 0x020\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#http-whitespace\n * @param {string} str\n * @param {boolean} [leading=true]\n * @param {boolean} [trailing=true]\n */\nfunction removeHTTPWhitespace (str, leading = true, trailing = true) {\n return removeChars(str, leading, trailing, isHTTPWhiteSpace)\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n * @param {number} char\n */\nfunction isASCIIWhitespace (char) {\n // \"\\r\\n\\t\\f \"\n return char === 0x00d || char === 0x00a || char === 0x009 || char === 0x00c || char === 0x020\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace\n * @param {string} str\n * @param {boolean} [leading=true]\n * @param {boolean} [trailing=true]\n */\nfunction removeASCIIWhitespace (str, leading = true, trailing = true) {\n return removeChars(str, leading, trailing, isASCIIWhitespace)\n}\n\n/**\n * @param {string} str\n * @param {boolean} leading\n * @param {boolean} trailing\n * @param {(charCode: number) => boolean} predicate\n * @returns\n */\nfunction removeChars (str, leading, trailing, predicate) {\n let lead = 0\n let trail = str.length - 1\n\n if (leading) {\n while (lead < str.length && predicate(str.charCodeAt(lead))) lead++\n }\n\n if (trailing) {\n while (trail > 0 && predicate(str.charCodeAt(trail))) trail--\n }\n\n return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1)\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#isomorphic-decode\n * @param {Uint8Array} input\n * @returns {string}\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’s length and whose code points have the same values\n // as the values of input’s bytes, in the same order.\n const length = input.length\n if ((2 << 15) - 1 > length) {\n return String.fromCharCode.apply(null, input)\n }\n let result = ''; let i = 0\n let addition = (2 << 15) - 1\n while (i < length) {\n if (i + addition > length) {\n addition = length - i\n }\n result += String.fromCharCode.apply(null, input.subarray(i, i += addition))\n }\n return result\n}\n\n/**\n * @see https://mimesniff.spec.whatwg.org/#minimize-a-supported-mime-type\n * @param {Exclude, 'failure'>} mimeType\n */\nfunction minimizeSupportedMimeType (mimeType) {\n switch (mimeType.essence) {\n case 'application/ecmascript':\n case 'application/javascript':\n case 'application/x-ecmascript':\n case 'application/x-javascript':\n case 'text/ecmascript':\n case 'text/javascript':\n case 'text/javascript1.0':\n case 'text/javascript1.1':\n case 'text/javascript1.2':\n case 'text/javascript1.3':\n case 'text/javascript1.4':\n case 'text/javascript1.5':\n case 'text/jscript':\n case 'text/livescript':\n case 'text/x-ecmascript':\n case 'text/x-javascript':\n // 1. If mimeType is a JavaScript MIME type, then return \"text/javascript\".\n return 'text/javascript'\n case 'application/json':\n case 'text/json':\n // 2. If mimeType is a JSON MIME type, then return \"application/json\".\n return 'application/json'\n case 'image/svg+xml':\n // 3. If mimeType’s essence is \"image/svg+xml\", then return \"image/svg+xml\".\n return 'image/svg+xml'\n case 'text/xml':\n case 'application/xml':\n // 4. If mimeType is an XML MIME type, then return \"application/xml\".\n return 'application/xml'\n }\n\n // 2. If mimeType is a JSON MIME type, then return \"application/json\".\n if (mimeType.subtype.endsWith('+json')) {\n return 'application/json'\n }\n\n // 4. If mimeType is an XML MIME type, then return \"application/xml\".\n if (mimeType.subtype.endsWith('+xml')) {\n return 'application/xml'\n }\n\n // 5. If mimeType is supported by the user agent, then return mimeType’s essence.\n // Technically, node doesn't support any mimetypes.\n\n // 6. Return the empty string.\n return ''\n}\n\nmodule.exports = {\n dataURLProcessor,\n URLSerializer,\n collectASequenceOfCodePoints,\n collectASequenceOfCodePointsFast,\n stringPercentDecode,\n parseMIMEType,\n collectAnHTTPQuotedString,\n serializeAMimeType,\n removeChars,\n removeHTTPWhitespace,\n minimizeSupportedMimeType,\n HTTP_TOKEN_CODEPOINTS,\n isomorphicDecode\n}\n","'use strict'\n\nconst { types, inspect } = require('node:util')\nconst { markAsUncloneable } = require('node:worker_threads')\nconst { toUSVString } = require('../../core/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) {\n if (opts?.strict !== false) {\n if (!(V instanceof I)) {\n const err = new TypeError('Illegal invocation')\n err.code = 'ERR_INVALID_THIS' // node compat.\n throw err\n }\n } else {\n if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {\n const err = new TypeError('Illegal invocation')\n err.code = 'ERR_INVALID_THIS' // node compat.\n throw err\n }\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 header: 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\nwebidl.util.markAsUncloneable = markAsUncloneable || (() => {})\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 − 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 −2^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 − 1.\n upperBound = Math.pow(2, bitLength) - 1\n } else {\n // 3. Otherwise:\n\n // 1. Let lowerBound be -2^bitLength − 1.\n lowerBound = Math.pow(-2, bitLength) - 1\n\n // 2. Let upperBound be 2^bitLength − 1 − 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 −0, 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, +∞, or −∞, 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 ${webidl.util.Stringify(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 −0.\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, +∞, or −∞, 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 ≥ 2^bitLength − 1,\n // then return x − 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 × r.\n if (n < 0) {\n return -1 * r\n }\n\n // 3. Otherwise, return r.\n return r\n}\n\nwebidl.util.Stringify = function (V) {\n const type = webidl.util.Type(V)\n\n switch (type) {\n case 'Symbol':\n return `Symbol(${V.description})`\n case 'Object':\n return inspect(V)\n case 'String':\n return `\"${V}\"`\n default:\n return `${V}`\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-sequence\nwebidl.sequenceConverter = function (converter) {\n return (V, prefix, argument, Iterable) => {\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: prefix,\n message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`\n })\n }\n\n // 2. Let method be ? GetMethod(V, @@iterator).\n /** @type {Generator} */\n const method = typeof Iterable === 'function' ? Iterable() : V?.[Symbol.iterator]?.()\n const seq = []\n let index = 0\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: prefix,\n message: `${argument} is not iterable.`\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, prefix, `${argument}[${index++}]`))\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, prefix, argument) => {\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: prefix,\n message: `${argument} (\"${webidl.util.Type(O)}\") is not an Object.`\n })\n }\n\n // 2. Let result be a new empty instance of record.\n const result = {}\n\n if (!types.isProxy(O)) {\n // 1. Let desc be ? O.[[GetOwnProperty]](key).\n const keys = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(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, prefix, argument)\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], prefix, argument)\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, prefix, argument)\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], prefix, argument)\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, prefix, argument, opts) => {\n if (opts?.strict !== false && !(V instanceof i)) {\n throw webidl.errors.exception({\n header: prefix,\n message: `Expected ${argument} (\"${webidl.util.Stringify(V)}\") to be an instance of ${i.name}.`\n })\n }\n\n return V\n }\n}\n\nwebidl.dictionaryConverter = function (converters) {\n return (dictionary, prefix, argument) => {\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: prefix,\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 (!Object.hasOwn(dictionary, key)) {\n throw webidl.errors.exception({\n header: prefix,\n message: `Missing required key \"${key}\".`\n })\n }\n }\n\n let value = dictionary[key]\n const hasDefault = Object.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 ??= 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, prefix, `${argument}.${key}`)\n\n if (\n options.allowedValues &&\n !options.allowedValues.includes(value)\n ) {\n throw webidl.errors.exception({\n header: prefix,\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, prefix, argument) => {\n if (V === null) {\n return V\n }\n\n return converter(V, prefix, argument)\n }\n}\n\n// https://webidl.spec.whatwg.org/#es-DOMString\nwebidl.converters.DOMString = function (V, prefix, argument, 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 webidl.errors.exception({\n header: prefix,\n message: `${argument} is a symbol, which cannot be converted to a DOMString.`\n })\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, prefix, argument) {\n // 1. Let x be ? ToString(V).\n // Note: DOMString converter perform ? ToString(V)\n const x = webidl.converters.DOMString(V, prefix, argument)\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 if (x.charCodeAt(index) > 255) {\n throw new TypeError(\n 'Cannot convert argument to a ByteString because the character at ' +\n `index ${index} has a value of ${x.charCodeAt(index)} 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\n// TODO: rewrite this so we can control the errors thrown\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, prefix, argument) {\n // 1. Let x be ? ConvertToInt(V, 64, \"signed\").\n const x = webidl.util.ConvertToInt(V, 64, 'signed', undefined, prefix, argument)\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, prefix, argument) {\n // 1. Let x be ? ConvertToInt(V, 64, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 64, 'unsigned', undefined, prefix, argument)\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, prefix, argument) {\n // 1. Let x be ? ConvertToInt(V, 32, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 32, 'unsigned', undefined, prefix, argument)\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, prefix, argument, opts) {\n // 1. Let x be ? ConvertToInt(V, 16, \"unsigned\").\n const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts, prefix, argument)\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, prefix, argument, 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,\n argument: `${argument} (\"${webidl.util.Stringify(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 if (V.resizable || V.growable) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'Received a resizable ArrayBuffer.'\n })\n }\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, prefix, name, 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’s 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,\n argument: `${name} (\"${webidl.util.Stringify(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 if (V.buffer.resizable || V.buffer.growable) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'Received a resizable ArrayBuffer.'\n })\n }\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, prefix, name, 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: prefix,\n message: `${name} 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 if (V.buffer.resizable || V.buffer.growable) {\n throw webidl.errors.exception({\n header: 'ArrayBuffer',\n message: 'Received a resizable ArrayBuffer.'\n })\n }\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, prefix, name, opts) {\n if (types.isAnyArrayBuffer(V)) {\n return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false })\n }\n\n if (types.isTypedArray(V)) {\n return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false })\n }\n\n if (types.isDataView(V)) {\n return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false })\n }\n\n throw webidl.errors.conversionFailed({\n prefix,\n argument: `${name} (\"${webidl.util.Stringify(V)}\")`,\n types: ['BufferSource']\n })\n}\n\nwebidl.converters['sequence'] = webidl.sequenceConverter(\n webidl.converters.ByteString\n)\n\nwebidl.converters['sequence>'] = webidl.sequenceConverter(\n webidl.converters['sequence']\n)\n\nwebidl.converters['record'] = webidl.recordConverter(\n webidl.converters.ByteString,\n webidl.converters.ByteString\n)\n\nmodule.exports = {\n webidl\n}\n","'use strict'\n\nconst { Transform } = require('node:stream')\nconst zlib = require('node:zlib')\nconst { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require('./constants')\nconst { getGlobalOrigin } = require('./global')\nconst { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require('./data-url')\nconst { performance } = require('node:perf_hooks')\nconst { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require('../../core/util')\nconst assert = require('node:assert')\nconst { isUint8Array } = require('node:util/types')\nconst { webidl } = require('./webidl')\n\nlet supportedHashes = []\n\n// https://nodejs.org/api/crypto.html#determining-if-crypto-support-is-unavailable\n/** @type {import('crypto')} */\nlet crypto\ntry {\n crypto = require('node:crypto')\n const possibleRelevantHashes = ['sha256', 'sha384', 'sha512']\n supportedHashes = crypto.getHashes().filter((hash) => possibleRelevantHashes.includes(hash))\n/* c8 ignore next 3 */\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’s URL list and null if response’s 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’s status is not a redirect status, then return null.\n if (!redirectStatusSet.has(response.status)) {\n return null\n }\n\n // 2. Let location be the result of extracting header list values given\n // `Location` and response’s header list.\n let location = response.headersList.get('location', true)\n\n // 3. If location is a header value, then set location to the result of\n // parsing location with response’s URL.\n if (location !== null && isValidHeaderValue(location)) {\n if (!isValidEncodedURL(location)) {\n // Some websites respond location header in UTF-8 form without encoding them as ASCII\n // and major browsers redirect them to correctly UTF-8 encoded addresses.\n // Here, we handle that behavior in the same way.\n location = normalizeBinaryStringToUtf8(location)\n }\n location = new URL(location, responseURL(response))\n }\n\n // 4. If location is a URL whose fragment is null, then set location’s\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/**\n * @see https://www.rfc-editor.org/rfc/rfc1738#section-2.2\n * @param {string} url\n * @returns {boolean}\n */\nfunction isValidEncodedURL (url) {\n for (let i = 0; i < url.length; ++i) {\n const code = url.charCodeAt(i)\n\n if (\n code > 0x7E || // Non-US-ASCII + DEL\n code < 0x20 // Control characters NUL - US\n ) {\n return false\n }\n }\n return true\n}\n\n/**\n * If string contains non-ASCII characters, assumes it's UTF-8 encoded and decodes it.\n * Since UTF-8 is a superset of ASCII, this will work for ASCII strings as well.\n * @param {string} value\n * @returns {string}\n */\nfunction normalizeBinaryStringToUtf8 (value) {\n return Buffer.from(value, 'binary').toString('utf8')\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’s current URL.\n const url = requestCurrentURL(request)\n\n // 2. If url’s scheme is an HTTP(S) scheme and url’s port is a bad port,\n // then return blocked.\n if (urlIsHttpHttpsScheme(url) && badPortsSet.has(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\n/**\n * @see https://fetch.spec.whatwg.org/#header-name\n * @param {string} potentialValue\n */\nconst isValidHeaderName = isValidHTTPToken\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 return (\n potentialValue[0] === '\\t' ||\n potentialValue[0] === ' ' ||\n potentialValue[potentialValue.length - 1] === '\\t' ||\n potentialValue[potentialValue.length - 1] === ' ' ||\n potentialValue.includes('\\n') ||\n potentialValue.includes('\\r') ||\n potentialValue.includes('\\0')\n ) === false\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’s referrer policy according to the Referrer-Policy\n // header (if any) in actualResponse.\n\n // 1. Let policy be the result of executing § 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’s 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', true) ?? '').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.has(token)) {\n policy = token\n break\n }\n }\n }\n\n // 2. If policy is not the empty string, then set request’s 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’s 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’s value to r’s mode.\n header = httpRequest.mode\n\n // 4. Set a structured field value `Sec-Fetch-Mode`/header in r’s header list.\n httpRequest.headersList.set('sec-fetch-mode', header, true)\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\n // with request.\n // TODO: implement \"byte-serializing a request origin\"\n let serializedOrigin = request.origin\n\n // - \"'client' is changed to an origin during fetching.\"\n // This doesn't happen in undici (in most cases) because undici, by default,\n // has no concept of origin.\n // - request.origin can also be set to request.client.origin (client being\n // an environment settings object), which is undefined without using\n // setGlobalOrigin.\n if (serializedOrigin === 'client' || serializedOrigin === undefined) {\n return\n }\n\n // 2. If request’s response tainting is \"cors\" or request’s mode is \"websocket\",\n // then append (`Origin`, serializedOrigin) to request’s header list.\n // 3. Otherwise, if request’s method is neither `GET` nor `HEAD`, then:\n if (request.responseTainting === 'cors' || request.mode === 'websocket') {\n request.headersList.append('origin', serializedOrigin, true)\n } else if (request.method !== 'GET' && request.method !== 'HEAD') {\n // 1. Switch on request’s 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’s origin is a tuple origin, its scheme is \"https\", and\n // request’s current URL’s scheme is not \"https\", then set\n // 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’s origin is not same origin with request’s current URL’s\n // 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 // 2. Append (`Origin`, serializedOrigin) to request’s header list.\n request.headersList.append('origin', serializedOrigin, true)\n }\n}\n\n// https://w3c.github.io/hr-time/#dfn-coarsen-time\nfunction coarsenTime (timestamp, crossOriginIsolatedCapability) {\n // TODO\n return timestamp\n}\n\n// https://fetch.spec.whatwg.org/#clamp-and-coarsen-connection-timing-info\nfunction clampAndCoarsenConnectionTimingInfo (connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {\n if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {\n return {\n domainLookupStartTime: defaultStartTime,\n domainLookupEndTime: defaultStartTime,\n connectionStartTime: defaultStartTime,\n connectionEndTime: defaultStartTime,\n secureConnectionStartTime: defaultStartTime,\n ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol\n }\n }\n\n return {\n domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),\n domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),\n connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),\n connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),\n secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),\n ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol\n }\n}\n\n// https://w3c.github.io/hr-time/#dfn-coarsened-shared-current-time\nfunction coarsenedSharedCurrentTime (crossOriginIsolatedCapability) {\n return coarsenTime(performance.now(), crossOriginIsolatedCapability)\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’s client.\n\n let referrerSource = null\n\n // 3. Switch on request’s 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’s referrer.\n referrerSource = request.referrer\n }\n\n // 4. Let request’s 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’s 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’s\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’s 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’s 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 url = new URL(url)\n\n // 2. If url’s 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’s username to the empty string.\n url.username = ''\n\n // 4. Set url’s password to the empty string.\n url.password = ''\n\n // 5. Set url’s fragment to null.\n url.hash = ''\n\n // 6. If the origin-only flag is true, then:\n if (originOnly) {\n // 1. Set url’s path to « the empty string ».\n url.pathname = ''\n\n // 2. Set url’s 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 response is not eligible for integrity validation, return false.\n // TODO\n\n // 4. If parsedMetadata is the empty set, return true.\n if (parsedMetadata.length === 0) {\n return true\n }\n\n // 5. Let metadata be the result of getting the strongest\n // metadata from parsedMetadata.\n const strongest = getStrongestMetadata(parsedMetadata)\n const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest)\n\n // 6. 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 // See https://github.com/web-platform-tests/wpt/commit/e4c5cc7a5e48093220528dfdd1c4012dc3837a0e\n // \"be liberal with padding\". This is annoying, and it's not even in the spec.\n\n // 3. Let actualValue be the result of applying algorithm to bytes.\n let actualValue = crypto.createHash(algorithm).update(bytes).digest('base64')\n\n if (actualValue[actualValue.length - 1] === '=') {\n if (actualValue[actualValue.length - 2] === '=') {\n actualValue = actualValue.slice(0, -2)\n } else {\n actualValue = actualValue.slice(0, -1)\n }\n }\n\n // 4. If actualValue is a case-sensitive match for expectedValue,\n // return true.\n if (compareBase64Mixed(actualValue, expectedValue)) {\n return true\n }\n }\n\n // 7. 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 = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\\s|$)( +[!-~]*)?)?/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 // 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 (\n parsedToken === null ||\n parsedToken.groups === undefined ||\n parsedToken.groups.algo === undefined\n ) {\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.toLowerCase()\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)) {\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/**\n * @param {{ algo: 'sha256' | 'sha384' | 'sha512' }[]} metadataList\n */\nfunction getStrongestMetadata (metadataList) {\n // Let algorithm be the algo component of the first item in metadataList.\n // Can be sha256\n let algorithm = metadataList[0].algo\n // If the algorithm is sha512, then it is the strongest\n // and we can return immediately\n if (algorithm[3] === '5') {\n return algorithm\n }\n\n for (let i = 1; i < metadataList.length; ++i) {\n const metadata = metadataList[i]\n // If the algorithm is sha512, then it is the strongest\n // and we can break the loop immediately\n if (metadata.algo[3] === '5') {\n algorithm = 'sha512'\n break\n // If the algorithm is sha384, then a potential sha256 or sha384 is ignored\n } else if (algorithm[3] === '3') {\n continue\n // algorithm is sha256, check if algorithm is sha384 and if so, set it as\n // the strongest\n } else if (metadata.algo[3] === '3') {\n algorithm = 'sha384'\n }\n }\n return algorithm\n}\n\nfunction filterMetadataListByAlgorithm (metadataList, algorithm) {\n if (metadataList.length === 1) {\n return metadataList\n }\n\n let pos = 0\n for (let i = 0; i < metadataList.length; ++i) {\n if (metadataList[i].algo === algorithm) {\n metadataList[pos++] = metadataList[i]\n }\n }\n\n metadataList.length = pos\n\n return metadataList\n}\n\n/**\n * Compares two base64 strings, allowing for base64url\n * in the second string.\n *\n* @param {string} actualValue always base64\n * @param {string} expectedValue base64 or base64url\n * @returns {boolean}\n */\nfunction compareBase64Mixed (actualValue, expectedValue) {\n if (actualValue.length !== expectedValue.length) {\n return false\n }\n for (let i = 0; i < actualValue.length; ++i) {\n if (actualValue[i] !== expectedValue[i]) {\n if (\n (actualValue[i] === '+' && expectedValue[i] === '-') ||\n (actualValue[i] === '/' && expectedValue[i] === '_')\n ) {\n continue\n }\n return false\n }\n }\n\n return true\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/**\n * @see https://fetch.spec.whatwg.org/#concept-method-normalize\n * @param {string} method\n */\nfunction normalizeMethod (method) {\n return normalizedMethodRecordsBase[method.toLowerCase()] ?? 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, « value »).\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 {string} name name of the instance\n * @param {symbol} kInternalIterator\n * @param {string | number} [keyIndex]\n * @param {string | number} [valueIndex]\n */\nfunction createIterator (name, kInternalIterator, keyIndex = 0, valueIndex = 1) {\n class FastIterableIterator {\n /** @type {any} */\n #target\n /** @type {'key' | 'value' | 'key+value'} */\n #kind\n /** @type {number} */\n #index\n\n /**\n * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object\n * @param {unknown} target\n * @param {'key' | 'value' | 'key+value'} kind\n */\n constructor (target, kind) {\n this.#target = target\n this.#kind = kind\n this.#index = 0\n }\n\n next () {\n // 1. Let interface be the interface for which the iterator prototype object exists.\n // 2. Let thisValue be the this value.\n // 3. Let object be ? ToObject(thisValue).\n // 4. If object is a platform object, then perform a security\n // check, passing:\n // 5. If object is not a default iterator object for interface,\n // then throw a TypeError.\n if (typeof this !== 'object' || this === null || !(#target in this)) {\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’s index.\n // 7. Let kind be object’s kind.\n // 8. Let values be object’s target's value pairs to iterate over.\n const index = this.#index\n const values = this.#target[kInternalIterator]\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 {\n value: undefined,\n done: true\n }\n }\n\n // 11. Let pair be the entry in values at index index.\n const { [keyIndex]: key, [valueIndex]: value } = values[index]\n\n // 12. Set object’s index to index + 1.\n this.#index = index + 1\n\n // 13. Return the iterator result for pair and kind.\n\n // https://webidl.spec.whatwg.org/#iterator-result\n\n // 1. Let result be a value determined by the value of kind:\n let result\n switch (this.#kind) {\n case 'key':\n // 1. Let idlKey be pair’s key.\n // 2. Let key be the result of converting idlKey to an\n // ECMAScript value.\n // 3. result is key.\n result = key\n break\n case 'value':\n // 1. Let idlValue be pair’s value.\n // 2. Let value be the result of converting idlValue to\n // an ECMAScript value.\n // 3. result is value.\n result = value\n break\n case 'key+value':\n // 1. Let idlKey be pair’s key.\n // 2. Let idlValue be pair’s 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 = [key, value]\n break\n }\n\n // 2. Return CreateIterResultObject(result, false).\n return {\n value: result,\n done: false\n }\n }\n }\n\n // https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object\n // @ts-ignore\n delete FastIterableIterator.prototype.constructor\n\n Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype)\n\n Object.defineProperties(FastIterableIterator.prototype, {\n [Symbol.toStringTag]: {\n writable: false,\n enumerable: false,\n configurable: true,\n value: `${name} Iterator`\n },\n next: { writable: true, enumerable: true, configurable: true }\n })\n\n /**\n * @param {unknown} target\n * @param {'key' | 'value' | 'key+value'} kind\n * @returns {IterableIterator}\n */\n return function (target, kind) {\n return new FastIterableIterator(target, kind)\n }\n}\n\n/**\n * @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object\n * @param {string} name name of the instance\n * @param {any} object class\n * @param {symbol} kInternalIterator\n * @param {string | number} [keyIndex]\n * @param {string | number} [valueIndex]\n */\nfunction iteratorMixin (name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {\n const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex)\n\n const properties = {\n keys: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function keys () {\n webidl.brandCheck(this, object)\n return makeIterator(this, 'key')\n }\n },\n values: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function values () {\n webidl.brandCheck(this, object)\n return makeIterator(this, 'value')\n }\n },\n entries: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function entries () {\n webidl.brandCheck(this, object)\n return makeIterator(this, 'key+value')\n }\n },\n forEach: {\n writable: true,\n enumerable: true,\n configurable: true,\n value: function forEach (callbackfn, thisArg = globalThis) {\n webidl.brandCheck(this, object)\n webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`)\n if (typeof callbackfn !== 'function') {\n throw new TypeError(\n `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`\n )\n }\n for (const { 0: key, 1: value } of makeIterator(this, 'key+value')) {\n callbackfn.call(thisArg, value, key, this)\n }\n }\n }\n }\n\n return Object.defineProperties(object.prototype, {\n ...properties,\n [Symbol.iterator]: {\n writable: true,\n enumerable: false,\n configurable: true,\n value: properties.entries.value\n }\n })\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#body-fully-read\n */\nasync function 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 = processBody\n\n // 3. Let errorSteps be to queue a fetch task to run processBodyError,\n // with taskDestination.\n const errorSteps = processBodyError\n\n // 4. Let reader be the result of getting a reader for body’s 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 try {\n successSteps(await readAllBytes(reader))\n } catch (e) {\n errorSteps(e)\n }\n}\n\nfunction isReadableStreamLike (stream) {\n return stream instanceof ReadableStream || (\n stream[Symbol.toStringTag] === 'ReadableStream' &&\n typeof stream.tee === 'function'\n )\n}\n\n/**\n * @param {ReadableStreamController} controller\n */\nfunction readableStreamClose (controller) {\n try {\n controller.close()\n controller.byobRequest?.respond(0)\n } catch (err) {\n // TODO: add comment explaining why this error occurs.\n if (!err.message.includes('Controller is already closed') && !err.message.includes('ReadableStream is already closed')) {\n throw err\n }\n }\n}\n\nconst invalidIsomorphicEncodeValueRegex = /[^\\x00-\\xFF]/ // eslint-disable-line\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 assert(!invalidIsomorphicEncodeValueRegex.test(input))\n\n // 2. Return a byte sequence whose length is equal to input’s code\n // point length and whose bytes have the same values as the\n // values of input’s 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 */\nasync function readAllBytes (reader) {\n const bytes = []\n let byteLength = 0\n\n while (true) {\n const { done, value: chunk } = await reader.read()\n\n if (done) {\n // 1. Call successSteps with bytes.\n return Buffer.concat(bytes, byteLength)\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 throw new TypeError('Received non-Uint8Array chunk')\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 * @returns {boolean}\n */\nfunction urlHasHttpsScheme (url) {\n return (\n (\n typeof url === 'string' &&\n url[5] === ':' &&\n url[0] === 'h' &&\n url[1] === 't' &&\n url[2] === 't' &&\n url[3] === 'p' &&\n url[4] === 's'\n ) ||\n url.protocol === 'https:'\n )\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 * @see https://fetch.spec.whatwg.org/#simple-range-header-value\n * @param {string} value\n * @param {boolean} allowWhitespace\n */\nfunction simpleRangeHeaderValue (value, allowWhitespace) {\n // 1. Let data be the isomorphic decoding of value.\n // Note: isomorphic decoding takes a sequence of bytes (ie. a Uint8Array) and turns it into a string,\n // nothing more. We obviously don't need to do that if value is a string already.\n const data = value\n\n // 2. If data does not start with \"bytes\", then return failure.\n if (!data.startsWith('bytes')) {\n return 'failure'\n }\n\n // 3. Let position be a position variable for data, initially pointing at the 5th code point of data.\n const position = { position: 5 }\n\n // 4. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space,\n // from data given position.\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 5. If the code point at position within data is not U+003D (=), then return failure.\n if (data.charCodeAt(position.position) !== 0x3D) {\n return 'failure'\n }\n\n // 6. Advance position by 1.\n position.position++\n\n // 7. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space, from\n // data given position.\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 8. Let rangeStart be the result of collecting a sequence of code points that are ASCII digits,\n // from data given position.\n const rangeStart = collectASequenceOfCodePoints(\n (char) => {\n const code = char.charCodeAt(0)\n\n return code >= 0x30 && code <= 0x39\n },\n data,\n position\n )\n\n // 9. Let rangeStartValue be rangeStart, interpreted as decimal number, if rangeStart is not the\n // empty string; otherwise null.\n const rangeStartValue = rangeStart.length ? Number(rangeStart) : null\n\n // 10. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space,\n // from data given position.\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 11. If the code point at position within data is not U+002D (-), then return failure.\n if (data.charCodeAt(position.position) !== 0x2D) {\n return 'failure'\n }\n\n // 12. Advance position by 1.\n position.position++\n\n // 13. If allowWhitespace is true, collect a sequence of code points that are HTTP tab\n // or space, from data given position.\n // Note from Khafra: its the same step as in #8 again lol\n if (allowWhitespace) {\n collectASequenceOfCodePoints(\n (char) => char === '\\t' || char === ' ',\n data,\n position\n )\n }\n\n // 14. Let rangeEnd be the result of collecting a sequence of code points that are\n // ASCII digits, from data given position.\n // Note from Khafra: you wouldn't guess it, but this is also the same step as #8\n const rangeEnd = collectASequenceOfCodePoints(\n (char) => {\n const code = char.charCodeAt(0)\n\n return code >= 0x30 && code <= 0x39\n },\n data,\n position\n )\n\n // 15. Let rangeEndValue be rangeEnd, interpreted as decimal number, if rangeEnd\n // is not the empty string; otherwise null.\n // Note from Khafra: THE SAME STEP, AGAIN!!!\n // Note: why interpret as a decimal if we only collect ascii digits?\n const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null\n\n // 16. If position is not past the end of data, then return failure.\n if (position.position < data.length) {\n return 'failure'\n }\n\n // 17. If rangeEndValue and rangeStartValue are null, then return failure.\n if (rangeEndValue === null && rangeStartValue === null) {\n return 'failure'\n }\n\n // 18. If rangeStartValue and rangeEndValue are numbers, and rangeStartValue is\n // greater than rangeEndValue, then return failure.\n // Note: ... when can they not be numbers?\n if (rangeStartValue > rangeEndValue) {\n return 'failure'\n }\n\n // 19. Return (rangeStartValue, rangeEndValue).\n return { rangeStartValue, rangeEndValue }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#build-a-content-range\n * @param {number} rangeStart\n * @param {number} rangeEnd\n * @param {number} fullLength\n */\nfunction buildContentRange (rangeStart, rangeEnd, fullLength) {\n // 1. Let contentRange be `bytes `.\n let contentRange = 'bytes '\n\n // 2. Append rangeStart, serialized and isomorphic encoded, to contentRange.\n contentRange += isomorphicEncode(`${rangeStart}`)\n\n // 3. Append 0x2D (-) to contentRange.\n contentRange += '-'\n\n // 4. Append rangeEnd, serialized and isomorphic encoded to contentRange.\n contentRange += isomorphicEncode(`${rangeEnd}`)\n\n // 5. Append 0x2F (/) to contentRange.\n contentRange += '/'\n\n // 6. Append fullLength, serialized and isomorphic encoded to contentRange.\n contentRange += isomorphicEncode(`${fullLength}`)\n\n // 7. Return contentRange.\n return contentRange\n}\n\n// A Stream, which pipes the response to zlib.createInflate() or\n// zlib.createInflateRaw() depending on the first byte of the Buffer.\n// If the lower byte of the first byte is 0x08, then the stream is\n// interpreted as a zlib stream, otherwise it's interpreted as a\n// raw deflate stream.\nclass InflateStream extends Transform {\n #zlibOptions\n\n /** @param {zlib.ZlibOptions} [zlibOptions] */\n constructor (zlibOptions) {\n super()\n this.#zlibOptions = zlibOptions\n }\n\n _transform (chunk, encoding, callback) {\n if (!this._inflateStream) {\n if (chunk.length === 0) {\n callback()\n return\n }\n this._inflateStream = (chunk[0] & 0x0F) === 0x08\n ? zlib.createInflate(this.#zlibOptions)\n : zlib.createInflateRaw(this.#zlibOptions)\n\n this._inflateStream.on('data', this.push.bind(this))\n this._inflateStream.on('end', () => this.push(null))\n this._inflateStream.on('error', (err) => this.destroy(err))\n }\n\n this._inflateStream.write(chunk, encoding, callback)\n }\n\n _final (callback) {\n if (this._inflateStream) {\n this._inflateStream.end()\n this._inflateStream = null\n }\n callback()\n }\n}\n\n/**\n * @param {zlib.ZlibOptions} [zlibOptions]\n * @returns {InflateStream}\n */\nfunction createInflate (zlibOptions) {\n return new InflateStream(zlibOptions)\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-header-extract-mime-type\n * @param {import('./headers').HeadersList} headers\n */\nfunction extractMimeType (headers) {\n // 1. Let charset be null.\n let charset = null\n\n // 2. Let essence be null.\n let essence = null\n\n // 3. Let mimeType be null.\n let mimeType = null\n\n // 4. Let values be the result of getting, decoding, and splitting `Content-Type` from headers.\n const values = getDecodeSplit('content-type', headers)\n\n // 5. If values is null, then return failure.\n if (values === null) {\n return 'failure'\n }\n\n // 6. For each value of values:\n for (const value of values) {\n // 6.1. Let temporaryMimeType be the result of parsing value.\n const temporaryMimeType = parseMIMEType(value)\n\n // 6.2. If temporaryMimeType is failure or its essence is \"*/*\", then continue.\n if (temporaryMimeType === 'failure' || temporaryMimeType.essence === '*/*') {\n continue\n }\n\n // 6.3. Set mimeType to temporaryMimeType.\n mimeType = temporaryMimeType\n\n // 6.4. If mimeType’s essence is not essence, then:\n if (mimeType.essence !== essence) {\n // 6.4.1. Set charset to null.\n charset = null\n\n // 6.4.2. If mimeType’s parameters[\"charset\"] exists, then set charset to\n // mimeType’s parameters[\"charset\"].\n if (mimeType.parameters.has('charset')) {\n charset = mimeType.parameters.get('charset')\n }\n\n // 6.4.3. Set essence to mimeType’s essence.\n essence = mimeType.essence\n } else if (!mimeType.parameters.has('charset') && charset !== null) {\n // 6.5. Otherwise, if mimeType’s parameters[\"charset\"] does not exist, and\n // charset is non-null, set mimeType’s parameters[\"charset\"] to charset.\n mimeType.parameters.set('charset', charset)\n }\n }\n\n // 7. If mimeType is null, then return failure.\n if (mimeType == null) {\n return 'failure'\n }\n\n // 8. Return mimeType.\n return mimeType\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#header-value-get-decode-and-split\n * @param {string|null} value\n */\nfunction gettingDecodingSplitting (value) {\n // 1. Let input be the result of isomorphic decoding value.\n const input = value\n\n // 2. Let position be a position variable for input, initially pointing at the start of input.\n const position = { position: 0 }\n\n // 3. Let values be a list of strings, initially empty.\n const values = []\n\n // 4. Let temporaryValue be the empty string.\n let temporaryValue = ''\n\n // 5. While position is not past the end of input:\n while (position.position < input.length) {\n // 5.1. Append the result of collecting a sequence of code points that are not U+0022 (\")\n // or U+002C (,) from input, given position, to temporaryValue.\n temporaryValue += collectASequenceOfCodePoints(\n (char) => char !== '\"' && char !== ',',\n input,\n position\n )\n\n // 5.2. If position is not past the end of input, then:\n if (position.position < input.length) {\n // 5.2.1. If the code point at position within input is U+0022 (\"), then:\n if (input.charCodeAt(position.position) === 0x22) {\n // 5.2.1.1. Append the result of collecting an HTTP quoted string from input, given position, to temporaryValue.\n temporaryValue += collectAnHTTPQuotedString(\n input,\n position\n )\n\n // 5.2.1.2. If position is not past the end of input, then continue.\n if (position.position < input.length) {\n continue\n }\n } else {\n // 5.2.2. Otherwise:\n\n // 5.2.2.1. Assert: the code point at position within input is U+002C (,).\n assert(input.charCodeAt(position.position) === 0x2C)\n\n // 5.2.2.2. Advance position by 1.\n position.position++\n }\n }\n\n // 5.3. Remove all HTTP tab or space from the start and end of temporaryValue.\n temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 0x9 || char === 0x20)\n\n // 5.4. Append temporaryValue to values.\n values.push(temporaryValue)\n\n // 5.6. Set temporaryValue to the empty string.\n temporaryValue = ''\n }\n\n // 6. Return values.\n return values\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-get-decode-split\n * @param {string} name lowercase header name\n * @param {import('./headers').HeadersList} list\n */\nfunction getDecodeSplit (name, list) {\n // 1. Let value be the result of getting name from list.\n const value = list.get(name, true)\n\n // 2. If value is null, then return null.\n if (value === null) {\n return null\n }\n\n // 3. Return the result of getting, decoding, and splitting value.\n return gettingDecodingSplitting(value)\n}\n\nconst textDecoder = new TextDecoder()\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’s\n // decoder, ioQueue, output, and \"replacement\".\n const output = textDecoder.decode(buffer)\n\n // 4. Return output.\n return output\n}\n\nclass EnvironmentSettingsObjectBase {\n get baseUrl () {\n return getGlobalOrigin()\n }\n\n get origin () {\n return this.baseUrl?.origin\n }\n\n policyContainer = makePolicyContainer()\n}\n\nclass EnvironmentSettingsObject {\n settingsObject = new EnvironmentSettingsObjectBase()\n}\n\nconst environmentSettingsObject = new EnvironmentSettingsObject()\n\nmodule.exports = {\n isAborted,\n isCancelled,\n isValidEncodedURL,\n createDeferredPromise,\n ReadableStreamFrom,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n clampAndCoarsenConnectionTimingInfo,\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 iteratorMixin,\n createIterator,\n isValidHeaderName,\n isValidHeaderValue,\n isErrorLike,\n fullyReadBody,\n bytesMatch,\n isReadableStreamLike,\n readableStreamClose,\n isomorphicEncode,\n urlIsLocal,\n urlHasHttpsScheme,\n urlIsHttpHttpsScheme,\n readAllBytes,\n simpleRangeHeaderValue,\n buildContentRange,\n parseMetadata,\n createInflate,\n extractMimeType,\n getDecodeSplit,\n utf8DecodeBytes,\n environmentSettingsObject\n}\n","'use strict'\n\nmodule.exports = {\n kUrl: Symbol('url'),\n kHeaders: Symbol('headers'),\n kSignal: Symbol('signal'),\n kState: Symbol('state'),\n kDispatcher: Symbol('dispatcher')\n}\n","'use strict'\n\nconst { Blob, File } = require('node:buffer')\nconst { kState } = require('./symbols')\nconst { webidl } = require('./webidl')\n\n// TODO(@KhafraDev): remove\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\nwebidl.converters.Blob = webidl.interfaceConverter(Blob)\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 (object instanceof File) ||\n (\n object &&\n (typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function') &&\n object[Symbol.toStringTag] === 'File'\n )\n )\n}\n\nmodule.exports = { FileLike, isFileLike }\n","'use strict'\n\nconst { isBlobLike, iteratorMixin } = require('./util')\nconst { kState } = require('./symbols')\nconst { kEnumerableProperty } = require('../../core/util')\nconst { FileLike, isFileLike } = require('./file')\nconst { webidl } = require('./webidl')\nconst { File: NativeFile } = require('node:buffer')\nconst nodeUtil = require('node:util')\n\n/** @type {globalThis['File']} */\nconst File = globalThis.File ?? NativeFile\n\n// https://xhr.spec.whatwg.org/#formdata\nclass FormData {\n constructor (form) {\n webidl.util.markAsUncloneable(this)\n\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 const prefix = 'FormData.append'\n webidl.argumentLengthCheck(arguments, 2, prefix)\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, prefix, 'name')\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, prefix, 'value', { strict: false })\n : webidl.converters.USVString(value, prefix, 'value')\n filename = arguments.length === 3\n ? webidl.converters.USVString(filename, prefix, '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’s entry list.\n this[kState].push(entry)\n }\n\n delete (name) {\n webidl.brandCheck(this, FormData)\n\n const prefix = 'FormData.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // The delete(name) method steps are to remove all entries whose name\n // is name from this’s entry list.\n this[kState] = this[kState].filter(entry => entry.name !== name)\n }\n\n get (name) {\n webidl.brandCheck(this, FormData)\n\n const prefix = 'FormData.get'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // 1. If there is no entry whose name is name in this’s 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’s entry list.\n return this[kState][idx].value\n }\n\n getAll (name) {\n webidl.brandCheck(this, FormData)\n\n const prefix = 'FormData.getAll'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // 1. If there is no entry whose name is name in this’s 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’s 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 const prefix = 'FormData.has'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n name = webidl.converters.USVString(name, prefix, 'name')\n\n // The has(name) method steps are to return true if there is an entry\n // whose name is name in this’s 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 const prefix = 'FormData.set'\n webidl.argumentLengthCheck(arguments, 2, prefix)\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, prefix, 'name')\n value = isBlobLike(value)\n ? webidl.converters.Blob(value, prefix, 'name', { strict: false })\n : webidl.converters.USVString(value, prefix, 'name')\n filename = arguments.length === 3\n ? webidl.converters.USVString(filename, prefix, 'name')\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’s 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’s entry list.\n this[kState].push(entry)\n }\n }\n\n [nodeUtil.inspect.custom] (depth, options) {\n const state = this[kState].reduce((a, b) => {\n if (a[b.name]) {\n if (Array.isArray(a[b.name])) {\n a[b.name].push(b.value)\n } else {\n a[b.name] = [a[b.name], b.value]\n }\n } else {\n a[b.name] = b.value\n }\n\n return a\n }, { __proto__: null })\n\n options.depth ??= depth\n options.colors ??= true\n\n const output = nodeUtil.formatWithOptions(options, state)\n\n // remove [Object null prototype]\n return `FormData ${output.slice(output.indexOf(']') + 2)}`\n }\n}\n\niteratorMixin('FormData', FormData, kState, 'name', 'value')\n\nObject.defineProperties(FormData.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n getAll: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\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 // Note: This operation was done by the webidl converter USVString.\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 // Note: This operation was done by the webidl converter USVString.\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 = value instanceof NativeFile\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, makeEntry }\n","'use strict'\n\nconst { isUSVString, bufferToLowerCasedHeaderName } = require('../../core/util')\nconst { utf8DecodeBytes } = require('./util')\nconst { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require('./data-url')\nconst { isFileLike } = require('./file')\nconst { makeEntry } = require('./formdata')\nconst assert = require('node:assert')\nconst { File: NodeFile } = require('node:buffer')\n\nconst File = globalThis.File ?? NodeFile\n\nconst formDataNameBuffer = Buffer.from('form-data; name=\"')\nconst filenameBuffer = Buffer.from('; filename')\nconst dd = Buffer.from('--')\nconst ddcrlf = Buffer.from('--\\r\\n')\n\n/**\n * @param {string} chars\n */\nfunction isAsciiString (chars) {\n for (let i = 0; i < chars.length; ++i) {\n if ((chars.charCodeAt(i) & ~0x7F) !== 0) {\n return false\n }\n }\n return true\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-boundary\n * @param {string} boundary\n */\nfunction validateBoundary (boundary) {\n const length = boundary.length\n\n // - its length is greater or equal to 27 and lesser or equal to 70, and\n if (length < 27 || length > 70) {\n return false\n }\n\n // - it is composed by bytes in the ranges 0x30 to 0x39, 0x41 to 0x5A, or\n // 0x61 to 0x7A, inclusive (ASCII alphanumeric), or which are 0x27 ('),\n // 0x2D (-) or 0x5F (_).\n for (let i = 0; i < length; ++i) {\n const cp = boundary.charCodeAt(i)\n\n if (!(\n (cp >= 0x30 && cp <= 0x39) ||\n (cp >= 0x41 && cp <= 0x5a) ||\n (cp >= 0x61 && cp <= 0x7a) ||\n cp === 0x27 ||\n cp === 0x2d ||\n cp === 0x5f\n )) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-parser\n * @param {Buffer} input\n * @param {ReturnType} mimeType\n */\nfunction multipartFormDataParser (input, mimeType) {\n // 1. Assert: mimeType’s essence is \"multipart/form-data\".\n assert(mimeType !== 'failure' && mimeType.essence === 'multipart/form-data')\n\n const boundaryString = mimeType.parameters.get('boundary')\n\n // 2. If mimeType’s parameters[\"boundary\"] does not exist, return failure.\n // Otherwise, let boundary be the result of UTF-8 decoding mimeType’s\n // parameters[\"boundary\"].\n if (boundaryString === undefined) {\n return 'failure'\n }\n\n const boundary = Buffer.from(`--${boundaryString}`, 'utf8')\n\n // 3. Let entry list be an empty entry list.\n const entryList = []\n\n // 4. Let position be a pointer to a byte in input, initially pointing at\n // the first byte.\n const position = { position: 0 }\n\n // Note: undici addition, allows leading and trailing CRLFs.\n while (input[position.position] === 0x0d && input[position.position + 1] === 0x0a) {\n position.position += 2\n }\n\n let trailing = input.length\n\n while (input[trailing - 1] === 0x0a && input[trailing - 2] === 0x0d) {\n trailing -= 2\n }\n\n if (trailing !== input.length) {\n input = input.subarray(0, trailing)\n }\n\n // 5. While true:\n while (true) {\n // 5.1. If position points to a sequence of bytes starting with 0x2D 0x2D\n // (`--`) followed by boundary, advance position by 2 + the length of\n // boundary. Otherwise, return failure.\n // Note: boundary is padded with 2 dashes already, no need to add 2.\n if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {\n position.position += boundary.length\n } else {\n return 'failure'\n }\n\n // 5.2. If position points to the sequence of bytes 0x2D 0x2D 0x0D 0x0A\n // (`--` followed by CR LF) followed by the end of input, return entry list.\n // Note: a body does NOT need to end with CRLF. It can end with --.\n if (\n (position.position === input.length - 2 && bufferStartsWith(input, dd, position)) ||\n (position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position))\n ) {\n return entryList\n }\n\n // 5.3. If position does not point to a sequence of bytes starting with 0x0D\n // 0x0A (CR LF), return failure.\n if (input[position.position] !== 0x0d || input[position.position + 1] !== 0x0a) {\n return 'failure'\n }\n\n // 5.4. Advance position by 2. (This skips past the newline.)\n position.position += 2\n\n // 5.5. Let name, filename and contentType be the result of parsing\n // multipart/form-data headers on input and position, if the result\n // is not failure. Otherwise, return failure.\n const result = parseMultipartFormDataHeaders(input, position)\n\n if (result === 'failure') {\n return 'failure'\n }\n\n let { name, filename, contentType, encoding } = result\n\n // 5.6. Advance position by 2. (This skips past the empty line that marks\n // the end of the headers.)\n position.position += 2\n\n // 5.7. Let body be the empty byte sequence.\n let body\n\n // 5.8. Body loop: While position is not past the end of input:\n // TODO: the steps here are completely wrong\n {\n const boundaryIndex = input.indexOf(boundary.subarray(2), position.position)\n\n if (boundaryIndex === -1) {\n return 'failure'\n }\n\n body = input.subarray(position.position, boundaryIndex - 4)\n\n position.position += body.length\n\n // Note: position must be advanced by the body's length before being\n // decoded, otherwise the parsing will fail.\n if (encoding === 'base64') {\n body = Buffer.from(body.toString(), 'base64')\n }\n }\n\n // 5.9. If position does not point to a sequence of bytes starting with\n // 0x0D 0x0A (CR LF), return failure. Otherwise, advance position by 2.\n if (input[position.position] !== 0x0d || input[position.position + 1] !== 0x0a) {\n return 'failure'\n } else {\n position.position += 2\n }\n\n // 5.10. If filename is not null:\n let value\n\n if (filename !== null) {\n // 5.10.1. If contentType is null, set contentType to \"text/plain\".\n contentType ??= 'text/plain'\n\n // 5.10.2. If contentType is not an ASCII string, set contentType to the empty string.\n\n // Note: `buffer.isAscii` can be used at zero-cost, but converting a string to a buffer is a high overhead.\n // Content-Type is a relatively small string, so it is faster to use `String#charCodeAt`.\n if (!isAsciiString(contentType)) {\n contentType = ''\n }\n\n // 5.10.3. Let value be a new File object with name filename, type contentType, and body body.\n value = new File([body], filename, { type: contentType })\n } else {\n // 5.11. Otherwise:\n\n // 5.11.1. Let value be the UTF-8 decoding without BOM of body.\n value = utf8DecodeBytes(Buffer.from(body))\n }\n\n // 5.12. Assert: name is a scalar value string and value is either a scalar value string or a File object.\n assert(isUSVString(name))\n assert((typeof value === 'string' && isUSVString(value)) || isFileLike(value))\n\n // 5.13. Create an entry with name and value, and append it to entry list.\n entryList.push(makeEntry(name, value, filename))\n }\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#parse-multipart-form-data-headers\n * @param {Buffer} input\n * @param {{ position: number }} position\n */\nfunction parseMultipartFormDataHeaders (input, position) {\n // 1. Let name, filename and contentType be null.\n let name = null\n let filename = null\n let contentType = null\n let encoding = null\n\n // 2. While true:\n while (true) {\n // 2.1. If position points to a sequence of bytes starting with 0x0D 0x0A (CR LF):\n if (input[position.position] === 0x0d && input[position.position + 1] === 0x0a) {\n // 2.1.1. If name is null, return failure.\n if (name === null) {\n return 'failure'\n }\n\n // 2.1.2. Return name, filename and contentType.\n return { name, filename, contentType, encoding }\n }\n\n // 2.2. Let header name be the result of collecting a sequence of bytes that are\n // not 0x0A (LF), 0x0D (CR) or 0x3A (:), given position.\n let headerName = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d && char !== 0x3a,\n input,\n position\n )\n\n // 2.3. Remove any HTTP tab or space bytes from the start or end of header name.\n headerName = removeChars(headerName, true, true, (char) => char === 0x9 || char === 0x20)\n\n // 2.4. If header name does not match the field-name token production, return failure.\n if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {\n return 'failure'\n }\n\n // 2.5. If the byte at position is not 0x3A (:), return failure.\n if (input[position.position] !== 0x3a) {\n return 'failure'\n }\n\n // 2.6. Advance position by 1.\n position.position++\n\n // 2.7. Collect a sequence of bytes that are HTTP tab or space bytes given position.\n // (Do nothing with those bytes.)\n collectASequenceOfBytes(\n (char) => char === 0x20 || char === 0x09,\n input,\n position\n )\n\n // 2.8. Byte-lowercase header name and switch on the result:\n switch (bufferToLowerCasedHeaderName(headerName)) {\n case 'content-disposition': {\n // 1. Set name and filename to null.\n name = filename = null\n\n // 2. If position does not point to a sequence of bytes starting with\n // `form-data; name=\"`, return failure.\n if (!bufferStartsWith(input, formDataNameBuffer, position)) {\n return 'failure'\n }\n\n // 3. Advance position so it points at the byte after the next 0x22 (\")\n // byte (the one in the sequence of bytes matched above).\n position.position += 17\n\n // 4. Set name to the result of parsing a multipart/form-data name given\n // input and position, if the result is not failure. Otherwise, return\n // failure.\n name = parseMultipartFormDataName(input, position)\n\n if (name === null) {\n return 'failure'\n }\n\n // 5. If position points to a sequence of bytes starting with `; filename=\"`:\n if (bufferStartsWith(input, filenameBuffer, position)) {\n // Note: undici also handles filename*\n let check = position.position + filenameBuffer.length\n\n if (input[check] === 0x2a) {\n position.position += 1\n check += 1\n }\n\n if (input[check] !== 0x3d || input[check + 1] !== 0x22) { // =\"\n return 'failure'\n }\n\n // 1. Advance position so it points at the byte after the next 0x22 (\") byte\n // (the one in the sequence of bytes matched above).\n position.position += 12\n\n // 2. Set filename to the result of parsing a multipart/form-data name given\n // input and position, if the result is not failure. Otherwise, return failure.\n filename = parseMultipartFormDataName(input, position)\n\n if (filename === null) {\n return 'failure'\n }\n }\n\n break\n }\n case 'content-type': {\n // 1. Let header value be the result of collecting a sequence of bytes that are\n // not 0x0A (LF) or 0x0D (CR), given position.\n let headerValue = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d,\n input,\n position\n )\n\n // 2. Remove any HTTP tab or space bytes from the end of header value.\n headerValue = removeChars(headerValue, false, true, (char) => char === 0x9 || char === 0x20)\n\n // 3. Set contentType to the isomorphic decoding of header value.\n contentType = isomorphicDecode(headerValue)\n\n break\n }\n case 'content-transfer-encoding': {\n let headerValue = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d,\n input,\n position\n )\n\n headerValue = removeChars(headerValue, false, true, (char) => char === 0x9 || char === 0x20)\n\n encoding = isomorphicDecode(headerValue)\n\n break\n }\n default: {\n // Collect a sequence of bytes that are not 0x0A (LF) or 0x0D (CR), given position.\n // (Do nothing with those bytes.)\n collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d,\n input,\n position\n )\n }\n }\n\n // 2.9. If position does not point to a sequence of bytes starting with 0x0D 0x0A\n // (CR LF), return failure. Otherwise, advance position by 2 (past the newline).\n if (input[position.position] !== 0x0d && input[position.position + 1] !== 0x0a) {\n return 'failure'\n } else {\n position.position += 2\n }\n }\n}\n\n/**\n * @see https://andreubotella.github.io/multipart-form-data/#parse-a-multipart-form-data-name\n * @param {Buffer} input\n * @param {{ position: number }} position\n */\nfunction parseMultipartFormDataName (input, position) {\n // 1. Assert: The byte at (position - 1) is 0x22 (\").\n assert(input[position.position - 1] === 0x22)\n\n // 2. Let name be the result of collecting a sequence of bytes that are not 0x0A (LF), 0x0D (CR) or 0x22 (\"), given position.\n /** @type {string | Buffer} */\n let name = collectASequenceOfBytes(\n (char) => char !== 0x0a && char !== 0x0d && char !== 0x22,\n input,\n position\n )\n\n // 3. If the byte at position is not 0x22 (\"), return failure. Otherwise, advance position by 1.\n if (input[position.position] !== 0x22) {\n return null // name could be 'failure'\n } else {\n position.position++\n }\n\n // 4. Replace any occurrence of the following subsequences in name with the given byte:\n // - `%0A`: 0x0A (LF)\n // - `%0D`: 0x0D (CR)\n // - `%22`: 0x22 (\")\n name = new TextDecoder().decode(name)\n .replace(/%0A/ig, '\\n')\n .replace(/%0D/ig, '\\r')\n .replace(/%22/g, '\"')\n\n // 5. Return the UTF-8 decoding without BOM of name.\n return name\n}\n\n/**\n * @param {(char: number) => boolean} condition\n * @param {Buffer} input\n * @param {{ position: number }} position\n */\nfunction collectASequenceOfBytes (condition, input, position) {\n let start = position.position\n\n while (start < input.length && condition(input[start])) {\n ++start\n }\n\n return input.subarray(position.position, (position.position = start))\n}\n\n/**\n * @param {Buffer} buf\n * @param {boolean} leading\n * @param {boolean} trailing\n * @param {(charCode: number) => boolean} predicate\n * @returns {Buffer}\n */\nfunction removeChars (buf, leading, trailing, predicate) {\n let lead = 0\n let trail = buf.length - 1\n\n if (leading) {\n while (lead < buf.length && predicate(buf[lead])) lead++\n }\n\n if (trailing) {\n while (trail > 0 && predicate(buf[trail])) trail--\n }\n\n return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1)\n}\n\n/**\n * Checks if {@param buffer} starts with {@param start}\n * @param {Buffer} buffer\n * @param {Buffer} start\n * @param {{ position: number }} position\n */\nfunction bufferStartsWith (buffer, start, position) {\n if (buffer.length < start.length) {\n return false\n }\n\n for (let i = 0; i < start.length; i++) {\n if (start[i] !== buffer[position.position + i]) {\n return false\n }\n }\n\n return true\n}\n\nmodule.exports = {\n multipartFormDataParser,\n validateBoundary\n}\n","'use strict'\n\nconst util = require('../../core/util')\nconst {\n ReadableStreamFrom,\n isBlobLike,\n isReadableStreamLike,\n readableStreamClose,\n createDeferredPromise,\n fullyReadBody,\n extractMimeType,\n utf8DecodeBytes\n} = require('./util')\nconst { FormData } = require('./formdata')\nconst { kState } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { Blob } = require('node:buffer')\nconst assert = require('node:assert')\nconst { isErrored, isDisturbed } = require('node:stream')\nconst { isArrayBuffer } = require('node:util/types')\nconst { serializeAMimeType } = require('./data-url')\nconst { multipartFormDataParser } = require('./formdata-parser')\nlet random\n\ntry {\n const crypto = require('node:crypto')\n random = (max) => crypto.randomInt(0, max)\n} catch {\n random = (max) => Math.floor(Math.random(max))\n}\n\nconst textEncoder = new TextEncoder()\nfunction noop () {}\n\nconst hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf('v18') !== 0\nlet streamRegistry\n\nif (hasFinalizationRegistry) {\n streamRegistry = new FinalizationRegistry((weakRef) => {\n const stream = weakRef.deref()\n if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {\n stream.cancel('Response object has been garbage collected').catch(noop)\n }\n })\n}\n\n// https://fetch.spec.whatwg.org/#concept-bodyinit-extract\nfunction extractBody (object, keepalive = false) {\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’s get stream.\n stream = object.stream()\n } else {\n // 4. Otherwise, set stream to a new ReadableStream object, and set\n // up stream with byte reading support.\n stream = new ReadableStream({\n async pull (controller) {\n const buffer = typeof source === 'string' ? textEncoder.encode(source) : source\n\n if (buffer.byteLength) {\n controller.enqueue(buffer)\n }\n\n queueMicrotask(() => readableStreamClose(controller))\n },\n start () {},\n type: 'bytes'\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’s 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${`${random(1e11)}`.padStart(11, '0')}`\n const prefix = `--${boundary}\\r\\nContent-Disposition: form-data`\n\n /*! formdata-polyfill. MIT License. Jimmy Wärting */\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’s 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 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 = textEncoder.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 = textEncoder.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 // CRLF is appended to the body to function with legacy servers and match other implementations.\n // https://github.com/curl/curl/blob/3434c6b46e682452973972e8313613dfa58cd690/lib/mime.c#L1029-L1030\n // https://github.com/form-data/form-data/issues/63\n const chunk = textEncoder.encode(`--${boundary}--\\r\\n`)\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’s size.\n length = object.size\n\n // If object’s 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’s 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 controller.byobRequest?.respond(0)\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 const buffer = new Uint8Array(value)\n if (buffer.byteLength) {\n controller.enqueue(buffer)\n }\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: 'bytes'\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 // 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 (instance, body) {\n // To clone a body body, run these steps:\n\n // https://fetch.spec.whatwg.org/#concept-body-clone\n\n // 1. Let « out1, out2 » be the result of teeing body’s stream.\n const [out1, out2] = body.stream.tee()\n\n // 2. Set body’s 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: out2,\n length: body.length,\n source: body.source\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’s\n // MIME type.\n return consumeBody(this, (bytes) => {\n let mimeType = bodyMimeType(this)\n\n if (mimeType === null) {\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 consumeBody(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 consumeBody(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 consumeBody(this, parseJSONFromBytes, instance)\n },\n\n formData () {\n // The formData() method steps are to return the result of running\n // consume body with this and the following step given a byte sequence bytes:\n return consumeBody(this, (value) => {\n // 1. Let mimeType be the result of get the MIME type with this.\n const mimeType = bodyMimeType(this)\n\n // 2. If mimeType is non-null, then switch on mimeType’s essence and run\n // the corresponding steps:\n if (mimeType !== null) {\n switch (mimeType.essence) {\n case 'multipart/form-data': {\n // 1. ... [long step]\n const parsed = multipartFormDataParser(value, mimeType)\n\n // 2. If that fails for some reason, then throw a TypeError.\n if (parsed === 'failure') {\n throw new TypeError('Failed to parse body as FormData.')\n }\n\n // 3. Return a new FormData object, appending each entry,\n // resulting from the parsing operation, to its entry list.\n const fd = new FormData()\n fd[kState] = parsed\n\n return fd\n }\n case 'application/x-www-form-urlencoded': {\n // 1. Let entries be the result of parsing bytes.\n const entries = new URLSearchParams(value.toString())\n\n // 2. If entries is failure, then throw a TypeError.\n\n // 3. Return a new FormData object whose entry list is entries.\n const fd = new FormData()\n\n for (const [name, value] of entries) {\n fd.append(name, value)\n }\n\n return fd\n }\n }\n }\n\n // 3. Throw a TypeError.\n throw new TypeError(\n 'Content-Type was not one of \"multipart/form-data\" or \"application/x-www-form-urlencoded\".'\n )\n }, instance)\n },\n\n bytes () {\n // The bytes() method steps are to return the result of running consume body\n // with this and the following step given a byte sequence bytes: return the\n // result of creating a Uint8Array from bytes in this’s relevant realm.\n return consumeBody(this, (bytes) => {\n return new Uint8Array(bytes)\n }, instance)\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 consumeBody (object, convertBytesToJSValue, instance) {\n webidl.brandCheck(object, instance)\n\n // 1. If object is unusable, then return a promise rejected\n // with a TypeError.\n if (bodyUnusable(object)) {\n throw new TypeError('Body is unusable: Body has already been read')\n }\n\n throwIfAborted(object[kState])\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’s body is null, then run successSteps with an\n // empty byte sequence.\n if (object[kState].body == null) {\n successSteps(Buffer.allocUnsafe(0))\n return promise.promise\n }\n\n // 6. Otherwise, fully read object’s body given successSteps,\n // errorSteps, and object’s relevant global object.\n await 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 (object) {\n const body = object[kState].body\n\n // An object including the Body interface mixin is\n // said to be unusable if its body is non-null and\n // its body’s stream is disturbed or locked.\n return body != null && (body.stream.locked || util.isDisturbed(body.stream))\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} requestOrResponse\n */\nfunction bodyMimeType (requestOrResponse) {\n // 1. Let headers be null.\n // 2. If requestOrResponse is a Request object, then set headers to requestOrResponse’s request’s header list.\n // 3. Otherwise, set headers to requestOrResponse’s response’s header list.\n /** @type {import('./headers').HeadersList} */\n const headers = requestOrResponse[kState].headersList\n\n // 4. Let mimeType be the result of extracting a MIME type from headers.\n const mimeType = extractMimeType(headers)\n\n // 5. If mimeType is failure, then return null.\n if (mimeType === 'failure') {\n return null\n }\n\n // 6. Return mimeType.\n return mimeType\n}\n\nmodule.exports = {\n extractBody,\n safelyExtractBody,\n cloneBody,\n mixinBody,\n streamRegistry,\n hasFinalizationRegistry,\n bodyUnusable\n}\n","'use strict'\n\n/* global WebAssembly */\n\nconst assert = require('node:assert')\nconst util = require('../core/util.js')\nconst { channels } = require('../core/diagnostics.js')\nconst timers = require('../util/timers.js')\nconst {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n RequestAbortedError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError\n} = require('../core/errors.js')\nconst {\n kUrl,\n kReset,\n kClient,\n kParser,\n kBlocking,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\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 kMaxRequests,\n kCounter,\n kMaxResponseSize,\n kOnError,\n kResume,\n kHTTPContext\n} = require('../core/symbols.js')\n\nconst constants = require('../llhttp/constants.js')\nconst EMPTY_BUF = Buffer.alloc(0)\nconst FastBuffer = Buffer[Symbol.species]\nconst addListener = util.addListener\nconst removeAllListeners = util.removeAllListeners\n\nlet extractBody\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(require('../llhttp/llhttp_simd-wasm.js'))\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(llhttpWasmData || require('../llhttp/llhttp-wasm.js'))\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(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(currentParser.ptr === p)\n return currentParser.onMessageBegin() || 0\n },\n wasm_on_header_field: (p, at, len) => {\n assert(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(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(currentParser.ptr === p)\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0\n },\n wasm_on_body: (p, at, len) => {\n assert(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(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 USE_NATIVE_TIMER = 0\nconst USE_FAST_TIMER = 1\n\n// Use fast timers for headers and body to take eventual event loop\n// latency into account.\nconst TIMEOUT_HEADERS = 2 | USE_FAST_TIMER\nconst TIMEOUT_BODY = 4 | USE_FAST_TIMER\n\n// Use native timers to ignore event loop latency for keep-alive\n// handling.\nconst TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER\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 (delay, type) {\n // If the existing timer and the new timer are of different timer type\n // (fast or native) or have different delay, we need to clear the existing\n // timer and set a new one.\n if (\n delay !== this.timeoutValue ||\n (type & USE_FAST_TIMER) ^ (this.timeoutType & USE_FAST_TIMER)\n ) {\n // If a timeout is already set, clear it with clearTimeout of the fast\n // timer implementation, as it can clear fast and native timers.\n if (this.timeout) {\n timers.clearTimeout(this.timeout)\n this.timeout = null\n }\n\n if (delay) {\n if (type & USE_FAST_TIMER) {\n this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this))\n } else {\n this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this))\n this.timeout.unref()\n }\n }\n\n this.timeoutValue = delay\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 this.timeoutType = type\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 this.timeout && 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 request.onResponseStarted()\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) {\n const headerName = util.bufferToLowerCasedHeaderName(key)\n if (headerName === 'keep-alive') {\n this.keepAlive += buf.toString()\n } else if (headerName === 'connection') {\n this.connection += buf.toString()\n }\n } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === '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 assert(client[kSocket] === socket)\n assert(!socket.destroyed)\n assert(!this.paused)\n assert((headers.length & 1) === 0)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n assert(request.upgrade || request.method === 'CONNECT')\n\n this.statusCode = null\n this.statusText = ''\n this.shouldKeepAlive = null\n\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\n removeAllListeners(socket)\n\n client[kSocket] = null\n client[kHTTPContext] = null // TODO (fix): This is hacky...\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 client[kResume]()\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(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 & 1) === 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 const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false\n\n if (request.aborted) {\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 client[kResume]()\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(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 if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED\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 assert(statusCode >= 100)\n assert((this.headers.length & 1) === 0)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n this.statusCode = null\n this.statusText = ''\n this.bytesRead = 0\n this.contentLength = ''\n this.keepAlive = ''\n this.connection = ''\n\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 request.onComplete(headers)\n\n client[kQueue][client[kRunningIdx]++] = null\n\n if (socket[kWriting]) {\n assert(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] == null || 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(() => client[kResume]())\n } else {\n client[kResume]()\n }\n }\n}\n\nfunction onParserTimeout (parser) {\n const { socket, timeoutType, client, paused } = parser.deref()\n\n /* istanbul ignore else */\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!paused, 'cannot be paused while waiting for headers')\n util.destroy(socket, new HeadersTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!paused) {\n util.destroy(socket, new BodyTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])\n util.destroy(socket, new InformationalError('socket idle timeout'))\n }\n}\n\nasync function connectH1 (client, socket) {\n client[kSocket] = socket\n\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise\n llhttpPromise = null\n }\n\n socket[kNoRef] = false\n socket[kWriting] = false\n socket[kReset] = false\n socket[kBlocking] = false\n socket[kParser] = new Parser(client, socket, llhttpInstance)\n\n addListener(socket, 'error', function (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n const parser = this[kParser]\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 this[kClient][kOnError](err)\n })\n addListener(socket, 'readable', function () {\n const parser = this[kParser]\n\n if (parser) {\n parser.readMore()\n }\n })\n addListener(socket, 'end', function () {\n const parser = this[kParser]\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 addListener(socket, 'close', function () {\n const client = this[kClient]\n const parser = this[kParser]\n\n if (parser) {\n if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {\n // We treat all incoming data so far as a valid response.\n parser.onMessageComplete()\n }\n\n this[kParser].destroy()\n this[kParser] = null\n }\n\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n client[kHTTPContext] = null // TODO (fix): This is hacky...\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 util.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 util.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 client[kResume]()\n })\n\n let closed = false\n socket.on('close', () => {\n closed = true\n })\n\n return {\n version: 'h1',\n defaultPipelining: 1,\n write (...args) {\n return writeH1(client, ...args)\n },\n resume () {\n resumeH1(client)\n },\n destroy (err, callback) {\n if (closed) {\n queueMicrotask(callback)\n } else {\n socket.destroy(err).on('close', callback)\n }\n },\n get destroyed () {\n return socket.destroyed\n },\n busy (request) {\n if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {\n return true\n }\n\n if (request) {\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 true\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 true\n }\n\n if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 &&\n (util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(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 true\n }\n }\n\n return false\n }\n }\n}\n\nfunction resumeH1 (client) {\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_KEEP_ALIVE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE)\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\n// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2\nfunction shouldSendContentLength (method) {\n return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'\n}\n\nfunction writeH1 (client, request) {\n const { method, path, host, upgrade, blocking, reset } = request\n\n let { body, headers, contentLength } = 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 method === 'QUERY' ||\n method === 'PROPFIND' ||\n method === 'PROPPATCH'\n )\n\n if (util.isFormDataLike(body)) {\n if (!extractBody) {\n extractBody = require('../web/fetch/body.js').extractBody\n }\n\n const [bodyStream, contentType] = extractBody(body)\n if (request.contentType == null) {\n headers.push('content-type', contentType)\n }\n body = bodyStream.stream\n contentLength = bodyStream.length\n } else if (util.isBlobLike(body) && request.contentType == null && body.type) {\n headers.push('content-type', body.type)\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 const bodyLength = util.bodyLength(body)\n\n contentLength = bodyLength ?? contentLength\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 // https://github.com/nodejs/undici/issues/2046\n // A user agent may send a Content-Length header with 0 value, this should be allowed.\n if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n util.errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n const socket = client[kSocket]\n\n const abort = (err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n util.errorRequest(client, request, err || new RequestAbortedError())\n\n util.destroy(body)\n util.destroy(socket, new InformationalError('aborted'))\n }\n\n try {\n request.onConnect(abort)\n } catch (err) {\n util.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 (Array.isArray(headers)) {\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0]\n const val = headers[n + 1]\n\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n header += `${key}: ${val[i]}\\r\\n`\n }\n } else {\n header += `${key}: ${val}\\r\\n`\n }\n }\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 || bodyLength === 0) {\n writeBuffer(abort, null, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isBuffer(body)) {\n writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload)\n } else {\n writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload)\n }\n } else if (util.isStream(body)) {\n writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isIterable(body)) {\n writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else {\n assert(false)\n }\n\n return true\n}\n\nfunction writeStream (abort, 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({ abort, 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 onClose = function () {\n // 'close' might be emitted *before* 'error' for\n // broken streams. Wait a tick to avoid this case.\n queueMicrotask(() => {\n // It's only safe to remove 'error' listener after\n // 'close'.\n body.removeListener('error', onFinished)\n })\n\n if (!finished) {\n const err = new RequestAbortedError()\n queueMicrotask(() => onFinished(err))\n }\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('close', onClose)\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', onClose)\n\n if (body.resume) {\n body.resume()\n }\n\n socket\n .on('drain', onDrain)\n .on('error', onFinished)\n\n if (body.errorEmitted ?? body.errored) {\n setImmediate(() => onFinished(body.errored))\n } else if (body.endEmitted ?? body.readableEnded) {\n setImmediate(() => onFinished(null))\n }\n\n if (body.closeEmitted ?? body.closed) {\n setImmediate(onClose)\n }\n}\n\nfunction writeBuffer (abort, body, client, request, socket, contentLength, header, expectsPayload) {\n try {\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 } 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\n if (!expectsPayload && request.reset !== false) {\n socket[kReset] = true\n }\n }\n request.onRequestSent()\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeBlob (abort, 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 && request.reset !== false) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeIterable (abort, 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({ abort, 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 ({ abort, 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 this.abort = abort\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 && request.reset !== false) {\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 client[kResume]()\n }\n\n destroy (err) {\n const { socket, client, abort } = this\n\n socket[kWriting] = false\n\n if (err) {\n assert(client[kRunning] <= 1, 'pipeline should only contain this request')\n abort(err)\n }\n }\n}\n\nmodule.exports = connectH1\n","'use strict'\n\nconst assert = require('node:assert')\nconst { pipeline } = require('node:stream')\nconst util = require('../core/util.js')\nconst {\n RequestContentLengthMismatchError,\n RequestAbortedError,\n SocketError,\n InformationalError\n} = require('../core/errors.js')\nconst {\n kUrl,\n kReset,\n kClient,\n kRunning,\n kPending,\n kQueue,\n kPendingIdx,\n kRunningIdx,\n kError,\n kSocket,\n kStrictContentLength,\n kOnError,\n kMaxConcurrentStreams,\n kHTTP2Session,\n kResume,\n kSize,\n kHTTPContext\n} = require('../core/symbols.js')\n\nconst kOpenStreams = Symbol('open streams')\n\nlet extractBody\n\n// Experimental\nlet h2ExperimentalWarned = false\n\n/** @type {import('http2')} */\nlet http2\ntry {\n http2 = require('node:http2')\n} catch {\n // @ts-ignore\n http2 = { constants: {} }\n}\n\nconst {\n constants: {\n HTTP2_HEADER_AUTHORITY,\n HTTP2_HEADER_METHOD,\n HTTP2_HEADER_PATH,\n HTTP2_HEADER_SCHEME,\n HTTP2_HEADER_CONTENT_LENGTH,\n HTTP2_HEADER_EXPECT,\n HTTP2_HEADER_STATUS\n }\n} = http2\n\nfunction parseH2Headers (headers) {\n const result = []\n\n for (const [name, value] of Object.entries(headers)) {\n // h2 may concat the header value by array\n // e.g. Set-Cookie\n if (Array.isArray(value)) {\n for (const subvalue of value) {\n // we need to provide each header value of header name\n // because the headers handler expect name-value pair\n result.push(Buffer.from(name), Buffer.from(subvalue))\n }\n } else {\n result.push(Buffer.from(name), Buffer.from(value))\n }\n }\n\n return result\n}\n\nasync function connectH2 (client, socket) {\n client[kSocket] = socket\n\n if (!h2ExperimentalWarned) {\n h2ExperimentalWarned = true\n process.emitWarning('H2 support is experimental, expect them to change at any time.', {\n code: 'UNDICI-H2'\n })\n }\n\n const session = http2.connect(client[kUrl], {\n createConnection: () => socket,\n peerMaxConcurrentStreams: client[kMaxConcurrentStreams]\n })\n\n session[kOpenStreams] = 0\n session[kClient] = client\n session[kSocket] = socket\n\n util.addListener(session, 'error', onHttp2SessionError)\n util.addListener(session, 'frameError', onHttp2FrameError)\n util.addListener(session, 'end', onHttp2SessionEnd)\n util.addListener(session, 'goaway', onHTTP2GoAway)\n util.addListener(session, 'close', function () {\n const { [kClient]: client } = this\n const { [kSocket]: socket } = client\n\n const err = this[kSocket][kError] || this[kError] || new SocketError('closed', util.getSocketInfo(socket))\n\n client[kHTTP2Session] = 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 util.errorRequest(client, request, err)\n }\n }\n })\n\n session.unref()\n\n client[kHTTP2Session] = session\n socket[kHTTP2Session] = session\n\n util.addListener(socket, 'error', function (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n this[kError] = err\n\n this[kClient][kOnError](err)\n })\n\n util.addListener(socket, 'end', function () {\n util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))\n })\n\n util.addListener(socket, 'close', function () {\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n\n if (this[kHTTP2Session] != null) {\n this[kHTTP2Session].destroy(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 client[kResume]()\n })\n\n let closed = false\n socket.on('close', () => {\n closed = true\n })\n\n return {\n version: 'h2',\n defaultPipelining: Infinity,\n write (...args) {\n return writeH2(client, ...args)\n },\n resume () {\n resumeH2(client)\n },\n destroy (err, callback) {\n if (closed) {\n queueMicrotask(callback)\n } else {\n // Destroying the socket will trigger the session close\n socket.destroy(err).on('close', callback)\n }\n },\n get destroyed () {\n return socket.destroyed\n },\n busy () {\n return false\n }\n }\n}\n\nfunction resumeH2 (client) {\n const socket = client[kSocket]\n\n if (socket?.destroyed === false) {\n if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {\n socket.unref()\n client[kHTTP2Session].unref()\n } else {\n socket.ref()\n client[kHTTP2Session].ref()\n }\n }\n}\n\nfunction onHttp2SessionError (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n this[kSocket][kError] = err\n this[kClient][kOnError](err)\n}\n\nfunction onHttp2FrameError (type, code, id) {\n if (id === 0) {\n const err = new InformationalError(`HTTP/2: \"frameError\" received - type ${type}, code ${code}`)\n this[kSocket][kError] = err\n this[kClient][kOnError](err)\n }\n}\n\nfunction onHttp2SessionEnd () {\n const err = new SocketError('other side closed', util.getSocketInfo(this[kSocket]))\n this.destroy(err)\n util.destroy(this[kSocket], err)\n}\n\n/**\n * This is the root cause of #3011\n * We need to handle GOAWAY frames properly, and trigger the session close\n * along with the socket right away\n */\nfunction onHTTP2GoAway (code) {\n // We cannot recover, so best to close the session and the socket\n const err = this[kError] || new SocketError(`HTTP/2: \"GOAWAY\" frame received with code ${code}`, util.getSocketInfo(this))\n const client = this[kClient]\n\n client[kSocket] = null\n client[kHTTPContext] = null\n\n if (this[kHTTP2Session] != null) {\n this[kHTTP2Session].destroy(err)\n this[kHTTP2Session] = null\n }\n\n util.destroy(this[kSocket], err)\n\n // Fail head of pipeline.\n if (client[kRunningIdx] < client[kQueue].length) {\n const request = client[kQueue][client[kRunningIdx]]\n client[kQueue][client[kRunningIdx]++] = null\n util.errorRequest(client, request, err)\n client[kPendingIdx] = client[kRunningIdx]\n }\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n client[kResume]()\n}\n\n// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2\nfunction shouldSendContentLength (method) {\n return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'\n}\n\nfunction writeH2 (client, request) {\n const session = client[kHTTP2Session]\n const { method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request\n let { body } = request\n\n if (upgrade) {\n util.errorRequest(client, request, new Error('Upgrade not supported for H2'))\n return false\n }\n\n const headers = {}\n for (let n = 0; n < reqHeaders.length; n += 2) {\n const key = reqHeaders[n + 0]\n const val = reqHeaders[n + 1]\n\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n if (headers[key]) {\n headers[key] += `,${val[i]}`\n } else {\n headers[key] = val[i]\n }\n }\n } else {\n headers[key] = val\n }\n }\n\n /** @type {import('node:http2').ClientHttp2Stream} */\n let stream\n\n const { hostname, port } = client[kUrl]\n\n headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ''}`\n headers[HTTP2_HEADER_METHOD] = method\n\n const abort = (err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n err = err || new RequestAbortedError()\n\n util.errorRequest(client, request, err)\n\n if (stream != null) {\n util.destroy(stream, err)\n }\n\n // We do not destroy the socket as we can continue using the session\n // the stream get's destroyed and the session remains to create new streams\n util.destroy(body, err)\n client[kQueue][client[kRunningIdx]++] = null\n client[kResume]()\n }\n\n try {\n // We are already connected, streams are pending.\n // We can call on connect, and wait for abort\n request.onConnect(abort)\n } catch (err) {\n util.errorRequest(client, request, err)\n }\n\n if (request.aborted) {\n return false\n }\n\n if (method === 'CONNECT') {\n session.ref()\n // We are already connected, streams are pending, first request\n // will create a new stream. We trigger a request to create the stream and wait until\n // `ready` event is triggered\n // We disabled endStream to allow the user to write to the stream\n stream = session.request(headers, { endStream: false, signal })\n\n if (stream.id && !stream.pending) {\n request.onUpgrade(null, null, stream)\n ++session[kOpenStreams]\n client[kQueue][client[kRunningIdx]++] = null\n } else {\n stream.once('ready', () => {\n request.onUpgrade(null, null, stream)\n ++session[kOpenStreams]\n client[kQueue][client[kRunningIdx]++] = null\n })\n }\n\n stream.once('close', () => {\n session[kOpenStreams] -= 1\n if (session[kOpenStreams] === 0) session.unref()\n })\n\n return true\n }\n\n // https://tools.ietf.org/html/rfc7540#section-8.3\n // :path and :scheme headers must be omitted when sending CONNECT\n\n headers[HTTP2_HEADER_PATH] = path\n headers[HTTP2_HEADER_SCHEME] = 'https'\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 (util.isFormDataLike(body)) {\n extractBody ??= require('../web/fetch/body.js').extractBody\n\n const [bodyStream, contentType] = extractBody(body)\n headers['content-type'] = contentType\n\n body = bodyStream.stream\n contentLength = bodyStream.length\n }\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 // https://github.com/nodejs/undici/issues/2046\n // A user agent may send a Content-Length header with 0 value, this should be allowed.\n if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n util.errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n if (contentLength != null) {\n assert(body, 'no body must not have content length')\n headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`\n }\n\n session.ref()\n\n const shouldEndStream = method === 'GET' || method === 'HEAD' || body === null\n if (expectContinue) {\n headers[HTTP2_HEADER_EXPECT] = '100-continue'\n stream = session.request(headers, { endStream: shouldEndStream, signal })\n\n stream.once('continue', writeBodyH2)\n } else {\n stream = session.request(headers, {\n endStream: shouldEndStream,\n signal\n })\n writeBodyH2()\n }\n\n // Increment counter as we have new streams open\n ++session[kOpenStreams]\n\n stream.once('response', headers => {\n const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers\n request.onResponseStarted()\n\n // Due to the stream nature, it is possible we face a race condition\n // where the stream has been assigned, but the request has been aborted\n // the request remains in-flight and headers hasn't been received yet\n // for those scenarios, best effort is to destroy the stream immediately\n // as there's no value to keep it open.\n if (request.aborted) {\n const err = new RequestAbortedError()\n util.errorRequest(client, request, err)\n util.destroy(stream, err)\n return\n }\n\n if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), '') === false) {\n stream.pause()\n }\n\n stream.on('data', (chunk) => {\n if (request.onData(chunk) === false) {\n stream.pause()\n }\n })\n })\n\n stream.once('end', () => {\n // When state is null, it means we haven't consumed body and the stream still do not have\n // a state.\n // Present specially when using pipeline or stream\n if (stream.state?.state == null || stream.state.state < 6) {\n request.onComplete([])\n }\n\n if (session[kOpenStreams] === 0) {\n // Stream is closed or half-closed-remote (6), decrement counter and cleanup\n // It does not have sense to continue working with the stream as we do not\n // have yet RST_STREAM support on client-side\n\n session.unref()\n }\n\n abort(new InformationalError('HTTP/2: stream half-closed (remote)'))\n client[kQueue][client[kRunningIdx]++] = null\n client[kPendingIdx] = client[kRunningIdx]\n client[kResume]()\n })\n\n stream.once('close', () => {\n session[kOpenStreams] -= 1\n if (session[kOpenStreams] === 0) {\n session.unref()\n }\n })\n\n stream.once('error', function (err) {\n abort(err)\n })\n\n stream.once('frameError', (type, code) => {\n abort(new InformationalError(`HTTP/2: \"frameError\" received - type ${type}, code ${code}`))\n })\n\n // stream.on('aborted', () => {\n // // TODO(HTTP/2): Support aborted\n // })\n\n // stream.on('timeout', () => {\n // // TODO(HTTP/2): Support timeout\n // })\n\n // stream.on('push', headers => {\n // // TODO(HTTP/2): Support push\n // })\n\n // stream.on('trailers', headers => {\n // // TODO(HTTP/2): Support trailers\n // })\n\n return true\n\n function writeBodyH2 () {\n /* istanbul ignore else: assertion */\n if (!body || contentLength === 0) {\n writeBuffer(\n abort,\n stream,\n null,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else if (util.isBuffer(body)) {\n writeBuffer(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable(\n abort,\n stream,\n body.stream(),\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else {\n writeBlob(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n }\n } else if (util.isStream(body)) {\n writeStream(\n abort,\n client[kSocket],\n expectsPayload,\n stream,\n body,\n client,\n request,\n contentLength\n )\n } else if (util.isIterable(body)) {\n writeIterable(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else {\n assert(false)\n }\n }\n}\n\nfunction writeBuffer (abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {\n try {\n if (body != null && util.isBuffer(body)) {\n assert(contentLength === body.byteLength, 'buffer body must have content length')\n h2stream.cork()\n h2stream.write(body)\n h2stream.uncork()\n h2stream.end()\n\n request.onBodySent(body)\n }\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n request.onRequestSent()\n client[kResume]()\n } catch (error) {\n abort(error)\n }\n}\n\nfunction writeStream (abort, socket, expectsPayload, h2stream, body, client, request, contentLength) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')\n\n // For HTTP/2, is enough to pipe the stream\n const pipe = pipeline(\n body,\n h2stream,\n (err) => {\n if (err) {\n util.destroy(pipe, err)\n abort(err)\n } else {\n util.removeAllListeners(pipe)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n }\n }\n )\n\n util.addListener(pipe, 'data', onPipeData)\n\n function onPipeData (chunk) {\n request.onBodySent(chunk)\n }\n}\n\nasync function writeBlob (abort, h2stream, body, client, request, socket, contentLength, 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 h2stream.cork()\n h2stream.write(buffer)\n h2stream.uncork()\n h2stream.end()\n\n request.onBodySent(buffer)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeIterable (abort, h2stream, body, client, request, socket, contentLength, 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 h2stream\n .on('close', onDrain)\n .on('drain', onDrain)\n\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 const res = h2stream.write(chunk)\n request.onBodySent(chunk)\n if (!res) {\n await waitForDrain()\n }\n }\n\n h2stream.end()\n\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n } finally {\n h2stream\n .off('close', onDrain)\n .off('drain', onDrain)\n }\n}\n\nmodule.exports = connectH2\n","'use strict'\n\nconst util = require('../core/util')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('node:assert')\nconst { InvalidArgumentError } = require('../core/errors')\nconst EE = require('node: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 this.redirectionLimitReached = false\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.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {\n if (this.request) {\n this.request.abort(new Error('max redirects'))\n }\n\n this.redirectionLimitReached = true\n this.abort(new Error('max redirects'))\n return\n }\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 explicitly 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 information.\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].length === 8 && util.headerNameToString(headers[i]) === '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 if (header.length === 4) {\n return util.headerNameToString(header) === 'host'\n }\n if (removeContent && util.headerNameToString(header).startsWith('content-')) {\n return true\n }\n if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {\n const name = util.headerNameToString(header)\n return name === 'authorization' || name === 'cookie' || name === 'proxy-authorization'\n }\n return false\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/redirect-handler')\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","// @ts-check\n\n'use strict'\n\nconst assert = require('node:assert')\nconst net = require('node:net')\nconst http = require('node:http')\nconst util = require('../core/util.js')\nconst { channels } = require('../core/diagnostics.js')\nconst Request = require('../core/request.js')\nconst DispatcherBase = require('./dispatcher-base')\nconst {\n InvalidArgumentError,\n InformationalError,\n ClientDestroyedError\n} = require('../core/errors.js')\nconst buildConnector = require('../core/connect.js')\nconst {\n kUrl,\n kServerName,\n kClient,\n kBusy,\n kConnect,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\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 kOnError,\n kHTTPContext,\n kMaxConcurrentStreams,\n kResume\n} = require('../core/symbols.js')\nconst connectH1 = require('./client-h1.js')\nconst connectH2 = require('./client-h2.js')\nlet deprecatedInterceptorWarned = false\n\nconst kClosedResolve = Symbol('kClosedResolve')\n\nconst noop = () => {}\n\nfunction getPipelining (client) {\n return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1\n}\n\n/**\n * @type {import('../../types/client.js').default}\n */\nclass Client extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import('../../types/client.js').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 // h2\n maxConcurrentStreams,\n allowH2\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 // h2\n if (allowH2 != null && typeof allowH2 !== 'boolean') {\n throw new InvalidArgumentError('allowH2 must be a valid boolean value')\n }\n\n if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1)) {\n throw new InvalidArgumentError('maxConcurrentStreams must be a positive integer, greater than 0')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n allowH2,\n socketPath,\n timeout: connectTimeout,\n ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n if (interceptors?.Client && Array.isArray(interceptors.Client)) {\n this[kInterceptors] = interceptors.Client\n if (!deprecatedInterceptorWarned) {\n deprecatedInterceptorWarned = true\n process.emitWarning('Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.', {\n code: 'UNDICI-CLIENT-INTERCEPTOR-DEPRECATED'\n })\n }\n } else {\n this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })]\n }\n\n this[kUrl] = util.parseOrigin(url)\n this[kConnector] = connect\n this[kPipelining] = pipelining != null ? pipelining : 1\n this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : 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 this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100 // Max peerConcurrentStreams for a Node h2 server\n this[kHTTPContext] = null\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 this[kResume] = (sync) => resume(this, sync)\n this[kOnError] = (err) => onError(this, err)\n }\n\n get pipelining () {\n return this[kPipelining]\n }\n\n set pipelining (value) {\n this[kPipelining] = value\n this[kResume](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[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed\n }\n\n get [kBusy] () {\n return Boolean(\n this[kHTTPContext]?.busy(null) ||\n (this[kSize] >= (getPipelining(this) || 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 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 queueMicrotask(() => resume(this))\n } else {\n this[kResume](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 // TODO: for H2 we need to gracefully flush the remaining enqueued\n // request and close each stream.\n return new Promise((resolve) => {\n if (this[kSize]) {\n this[kClosedResolve] = resolve\n } else {\n resolve(null)\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 util.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(null)\n }\n\n if (this[kHTTPContext]) {\n this[kHTTPContext].destroy(err, callback)\n this[kHTTPContext] = null\n } else {\n queueMicrotask(callback)\n }\n\n this[kResume]()\n })\n }\n}\n\nconst createRedirectInterceptor = require('../interceptor/redirect-interceptor.js')\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\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n util.errorRequest(client, request, err)\n }\n assert(client[kSize] === 0)\n }\n}\n\n/**\n * @param {Client} client\n * @returns\n */\nasync function connect (client) {\n assert(!client[kConnecting])\n assert(!client[kHTTPContext])\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.substring(1, idx)\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 version: client[kHTTPContext]?.version,\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', noop), new ClientDestroyedError())\n return\n }\n\n assert(socket)\n\n try {\n client[kHTTPContext] = socket.alpnProtocol === 'h2'\n ? await connectH2(client, socket)\n : await connectH1(client, socket)\n } catch (err) {\n socket.destroy().on('error', noop)\n throw err\n }\n\n client[kConnecting] = false\n\n socket[kCounter] = 0\n socket[kMaxRequests] = client[kMaxRequests]\n socket[kClient] = client\n socket[kError] = null\n\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n version: client[kHTTPContext]?.version,\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 version: client[kHTTPContext]?.version,\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 util.errorRequest(client, request, err)\n }\n } else {\n onError(client, err)\n }\n\n client.emit('connectionError', client[kUrl], [client], err)\n }\n\n client[kResume]()\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 if (client[kHTTPContext]) {\n client[kHTTPContext].resume()\n }\n\n if (client[kBusy]) {\n client[kNeedDrain] = 2\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1\n queueMicrotask(() => 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] >= (getPipelining(client) || 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 client[kHTTPContext]?.destroy(new InformationalError('servername changed'), () => {\n client[kHTTPContext] = null\n resume(client)\n })\n }\n\n if (client[kConnecting]) {\n return\n }\n\n if (!client[kHTTPContext]) {\n connect(client)\n return\n }\n\n if (client[kHTTPContext].destroyed) {\n return\n }\n\n if (client[kHTTPContext].busy(request)) {\n return\n }\n\n if (!request.aborted && client[kHTTPContext].write(request)) {\n client[kPendingIdx]++\n } else {\n client[kQueue].splice(client[kPendingIdx], 1)\n }\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('./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 await Promise.all(this[kClients].map(c => c.close()))\n } else {\n await 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 await 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 queueMicrotask(() => {\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 allowH2,\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 allowH2,\n socketPath,\n timeout: connectTimeout,\n ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n this[kInterceptors] = 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, allowH2 }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kFactory] = factory\n\n this.on('connectionError', (origin, targets, error) => {\n // If a connection error occurs, we remove the client from the pool,\n // and emit a connectionError event. They will not be re-used.\n // Fixes https://github.com/nodejs/undici/issues/3895\n for (const target of targets) {\n // Do not use kRemoveClient here, as it will close the client,\n // but the client cannot be closed in this state.\n const idx = this[kClients].indexOf(target)\n if (idx !== -1) {\n this[kClients].splice(idx, 1)\n }\n }\n })\n }\n\n [kGetDispatcher] () {\n for (const client of this[kClients]) {\n if (!client[kNeedDrain]) {\n return client\n }\n }\n\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n const dispatcher = this[kFactory](this[kUrl], this[kOptions])\n this[kAddClient](dispatcher)\n return dispatcher\n }\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\n/**\n * Calculate the greatest common divisor of two numbers by\n * using the Euclidean algorithm.\n *\n * @param {number} a\n * @param {number} b\n * @returns {number}\n */\nfunction getGreatestCommonDivisor (a, b) {\n if (a === 0) return b\n\n while (b !== 0) {\n const t = b\n b = a % b\n a = t\n }\n return a\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?.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 let result = 0\n for (let i = 0; i < this[kClients].length; i++) {\n result = getGreatestCommonDivisor(this[kClients][i][kWeight], result)\n }\n\n this[kGreatestCommonDivisor] = result\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\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/redirect-interceptor')\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 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?.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\n this[kOnDrain] = (origin, targets) => {\n this.emit('drain', origin, [this, ...targets])\n }\n\n this[kOnConnect] = (origin, targets) => {\n this.emit('connect', origin, [this, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n this.emit('disconnect', origin, [this, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n this.emit('connectionError', origin, [this, ...targets], err)\n }\n }\n\n get [kRunning] () {\n let ret = 0\n for (const client of this[kClients].values()) {\n ret += client[kRunning]\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 let dispatcher = this[kClients].get(key)\n\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 introduces a tiny memory leak, as dispatchers are never removed from the map.\n // TODO(mcollina): remove te timer when the client/pool do not have any more\n // active connections.\n this[kClients].set(key, dispatcher)\n }\n\n return dispatcher.dispatch(opts, handler)\n }\n\n async [kClose] () {\n const closePromises = []\n for (const client of this[kClients].values()) {\n closePromises.push(client.close())\n }\n this[kClients].clear()\n\n await Promise.all(closePromises)\n }\n\n async [kDestroy] (err) {\n const destroyPromises = []\n for (const client of this[kClients].values()) {\n destroyPromises.push(client.destroy(err))\n }\n this[kClients].clear()\n\n await Promise.all(destroyPromises)\n }\n}\n\nmodule.exports = Agent\n","'use strict'\n\nconst { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require('../core/symbols')\nconst { URL } = require('node:url')\nconst Agent = require('./agent')\nconst Pool = require('./pool')\nconst DispatcherBase = require('./dispatcher-base')\nconst { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require('../core/errors')\nconst buildConnector = require('../core/connect')\nconst Client = require('./client')\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')\nconst kTunnelProxy = Symbol('tunnel proxy')\n\nfunction defaultProtocolPort (protocol) {\n return protocol === 'https:' ? 443 : 80\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nconst noop = () => {}\n\nfunction defaultAgentFactory (origin, opts) {\n if (opts.connections === 1) {\n return new Client(origin, opts)\n }\n return new Pool(origin, opts)\n}\n\nclass Http1ProxyWrapper extends DispatcherBase {\n #client\n\n constructor (proxyUrl, { headers = {}, connect, factory }) {\n super()\n if (!proxyUrl) {\n throw new InvalidArgumentError('Proxy URL is mandatory')\n }\n\n this[kProxyHeaders] = headers\n if (factory) {\n this.#client = factory(proxyUrl, { connect })\n } else {\n this.#client = new Client(proxyUrl, { connect })\n }\n }\n\n [kDispatch] (opts, handler) {\n const onHeaders = handler.onHeaders\n handler.onHeaders = function (statusCode, data, resume) {\n if (statusCode === 407) {\n if (typeof handler.onError === 'function') {\n handler.onError(new InvalidArgumentError('Proxy Authentication Required (407)'))\n }\n return\n }\n if (onHeaders) onHeaders.call(this, statusCode, data, resume)\n }\n\n // Rewrite request as an HTTP1 Proxy request, without tunneling.\n const {\n origin,\n path = '/',\n headers = {}\n } = opts\n\n opts.path = origin + path\n\n if (!('host' in headers) && !('Host' in headers)) {\n const { host } = new URL(origin)\n headers.host = host\n }\n opts.headers = { ...this[kProxyHeaders], ...headers }\n\n return this.#client[kDispatch](opts, handler)\n }\n\n async [kClose] () {\n return this.#client.close()\n }\n\n async [kDestroy] (err) {\n return this.#client.destroy(err)\n }\n}\n\nclass ProxyAgent extends DispatcherBase {\n constructor (opts) {\n super()\n\n if (!opts || (typeof opts === 'object' && !(opts instanceof URL) && !opts.uri)) {\n throw new InvalidArgumentError('Proxy uri is mandatory')\n }\n\n const { clientFactory = defaultFactory } = opts\n if (typeof clientFactory !== 'function') {\n throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')\n }\n\n const { proxyTunnel = true } = opts\n\n const url = this.#getUrl(opts)\n const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url\n\n this[kProxy] = { uri: href, protocol }\n this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent)\n ? opts.interceptors.ProxyAgent\n : []\n this[kRequestTls] = opts.requestTls\n this[kProxyTls] = opts.proxyTls\n this[kProxyHeaders] = opts.headers || {}\n this[kTunnelProxy] = proxyTunnel\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 } else if (username && password) {\n this[kProxyHeaders]['proxy-authorization'] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString('base64')}`\n }\n\n const connect = buildConnector({ ...opts.proxyTls })\n this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })\n\n const agentFactory = opts.factory || defaultAgentFactory\n const factory = (origin, options) => {\n const { protocol } = new URL(origin)\n if (!this[kTunnelProxy] && protocol === 'http:' && this[kProxy].protocol === 'http:') {\n return new Http1ProxyWrapper(this[kProxy].uri, {\n headers: this[kProxyHeaders],\n connect,\n factory: agentFactory\n })\n }\n return agentFactory(origin, options)\n }\n this[kClient] = clientFactory(url, { connect })\n this[kAgent] = new Agent({\n ...opts,\n factory,\n connect: async (opts, callback) => {\n let requestedPath = opts.host\n if (!opts.port) {\n requestedPath += `:${defaultProtocolPort(opts.protocol)}`\n }\n try {\n const { socket, statusCode } = await this[kClient].connect({\n origin,\n port,\n path: requestedPath,\n signal: opts.signal,\n headers: {\n ...this[kProxyHeaders],\n host: opts.host\n },\n servername: this[kProxyTls]?.servername || proxyHostname\n })\n if (statusCode !== 200) {\n socket.on('error', noop).destroy()\n callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 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 if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {\n // Throw a custom error to avoid loop in client.js#connect\n callback(new SecureProxyConnectionError(err))\n } else {\n callback(err)\n }\n }\n }\n })\n }\n\n dispatch (opts, handler) {\n const headers = buildHeaders(opts.headers)\n throwIfProxyAuthIsSent(headers)\n\n if (headers && !('host' in headers) && !('Host' in headers)) {\n const { host } = new URL(opts.origin)\n headers.host = host\n }\n\n return this[kAgent].dispatch(\n {\n ...opts,\n headers\n },\n handler\n )\n }\n\n /**\n * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts\n * @returns {URL}\n */\n #getUrl (opts) {\n if (typeof opts === 'string') {\n return new URL(opts)\n } else if (opts instanceof URL) {\n return opts\n } else {\n return new URL(opts.uri)\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} headers\n * @returns {Record}\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} */\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} 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\nconst DispatcherBase = require('./dispatcher-base')\nconst { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require('../core/symbols')\nconst ProxyAgent = require('./proxy-agent')\nconst Agent = require('./agent')\n\nconst DEFAULT_PORTS = {\n 'http:': 80,\n 'https:': 443\n}\n\nlet experimentalWarned = false\n\nclass EnvHttpProxyAgent extends DispatcherBase {\n #noProxyValue = null\n #noProxyEntries = null\n #opts = null\n\n constructor (opts = {}) {\n super()\n this.#opts = opts\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('EnvHttpProxyAgent is experimental, expect them to change at any time.', {\n code: 'UNDICI-EHPA'\n })\n }\n\n const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts\n\n this[kNoProxyAgent] = new Agent(agentOpts)\n\n const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY\n if (HTTP_PROXY) {\n this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY })\n } else {\n this[kHttpProxyAgent] = this[kNoProxyAgent]\n }\n\n const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY\n if (HTTPS_PROXY) {\n this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY })\n } else {\n this[kHttpsProxyAgent] = this[kHttpProxyAgent]\n }\n\n this.#parseNoProxy()\n }\n\n [kDispatch] (opts, handler) {\n const url = new URL(opts.origin)\n const agent = this.#getProxyAgentForUrl(url)\n return agent.dispatch(opts, handler)\n }\n\n async [kClose] () {\n await this[kNoProxyAgent].close()\n if (!this[kHttpProxyAgent][kClosed]) {\n await this[kHttpProxyAgent].close()\n }\n if (!this[kHttpsProxyAgent][kClosed]) {\n await this[kHttpsProxyAgent].close()\n }\n }\n\n async [kDestroy] (err) {\n await this[kNoProxyAgent].destroy(err)\n if (!this[kHttpProxyAgent][kDestroyed]) {\n await this[kHttpProxyAgent].destroy(err)\n }\n if (!this[kHttpsProxyAgent][kDestroyed]) {\n await this[kHttpsProxyAgent].destroy(err)\n }\n }\n\n #getProxyAgentForUrl (url) {\n let { protocol, host: hostname, port } = url\n\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '').toLowerCase()\n port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0\n if (!this.#shouldProxy(hostname, port)) {\n return this[kNoProxyAgent]\n }\n if (protocol === 'https:') {\n return this[kHttpsProxyAgent]\n }\n return this[kHttpProxyAgent]\n }\n\n #shouldProxy (hostname, port) {\n if (this.#noProxyChanged) {\n this.#parseNoProxy()\n }\n\n if (this.#noProxyEntries.length === 0) {\n return true // Always proxy if NO_PROXY is not set or empty.\n }\n if (this.#noProxyValue === '*') {\n return false // Never proxy if wildcard is set.\n }\n\n for (let i = 0; i < this.#noProxyEntries.length; i++) {\n const entry = this.#noProxyEntries[i]\n if (entry.port && entry.port !== port) {\n continue // Skip if ports don't match.\n }\n if (!/^[.*]/.test(entry.hostname)) {\n // No wildcards, so don't proxy only if there is not an exact match.\n if (hostname === entry.hostname) {\n return false\n }\n } else {\n // Don't proxy if the hostname ends with the no_proxy host.\n if (hostname.endsWith(entry.hostname.replace(/^\\*/, ''))) {\n return false\n }\n }\n }\n\n return true\n }\n\n #parseNoProxy () {\n const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv\n const noProxySplit = noProxyValue.split(/[,\\s]/)\n const noProxyEntries = []\n\n for (let i = 0; i < noProxySplit.length; i++) {\n const entry = noProxySplit[i]\n if (!entry) {\n continue\n }\n const parsed = entry.match(/^(.+):(\\d+)$/)\n noProxyEntries.push({\n hostname: (parsed ? parsed[1] : entry).toLowerCase(),\n port: parsed ? Number.parseInt(parsed[2], 10) : 0\n })\n }\n\n this.#noProxyValue = noProxyValue\n this.#noProxyEntries = noProxyEntries\n }\n\n get #noProxyChanged () {\n if (this.#opts.noProxy !== undefined) {\n return false\n }\n return this.#noProxyValue !== this.#noProxyEnv\n }\n\n get #noProxyEnv () {\n return process.env.no_proxy ?? process.env.NO_PROXY ?? ''\n }\n}\n\nmodule.exports = EnvHttpProxyAgent\n","'use strict'\nconst assert = require('node:assert')\n\nconst { kRetryHandlerDefaultRetry } = require('../core/symbols')\nconst { RequestRetryError } = require('../core/errors')\nconst {\n isDisturbed,\n parseHeaders,\n parseRangeHeader,\n wrapRequestBody\n} = require('../core/util')\n\nfunction calculateRetryAfterHeader (retryAfter) {\n const current = Date.now()\n return new Date(retryAfter).getTime() - current\n}\n\nclass RetryHandler {\n constructor (opts, handlers) {\n const { retryOptions, ...dispatchOpts } = opts\n const {\n // Retry scoped\n retry: retryFn,\n maxRetries,\n maxTimeout,\n minTimeout,\n timeoutFactor,\n // Response scoped\n methods,\n errorCodes,\n retryAfter,\n statusCodes\n } = retryOptions ?? {}\n\n this.dispatch = handlers.dispatch\n this.handler = handlers.handler\n this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) }\n this.abort = null\n this.aborted = false\n this.retryOpts = {\n retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry],\n retryAfter: retryAfter ?? true,\n maxTimeout: maxTimeout ?? 30 * 1000, // 30s,\n minTimeout: minTimeout ?? 500, // .5s\n timeoutFactor: timeoutFactor ?? 2,\n maxRetries: maxRetries ?? 5,\n // What errors we should retry\n methods: methods ?? ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'],\n // Indicates which errors to retry\n statusCodes: statusCodes ?? [500, 502, 503, 504, 429],\n // List of errors to retry\n errorCodes: errorCodes ?? [\n 'ECONNRESET',\n 'ECONNREFUSED',\n 'ENOTFOUND',\n 'ENETDOWN',\n 'ENETUNREACH',\n 'EHOSTDOWN',\n 'EHOSTUNREACH',\n 'EPIPE',\n 'UND_ERR_SOCKET'\n ]\n }\n\n this.retryCount = 0\n this.retryCountCheckpoint = 0\n this.start = 0\n this.end = null\n this.etag = null\n this.resume = null\n\n // Handle possible onConnect duplication\n this.handler.onConnect(reason => {\n this.aborted = true\n if (this.abort) {\n this.abort(reason)\n } else {\n this.reason = reason\n }\n })\n }\n\n onRequestSent () {\n if (this.handler.onRequestSent) {\n this.handler.onRequestSent()\n }\n }\n\n onUpgrade (statusCode, headers, socket) {\n if (this.handler.onUpgrade) {\n this.handler.onUpgrade(statusCode, headers, socket)\n }\n }\n\n onConnect (abort) {\n if (this.aborted) {\n abort(this.reason)\n } else {\n this.abort = abort\n }\n }\n\n onBodySent (chunk) {\n if (this.handler.onBodySent) return this.handler.onBodySent(chunk)\n }\n\n static [kRetryHandlerDefaultRetry] (err, { state, opts }, cb) {\n const { statusCode, code, headers } = err\n const { method, retryOptions } = opts\n const {\n maxRetries,\n minTimeout,\n maxTimeout,\n timeoutFactor,\n statusCodes,\n errorCodes,\n methods\n } = retryOptions\n const { counter } = state\n\n // Any code that is not a Undici's originated and allowed to retry\n if (code && code !== 'UND_ERR_REQ_RETRY' && !errorCodes.includes(code)) {\n cb(err)\n return\n }\n\n // If a set of method are provided and the current method is not in the list\n if (Array.isArray(methods) && !methods.includes(method)) {\n cb(err)\n return\n }\n\n // If a set of status code are provided and the current status code is not in the list\n if (\n statusCode != null &&\n Array.isArray(statusCodes) &&\n !statusCodes.includes(statusCode)\n ) {\n cb(err)\n return\n }\n\n // If we reached the max number of retries\n if (counter > maxRetries) {\n cb(err)\n return\n }\n\n let retryAfterHeader = headers?.['retry-after']\n if (retryAfterHeader) {\n retryAfterHeader = Number(retryAfterHeader)\n retryAfterHeader = Number.isNaN(retryAfterHeader)\n ? calculateRetryAfterHeader(retryAfterHeader)\n : retryAfterHeader * 1e3 // Retry-After is in seconds\n }\n\n const retryTimeout =\n retryAfterHeader > 0\n ? Math.min(retryAfterHeader, maxTimeout)\n : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout)\n\n setTimeout(() => cb(null), retryTimeout)\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const headers = parseHeaders(rawHeaders)\n\n this.retryCount += 1\n\n if (statusCode >= 300) {\n if (this.retryOpts.statusCodes.includes(statusCode) === false) {\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n } else {\n this.abort(\n new RequestRetryError('Request failed', statusCode, {\n headers,\n data: {\n count: this.retryCount\n }\n })\n )\n return false\n }\n }\n\n // Checkpoint for resume from where we left it\n if (this.resume != null) {\n this.resume = null\n\n // Only Partial Content 206 supposed to provide Content-Range,\n // any other status code that partially consumed the payload\n // should not be retry because it would result in downstream\n // wrongly concatanete multiple responses.\n if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {\n this.abort(\n new RequestRetryError('server does not support the range header and the payload was partially consumed', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n const contentRange = parseRangeHeader(headers['content-range'])\n // If no content range\n if (!contentRange) {\n this.abort(\n new RequestRetryError('Content-Range mismatch', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n // Let's start with a weak etag check\n if (this.etag != null && this.etag !== headers.etag) {\n this.abort(\n new RequestRetryError('ETag mismatch', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n const { start, size, end = size - 1 } = contentRange\n\n assert(this.start === start, 'content-range mismatch')\n assert(this.end == null || this.end === end, 'content-range mismatch')\n\n this.resume = resume\n return true\n }\n\n if (this.end == null) {\n if (statusCode === 206) {\n // First time we receive 206\n const range = parseRangeHeader(headers['content-range'])\n\n if (range == null) {\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n const { start, size, end = size - 1 } = range\n assert(\n start != null && Number.isFinite(start),\n 'content-range mismatch'\n )\n assert(end != null && Number.isFinite(end), 'invalid content-length')\n\n this.start = start\n this.end = end\n }\n\n // We make our best to checkpoint the body for further range headers\n if (this.end == null) {\n const contentLength = headers['content-length']\n this.end = contentLength != null ? Number(contentLength) - 1 : null\n }\n\n assert(Number.isFinite(this.start))\n assert(\n this.end == null || Number.isFinite(this.end),\n 'invalid content-length'\n )\n\n this.resume = resume\n this.etag = headers.etag != null ? headers.etag : null\n\n // Weak etags are not useful for comparison nor cache\n // for instance not safe to assume if the response is byte-per-byte\n // equal\n if (this.etag != null && this.etag.startsWith('W/')) {\n this.etag = null\n }\n\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n const err = new RequestRetryError('Request failed', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n\n this.abort(err)\n\n return false\n }\n\n onData (chunk) {\n this.start += chunk.length\n\n return this.handler.onData(chunk)\n }\n\n onComplete (rawTrailers) {\n this.retryCount = 0\n return this.handler.onComplete(rawTrailers)\n }\n\n onError (err) {\n if (this.aborted || isDisturbed(this.opts.body)) {\n return this.handler.onError(err)\n }\n\n // We reconcile in case of a mix between network errors\n // and server error response\n if (this.retryCount - this.retryCountCheckpoint > 0) {\n // We count the difference between the last checkpoint and the current retry count\n this.retryCount =\n this.retryCountCheckpoint +\n (this.retryCount - this.retryCountCheckpoint)\n } else {\n this.retryCount += 1\n }\n\n this.retryOpts.retry(\n err,\n {\n state: { counter: this.retryCount },\n opts: { retryOptions: this.retryOpts, ...this.opts }\n },\n onRetry.bind(this)\n )\n\n function onRetry (err) {\n if (err != null || this.aborted || isDisturbed(this.opts.body)) {\n return this.handler.onError(err)\n }\n\n if (this.start !== 0) {\n const headers = { range: `bytes=${this.start}-${this.end ?? ''}` }\n\n // Weak etag check - weak etags will make comparison algorithms never match\n if (this.etag != null) {\n headers['if-match'] = this.etag\n }\n\n this.opts = {\n ...this.opts,\n headers: {\n ...this.opts.headers,\n ...headers\n }\n }\n }\n\n try {\n this.retryCountCheckpoint = this.retryCount\n this.dispatch(this.opts, this)\n } catch (err) {\n this.handler.onError(err)\n }\n }\n }\n}\n\nmodule.exports = RetryHandler\n","'use strict'\n\nconst Dispatcher = require('./dispatcher')\nconst RetryHandler = require('../handler/retry-handler')\n\nclass RetryAgent extends Dispatcher {\n #agent = null\n #options = null\n constructor (agent, options = {}) {\n super(options)\n this.#agent = agent\n this.#options = options\n }\n\n dispatch (opts, handler) {\n const retry = new RetryHandler({\n ...opts,\n retryOptions: this.#options\n }, {\n dispatch: this.#agent.dispatch.bind(this.#agent),\n handler\n })\n return this.#agent.dispatch(opts, retry)\n }\n\n close () {\n return this.#agent.close()\n }\n\n destroy () {\n return this.#agent.destroy()\n }\n}\n\nmodule.exports = RetryAgent\n","// Ported from https://github.com/nodejs/undici/pull/907\n\n'use strict'\n\nconst assert = require('node:assert')\nconst { Readable } = require('node:stream')\nconst { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require('../core/errors')\nconst util = require('../core/util')\nconst { ReadableStreamFrom } = require('../core/util')\n\nconst kConsume = Symbol('kConsume')\nconst kReading = Symbol('kReading')\nconst kBody = Symbol('kBody')\nconst kAbort = Symbol('kAbort')\nconst kContentType = Symbol('kContentType')\nconst kContentLength = Symbol('kContentLength')\n\nconst noop = () => {}\n\nclass BodyReadable extends Readable {\n constructor ({\n resume,\n abort,\n contentType = '',\n contentLength,\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 this[kContentLength] = contentLength\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 (!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 _destroy (err, callback) {\n // Workaround for Node \"bug\". If the stream is destroyed in same\n // tick as it is created, then a user who is waiting for a\n // promise (i.e micro tick) for installing a 'error' listener will\n // never get a chance and will always encounter an unhandled exception.\n if (!this[kReading]) {\n setImmediate(() => {\n callback(err)\n })\n } else {\n callback(err)\n }\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) {\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-bytes\n async bytes () {\n return consume(this, 'bytes')\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 = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024\n const signal = opts?.signal\n\n if (signal != null && (typeof signal !== 'object' || !('aborted' in signal))) {\n throw new InvalidArgumentError('signal must be an AbortSignal')\n }\n\n signal?.throwIfAborted()\n\n if (this._readableState.closeEmitted) {\n return null\n }\n\n return await new Promise((resolve, reject) => {\n if (this[kContentLength] > limit) {\n this.destroy(new AbortError())\n }\n\n const onAbort = () => {\n this.destroy(signal.reason ?? new AbortError())\n }\n signal?.addEventListener('abort', onAbort)\n\n this\n .on('close', function () {\n signal?.removeEventListener('abort', onAbort)\n if (signal?.aborted) {\n reject(signal.reason ?? new AbortError())\n } else {\n resolve(null)\n }\n })\n .on('error', noop)\n .on('data', function (chunk) {\n limit -= chunk.length\n if (limit <= 0) {\n this.destroy()\n }\n })\n .resume()\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 assert(!stream[kConsume])\n\n return new Promise((resolve, reject) => {\n if (isUnusable(stream)) {\n const rState = stream._readableState\n if (rState.destroyed && rState.closeEmitted === false) {\n stream\n .on('error', err => {\n reject(err)\n })\n .on('close', () => {\n reject(new TypeError('unusable'))\n })\n } else {\n reject(rState.errored ?? new TypeError('unusable'))\n }\n } else {\n queueMicrotask(() => {\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 consumeStart(stream[kConsume])\n })\n }\n })\n}\n\nfunction consumeStart (consume) {\n if (consume.body === null) {\n return\n }\n\n const { _readableState: state } = consume.stream\n\n if (state.bufferIndex) {\n const start = state.bufferIndex\n const end = state.buffer.length\n for (let n = start; n < end; n++) {\n consumePush(consume, state.buffer[n])\n }\n } else {\n for (const chunk of state.buffer) {\n consumePush(consume, chunk)\n }\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\n/**\n * @param {Buffer[]} chunks\n * @param {number} length\n */\nfunction chunksDecode (chunks, length) {\n if (chunks.length === 0 || length === 0) {\n return ''\n }\n const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length)\n const bufferLength = buffer.length\n\n // Skip BOM.\n const start =\n bufferLength > 2 &&\n buffer[0] === 0xef &&\n buffer[1] === 0xbb &&\n buffer[2] === 0xbf\n ? 3\n : 0\n return buffer.utf8Slice(start, bufferLength)\n}\n\n/**\n * @param {Buffer[]} chunks\n * @param {number} length\n * @returns {Uint8Array}\n */\nfunction chunksConcat (chunks, length) {\n if (chunks.length === 0 || length === 0) {\n return new Uint8Array(0)\n }\n if (chunks.length === 1) {\n // fast-path\n return new Uint8Array(chunks[0])\n }\n const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer)\n\n let offset = 0\n for (let i = 0; i < chunks.length; ++i) {\n const chunk = chunks[i]\n buffer.set(chunk, offset)\n offset += chunk.length\n }\n\n return buffer\n}\n\nfunction consumeEnd (consume) {\n const { type, body, resolve, stream, length } = consume\n\n try {\n if (type === 'text') {\n resolve(chunksDecode(body, length))\n } else if (type === 'json') {\n resolve(JSON.parse(chunksDecode(body, length)))\n } else if (type === 'arrayBuffer') {\n resolve(chunksConcat(body, length).buffer)\n } else if (type === 'blob') {\n resolve(new Blob(body, { type: stream[kContentType] }))\n } else if (type === 'bytes') {\n resolve(chunksConcat(body, length))\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\nmodule.exports = { Readable: BodyReadable, chunksDecode }\n","const assert = require('node:assert')\nconst {\n ResponseStatusCodeError\n} = require('../core/errors')\n\nconst { chunksDecode } = require('./readable')\nconst CHUNK_LIMIT = 128 * 1024\n\nasync function getResolveErrorBodyCallback ({ callback, body, contentType, statusCode, statusMessage, headers }) {\n assert(body)\n\n let chunks = []\n let length = 0\n\n try {\n for await (const chunk of body) {\n chunks.push(chunk)\n length += chunk.length\n if (length > CHUNK_LIMIT) {\n chunks = []\n length = 0\n break\n }\n }\n } catch {\n chunks = []\n length = 0\n // Do nothing....\n }\n\n const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`\n\n if (statusCode === 204 || !contentType || !length) {\n queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)))\n return\n }\n\n const stackTraceLimit = Error.stackTraceLimit\n Error.stackTraceLimit = 0\n let payload\n\n try {\n if (isContentTypeApplicationJson(contentType)) {\n payload = JSON.parse(chunksDecode(chunks, length))\n } else if (isContentTypeText(contentType)) {\n payload = chunksDecode(chunks, length)\n }\n } catch {\n // process in a callback to avoid throwing in the microtask queue\n } finally {\n Error.stackTraceLimit = stackTraceLimit\n }\n queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)))\n}\n\nconst isContentTypeApplicationJson = (contentType) => {\n return (\n contentType.length > 15 &&\n contentType[11] === '/' &&\n contentType[0] === 'a' &&\n contentType[1] === 'p' &&\n contentType[2] === 'p' &&\n contentType[3] === 'l' &&\n contentType[4] === 'i' &&\n contentType[5] === 'c' &&\n contentType[6] === 'a' &&\n contentType[7] === 't' &&\n contentType[8] === 'i' &&\n contentType[9] === 'o' &&\n contentType[10] === 'n' &&\n contentType[12] === 'j' &&\n contentType[13] === 's' &&\n contentType[14] === 'o' &&\n contentType[15] === 'n'\n )\n}\n\nconst isContentTypeText = (contentType) => {\n return (\n contentType.length > 4 &&\n contentType[4] === '/' &&\n contentType[0] === 't' &&\n contentType[1] === 'e' &&\n contentType[2] === 'x' &&\n contentType[3] === 't'\n )\n}\n\nmodule.exports = {\n getResolveErrorBodyCallback,\n isContentTypeApplicationJson,\n isContentTypeText\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { Readable } = require('./readable')\nconst { InvalidArgumentError, RequestAbortedError } = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('node:async_hooks')\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.method = method\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 this.signal = signal\n this.reason = null\n this.removeAbortListener = null\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n if (this.signal) {\n if (this.signal.aborted) {\n this.reason = this.signal.reason ?? new RequestAbortedError()\n } else {\n this.removeAbortListener = util.addAbortListener(this.signal, () => {\n this.reason = this.signal.reason ?? new RequestAbortedError()\n if (this.res) {\n util.destroy(this.res.on('error', util.nop), this.reason)\n } else if (this.abort) {\n this.abort(this.reason)\n }\n\n if (this.removeAbortListener) {\n this.res?.off('close', this.removeAbortListener)\n this.removeAbortListener()\n this.removeAbortListener = null\n }\n })\n }\n }\n }\n\n onConnect (abort, context) {\n if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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 contentLength = parsedHeaders['content-length']\n const res = new Readable({\n resume,\n abort,\n contentType,\n contentLength: this.method !== 'HEAD' && contentLength\n ? Number(contentLength)\n : null,\n highWaterMark\n })\n\n if (this.removeAbortListener) {\n res.on('close', this.removeAbortListener)\n }\n\n this.callback = null\n this.res = res\n if (callback !== null) {\n if (this.throwOnError && statusCode >= 400) {\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body: res, 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: res,\n context\n })\n }\n }\n }\n\n onData (chunk) {\n return this.res.push(chunk)\n }\n\n onComplete (trailers) {\n util.parseHeaders(trailers, this.trailers)\n this.res.push(null)\n }\n\n onError (err) {\n const { res, callback, body, opaque } = 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 if (this.removeAbortListener) {\n res?.off('close', this.removeAbortListener)\n this.removeAbortListener()\n this.removeAbortListener = null\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?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = request\nmodule.exports.RequestHandler = RequestHandler\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(self[kSignal]?.reason)\n } else {\n self.reason = self[kSignal]?.reason ?? new RequestAbortedError()\n }\n removeSignal(self)\n}\n\nfunction addSignal (self, signal) {\n self.reason = null\n\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 assert = require('node:assert')\nconst { finished, PassThrough } = require('node:stream')\nconst { InvalidArgumentError, InvalidReturnValueError } = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('node: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.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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 if (factory === null) {\n return\n }\n\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?.needDrain\n\n return needDrain !== true\n }\n\n onData (chunk) {\n const { res } = this\n\n return res ? res.write(chunk) : true\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n if (!res) {\n return\n }\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?.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('node:stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { AsyncResource } = require('node:async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('node: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?.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 if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(!res, 'pipeline cannot be retried')\n assert(!ret.destroyed)\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, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('node:async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('node: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.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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 assert(statusCode === 101)\n\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 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?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = upgrade\n","'use strict'\n\nconst assert = require('node:assert')\nconst { AsyncResource } = require('node:async_hooks')\nconst { InvalidArgumentError, SocketError } = require('../core/errors')\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.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\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\n let headers = rawHeaders\n // Indicates is an HTTP2Session\n if (headers != null) {\n headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n }\n\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?.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\nconst kMockNotMatchedError = Symbol.for('undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED')\n\n/**\n * The request does not match any registered mock dispatches.\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 static [Symbol.hasInstance] (instance) {\n return instance && instance[kMockNotMatchedError] === true\n }\n\n [kMockNotMatchedError] = true\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 } = require('../core/util')\nconst { STATUS_CODES } = require('node:http')\nconst {\n types: {\n isPromise\n }\n} = require('node: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} 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 (data instanceof Uint8Array) {\n return data\n } else if (data instanceof ArrayBuffer) {\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}' on path '${resolvedPath}'`)\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}' on path '${resolvedPath}'`)\n }\n\n // Match headers\n matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers))\n if (matchedMockDispatches.length === 0) {\n const headers = typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers\n throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`)\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 const keys = Object.keys(data)\n const result = []\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n const value = data[key]\n const name = Buffer.from(`${key}`)\n if (Array.isArray(value)) {\n for (let j = 0; j < value.length; ++j) {\n result.push(name, Buffer.from(`${value[j]}`))\n }\n } else {\n result.push(name, Buffer.from(`${value}`))\n }\n }\n return result\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.onConnect?.(err => handler.onError(err), null)\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 buildHeadersFromArray\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/web/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 (replyParameters) {\n if (typeof replyParameters.statusCode === 'undefined') {\n throw new InvalidArgumentError('statusCode must be defined')\n }\n if (typeof replyParameters.responseOptions !== 'object' || replyParameters.responseOptions === null) {\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 (replyOptionsCallbackOrStatusCode) {\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 replyOptionsCallbackOrStatusCode === '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 = replyOptionsCallbackOrStatusCode(opts)\n\n // Check if it is in the right format\n if (typeof resolvedData !== 'object' || resolvedData === null) {\n throw new InvalidArgumentError('reply options callback must return an object')\n }\n\n const replyParameters = { data: '', responseOptions: {}, ...resolvedData }\n this.validateReplyParameters(replyParameters)\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(replyParameters)\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 replyParameters = {\n statusCode: replyOptionsCallbackOrStatusCode,\n data: arguments[1] === undefined ? '' : arguments[1],\n responseOptions: arguments[2] === undefined ? {} : arguments[2]\n }\n this.validateReplyParameters(replyParameters)\n\n // Send in-already provided data like usual\n const dispatchData = this.createMockScopeDispatchData(replyParameters)\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('node:util')\nconst Client = require('../dispatcher/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('node:util')\nconst Pool = require('../dispatcher/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('node:stream')\nconst { Console } = require('node:console')\n\nconst PERSISTENT = process.versions.icu ? '✅' : 'Y '\nconst NOT_PERSISTENT = process.versions.icu ? '❌' : 'N '\n\n/**\n * Gets the output of `console.table(…)` 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 ? PERSISTENT : NOT_PERSISTENT,\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('../dispatcher/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/dispatcher')\nconst Pluralizer = require('./pluralizer')\nconst PendingInterceptorsFormatter = require('./pending-interceptors-formatter')\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?.agent && typeof opts.agent.dispatch !== 'function')) {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n const agent = 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, 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 client = this[kClients].get(origin)\n if (client) {\n return client\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, nonExplicitDispatcher] of Array.from(this[kClients])) {\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[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\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('./dispatcher/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 #handler\n\n constructor (handler) {\n if (typeof handler !== 'object' || handler === null) {\n throw new TypeError('handler must be an object')\n }\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 onResponseStarted (...args) {\n return this.#handler.onResponseStarted?.(...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","'use strict'\nconst RedirectHandler = require('../handler/redirect-handler')\n\nmodule.exports = opts => {\n const globalMaxRedirections = opts?.maxRedirections\n return dispatch => {\n return function redirectInterceptor (opts, handler) {\n const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts\n\n if (!maxRedirections) {\n return dispatch(opts, handler)\n }\n\n const redirectHandler = new RedirectHandler(\n dispatch,\n maxRedirections,\n opts,\n handler\n )\n\n return dispatch(baseOpts, redirectHandler)\n }\n }\n}\n","'use strict'\nconst RetryHandler = require('../handler/retry-handler')\n\nmodule.exports = globalOpts => {\n return dispatch => {\n return function retryInterceptor (opts, handler) {\n return dispatch(\n opts,\n new RetryHandler(\n { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },\n {\n handler,\n dispatch\n }\n )\n )\n }\n }\n}\n","'use strict'\n\nconst util = require('../core/util')\nconst { InvalidArgumentError, RequestAbortedError } = require('../core/errors')\nconst DecoratorHandler = require('../handler/decorator-handler')\n\nclass DumpHandler extends DecoratorHandler {\n #maxSize = 1024 * 1024\n #abort = null\n #dumped = false\n #aborted = false\n #size = 0\n #reason = null\n #handler = null\n\n constructor ({ maxSize }, handler) {\n super(handler)\n\n if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {\n throw new InvalidArgumentError('maxSize must be a number greater than 0')\n }\n\n this.#maxSize = maxSize ?? this.#maxSize\n this.#handler = handler\n }\n\n onConnect (abort) {\n this.#abort = abort\n\n this.#handler.onConnect(this.#customAbort.bind(this))\n }\n\n #customAbort (reason) {\n this.#aborted = true\n this.#reason = reason\n }\n\n // TODO: will require adjustment after new hooks are out\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const headers = util.parseHeaders(rawHeaders)\n const contentLength = headers['content-length']\n\n if (contentLength != null && contentLength > this.#maxSize) {\n throw new RequestAbortedError(\n `Response size (${contentLength}) larger than maxSize (${\n this.#maxSize\n })`\n )\n }\n\n if (this.#aborted) {\n return true\n }\n\n return this.#handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n onError (err) {\n if (this.#dumped) {\n return\n }\n\n err = this.#reason ?? err\n\n this.#handler.onError(err)\n }\n\n onData (chunk) {\n this.#size = this.#size + chunk.length\n\n if (this.#size >= this.#maxSize) {\n this.#dumped = true\n\n if (this.#aborted) {\n this.#handler.onError(this.#reason)\n } else {\n this.#handler.onComplete([])\n }\n }\n\n return true\n }\n\n onComplete (trailers) {\n if (this.#dumped) {\n return\n }\n\n if (this.#aborted) {\n this.#handler.onError(this.reason)\n return\n }\n\n this.#handler.onComplete(trailers)\n }\n}\n\nfunction createDumpInterceptor (\n { maxSize: defaultMaxSize } = {\n maxSize: 1024 * 1024\n }\n) {\n return dispatch => {\n return function Intercept (opts, handler) {\n const { dumpMaxSize = defaultMaxSize } =\n opts\n\n const dumpHandler = new DumpHandler(\n { maxSize: dumpMaxSize },\n handler\n )\n\n return dispatch(opts, dumpHandler)\n }\n }\n}\n\nmodule.exports = createDumpInterceptor\n","'use strict'\nconst { isIP } = require('node:net')\nconst { lookup } = require('node:dns')\nconst DecoratorHandler = require('../handler/decorator-handler')\nconst { InvalidArgumentError, InformationalError } = require('../core/errors')\nconst maxInt = Math.pow(2, 31) - 1\n\nclass DNSInstance {\n #maxTTL = 0\n #maxItems = 0\n #records = new Map()\n dualStack = true\n affinity = null\n lookup = null\n pick = null\n\n constructor (opts) {\n this.#maxTTL = opts.maxTTL\n this.#maxItems = opts.maxItems\n this.dualStack = opts.dualStack\n this.affinity = opts.affinity\n this.lookup = opts.lookup ?? this.#defaultLookup\n this.pick = opts.pick ?? this.#defaultPick\n }\n\n get full () {\n return this.#records.size === this.#maxItems\n }\n\n runLookup (origin, opts, cb) {\n const ips = this.#records.get(origin.hostname)\n\n // If full, we just return the origin\n if (ips == null && this.full) {\n cb(null, origin.origin)\n return\n }\n\n const newOpts = {\n affinity: this.affinity,\n dualStack: this.dualStack,\n lookup: this.lookup,\n pick: this.pick,\n ...opts.dns,\n maxTTL: this.#maxTTL,\n maxItems: this.#maxItems\n }\n\n // If no IPs we lookup\n if (ips == null) {\n this.lookup(origin, newOpts, (err, addresses) => {\n if (err || addresses == null || addresses.length === 0) {\n cb(err ?? new InformationalError('No DNS entries found'))\n return\n }\n\n this.setRecords(origin, addresses)\n const records = this.#records.get(origin.hostname)\n\n const ip = this.pick(\n origin,\n records,\n newOpts.affinity\n )\n\n let port\n if (typeof ip.port === 'number') {\n port = `:${ip.port}`\n } else if (origin.port !== '') {\n port = `:${origin.port}`\n } else {\n port = ''\n }\n\n cb(\n null,\n `${origin.protocol}//${\n ip.family === 6 ? `[${ip.address}]` : ip.address\n }${port}`\n )\n })\n } else {\n // If there's IPs we pick\n const ip = this.pick(\n origin,\n ips,\n newOpts.affinity\n )\n\n // If no IPs we lookup - deleting old records\n if (ip == null) {\n this.#records.delete(origin.hostname)\n this.runLookup(origin, opts, cb)\n return\n }\n\n let port\n if (typeof ip.port === 'number') {\n port = `:${ip.port}`\n } else if (origin.port !== '') {\n port = `:${origin.port}`\n } else {\n port = ''\n }\n\n cb(\n null,\n `${origin.protocol}//${\n ip.family === 6 ? `[${ip.address}]` : ip.address\n }${port}`\n )\n }\n }\n\n #defaultLookup (origin, opts, cb) {\n lookup(\n origin.hostname,\n {\n all: true,\n family: this.dualStack === false ? this.affinity : 0,\n order: 'ipv4first'\n },\n (err, addresses) => {\n if (err) {\n return cb(err)\n }\n\n const results = new Map()\n\n for (const addr of addresses) {\n // On linux we found duplicates, we attempt to remove them with\n // the latest record\n results.set(`${addr.address}:${addr.family}`, addr)\n }\n\n cb(null, results.values())\n }\n )\n }\n\n #defaultPick (origin, hostnameRecords, affinity) {\n let ip = null\n const { records, offset } = hostnameRecords\n\n let family\n if (this.dualStack) {\n if (affinity == null) {\n // Balance between ip families\n if (offset == null || offset === maxInt) {\n hostnameRecords.offset = 0\n affinity = 4\n } else {\n hostnameRecords.offset++\n affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4\n }\n }\n\n if (records[affinity] != null && records[affinity].ips.length > 0) {\n family = records[affinity]\n } else {\n family = records[affinity === 4 ? 6 : 4]\n }\n } else {\n family = records[affinity]\n }\n\n // If no IPs we return null\n if (family == null || family.ips.length === 0) {\n return ip\n }\n\n if (family.offset == null || family.offset === maxInt) {\n family.offset = 0\n } else {\n family.offset++\n }\n\n const position = family.offset % family.ips.length\n ip = family.ips[position] ?? null\n\n if (ip == null) {\n return ip\n }\n\n if (Date.now() - ip.timestamp > ip.ttl) { // record TTL is already in ms\n // We delete expired records\n // It is possible that they have different TTL, so we manage them individually\n family.ips.splice(position, 1)\n return this.pick(origin, hostnameRecords, affinity)\n }\n\n return ip\n }\n\n setRecords (origin, addresses) {\n const timestamp = Date.now()\n const records = { records: { 4: null, 6: null } }\n for (const record of addresses) {\n record.timestamp = timestamp\n if (typeof record.ttl === 'number') {\n // The record TTL is expected to be in ms\n record.ttl = Math.min(record.ttl, this.#maxTTL)\n } else {\n record.ttl = this.#maxTTL\n }\n\n const familyRecords = records.records[record.family] ?? { ips: [] }\n\n familyRecords.ips.push(record)\n records.records[record.family] = familyRecords\n }\n\n this.#records.set(origin.hostname, records)\n }\n\n getHandler (meta, opts) {\n return new DNSDispatchHandler(this, meta, opts)\n }\n}\n\nclass DNSDispatchHandler extends DecoratorHandler {\n #state = null\n #opts = null\n #dispatch = null\n #handler = null\n #origin = null\n\n constructor (state, { origin, handler, dispatch }, opts) {\n super(handler)\n this.#origin = origin\n this.#handler = handler\n this.#opts = { ...opts }\n this.#state = state\n this.#dispatch = dispatch\n }\n\n onError (err) {\n switch (err.code) {\n case 'ETIMEDOUT':\n case 'ECONNREFUSED': {\n if (this.#state.dualStack) {\n // We delete the record and retry\n this.#state.runLookup(this.#origin, this.#opts, (err, newOrigin) => {\n if (err) {\n return this.#handler.onError(err)\n }\n\n const dispatchOpts = {\n ...this.#opts,\n origin: newOrigin\n }\n\n this.#dispatch(dispatchOpts, this)\n })\n\n // if dual-stack disabled, we error out\n return\n }\n\n this.#handler.onError(err)\n return\n }\n case 'ENOTFOUND':\n this.#state.deleteRecord(this.#origin)\n // eslint-disable-next-line no-fallthrough\n default:\n this.#handler.onError(err)\n break\n }\n }\n}\n\nmodule.exports = interceptorOpts => {\n if (\n interceptorOpts?.maxTTL != null &&\n (typeof interceptorOpts?.maxTTL !== 'number' || interceptorOpts?.maxTTL < 0)\n ) {\n throw new InvalidArgumentError('Invalid maxTTL. Must be a positive number')\n }\n\n if (\n interceptorOpts?.maxItems != null &&\n (typeof interceptorOpts?.maxItems !== 'number' ||\n interceptorOpts?.maxItems < 1)\n ) {\n throw new InvalidArgumentError(\n 'Invalid maxItems. Must be a positive number and greater than zero'\n )\n }\n\n if (\n interceptorOpts?.affinity != null &&\n interceptorOpts?.affinity !== 4 &&\n interceptorOpts?.affinity !== 6\n ) {\n throw new InvalidArgumentError('Invalid affinity. Must be either 4 or 6')\n }\n\n if (\n interceptorOpts?.dualStack != null &&\n typeof interceptorOpts?.dualStack !== 'boolean'\n ) {\n throw new InvalidArgumentError('Invalid dualStack. Must be a boolean')\n }\n\n if (\n interceptorOpts?.lookup != null &&\n typeof interceptorOpts?.lookup !== 'function'\n ) {\n throw new InvalidArgumentError('Invalid lookup. Must be a function')\n }\n\n if (\n interceptorOpts?.pick != null &&\n typeof interceptorOpts?.pick !== 'function'\n ) {\n throw new InvalidArgumentError('Invalid pick. Must be a function')\n }\n\n const dualStack = interceptorOpts?.dualStack ?? true\n let affinity\n if (dualStack) {\n affinity = interceptorOpts?.affinity ?? null\n } else {\n affinity = interceptorOpts?.affinity ?? 4\n }\n\n const opts = {\n maxTTL: interceptorOpts?.maxTTL ?? 10e3, // Expressed in ms\n lookup: interceptorOpts?.lookup ?? null,\n pick: interceptorOpts?.pick ?? null,\n dualStack,\n affinity,\n maxItems: interceptorOpts?.maxItems ?? Infinity\n }\n\n const instance = new DNSInstance(opts)\n\n return dispatch => {\n return function dnsInterceptor (origDispatchOpts, handler) {\n const origin =\n origDispatchOpts.origin.constructor === URL\n ? origDispatchOpts.origin\n : new URL(origDispatchOpts.origin)\n\n if (isIP(origin.hostname) !== 0) {\n return dispatch(origDispatchOpts, handler)\n }\n\n instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {\n if (err) {\n return handler.onError(err)\n }\n\n let dispatchOpts = null\n dispatchOpts = {\n ...origDispatchOpts,\n servername: origin.hostname, // For SNI on TLS\n origin: newOrigin,\n headers: {\n host: origin.hostname,\n ...origDispatchOpts.headers\n }\n }\n\n dispatch(\n dispatchOpts,\n instance.getHandler({ origin, dispatch, handler }, origDispatchOpts)\n )\n })\n\n return true\n }\n }\n}\n","// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst { kConstruct } = require('../../core/symbols')\nconst { kEnumerableProperty } = require('../../core/util')\nconst {\n iteratorMixin,\n isValidHeaderName,\n isValidHeaderValue\n} = require('./util')\nconst { webidl } = require('./webidl')\nconst assert = require('node:assert')\nconst util = require('node:util')\n\nconst kHeadersMap = Symbol('headers map')\nconst kHeadersSortedMap = Symbol('headers map sorted')\n\n/**\n * @param {number} code\n */\nfunction isHTTPWhiteSpaceCharCode (code) {\n return code === 0x00a || code === 0x00d || code === 0x009 || code === 0x020\n}\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 let i = 0; let j = potentialValue.length\n\n while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j\n while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i\n\n return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j)\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 (let i = 0; i < object.length; ++i) {\n const header = object[i]\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’s first item, header’s second item) to headers.\n appendHeader(headers, 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 → value in object,\n // append (key, value) to headers\n const keys = Object.keys(object)\n for (let i = 0; i < keys.length; ++i) {\n appendHeader(headers, keys[i], object[keys[i]])\n }\n } else {\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence>', 'record']\n })\n }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#concept-headers-append\n */\nfunction appendHeader (headers, name, value) {\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’s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if headers’s guard is \"request\" and name is a\n // forbidden header name, return.\n // 5. Otherwise, if headers’s guard is \"request-no-cors\":\n // TODO\n // Note: undici does not implement forbidden header names\n if (getHeadersGuard(headers) === 'immutable') {\n throw new TypeError('immutable')\n }\n\n // 6. Otherwise, if headers’s guard is \"response\" and name is a\n // forbidden response-header name, return.\n\n // 7. Append (name, value) to headers’s header list.\n return getHeadersList(headers).append(name, value, false)\n\n // 8. If headers’s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from headers\n}\n\nfunction compareHeaderName (a, b) {\n return a[0] < b[0] ? -1 : 1\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 === null ? null : [...init.cookies]\n } else {\n this[kHeadersMap] = new Map(init)\n this[kHeadersSortedMap] = null\n }\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#header-list-contains\n * @param {string} name\n * @param {boolean} isLowerCase\n */\n contains (name, isLowerCase) {\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\n return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase())\n }\n\n clear () {\n this[kHeadersMap].clear()\n this[kHeadersSortedMap] = null\n this.cookies = null\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-append\n * @param {string} name\n * @param {string} value\n * @param {boolean} isLowerCase\n */\n append (name, value, isLowerCase) {\n this[kHeadersSortedMap] = null\n\n // 1. If list contains name, then set name to the first such\n // header’s name.\n const lowercaseName = isLowerCase ? name : 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 ??= []).push(value)\n }\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-set\n * @param {string} name\n * @param {string} value\n * @param {boolean} isLowerCase\n */\n set (name, value, isLowerCase) {\n this[kHeadersSortedMap] = null\n const lowercaseName = isLowerCase ? name : 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 this[kHeadersMap].set(lowercaseName, { name, value })\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-delete\n * @param {string} name\n * @param {boolean} isLowerCase\n */\n delete (name, isLowerCase) {\n this[kHeadersSortedMap] = null\n if (!isLowerCase) name = name.toLowerCase()\n\n if (name === 'set-cookie') {\n this.cookies = null\n }\n\n this[kHeadersMap].delete(name)\n }\n\n /**\n * @see https://fetch.spec.whatwg.org/#concept-header-list-get\n * @param {string} name\n * @param {boolean} isLowerCase\n * @returns {string | null}\n */\n get (name, isLowerCase) {\n // 1. If list does not contain name, then return null.\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(isLowerCase ? name : name.toLowerCase())?.value ?? null\n }\n\n * [Symbol.iterator] () {\n // use the lowercased name\n for (const { 0: name, 1: { value } } of this[kHeadersMap]) {\n yield [name, value]\n }\n }\n\n get entries () {\n const headers = {}\n\n if (this[kHeadersMap].size !== 0) {\n for (const { name, value } of this[kHeadersMap].values()) {\n headers[name] = value\n }\n }\n\n return headers\n }\n\n rawValues () {\n return this[kHeadersMap].values()\n }\n\n get entriesList () {\n const headers = []\n\n if (this[kHeadersMap].size !== 0) {\n for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {\n if (lowerName === 'set-cookie') {\n for (const cookie of this.cookies) {\n headers.push([name, cookie])\n }\n } else {\n headers.push([name, value])\n }\n }\n }\n\n return headers\n }\n\n // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set\n toSortedArray () {\n const size = this[kHeadersMap].size\n const array = new Array(size)\n // In most cases, you will use the fast-path.\n // fast-path: Use binary insertion sort for small arrays.\n if (size <= 32) {\n if (size === 0) {\n // If empty, it is an empty array. To avoid the first index assignment.\n return array\n }\n // Improve performance by unrolling loop and avoiding double-loop.\n // Double-loop-less version of the binary insertion sort.\n const iterator = this[kHeadersMap][Symbol.iterator]()\n const firstValue = iterator.next().value\n // set [name, value] to first index.\n array[0] = [firstValue[0], firstValue[1].value]\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n // 3.2.2. Assert: value is non-null.\n assert(firstValue[1].value !== null)\n for (\n let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value;\n i < size;\n ++i\n ) {\n // get next value\n value = iterator.next().value\n // set [name, value] to current index.\n x = array[i] = [value[0], value[1].value]\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n // 3.2.2. Assert: value is non-null.\n assert(x[1] !== null)\n left = 0\n right = i\n // binary search\n while (left < right) {\n // middle index\n pivot = left + ((right - left) >> 1)\n // compare header name\n if (array[pivot][0] <= x[0]) {\n left = pivot + 1\n } else {\n right = pivot\n }\n }\n if (i !== pivot) {\n j = i\n while (j > left) {\n array[j] = array[--j]\n }\n array[left] = x\n }\n }\n /* c8 ignore next 4 */\n if (!iterator.next().done) {\n // This is for debugging and will never be called.\n throw new TypeError('Unreachable')\n }\n return array\n } else {\n // This case would be a rare occurrence.\n // slow-path: fallback\n let i = 0\n for (const { 0: name, 1: { value } } of this[kHeadersMap]) {\n array[i++] = [name, value]\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n // 3.2.2. Assert: value is non-null.\n assert(value !== null)\n }\n return array.sort(compareHeaderName)\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#headers-class\nclass Headers {\n #guard\n #headersList\n\n constructor (init = undefined) {\n webidl.util.markAsUncloneable(this)\n\n if (init === kConstruct) {\n return\n }\n\n this.#headersList = new HeadersList()\n\n // The new Headers(init) constructor steps are:\n\n // 1. Set this’s guard to \"none\".\n this.#guard = 'none'\n\n // 2. If init is given, then fill this with init.\n if (init !== undefined) {\n init = webidl.converters.HeadersInit(init, 'Headers contructor', '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, 'Headers.append')\n\n const prefix = 'Headers.append'\n name = webidl.converters.ByteString(name, prefix, 'name')\n value = webidl.converters.ByteString(value, prefix, 'value')\n\n return appendHeader(this, 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, 'Headers.delete')\n\n const prefix = 'Headers.delete'\n name = webidl.converters.ByteString(name, prefix, '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’s guard is \"immutable\", then throw a TypeError.\n // 3. Otherwise, if this’s guard is \"request\" and name is a\n // forbidden header name, return.\n // 4. Otherwise, if this’s 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’s 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.#guard === 'immutable') {\n throw new TypeError('immutable')\n }\n\n // 6. If this’s header list does not contain name, then\n // return.\n if (!this.#headersList.contains(name, false)) {\n return\n }\n\n // 7. Delete name from this’s header list.\n // 8. If this’s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this.\n this.#headersList.delete(name, false)\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, 'Headers.get')\n\n const prefix = 'Headers.get'\n name = webidl.converters.ByteString(name, prefix, '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,\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return the result of getting name from this’s header\n // list.\n return this.#headersList.get(name, false)\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, 'Headers.has')\n\n const prefix = 'Headers.has'\n name = webidl.converters.ByteString(name, prefix, '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,\n value: name,\n type: 'header name'\n })\n }\n\n // 2. Return true if this’s header list contains name;\n // otherwise false.\n return this.#headersList.contains(name, false)\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, 'Headers.set')\n\n const prefix = 'Headers.set'\n name = webidl.converters.ByteString(name, prefix, 'name')\n value = webidl.converters.ByteString(value, prefix, '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,\n value: name,\n type: 'header name'\n })\n } else if (!isValidHeaderValue(value)) {\n throw webidl.errors.invalidArgument({\n prefix,\n value,\n type: 'header value'\n })\n }\n\n // 3. If this’s guard is \"immutable\", then throw a TypeError.\n // 4. Otherwise, if this’s guard is \"request\" and name is a\n // forbidden header name, return.\n // 5. Otherwise, if this’s guard is \"request-no-cors\" and\n // name/value is not a no-CORS-safelisted request-header,\n // return.\n // 6. Otherwise, if this’s 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.#guard === 'immutable') {\n throw new TypeError('immutable')\n }\n\n // 7. Set (name, value) in this’s header list.\n // 8. If this’s guard is \"request-no-cors\", then remove\n // privileged no-CORS request headers from this\n this.#headersList.set(name, value, false)\n }\n\n // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie\n getSetCookie () {\n webidl.brandCheck(this, Headers)\n\n // 1. If this’s header list does not contain `Set-Cookie`, then return « ».\n // 2. Return the values of all headers in this’s header list whose name is\n // a byte-case-insensitive match for `Set-Cookie`, in order.\n\n const list = this.#headersList.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.#headersList[kHeadersSortedMap]) {\n return this.#headersList[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.#headersList.toSortedArray()\n\n const cookies = this.#headersList.cookies\n\n // fast-path\n if (cookies === null || cookies.length === 1) {\n // Note: The non-null assertion of value has already been done by `HeadersList#toSortedArray`\n return (this.#headersList[kHeadersSortedMap] = names)\n }\n\n // 3. For each name of names:\n for (let i = 0; i < names.length; ++i) {\n const { 0: name, 1: value } = names[i]\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 (let j = 0; j < cookies.length; ++j) {\n headers.push([name, cookies[j]])\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 // Note: This operation was done by `HeadersList#toSortedArray`.\n\n // 3. Append (name, value) to headers.\n headers.push([name, value])\n }\n }\n\n // 4. Return headers.\n return (this.#headersList[kHeadersSortedMap] = headers)\n }\n\n [util.inspect.custom] (depth, options) {\n options.depth ??= depth\n\n return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`\n }\n\n static getHeadersGuard (o) {\n return o.#guard\n }\n\n static setHeadersGuard (o, guard) {\n o.#guard = guard\n }\n\n static getHeadersList (o) {\n return o.#headersList\n }\n\n static setHeadersList (o, list) {\n o.#headersList = list\n }\n}\n\nconst { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers\nReflect.deleteProperty(Headers, 'getHeadersGuard')\nReflect.deleteProperty(Headers, 'setHeadersGuard')\nReflect.deleteProperty(Headers, 'getHeadersList')\nReflect.deleteProperty(Headers, 'setHeadersList')\n\niteratorMixin('Headers', Headers, kHeadersSortedMap, 0, 1)\n\nObject.defineProperties(Headers.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\n getSetCookie: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: 'Headers',\n configurable: true\n },\n [util.inspect.custom]: {\n enumerable: false\n }\n})\n\nwebidl.converters.HeadersInit = function (V, prefix, argument) {\n if (webidl.util.Type(V) === 'Object') {\n const iterator = Reflect.get(V, Symbol.iterator)\n\n // A work-around to ensure we send the properly-cased Headers when V is a Headers object.\n // Read https://github.com/nodejs/undici/pull/3159#issuecomment-2075537226 before touching, please.\n if (!util.types.isProxy(V) && iterator === Headers.prototype.entries) { // Headers object\n try {\n return getHeadersList(V).entriesList\n } catch {\n // fall-through\n }\n }\n\n if (typeof iterator === 'function') {\n return webidl.converters['sequence>'](V, prefix, argument, iterator.bind(V))\n }\n\n return webidl.converters['record'](V, prefix, argument)\n }\n\n throw webidl.errors.conversionFailed({\n prefix: 'Headers constructor',\n argument: 'Argument 1',\n types: ['sequence>', 'record']\n })\n}\n\nmodule.exports = {\n fill,\n // for test.\n compareHeaderName,\n Headers,\n HeadersList,\n getHeadersGuard,\n setHeadersGuard,\n setHeadersList,\n getHeadersList\n}\n","'use strict'\n\nconst { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require('./headers')\nconst { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require('./body')\nconst util = require('../../core/util')\nconst nodeUtil = require('node:util')\nconst { kEnumerableProperty } = util\nconst {\n isValidReasonPhrase,\n isCancelled,\n isAborted,\n isBlobLike,\n serializeJavascriptValueToJSONString,\n isErrorLike,\n isomorphicEncode,\n environmentSettingsObject: relevantRealm\n} = require('./util')\nconst {\n redirectStatusSet,\n nullBodyStatus\n} = require('./constants')\nconst { kState, kHeaders } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { FormData } = require('./formdata')\nconst { URLSerializer } = require('./data-url')\nconst { kConstruct } = require('../../core/symbols')\nconst assert = require('node:assert')\nconst { types } = require('node:util')\n\nconst textEncoder = new TextEncoder('utf-8')\n\n// https://fetch.spec.whatwg.org/#response-class\nclass Response {\n // Creates network error Response.\n static error () {\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’s\n // relevant Realm.\n const responseObject = fromInnerResponse(makeNetworkError(), 'immutable')\n\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response-json\n static json (data, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, '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 = textEncoder.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’s relevant Realm.\n const responseObject = fromInnerResponse(makeResponse({}), 'response')\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 webidl.argumentLengthCheck(arguments, 1, '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’s 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, relevantRealm.settingsObject.baseUrl)\n } catch (err) {\n throw new TypeError(`Failed to parse URL from ${url}`, { cause: err })\n }\n\n // 3. If status is not a redirect status, then throw a RangeError.\n if (!redirectStatusSet.has(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’s relevant Realm.\n const responseObject = fromInnerResponse(makeResponse({}), 'immutable')\n\n // 5. Set responseObject’s response’s 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’s response’s header list.\n responseObject[kState].headersList.append('location', value, true)\n\n // 8. Return responseObject.\n return responseObject\n }\n\n // https://fetch.spec.whatwg.org/#dom-response\n constructor (body = null, init = {}) {\n webidl.util.markAsUncloneable(this)\n if (body === kConstruct) {\n return\n }\n\n if (body !== null) {\n body = webidl.converters.BodyInit(body)\n }\n\n init = webidl.converters.ResponseInit(init)\n\n // 1. Set this’s response to a new response.\n this[kState] = makeResponse({})\n\n // 2. Set this’s headers to a new Headers object with this’s relevant\n // Realm, whose header list is this’s response’s header list and guard\n // is \"response\".\n this[kHeaders] = new Headers(kConstruct)\n setHeadersGuard(this[kHeaders], 'response')\n setHeadersList(this[kHeaders], this[kState].headersList)\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’s type, e.g., \"cors\".\n get type () {\n webidl.brandCheck(this, Response)\n\n // The type getter steps are to return this’s response’s type.\n return this[kState].type\n }\n\n // Returns response’s 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’s\n // response’s URL is null; otherwise this’s response’s 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’s response’s URL\n // list has more than one item; otherwise false.\n return this[kState].urlList.length > 1\n }\n\n // Returns response’s status.\n get status () {\n webidl.brandCheck(this, Response)\n\n // The status getter steps are to return this’s response’s status.\n return this[kState].status\n }\n\n // Returns whether response’s 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’s response’s status is an\n // ok status; otherwise false.\n return this[kState].status >= 200 && this[kState].status <= 299\n }\n\n // Returns response’s status message.\n get statusText () {\n webidl.brandCheck(this, Response)\n\n // The statusText getter steps are to return this’s response’s status\n // message.\n return this[kState].statusText\n }\n\n // Returns response’s headers as Headers.\n get headers () {\n webidl.brandCheck(this, Response)\n\n // The headers getter steps are to return this’s 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 (bodyUnusable(this)) {\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’s response.\n const clonedResponse = cloneResponse(this[kState])\n\n // Note: To re-register because of a new stream.\n if (hasFinalizationRegistry && this[kState].body?.stream) {\n streamRegistry.register(this, new WeakRef(this[kState].body.stream))\n }\n\n // 3. Return the result of creating a Response object, given\n // clonedResponse, this’s headers’s guard, and this’s relevant Realm.\n return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]))\n }\n\n [nodeUtil.inspect.custom] (depth, options) {\n if (options.depth === null) {\n options.depth = 2\n }\n\n options.colors ??= true\n\n const properties = {\n status: this.status,\n statusText: this.statusText,\n headers: this.headers,\n body: this.body,\n bodyUsed: this.bodyUsed,\n ok: this.ok,\n redirected: this.redirected,\n type: this.type,\n url: this.url\n }\n\n return `Response ${nodeUtil.formatWithOptions(options, properties)}`\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’s\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’s body is non-null, then set newResponse’s body to the\n // result of cloning response’s body.\n if (response.body != null) {\n newResponse.body = cloneBody(newResponse, 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\n// @see https://fetch.spec.whatwg.org/#concept-network-error\nfunction isNetworkError (response) {\n return (\n // A network error is a response whose type is \"error\",\n response.type === 'error' &&\n // status is 0\n response.status === 0\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’s 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’s 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’s header\n // list whose name is not a CORS-safelisted response-header name, given\n // internal response’s 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, err = null) {\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(Object.assign(new DOMException('The operation was aborted.', 'AbortError'), { cause: err }))\n : makeNetworkError(Object.assign(new DOMException('Request was cancelled.'), { cause: err }))\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’s response’s status to init[\"status\"].\n if ('status' in init && init.status != null) {\n response[kState].status = init.status\n }\n\n // 4. Set response’s response’s 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’s 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', true)) {\n response[kState].headersList.append('content-type', body.type, true)\n }\n }\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#response-create\n * @param {any} innerResponse\n * @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard\n * @returns {Response}\n */\nfunction fromInnerResponse (innerResponse, guard) {\n const response = new Response(kConstruct)\n response[kState] = innerResponse\n response[kHeaders] = new Headers(kConstruct)\n setHeadersList(response[kHeaders], innerResponse.headersList)\n setHeadersGuard(response[kHeaders], guard)\n\n if (hasFinalizationRegistry && innerResponse.body?.stream) {\n // If the target (response) is reclaimed, the cleanup callback may be called at some point with\n // the held value provided for it (innerResponse.body.stream). The held value can be any value:\n // a primitive or an object, even undefined. If the held value is an object, the registry keeps\n // a strong reference to it (so it can pass it to the cleanup callback later). Reworded from\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n streamRegistry.register(response, new WeakRef(innerResponse.body.stream))\n }\n\n return response\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, prefix, name) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V, prefix, name)\n }\n\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, prefix, name, { strict: false })\n }\n\n if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {\n return webidl.converters.BufferSource(V, prefix, name)\n }\n\n if (util.isFormDataLike(V)) {\n return webidl.converters.FormData(V, prefix, name, { strict: false })\n }\n\n if (V instanceof URLSearchParams) {\n return webidl.converters.URLSearchParams(V, prefix, name)\n }\n\n return webidl.converters.DOMString(V, prefix, name)\n}\n\n// https://fetch.spec.whatwg.org/#bodyinit\nwebidl.converters.BodyInit = function (V, prefix, argument) {\n if (V instanceof ReadableStream) {\n return webidl.converters.ReadableStream(V, prefix, argument)\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, prefix, argument)\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 isNetworkError,\n makeNetworkError,\n makeResponse,\n makeAppropriateNetworkError,\n filterResponse,\n Response,\n cloneResponse,\n fromInnerResponse\n}\n","'use strict'\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 if (dispatcher.on) {\n dispatcher.on('disconnect', () => {\n if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {\n this.finalizer(key)\n }\n })\n }\n }\n\n unregister (key) {}\n}\n\nmodule.exports = function () {\n // FIXME: remove workaround when the Node bug is backported to v18\n // https://github.com/nodejs/node/issues/49344#issuecomment-1741776308\n if (process.env.NODE_V8_COVERAGE && process.version.startsWith('v18')) {\n process._rawDebug('Using compatibility WeakRef and FinalizationRegistry')\n return {\n WeakRef: CompatWeakRef,\n FinalizationRegistry: CompatFinalizer\n }\n }\n return { WeakRef, FinalizationRegistry }\n}\n","/* globals AbortController */\n\n'use strict'\n\nconst { extractBody, mixinBody, cloneBody, bodyUnusable } = require('./body')\nconst { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require('./headers')\nconst { FinalizationRegistry } = require('./dispatcher-weakref')()\nconst util = require('../../core/util')\nconst nodeUtil = require('node:util')\nconst {\n isValidHTTPToken,\n sameOrigin,\n environmentSettingsObject\n} = require('./util')\nconst {\n forbiddenMethodsSet,\n corsSafeListedMethodsSet,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n requestDuplex\n} = require('./constants')\nconst { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util\nconst { kHeaders, kSignal, kState, kDispatcher } = require('./symbols')\nconst { webidl } = require('./webidl')\nconst { URLSerializer } = require('./data-url')\nconst { kConstruct } = require('../../core/symbols')\nconst assert = require('node:assert')\nconst { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('node:events')\n\nconst kAbortController = Symbol('abortController')\n\nconst requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {\n signal.removeEventListener('abort', abort)\n})\n\nconst dependentControllerMap = new WeakMap()\n\nfunction buildAbort (acRef) {\n return abort\n\n function abort () {\n const ac = acRef.deref()\n if (ac !== undefined) {\n // Currently, there is a problem with FinalizationRegistry.\n // https://github.com/nodejs/node/issues/49344\n // https://github.com/nodejs/node/issues/47748\n // In the case of abort, the first step is to unregister from it.\n // If the controller can refer to it, it is still registered.\n // It will be removed in the future.\n requestFinalizer.unregister(abort)\n\n // Unsubscribe a listener.\n // FinalizationRegistry will no longer be called, so this must be done.\n this.removeEventListener('abort', abort)\n\n ac.abort(this.reason)\n\n const controllerList = dependentControllerMap.get(ac.signal)\n\n if (controllerList !== undefined) {\n if (controllerList.size !== 0) {\n for (const ref of controllerList) {\n const ctrl = ref.deref()\n if (ctrl !== undefined) {\n ctrl.abort(this.reason)\n }\n }\n controllerList.clear()\n }\n dependentControllerMap.delete(ac.signal)\n }\n }\n }\n}\n\nlet patchMethodWarning = false\n\n// https://fetch.spec.whatwg.org/#request-class\nclass Request {\n // https://fetch.spec.whatwg.org/#dom-request\n constructor (input, init = {}) {\n webidl.util.markAsUncloneable(this)\n if (input === kConstruct) {\n return\n }\n\n const prefix = 'Request constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n input = webidl.converters.RequestInfo(input, prefix, 'input')\n init = webidl.converters.RequestInit(init, prefix, 'init')\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’s relevant settings object’s API base URL.\n const baseUrl = environmentSettingsObject.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 this[kDispatcher] = init.dispatcher\n\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 this[kDispatcher] = init.dispatcher || input[kDispatcher]\n\n // 6. Otherwise:\n\n // 7. Assert: input is a Request object.\n assert(input instanceof Request)\n\n // 8. Set request to input’s request.\n request = input[kState]\n\n // 9. Set signal to input’s signal.\n signal = input[kSignal]\n }\n\n // 7. Let origin be this’s relevant settings object’s origin.\n const origin = environmentSettingsObject.settingsObject.origin\n\n // 8. Let window be \"client\".\n let window = 'client'\n\n // 9. If request’s window is an environment settings object and its origin\n // is same origin with origin, then set window to request’s 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’s URL.\n // undici implementation note: this is set as the first item in request's urlList in makeRequest\n // method request’s method.\n method: request.method,\n // header list A copy of request’s 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’s relevant settings object.\n client: environmentSettingsObject.settingsObject,\n // window window.\n window,\n // priority request’s priority.\n priority: request.priority,\n // origin request’s 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’s referrer.\n referrer: request.referrer,\n // referrer policy request’s referrer policy.\n referrerPolicy: request.referrerPolicy,\n // mode request’s mode.\n mode: request.mode,\n // credentials mode request’s credentials mode.\n credentials: request.credentials,\n // cache mode request’s cache mode.\n cache: request.cache,\n // redirect mode request’s redirect mode.\n redirect: request.redirect,\n // integrity metadata request’s integrity metadata.\n integrity: request.integrity,\n // keepalive request’s keepalive.\n keepalive: request.keepalive,\n // reload-navigation flag request’s reload-navigation flag.\n reloadNavigation: request.reloadNavigation,\n // history-navigation flag request’s history-navigation flag.\n historyNavigation: request.historyNavigation,\n // URL list A clone of request’s URL list.\n urlList: [...request.urlList]\n })\n\n const initHasKey = Object.keys(init).length !== 0\n\n // 13. If init is not empty, then:\n if (initHasKey) {\n // 1. If request’s 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’s reload-navigation flag.\n request.reloadNavigation = false\n\n // 3. Unset request’s history-navigation flag.\n request.historyNavigation = false\n\n // 4. Set request’s origin to \"client\".\n request.origin = 'client'\n\n // 5. Set request’s referrer to \"client\"\n request.referrer = 'client'\n\n // 6. Set request’s referrer policy to the empty string.\n request.referrerPolicy = ''\n\n // 7. Set request’s URL to request’s current URL.\n request.url = request.urlList[request.urlList.length - 1]\n\n // 8. Set request’s URL list to « request’s URL ».\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’s 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’s scheme is \"about\" and path is the string \"client\"\n // - parsedReferrer’s origin is not same origin with origin\n // then set request’s referrer to \"client\".\n if (\n (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client') ||\n (origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl))\n ) {\n request.referrer = 'client'\n } else {\n // 4. Otherwise, set request’s referrer to parsedReferrer.\n request.referrer = parsedReferrer\n }\n }\n }\n\n // 15. If init[\"referrerPolicy\"] exists, then set request’s 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’s mode to mode.\n if (mode != null) {\n request.mode = mode\n }\n\n // 19. If init[\"credentials\"] exists, then set request’s 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’s cache mode to it.\n if (init.cache !== undefined) {\n request.cache = init.cache\n }\n\n // 21. If request’s cache mode is \"only-if-cached\" and request’s 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’s 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’s integrity metadata to it.\n if (init.integrity != null) {\n request.integrity = String(init.integrity)\n }\n\n // 24. If init[\"keepalive\"] exists, then set request’s 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 const mayBeNormalized = normalizedMethodRecords[method]\n\n if (mayBeNormalized !== undefined) {\n // Note: Bypass validation DELETE, GET, HEAD, OPTIONS, POST, PUT, PATCH and these lowercase ones\n request.method = mayBeNormalized\n } else {\n // 2. If method is not a method or method is a forbidden method, then\n // throw a TypeError.\n if (!isValidHTTPToken(method)) {\n throw new TypeError(`'${method}' is not a valid HTTP method.`)\n }\n\n const upperCase = method.toUpperCase()\n\n if (forbiddenMethodsSet.has(upperCase)) {\n throw new TypeError(`'${method}' HTTP method is unsupported.`)\n }\n\n // 3. Normalize method.\n // https://fetch.spec.whatwg.org/#concept-method-normalize\n // Note: must be in uppercase\n method = normalizedMethodRecordsBase[upperCase] ?? method\n\n // 4. Set request’s method to method.\n request.method = method\n }\n\n if (!patchMethodWarning && request.method === 'patch') {\n process.emitWarning('Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.', {\n code: 'UNDICI-FETCH-patch'\n })\n\n patchMethodWarning = true\n }\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’s request to request.\n this[kState] = request\n\n // 28. Set this’s signal to a new AbortSignal object with this’s 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\n // 29. If signal is not null, then make this’s 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 = buildAbort(acRef)\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(1500, signal)\n } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) {\n setMaxListeners(1500, signal)\n }\n } catch {}\n\n util.addAbortListener(signal, abort)\n // The third argument must be a registry key to be unregistered.\n // Without it, you cannot unregister.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n // abort is used as the unregister key. (because it is unique)\n requestFinalizer.register(ac, { signal, abort }, abort)\n }\n }\n\n // 30. Set this’s headers to a new Headers object with this’s relevant\n // Realm, whose header list is request’s header list and guard is\n // \"request\".\n this[kHeaders] = new Headers(kConstruct)\n setHeadersList(this[kHeaders], request.headersList)\n setHeadersGuard(this[kHeaders], 'request')\n\n // 31. If this’s request’s mode is \"no-cors\", then:\n if (mode === 'no-cors') {\n // 1. If this’s request’s method is not a CORS-safelisted method,\n // then throw a TypeError.\n if (!corsSafeListedMethodsSet.has(request.method)) {\n throw new TypeError(\n `'${request.method} is unsupported in no-cors mode.`\n )\n }\n\n // 2. Set this’s headers’s guard to \"request-no-cors\".\n setHeadersGuard(this[kHeaders], 'request-no-cors')\n }\n\n // 32. If init is not empty, then:\n if (initHasKey) {\n /** @type {HeadersList} */\n const headersList = getHeadersList(this[kHeaders])\n // 1. Let headers be a copy of this’s headers and its associated header\n // list.\n // 2. If init[\"headers\"] exists, then set headers to init[\"headers\"].\n const headers = init.headers !== undefined ? init.headers : new HeadersList(headersList)\n\n // 3. Empty this’s headers’s header list.\n headersList.clear()\n\n // 4. If headers is a Headers object, then for each header in its header\n // list, append header’s name/header’s value to this’s headers.\n if (headers instanceof HeadersList) {\n for (const { name, value } of headers.rawValues()) {\n headersList.append(name, value, false)\n }\n // Note: Copy the `set-cookie` meta-data.\n headersList.cookies = headers.cookies\n } else {\n // 5. Otherwise, fill this’s headers with headers.\n fillHeaders(this[kHeaders], headers)\n }\n }\n\n // 33. Let inputBody be input’s request’s 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’s 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’s 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’s headers’s header list does\n // not contain `Content-Type`, then append `Content-Type`/Content-Type to\n // this’s headers.\n if (contentType && !getHeadersList(this[kHeaders]).contains('content-type', true)) {\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’s 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’s request’s 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’s request’s 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 (bodyUnusable(input)) {\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 // 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’s request’s body to finalBody.\n this[kState].body = finalBody\n }\n\n // Returns request’s 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’s request’s 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’s request’s 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’s 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’s request’s 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’s 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’s request’s 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’s request’s referrer is \"client\", then return\n // \"about:client\".\n if (this[kState].referrer === 'client') {\n return 'about:client'\n }\n\n // Return this’s request’s 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’s\n // referrer.\n get referrerPolicy () {\n webidl.brandCheck(this, Request)\n\n // The referrerPolicy getter steps are to return this’s request’s 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’s request’s 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’s request’s 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’s cache when fetching.\n get cache () {\n webidl.brandCheck(this, Request)\n\n // The cache getter steps are to return this’s request’s 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’s request’s redirect mode.\n return this[kState].redirect\n }\n\n // Returns request’s 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’s request’s 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’s request’s 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’s\n // request’s 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-forward navigation).\n get isHistoryNavigation () {\n webidl.brandCheck(this, Request)\n\n // The isHistoryNavigation getter steps are to return true if this’s request’s\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’s 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 (bodyUnusable(this)) {\n throw new TypeError('unusable')\n }\n\n // 2. Let clonedRequest be the result of cloning this’s request.\n const clonedRequest = cloneRequest(this[kState])\n\n // 3. Let clonedRequestObject be the result of creating a Request object,\n // given clonedRequest, this’s headers’s guard, and this’s relevant Realm.\n // 4. Make clonedRequestObject’s signal follow this’s signal.\n const ac = new AbortController()\n if (this.signal.aborted) {\n ac.abort(this.signal.reason)\n } else {\n let list = dependentControllerMap.get(this.signal)\n if (list === undefined) {\n list = new Set()\n dependentControllerMap.set(this.signal, list)\n }\n const acRef = new WeakRef(ac)\n list.add(acRef)\n util.addAbortListener(\n ac.signal,\n buildAbort(acRef)\n )\n }\n\n // 4. Return clonedRequestObject.\n return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]))\n }\n\n [nodeUtil.inspect.custom] (depth, options) {\n if (options.depth === null) {\n options.depth = 2\n }\n\n options.colors ??= true\n\n const properties = {\n method: this.method,\n url: this.url,\n headers: this.headers,\n destination: this.destination,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n mode: this.mode,\n credentials: this.credentials,\n cache: this.cache,\n redirect: this.redirect,\n integrity: this.integrity,\n keepalive: this.keepalive,\n isReloadNavigation: this.isReloadNavigation,\n isHistoryNavigation: this.isHistoryNavigation,\n signal: this.signal\n }\n\n return `Request ${nodeUtil.formatWithOptions(options, properties)}`\n }\n}\n\nmixinBody(Request)\n\n// https://fetch.spec.whatwg.org/#requests\nfunction makeRequest (init) {\n return {\n method: init.method ?? 'GET',\n localURLsOnly: init.localURLsOnly ?? false,\n unsafeRequest: init.unsafeRequest ?? false,\n body: init.body ?? null,\n client: init.client ?? null,\n reservedClient: init.reservedClient ?? null,\n replacesClientId: init.replacesClientId ?? '',\n window: init.window ?? 'client',\n keepalive: init.keepalive ?? false,\n serviceWorkers: init.serviceWorkers ?? 'all',\n initiator: init.initiator ?? '',\n destination: init.destination ?? '',\n priority: init.priority ?? null,\n origin: init.origin ?? 'client',\n policyContainer: init.policyContainer ?? 'client',\n referrer: init.referrer ?? 'client',\n referrerPolicy: init.referrerPolicy ?? '',\n mode: init.mode ?? 'no-cors',\n useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,\n credentials: init.credentials ?? 'same-origin',\n useCredentials: init.useCredentials ?? false,\n cache: init.cache ?? 'default',\n redirect: init.redirect ?? 'follow',\n integrity: init.integrity ?? '',\n cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? '',\n parserMetadata: init.parserMetadata ?? '',\n reloadNavigation: init.reloadNavigation ?? false,\n historyNavigation: init.historyNavigation ?? false,\n userActivation: init.userActivation ?? false,\n taintedOrigin: init.taintedOrigin ?? false,\n redirectCount: init.redirectCount ?? 0,\n responseTainting: init.responseTainting ?? 'basic',\n preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,\n done: init.done ?? false,\n timingAllowFailed: init.timingAllowFailed ?? false,\n urlList: init.urlList,\n url: init.urlList[0],\n headersList: init.headersList\n ? new HeadersList(init.headersList)\n : new HeadersList()\n }\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’s body is non-null, set newRequest’s body to the\n // result of cloning request’s body.\n if (request.body != null) {\n newRequest.body = cloneBody(newRequest, request.body)\n }\n\n // 3. Return newRequest.\n return newRequest\n}\n\n/**\n * @see https://fetch.spec.whatwg.org/#request-create\n * @param {any} innerRequest\n * @param {AbortSignal} signal\n * @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard\n * @returns {Request}\n */\nfunction fromInnerRequest (innerRequest, signal, guard) {\n const request = new Request(kConstruct)\n request[kState] = innerRequest\n request[kSignal] = signal\n request[kHeaders] = new Headers(kConstruct)\n setHeadersList(request[kHeaders], innerRequest.headersList)\n setHeadersGuard(request[kHeaders], guard)\n return request\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, prefix, argument) {\n if (typeof V === 'string') {\n return webidl.converters.USVString(V, prefix, argument)\n }\n\n if (V instanceof Request) {\n return webidl.converters.Request(V, prefix, argument)\n }\n\n return webidl.converters.USVString(V, prefix, argument)\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 'RequestInit',\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 key: 'dispatcher', // undici specific option\n converter: webidl.converters.any\n }\n])\n\nmodule.exports = { Request, makeRequest, fromInnerRequest, cloneRequest }\n","// https://github.com/Ethan-Arrowood/undici-fetch\n\n'use strict'\n\nconst {\n makeNetworkError,\n makeAppropriateNetworkError,\n filterResponse,\n makeResponse,\n fromInnerResponse\n} = require('./response')\nconst { HeadersList } = require('./headers')\nconst { Request, cloneRequest } = require('./request')\nconst zlib = require('node: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 clampAndCoarsenConnectionTimingInfo,\n simpleRangeHeaderValue,\n buildContentRange,\n createInflate,\n extractMimeType\n} = require('./util')\nconst { kState, kDispatcher } = require('./symbols')\nconst assert = require('node:assert')\nconst { safelyExtractBody, extractBody } = require('./body')\nconst {\n redirectStatusSet,\n nullBodyStatus,\n safeMethodsSet,\n requestBodyHeader,\n subresourceSet\n} = require('./constants')\nconst EE = require('node:events')\nconst { Readable, pipeline, finished } = require('node:stream')\nconst { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require('../../core/util')\nconst { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require('./data-url')\nconst { getGlobalDispatcher } = require('../../global')\nconst { webidl } = require('./webidl')\nconst { STATUS_CODES } = require('node:http')\nconst GET_OR_HEAD = ['GET', 'HEAD']\n\nconst defaultUserAgent = typeof __UNDICI_IS_NODE__ !== 'undefined' || typeof esbuildDetection !== 'undefined'\n ? 'node'\n : 'undici'\n\n/** @type {import('buffer').resolveObjectURL} */\nlet resolveObjectURL\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 }\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’s 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’s serialized abort reason to serializedError.\n this.serializedAbortReason = error\n\n this.connection?.destroy(error)\n this.emit('terminated', error)\n }\n}\n\nfunction handleFetchDone (response) {\n finalizeAndReportTiming(response, 'fetch')\n}\n\n// https://fetch.spec.whatwg.org/#fetch-method\nfunction fetch (input, init = undefined) {\n webidl.argumentLengthCheck(arguments, 1, 'globalThis.fetch')\n\n // 1. Let p be a new promise.\n let 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’s request.\n const request = requestObject[kState]\n\n // 4. If requestObject’s signal’s aborted flag is set, then:\n if (requestObject.signal.aborted) {\n // 1. Abort the fetch() call with p, request, null, and\n // requestObject’s signal’s 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’s client’s global object.\n const globalObject = request.client.globalObject\n\n // 6. If globalObject is a ServiceWorkerGlobalScope object, then set\n // request’s 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’s relevant Realm.\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’s 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’s signal’s abort reason.\n controller.abort(requestObject.signal.reason)\n\n const realResponse = responseObject?.deref()\n\n // 4. Abort the fetch() call with p, request, responseObject,\n // and requestObject’s signal’s abort reason.\n abortFetch(p, request, realResponse, 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 // see function handleFetchDone\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’s 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’s 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(new TypeError('fetch failed', { cause: response.error }))\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 WeakRef(fromInnerResponse(response, 'immutable'))\n\n // 5. Resolve p with responseObject.\n p.resolve(responseObject.deref())\n p = null\n }\n\n controller = fetching({\n request,\n processResponseEndOfBody: handleFetchDone,\n processResponse,\n dispatcher: requestObject[kDispatcher] // 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’s URL list is null or empty, then return.\n if (!response.urlList?.length) {\n return\n }\n\n // 3. Let originalURL be response’s URL list[0].\n const originalURL = response.urlList[0]\n\n // 4. Let timingInfo be response’s timing info.\n let timingInfo = response.timingInfo\n\n // 5. Let cacheState be response’s cache state.\n let cacheState = response.cacheState\n\n // 6. If originalURL’s 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’s timing allow passed flag is not set, then:\n if (!response.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’s end time to the coarsened shared current time\n // given global’s relevant settings object’s cross-origin isolated\n // capability.\n // TODO: given global’s relevant settings object’s cross-origin isolated\n // capability?\n timingInfo.endTime = coarsenedSharedCurrentTime()\n\n // 10. Set response’s 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.href,\n initiatorType,\n globalThis,\n cacheState\n )\n}\n\n// https://w3c.github.io/resource-timing/#dfn-mark-resource-timing\nconst markResourceTiming = performance.markResourceTiming\n\n// https://fetch.spec.whatwg.org/#abort-fetch\nfunction abortFetch (p, request, responseObject, error) {\n // 1. Reject promise with error.\n if (p) {\n // We might have already resolved the promise at this stage\n p.reject(error)\n }\n\n // 2. If request’s body is not null and is readable, then cancel request’s\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’s response.\n const response = responseObject[kState]\n\n // 5. If response’s body is not null and is readable, then error response’s\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 = getGlobalDispatcher() // undici\n}) {\n // Ensure that the dispatcher is set accordingly\n assert(dispatcher)\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’s client is non-null, then:\n if (request.client != null) {\n // 1. Set taskDestination to request’s client’s global object.\n taskDestination = request.client.globalObject\n\n // 2. Set crossOriginIsolatedCapability to request’s client’s 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 currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability)\n const timingInfo = createOpaqueTimingInfo({\n startTime: currentTime\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’s body is a byte sequence, then set request’s body to\n // request’s 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’s window is \"client\", then set request’s window to request’s\n // client, if request’s client’s 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’s origin is \"client\", then set request’s origin to request’s\n // client’s origin.\n if (request.origin === 'client') {\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’s policy container is \"client\", then:\n if (request.policyContainer === 'client') {\n // 1. If request’s client is non-null, then set request’s policy\n // container to a clone of request’s client’s policy container. [HTML]\n if (request.client != null) {\n request.policyContainer = clonePolicyContainer(\n request.client.policyContainer\n )\n } else {\n // 2. Otherwise, set request’s policy container to a new policy\n // container.\n request.policyContainer = makePolicyContainer()\n }\n }\n\n // 12. If request’s header list does not contain `Accept`, then:\n if (!request.headersList.contains('accept', true)) {\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’s 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’s header list.\n request.headersList.append('accept', value, true)\n }\n\n // 13. If request’s header list does not contain `Accept-Language`, then\n // user agents should append `Accept-Language`/an appropriate value to\n // request’s header list.\n if (!request.headersList.contains('accept-language', true)) {\n request.headersList.append('accept-language', '*', true)\n }\n\n // 14. If request’s priority is null, then use request’s initiator and\n // destination appropriately in setting request’s 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 (subresourceSet.has(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’s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. If request’s local-URLs-only flag is set and request’s 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’s referrer policy is the empty string, then set request’s\n // referrer policy to request’s policy container’s referrer policy.\n if (request.referrerPolicy === '') {\n request.referrerPolicy = request.policyContainer.referrerPolicy\n }\n\n // 8. If request’s referrer is not \"no-referrer\", then set request’s\n // referrer to the result of invoking determine request’s referrer.\n if (request.referrer !== 'no-referrer') {\n request.referrer = determineRequestsReferrer(request)\n }\n\n // 9. Set request’s current URL’s scheme to \"https\" if all of the following\n // conditions are true:\n // - request’s current URL’s scheme is \"http\"\n // - request’s current URL’s host is a domain\n // - Matching request’s current URL’s 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’s current URL’s origin is same origin with request’s origin,\n // and request’s response tainting is \"basic\"\n (sameOrigin(currentURL, request.url) && request.responseTainting === 'basic') ||\n // request’s current URL’s scheme is \"data\"\n (currentURL.protocol === 'data:') ||\n // - request’s mode is \"navigate\" or \"websocket\"\n (request.mode === 'navigate' || request.mode === 'websocket')\n ) {\n // 1. Set request’s 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’s 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’s mode is \"no-cors\"\n if (request.mode === 'no-cors') {\n // 1. If request’s 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’s 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’s current URL’s 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’s use-CORS-preflight flag is set\n // - request’s unsafe-request flag is set and either request’s method is\n // not a CORS-safelisted method or CORS-unsafe request-header names with\n // request’s header list is not empty\n // 1. Set request’s 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’s 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’s 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’s header list.\n // TODO\n // 2. If request’s credentials mode is not \"include\" and headerNames\n // contains `*`, then set response’s CORS-exposed header-name list to\n // all unique header names in response’s header list.\n // TODO\n // 3. Otherwise, if headerNames is not null or failure, then set\n // response’s 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’s 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’s internal response otherwise.\n let internalResponse =\n response.status === 0 ? response : response.internalResponse\n\n // 15. If internalResponse’s URL list is empty, then set it to a clone of\n // request’s URL list.\n if (internalResponse.urlList.length === 0) {\n internalResponse.urlList.push(...request.urlList)\n }\n\n // 16. If request’s timing allow failed flag is unset, then set\n // internalResponse’s 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’s type is \"opaque\", internalResponse’s status is 206,\n // internalResponse’s range-requested flag is set, and request’s 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', true)\n ) {\n response = internalResponse = makeNetworkError()\n }\n\n // 19. If response is not a network error and either request’s method is\n // `HEAD` or `CONNECT`, or internalResponse’s status is a null body status,\n // set internalResponse’s 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’s 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’s response tainting is \"opaque\", or response’s 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’s 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’s 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’s 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\nfunction 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 Promise.resolve(makeAppropriateNetworkError(fetchParams))\n }\n\n // 2. Let request be fetchParams’s request.\n const { request } = fetchParams\n\n const { protocol: scheme } = requestCurrentURL(request)\n\n // 3. Switch on request’s current URL’s scheme and run the associated steps:\n switch (scheme) {\n case 'about:': {\n // If request’s current URL’s path is the string \"blank\", then return a new response\n // whose status message is `OK`, header list is « (`Content-Type`, `text/html;charset=utf-8`) »,\n // and body is the empty byte sequence as a body.\n\n // Otherwise, return a network error.\n return Promise.resolve(makeNetworkError('about scheme is not supported'))\n }\n case 'blob:': {\n if (!resolveObjectURL) {\n resolveObjectURL = require('node:buffer').resolveObjectURL\n }\n\n // 1. Let blobURLEntry be request’s current URL’s 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 Promise.resolve(makeNetworkError('NetworkError when attempting to fetch resource.'))\n }\n\n const blob = resolveObjectURL(blobURLEntry.toString())\n\n // 2. If request’s method is not `GET`, blobURLEntry is null, or blobURLEntry’s\n // object is not a Blob object, then return a network error.\n if (request.method !== 'GET' || !isBlobLike(blob)) {\n return Promise.resolve(makeNetworkError('invalid method'))\n }\n\n // 3. Let blob be blobURLEntry’s object.\n // Note: done above\n\n // 4. Let response be a new response.\n const response = makeResponse()\n\n // 5. Let fullLength be blob’s size.\n const fullLength = blob.size\n\n // 6. Let serializedFullLength be fullLength, serialized and isomorphic encoded.\n const serializedFullLength = isomorphicEncode(`${fullLength}`)\n\n // 7. Let type be blob’s type.\n const type = blob.type\n\n // 8. If request’s header list does not contain `Range`:\n // 9. Otherwise:\n if (!request.headersList.contains('range', true)) {\n // 1. Let bodyWithType be the result of safely extracting blob.\n // Note: in the FileAPI a blob \"object\" is a Blob *or* a MediaSource.\n // In node, this can only ever be a Blob. Therefore we can safely\n // use extractBody directly.\n const bodyWithType = extractBody(blob)\n\n // 2. Set response’s status message to `OK`.\n response.statusText = 'OK'\n\n // 3. Set response’s body to bodyWithType’s body.\n response.body = bodyWithType[0]\n\n // 4. Set response’s header list to « (`Content-Length`, serializedFullLength), (`Content-Type`, type) ».\n response.headersList.set('content-length', serializedFullLength, true)\n response.headersList.set('content-type', type, true)\n } else {\n // 1. Set response’s range-requested flag.\n response.rangeRequested = true\n\n // 2. Let rangeHeader be the result of getting `Range` from request’s header list.\n const rangeHeader = request.headersList.get('range', true)\n\n // 3. Let rangeValue be the result of parsing a single range header value given rangeHeader and true.\n const rangeValue = simpleRangeHeaderValue(rangeHeader, true)\n\n // 4. If rangeValue is failure, then return a network error.\n if (rangeValue === 'failure') {\n return Promise.resolve(makeNetworkError('failed to fetch the data URL'))\n }\n\n // 5. Let (rangeStart, rangeEnd) be rangeValue.\n let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue\n\n // 6. If rangeStart is null:\n // 7. Otherwise:\n if (rangeStart === null) {\n // 1. Set rangeStart to fullLength − rangeEnd.\n rangeStart = fullLength - rangeEnd\n\n // 2. Set rangeEnd to rangeStart + rangeEnd − 1.\n rangeEnd = rangeStart + rangeEnd - 1\n } else {\n // 1. If rangeStart is greater than or equal to fullLength, then return a network error.\n if (rangeStart >= fullLength) {\n return Promise.resolve(makeNetworkError('Range start is greater than the blob\\'s size.'))\n }\n\n // 2. If rangeEnd is null or rangeEnd is greater than or equal to fullLength, then set\n // rangeEnd to fullLength − 1.\n if (rangeEnd === null || rangeEnd >= fullLength) {\n rangeEnd = fullLength - 1\n }\n }\n\n // 8. Let slicedBlob be the result of invoking slice blob given blob, rangeStart,\n // rangeEnd + 1, and type.\n const slicedBlob = blob.slice(rangeStart, rangeEnd, type)\n\n // 9. Let slicedBodyWithType be the result of safely extracting slicedBlob.\n // Note: same reason as mentioned above as to why we use extractBody\n const slicedBodyWithType = extractBody(slicedBlob)\n\n // 10. Set response’s body to slicedBodyWithType’s body.\n response.body = slicedBodyWithType[0]\n\n // 11. Let serializedSlicedLength be slicedBlob’s size, serialized and isomorphic encoded.\n const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`)\n\n // 12. Let contentRange be the result of invoking build a content range given rangeStart,\n // rangeEnd, and fullLength.\n const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength)\n\n // 13. Set response’s status to 206.\n response.status = 206\n\n // 14. Set response’s status message to `Partial Content`.\n response.statusText = 'Partial Content'\n\n // 15. Set response’s header list to « (`Content-Length`, serializedSlicedLength),\n // (`Content-Type`, type), (`Content-Range`, contentRange) ».\n response.headersList.set('content-length', serializedSlicedLength, true)\n response.headersList.set('content-type', type, true)\n response.headersList.set('content-range', contentRange, true)\n }\n\n // 10. Return response.\n return Promise.resolve(response)\n }\n case 'data:': {\n // 1. Let dataURLStruct be the result of running the\n // data: URL processor on request’s 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 Promise.resolve(makeNetworkError('failed to fetch the data URL'))\n }\n\n // 3. Let mimeType be dataURLStruct’s MIME type, serialized.\n const mimeType = serializeAMimeType(dataURLStruct.mimeType)\n\n // 4. Return a response whose status message is `OK`,\n // header list is « (`Content-Type`, mimeType) »,\n // and body is dataURLStruct’s body as a body.\n return Promise.resolve(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 Promise.resolve(makeNetworkError('not implemented... yet...'))\n }\n case 'http:':\n case 'https:': {\n // Return the result of running HTTP fetch given fetchParams.\n\n return httpFetch(fetchParams)\n .catch((err) => makeNetworkError(err))\n }\n default: {\n return Promise.resolve(makeNetworkError('unknown scheme'))\n }\n }\n}\n\n// https://fetch.spec.whatwg.org/#finalize-response\nfunction finalizeResponse (fetchParams, response) {\n // 1. Set fetchParams’s request’s done flag.\n fetchParams.request.done = true\n\n // 2, If fetchParams’s process response done is not null, then queue a fetch\n // task to run fetchParams’s process response done given response, with\n // fetchParams’s task destination.\n if (fetchParams.processResponseDone != null) {\n queueMicrotask(() => fetchParams.processResponseDone(response))\n }\n}\n\n// https://fetch.spec.whatwg.org/#fetch-finale\nfunction fetchFinale (fetchParams, response) {\n // 1. Let timingInfo be fetchParams’s timing info.\n let timingInfo = fetchParams.timingInfo\n\n // 2. If response is not a network error and fetchParams’s request’s client is a secure context,\n // then set timingInfo’s server-timing headers to the result of getting, decoding, and splitting\n // `Server-Timing` from response’s internal response’s header list.\n // TODO\n\n // 3. Let processResponseEndOfBody be the following steps:\n const processResponseEndOfBody = () => {\n // 1. Let unsafeEndTime be the unsafe shared current time.\n const unsafeEndTime = Date.now() // ?\n\n // 2. If fetchParams’s request’s destination is \"document\", then set fetchParams’s controller’s\n // full timing info to fetchParams’s timing info.\n if (fetchParams.request.destination === 'document') {\n fetchParams.controller.fullTimingInfo = timingInfo\n }\n\n // 3. Set fetchParams’s controller’s report timing steps to the following steps given a global object global:\n fetchParams.controller.reportTimingSteps = () => {\n // 1. If fetchParams’s request’s URL’s scheme is not an HTTP(S) scheme, then return.\n if (fetchParams.request.url.protocol !== 'https:') {\n return\n }\n\n // 2. Set timingInfo’s end time to the relative high resolution time given unsafeEndTime and global.\n timingInfo.endTime = unsafeEndTime\n\n // 3. Let cacheState be response’s cache state.\n let cacheState = response.cacheState\n\n // 4. Let bodyInfo be response’s body info.\n const bodyInfo = response.bodyInfo\n\n // 5. If response’s timing allow passed flag is not set, then set timingInfo to the result of creating an\n // opaque timing info for timingInfo and set cacheState to the empty string.\n if (!response.timingAllowPassed) {\n timingInfo = createOpaqueTimingInfo(timingInfo)\n\n cacheState = ''\n }\n\n // 6. Let responseStatus be 0.\n let responseStatus = 0\n\n // 7. If fetchParams’s request’s mode is not \"navigate\" or response’s has-cross-origin-redirects is false:\n if (fetchParams.request.mode !== 'navigator' || !response.hasCrossOriginRedirects) {\n // 1. Set responseStatus to response’s status.\n responseStatus = response.status\n\n // 2. Let mimeType be the result of extracting a MIME type from response’s header list.\n const mimeType = extractMimeType(response.headersList)\n\n // 3. If mimeType is not failure, then set bodyInfo’s content type to the result of minimizing a supported MIME type given mimeType.\n if (mimeType !== 'failure') {\n bodyInfo.contentType = minimizeSupportedMimeType(mimeType)\n }\n }\n\n // 8. If fetchParams’s request’s initiator type is non-null, then mark resource timing given timingInfo,\n // fetchParams’s request’s URL, fetchParams’s request’s initiator type, global, cacheState, bodyInfo,\n // and responseStatus.\n if (fetchParams.request.initiatorType != null) {\n // TODO: update markresourcetiming\n markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus)\n }\n }\n\n // 4. Let processResponseEndOfBodyTask be the following steps:\n const processResponseEndOfBodyTask = () => {\n // 1. Set fetchParams’s request’s done flag.\n fetchParams.request.done = true\n\n // 2. If fetchParams’s process response end-of-body is non-null, then run fetchParams’s process\n // response end-of-body given response.\n if (fetchParams.processResponseEndOfBody != null) {\n queueMicrotask(() => fetchParams.processResponseEndOfBody(response))\n }\n\n // 3. If fetchParams’s request’s initiator type is non-null and fetchParams’s request’s client’s\n // global object is fetchParams’s task destination, then run fetchParams’s controller’s report\n // timing steps given fetchParams’s request’s client’s global object.\n if (fetchParams.request.initiatorType != null) {\n fetchParams.controller.reportTimingSteps()\n }\n }\n\n // 5. Queue a fetch task to run processResponseEndOfBodyTask with fetchParams’s task destination\n queueMicrotask(() => processResponseEndOfBodyTask())\n }\n\n // 4. If fetchParams’s process response is non-null, then queue a fetch task to run fetchParams’s\n // process response given response, with fetchParams’s task destination.\n if (fetchParams.processResponse != null) {\n queueMicrotask(() => {\n fetchParams.processResponse(response)\n fetchParams.processResponse = null\n })\n }\n\n // 5. Let internalResponse be response, if response is a network error; otherwise response’s internal response.\n const internalResponse = response.type === 'error' ? response : (response.internalResponse ?? response)\n\n // 6. If internalResponse’s body is null, then run processResponseEndOfBody.\n // 7. Otherwise:\n if (internalResponse.body == null) {\n processResponseEndOfBody()\n } else {\n // mcollina: all the following steps of the specs are skipped.\n // The internal transform stream is not needed.\n // See https://github.com/nodejs/undici/pull/3093#issuecomment-2050198541\n\n // 1. Let transformStream be a new TransformStream.\n // 2. Let identityTransformAlgorithm be an algorithm which, given chunk, enqueues chunk in transformStream.\n // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm and flushAlgorithm\n // set to processResponseEndOfBody.\n // 4. Set internalResponse’s body’s stream to the result of internalResponse’s body’s stream piped through transformStream.\n\n finished(internalResponse.body.stream, () => {\n processResponseEndOfBody()\n })\n }\n}\n\n// https://fetch.spec.whatwg.org/#http-fetch\nasync function httpFetch (fetchParams) {\n // 1. Let request be fetchParams’s 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’s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 5. If request’s 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’s redirect mode is \"follow\", then set request’s\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’s 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’s timing allow failed flag.\n if (TAOCheck(request, response) === 'failure') {\n request.timingAllowFailed = true\n }\n }\n\n // 7. If either request’s response tainting or response’s type\n // is \"opaque\", and the cross-origin resource policy check with\n // request’s origin, request’s client, request’s 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’s status is a redirect status, then:\n if (redirectStatusSet.has(actualResponse.status)) {\n // 1. If actualResponse’s status is not 303, request’s 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(undefined, false)\n }\n\n // 2. Switch on request’s 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’s 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\nfunction httpRedirectFetch (fetchParams, response) {\n // 1. Let request be fetchParams’s request.\n const request = fetchParams.request\n\n // 2. Let actualResponse be response, if response is not a filtered response,\n // and response’s internal response otherwise.\n const actualResponse = response.internalResponse\n ? response.internalResponse\n : response\n\n // 3. Let locationURL be actualResponse’s location URL given request’s current\n // URL’s 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 Promise.resolve(makeNetworkError(err))\n }\n\n // 6. If locationURL’s scheme is not an HTTP(S) scheme, then return a network\n // error.\n if (!urlIsHttpHttpsScheme(locationURL)) {\n return Promise.resolve(makeNetworkError('URL scheme must be a HTTP(S) scheme'))\n }\n\n // 7. If request’s redirect count is 20, then return a network error.\n if (request.redirectCount === 20) {\n return Promise.resolve(makeNetworkError('redirect count exceeded'))\n }\n\n // 8. Increase request’s redirect count by 1.\n request.redirectCount += 1\n\n // 9. If request’s mode is \"cors\", locationURL includes credentials, and\n // request’s origin is not same origin with locationURL’s 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 Promise.resolve(makeNetworkError('cross origin not allowed for request mode \"cors\"'))\n }\n\n // 10. If request’s 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 Promise.resolve(makeNetworkError(\n 'URL cannot contain credentials for request mode \"cors\"'\n ))\n }\n\n // 11. If actualResponse’s status is not 303, request’s body is non-null,\n // and request’s body’s 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 Promise.resolve(makeNetworkError())\n }\n\n // 12. If one of the following is true\n // - actualResponse’s status is 301 or 302 and request’s method is `POST`\n // - actualResponse’s status is 303 and request’s method is not `GET` or `HEAD`\n if (\n ([301, 302].includes(actualResponse.status) && request.method === 'POST') ||\n (actualResponse.status === 303 &&\n !GET_OR_HEAD.includes(request.method))\n ) {\n // then:\n // 1. Set request’s method to `GET` and request’s 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’s header list.\n for (const headerName of requestBodyHeader) {\n request.headersList.delete(headerName)\n }\n }\n\n // 13. If request’s current URL’s origin is not same origin with locationURL’s\n // origin, then for each headerName of CORS non-wildcard request-header name,\n // delete headerName from request’s 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', true)\n\n // https://fetch.spec.whatwg.org/#authentication-entries\n request.headersList.delete('proxy-authorization', true)\n\n // \"Cookie\" and \"Host\" are forbidden request-headers, which undici doesn't implement.\n request.headersList.delete('cookie', true)\n request.headersList.delete('host', true)\n }\n\n // 14. If request’s body is non-null, then set request’s body to the first return\n // value of safely extracting request’s body’s 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’s timing info.\n const timingInfo = fetchParams.timingInfo\n\n // 16. Set timingInfo’s redirect end time and post-redirect start time to the\n // coarsened shared current time given fetchParams’s cross-origin isolated\n // capability.\n timingInfo.redirectEndTime = timingInfo.postRedirectStartTime =\n coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n\n // 17. If timingInfo’s redirect start time is 0, then set timingInfo’s\n // redirect start time to timingInfo’s start time.\n if (timingInfo.redirectStartTime === 0) {\n timingInfo.redirectStartTime = timingInfo.startTime\n }\n\n // 18. Append locationURL to request’s URL list.\n request.urlList.push(locationURL)\n\n // 19. Invoke set request’s 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’s 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’s window is \"no-window\" and request’s 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 = cloneRequest(request)\n\n // 2. Set httpFetchParams to a copy of fetchParams.\n httpFetchParams = { ...fetchParams }\n\n // 3. Set httpFetchParams’s 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’s body’s length, if httpRequest’s\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’s body is null and httpRequest’s 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’s header\n // list.\n if (contentLengthHeaderValue != null) {\n httpRequest.headersList.append('content-length', contentLengthHeaderValue, true)\n }\n\n // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`,\n // contentLengthHeaderValue) to httpRequest’s header list.\n\n // 10. If contentLength is non-null and httpRequest’s 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’s referrer is a URL, then append\n // `Referer`/httpRequest’s referrer, serialized and isomorphic encoded,\n // to httpRequest’s header list.\n if (httpRequest.referrer instanceof URL) {\n httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href), true)\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’s header list does not contain `User-Agent`, then\n // user agents should append `User-Agent`/default `User-Agent` value to\n // httpRequest’s header list.\n if (!httpRequest.headersList.contains('user-agent', true)) {\n httpRequest.headersList.append('user-agent', defaultUserAgent)\n }\n\n // 15. If httpRequest’s cache mode is \"default\" and httpRequest’s header\n // list contains `If-Modified-Since`, `If-None-Match`,\n // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set\n // httpRequest’s cache mode to \"no-store\".\n if (\n httpRequest.cache === 'default' &&\n (httpRequest.headersList.contains('if-modified-since', true) ||\n httpRequest.headersList.contains('if-none-match', true) ||\n httpRequest.headersList.contains('if-unmodified-since', true) ||\n httpRequest.headersList.contains('if-match', true) ||\n httpRequest.headersList.contains('if-range', true))\n ) {\n httpRequest.cache = 'no-store'\n }\n\n // 16. If httpRequest’s cache mode is \"no-cache\", httpRequest’s prevent\n // no-cache cache-control header modification flag is unset, and\n // httpRequest’s header list does not contain `Cache-Control`, then append\n // `Cache-Control`/`max-age=0` to httpRequest’s header list.\n if (\n httpRequest.cache === 'no-cache' &&\n !httpRequest.preventNoCacheCacheControlHeaderModification &&\n !httpRequest.headersList.contains('cache-control', true)\n ) {\n httpRequest.headersList.append('cache-control', 'max-age=0', true)\n }\n\n // 17. If httpRequest’s cache mode is \"no-store\" or \"reload\", then:\n if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') {\n // 1. If httpRequest’s header list does not contain `Pragma`, then append\n // `Pragma`/`no-cache` to httpRequest’s header list.\n if (!httpRequest.headersList.contains('pragma', true)) {\n httpRequest.headersList.append('pragma', 'no-cache', true)\n }\n\n // 2. If httpRequest’s header list does not contain `Cache-Control`,\n // then append `Cache-Control`/`no-cache` to httpRequest’s header list.\n if (!httpRequest.headersList.contains('cache-control', true)) {\n httpRequest.headersList.append('cache-control', 'no-cache', true)\n }\n }\n\n // 18. If httpRequest’s header list contains `Range`, then append\n // `Accept-Encoding`/`identity` to httpRequest’s header list.\n if (httpRequest.headersList.contains('range', true)) {\n httpRequest.headersList.append('accept-encoding', 'identity', true)\n }\n\n // 19. Modify httpRequest’s header list per HTTP. Do not append a given\n // header if httpRequest’s header list contains that header’s name.\n // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129\n if (!httpRequest.headersList.contains('accept-encoding', true)) {\n if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {\n httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate', true)\n } else {\n httpRequest.headersList.append('accept-encoding', 'gzip, deflate', true)\n }\n }\n\n httpRequest.headersList.delete('host', true)\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’s header list does not contain `Authorization`, then:\n // TODO: credentials\n }\n\n // 21. If there’s 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’s cache mode to\n // \"no-store\".\n if (httpCache == null) {\n httpRequest.cache = 'no-store'\n }\n\n // 24. If httpRequest’s cache mode is neither \"no-store\" nor \"reload\",\n // then:\n if (httpRequest.cache !== 'no-store' && httpRequest.cache !== '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’s cache mode is \"only-if-cached\", then return a\n // network error.\n if (httpRequest.cache === '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’s method is unsafe and forwardResponse’s 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 !safeMethodsSet.has(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’s 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’s URL list to a clone of httpRequest’s URL list.\n response.urlList = [...httpRequest.urlList]\n\n // 12. If httpRequest’s header list contains `Range`, then set response’s\n // range-requested flag.\n if (httpRequest.headersList.contains('range', true)) {\n response.rangeRequested = true\n }\n\n // 13. Set response’s request-includes-credentials to includeCredentials.\n response.requestIncludesCredentials = includeCredentials\n\n // 14. If response’s status is 401, httpRequest’s response tainting is not\n // \"cors\", includeCredentials is true, and request’s window is an environment\n // settings object, then:\n // TODO\n\n // 15. If response’s status is 407, then:\n if (response.status === 407) {\n // 1. If request’s 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’s 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’s status is 421\n response.status === 421 &&\n // isNewConnectionFetch is false\n !isNewConnectionFetch &&\n // request’s body is null, or request’s body is non-null and request’s body’s 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, abort = true) {\n if (!this.destroyed) {\n this.destroyed = true\n if (abort) {\n this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError'))\n }\n }\n }\n }\n\n // 1. Let request be fetchParams’s request.\n const request = fetchParams.request\n\n // 2. Let response be null.\n let response = null\n\n // 3. Let timingInfo be fetchParams’s 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’s 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’s mode:\n if (request.mode === 'websocket') {\n // Let connection be the result of obtaining a WebSocket connection,\n // given request’s current URL.\n // TODO\n } else {\n // Let connection be the result of obtaining a connection, given\n // networkPartitionKey, request’s current URL’s 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’s final connection timing info to the result of\n // calling clamp and coarsen connection timing info with connection’s\n // timing info, timingInfo’s post-redirect start time, and fetchParams’s\n // cross-origin isolated capability.\n\n // 3. If connection is not an HTTP/2 connection, request’s body is non-null,\n // and request’s body’s source is null, then append (`Transfer-Encoding`,\n // `chunked`) to request’s header list.\n\n // 4. Set timingInfo’s final network-request start time to the coarsened\n // shared current time given fetchParams’s 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’s body is non-null, and request’s body’s source is null,\n // then the user agent may have a buffer of up to 64 kibibytes and store\n // a part of request’s body in that buffer. If the user agent reads from\n // request’s body beyond that buffer’s size and the user agent needs to\n // resend request, then instead return a network error.\n\n // - Set timingInfo’s final network-response start time to the coarsened\n // shared current time given fetchParams’s cross-origin isolated capability,\n // immediately after the user agent’s 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’s final network-response start time above.\n\n // - If request’s 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’s window is an environment settings object, make the\n // dialog available in request’s window.\n\n // 2. Otherwise, return a network error.\n\n // To transmit request’s body body, run these steps:\n let requestBody = null\n // 1. If body is null and fetchParams’s process request end-of-body is\n // non-null, then queue a fetch task given fetchParams’s process request\n // end-of-body and fetchParams’s 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’s process request body is non-null, then run\n // fetchParams’s process request body given bytes’s 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’s process request end-of-body is non-null,\n // then run fetchParams’s 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’s 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’s body given processBodyChunk, processEndOfBody,\n // processBodyError, and fetchParams’s 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, err)\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 = async () => {\n await fetchParams.controller.resume()\n }\n\n // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams’s\n // controller with reason, given reason.\n const cancelAlgorithm = (reason) => {\n // If the aborted fetch was already terminated, then we do not\n // need to do anything.\n if (!isCancelled(fetchParams)) {\n fetchParams.controller.abort(reason)\n }\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 byte reading support with pullAlgorithm set to pullAlgorithm,\n // cancelAlgorithm set to cancelAlgorithm.\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 type: 'bytes'\n }\n )\n\n // 17. Run these steps, but abort when the ongoing fetch is terminated:\n\n // 1. Set response’s body to a new body whose stream is stream.\n response.body = { stream, source: null, length: null }\n\n // 2. If response is not a network error and request’s 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’s header list, if any, and request’s 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.onAborted = onAborted\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’s 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’s decoded body size by bytes’s length.\n timingInfo.decodedBodySize += bytes?.byteLength ?? 0\n\n // 6. If bytes is failure, then terminate fetchParams’s 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 const buffer = new Uint8Array(bytes)\n if (buffer.byteLength) {\n fetchParams.controller.controller.enqueue(buffer)\n }\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’t need more data ask the user agent to suspend\n // the ongoing fetch.\n if (fetchParams.controller.controller.desiredSize <= 0) {\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’s 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’s\n // controller’s 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 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: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : 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 // Set timingInfo’s final connection timing info to the result of calling clamp and coarsen\n // connection timing info with connection’s timing info, timingInfo’s post-redirect start\n // time, and fetchParams’s cross-origin isolated capability.\n // TODO: implement connection timing\n timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(undefined, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability)\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 // Set timingInfo’s final network-request start time to the coarsened shared current time given\n // fetchParams’s cross-origin isolated capability.\n timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n },\n\n onResponseStarted () {\n // Set timingInfo’s final network-response start time to the coarsened shared current\n // time given fetchParams’s cross-origin isolated capability, immediately after the\n // user agent’s HTTP parser receives the first byte of the response (e.g., frame header\n // bytes for HTTP/2 or response status line for HTTP/1.x).\n timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)\n },\n\n onHeaders (status, rawHeaders, resume, statusText) {\n if (status < 200) {\n return\n }\n\n let location = ''\n\n const headersList = new HeadersList()\n\n for (let i = 0; i < rawHeaders.length; i += 2) {\n headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString('latin1'), true)\n }\n location = headersList.get('location', true)\n\n this.body = new Readable({ read: resume })\n\n const decoders = []\n\n const willFollow = location && request.redirect === 'follow' &&\n redirectStatusSet.has(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 // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1\n const contentEncoding = headersList.get('content-encoding', true)\n // \"All content-coding values are case-insensitive...\"\n /** @type {string[]} */\n const codings = contentEncoding ? contentEncoding.toLowerCase().split(',') : []\n\n // Limit the number of content-encodings to prevent resource exhaustion.\n // CVE fix similar to urllib3 (GHSA-gm62-xv2j-4w53) and curl (CVE-2022-32206).\n const maxContentEncodings = 5\n if (codings.length > maxContentEncodings) {\n reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`))\n return true\n }\n\n for (let i = codings.length - 1; i >= 0; --i) {\n const coding = codings[i].trim()\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(createInflate({\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n }))\n } else if (coding === 'br') {\n decoders.push(zlib.createBrotliDecompress({\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n }))\n } else {\n decoders.length = 0\n break\n }\n }\n }\n\n const onError = this.onError.bind(this)\n\n resolve({\n status,\n statusText,\n headersList,\n body: decoders.length\n ? pipeline(this.body, ...decoders, (err) => {\n if (err) {\n this.onError(err)\n }\n }).on('error', onError)\n : this.body.on('error', onError)\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’s\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’s header list.\n // See pullAlgorithm.\n\n // 3. Increase timingInfo’s encoded body size by bytes’s 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 if (fetchParams.controller.onAborted) {\n fetchParams.controller.off('terminated', fetchParams.controller.onAborted)\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, rawHeaders, socket) {\n if (status !== 101) {\n return\n }\n\n const headersList = new HeadersList()\n\n for (let i = 0; i < rawHeaders.length; i += 2) {\n headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString('latin1'), true)\n }\n\n resolve({\n status,\n statusText: STATUS_CODES[status],\n headersList,\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, 'ProgressEvent constructor', '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 { serializeAMimeType, parseMIMEType } = require('../fetch/data-url')\nconst { types } = require('node:util')\nconst { StringDecoder } = require('string_decoder')\nconst { btoa } = require('node: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’s 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’s state to \"loading\".\n fr[kState] = 'loading'\n\n // 3. Set fr’s result to null.\n fr[kResult] = null\n\n // 4. Set fr’s 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’s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Let result be the result of package data given\n // bytes, type, blob’s 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’s 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’s 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’s 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’s state to \"done\".\n fr[kState] = 'done'\n\n // 2. Set fr’s 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’s 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’s 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’s\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, '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, '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, 'FileReader.readAsText')\n\n blob = webidl.converters.Blob(blob, { strict: false })\n\n if (encoding !== undefined) {\n encoding = webidl.converters.DOMString(encoding, 'FileReader.readAsText', '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, '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’s 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’s 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: require('../../core/symbols').kConstruct\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { URLSerializer } = require('../fetch/data-url')\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 getFieldValues (header) {\n assert(header !== null)\n\n const values = []\n\n for (let value of header.split(',')) {\n value = value.trim()\n\n if (isValidHeaderName(value)) {\n values.push(value)\n }\n }\n\n return values\n}\n\nmodule.exports = {\n urlEquals,\n getFieldValues\n}\n","'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { urlEquals, getFieldValues } = require('./util')\nconst { kEnumerableProperty, isDisturbed } = require('../../core/util')\nconst { webidl } = require('../fetch/webidl')\nconst { Response, cloneResponse, fromInnerResponse } = require('../fetch/response')\nconst { Request, fromInnerRequest } = require('../fetch/request')\nconst { kState } = require('../fetch/symbols')\nconst { fetching } = require('../fetch/index')\nconst { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require('../fetch/util')\nconst assert = require('node:assert')\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 webidl.util.markAsUncloneable(this)\n this.#relevantRequestResponseList = arguments[1]\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.match'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n const p = this.#internalMatchAll(request, options, 1)\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 const prefix = 'Cache.matchAll'\n if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n return this.#internalMatchAll(request, options)\n }\n\n async add (request) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.add'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, '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\n const prefix = 'Cache.addAll'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n // 1.\n const responsePromises = []\n\n // 2.\n const requestList = []\n\n // 3.\n for (let request of requests) {\n if (request === undefined) {\n throw webidl.errors.conversionFailed({\n prefix,\n argument: 'Argument 1',\n types: ['undefined is not allowed']\n })\n }\n\n request = webidl.converters.RequestInfo(request)\n\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: prefix,\n message: 'Expected http/s scheme when method is not GET.'\n })\n }\n }\n\n // 4.\n /** @type {ReturnType[]} */\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: prefix,\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 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\n const prefix = 'Cache.put'\n webidl.argumentLengthCheck(arguments, 2, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n response = webidl.converters.Response(response, prefix, '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: prefix,\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: prefix,\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: prefix,\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: prefix,\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(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject)\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\n const prefix = 'Cache.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, '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 {Promise}\n */\n async keys (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.keys'\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, '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 = fromInnerRequest(\n request,\n new AbortController().signal,\n 'immutable'\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 #internalMatchAll (request, options, maxResponses = Infinity) {\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 = fromInnerResponse(response, 'immutable')\n\n responseList.push(responseObject.clone())\n\n if (responseList.length >= maxResponses) {\n break\n }\n }\n\n // 6.\n return Object.freeze(responseList)\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'] = 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}\n */\n async has (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.has'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, '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}\n */\n async open (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.open'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, '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}\n */\n async delete (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName')\n\n return this.#caches.delete(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys\n * @returns {Promise}\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\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction isCTLExcludingHtab (value) {\n for (let i = 0; i < value.length; ++i) {\n const code = value.charCodeAt(i)\n\n if (\n (code >= 0x00 && code <= 0x08) ||\n (code >= 0x0A && code <= 0x1F) ||\n code === 0x7F\n ) {\n return true\n }\n }\n return false\n}\n\n/**\n CHAR = \n token = 1*\n separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n | \",\" | \";\" | \":\" | \"\\\" | <\">\n | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n | \"{\" | \"}\" | SP | HT\n * @param {string} name\n */\nfunction validateCookieName (name) {\n for (let i = 0; i < name.length; ++i) {\n const code = name.charCodeAt(i)\n\n if (\n code < 0x21 || // exclude CTLs (0-31), SP and HT\n code > 0x7E || // exclude non-ascii and DEL\n code === 0x22 || // \"\n code === 0x28 || // (\n code === 0x29 || // )\n code === 0x3C || // <\n code === 0x3E || // >\n code === 0x40 || // @\n code === 0x2C || // ,\n code === 0x3B || // ;\n code === 0x3A || // :\n code === 0x5C || // \\\n code === 0x2F || // /\n code === 0x5B || // [\n code === 0x5D || // ]\n code === 0x3F || // ?\n code === 0x3D || // =\n code === 0x7B || // {\n code === 0x7D // }\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 let len = value.length\n let i = 0\n\n // if the value is wrapped in DQUOTE\n if (value[0] === '\"') {\n if (len === 1 || value[len - 1] !== '\"') {\n throw new Error('Invalid cookie value')\n }\n --len\n ++i\n }\n\n while (i < len) {\n const code = value.charCodeAt(i++)\n\n if (\n code < 0x21 || // exclude CTLs (0-31)\n code > 0x7E || // non-ascii and DEL (127)\n code === 0x22 || // \"\n code === 0x2C || // ,\n code === 0x3B || // ;\n code === 0x5C // \\\n ) {\n throw new Error('Invalid cookie value')\n }\n }\n}\n\n/**\n * path-value = \n * @param {string} path\n */\nfunction validateCookiePath (path) {\n for (let i = 0; i < path.length; ++i) {\n const code = path.charCodeAt(i)\n\n if (\n code < 0x20 || // exclude CTLs (0-31)\n code === 0x7F || // DEL\n code === 0x3B // ;\n ) {\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\nconst IMFDays = [\n 'Sun', 'Mon', 'Tue', 'Wed',\n 'Thu', 'Fri', 'Sat'\n]\n\nconst IMFMonths = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n]\n\nconst IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, '0'))\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 return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} 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\nmodule.exports = {\n isCTLExcludingHtab,\n validateCookieName,\n validateCookiePath,\n validateCookieValue,\n toIMFDate,\n stringify\n}\n","'use strict'\n\nconst { maxNameValuePairSize, maxAttributeValueSize } = require('./constants')\nconst { isCTLExcludingHtab } = require('./util')\nconst { collectASequenceOfCodePointsFast } = require('../fetch/data-url')\nconst assert = require('node: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.]={}} 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 } = 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}\n */\nfunction getCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, '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.brandCheck(headers, Headers, { strict: false })\n\n const prefix = 'deleteCookie'\n webidl.argumentLengthCheck(arguments, 2, prefix)\n\n name = webidl.converters.DOMString(name, prefix, '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, 'getSetCookies')\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookies = headers.getSetCookie()\n\n if (!cookies) {\n return []\n }\n\n return cookies.map((pair) => parseSetCookie(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, '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', str)\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: () => new Array(0)\n }\n])\n\nmodule.exports = {\n getCookies,\n deleteCookie,\n getSetCookies,\n setCookie\n}\n","'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../../core/util')\nconst { kConstruct } = require('../../core/symbols')\nconst { MessagePort } = require('node: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 if (type === kConstruct) {\n super(arguments[1], arguments[2])\n webidl.util.markAsUncloneable(this)\n return\n }\n\n const prefix = 'MessageEvent constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n type = webidl.converters.DOMString(type, prefix, 'type')\n eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, 'eventInitDict')\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n webidl.util.markAsUncloneable(this)\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, 'MessageEvent.initMessageEvent')\n\n return new MessageEvent(type, {\n bubbles, cancelable, data, origin, lastEventId, source, ports\n })\n }\n\n static createFastMessageEvent (type, init) {\n const messageEvent = new MessageEvent(kConstruct, type, init)\n messageEvent.#eventInit = init\n messageEvent.#eventInit.data ??= null\n messageEvent.#eventInit.origin ??= ''\n messageEvent.#eventInit.lastEventId ??= ''\n messageEvent.#eventInit.source ??= null\n messageEvent.#eventInit.ports ??= []\n return messageEvent\n }\n}\n\nconst { createFastMessageEvent } = MessageEvent\ndelete MessageEvent.createFastMessageEvent\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 const prefix = 'CloseEvent constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n type = webidl.converters.DOMString(type, prefix, 'type')\n eventInitDict = webidl.converters.CloseEventInit(eventInitDict)\n\n super(type, eventInitDict)\n\n this.#eventInit = eventInitDict\n webidl.util.markAsUncloneable(this)\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 const prefix = 'ErrorEvent constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n super(type, eventInitDict)\n webidl.util.markAsUncloneable(this)\n\n type = webidl.converters.DOMString(type, prefix, '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'] = 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'],\n defaultValue: () => new Array(0)\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 createFastMessageEvent\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 sentCloseFrameState = {\n NOT_SENT: 0,\n PROCESSING: 1,\n SENT: 2\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\nconst sendHints = {\n string: 1,\n typedArray: 2,\n arrayBuffer: 3,\n blob: 4\n}\n\nmodule.exports = {\n uid,\n sentCloseFrameState,\n staticPropertyDescriptors,\n states,\n opcodes,\n maxUnsigned16Bit,\n parserStates,\n emptyBuffer,\n sendHints\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 { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require('./symbols')\nconst { states, opcodes } = require('./constants')\nconst { ErrorEvent, createFastMessageEvent } = require('./events')\nconst { isUtf8 } = require('node:buffer')\nconst { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require('../fetch/data-url')\n\n/* globals Blob */\n\n/**\n * @param {import('./websocket').WebSocket} ws\n * @returns {boolean}\n */\nfunction isConnecting (ws) {\n // If the WebSocket connection is not yet established, and the connection\n // is not yet closed, then the WebSocket connection is in the CONNECTING state.\n return ws[kReadyState] === states.CONNECTING\n}\n\n/**\n * @param {import('./websocket').WebSocket} ws\n * @returns {boolean}\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 * @returns {boolean}\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 * @returns {boolean}\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 {(...args: ConstructorParameters) => Event} eventFactory\n * @param {EventInit | undefined} eventInitDict\n */\nfunction fireEvent (e, target, eventFactory = (type, init) => new Event(type, init), 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’s type attribute to e.\n const event = eventFactory(e, eventInitDict)\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 = utf8Decode(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 = toArrayBuffer(data)\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’s url's origin, and the data attribute initialized to dataForEvent.\n fireEvent('message', ws, createFastMessageEvent, {\n origin: ws[kWebSocketURL].origin,\n data: dataForEvent\n })\n}\n\nfunction toArrayBuffer (buffer) {\n if (buffer.byteLength === buffer.buffer.byteLength) {\n return buffer.buffer\n }\n return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)\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 (let i = 0; i < protocol.length; ++i) {\n const code = protocol.charCodeAt(i)\n\n if (\n code < 0x21 || // CTL, contains SP (0x20) and HT (0x09)\n code > 0x7E ||\n code === 0x22 || // \"\n code === 0x28 || // (\n code === 0x29 || // )\n code === 0x2C || // ,\n code === 0x2F || // /\n code === 0x3A || // :\n code === 0x3B || // ;\n code === 0x3C || // <\n code === 0x3D || // =\n code === 0x3E || // >\n code === 0x3F || // ?\n code === 0x40 || // @\n code === 0x5B || // [\n code === 0x5C || // \\\n code === 0x5D || // ]\n code === 0x7B || // {\n code === 0x7D // }\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 // TODO: process.nextTick\n fireEvent('error', ws, (type, init) => new ErrorEvent(type, init), {\n error: new Error(reason),\n message: reason\n })\n }\n}\n\n/**\n * @see https://datatracker.ietf.org/doc/html/rfc6455#section-5.5\n * @param {number} opcode\n */\nfunction isControlFrame (opcode) {\n return (\n opcode === opcodes.CLOSE ||\n opcode === opcodes.PING ||\n opcode === opcodes.PONG\n )\n}\n\nfunction isContinuationFrame (opcode) {\n return opcode === opcodes.CONTINUATION\n}\n\nfunction isTextBinaryFrame (opcode) {\n return opcode === opcodes.TEXT || opcode === opcodes.BINARY\n}\n\nfunction isValidOpcode (opcode) {\n return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode)\n}\n\n/**\n * Parses a Sec-WebSocket-Extensions header value.\n * @param {string} extensions\n * @returns {Map}\n */\n// TODO(@Uzlopak, @KhafraDev): make compliant https://datatracker.ietf.org/doc/html/rfc6455#section-9.1\nfunction parseExtensions (extensions) {\n const position = { position: 0 }\n const extensionList = new Map()\n\n while (position.position < extensions.length) {\n const pair = collectASequenceOfCodePointsFast(';', extensions, position)\n const [name, value = ''] = pair.split('=')\n\n extensionList.set(\n removeHTTPWhitespace(name, true, false),\n removeHTTPWhitespace(value, false, true)\n )\n\n position.position++\n }\n\n return extensionList\n}\n\n/**\n * @see https://www.rfc-editor.org/rfc/rfc7692#section-7.1.2.2\n * @description \"client-max-window-bits = 1*DIGIT\"\n * @param {string} value\n */\nfunction isValidClientWindowBits (value) {\n for (let i = 0; i < value.length; i++) {\n const byte = value.charCodeAt(i)\n\n if (byte < 0x30 || byte > 0x39) {\n return false\n }\n }\n\n return true\n}\n\n// https://nodejs.org/api/intl.html#detecting-internationalization-support\nconst hasIntl = typeof process.versions.icu === 'string'\nconst fatalDecoder = hasIntl ? new TextDecoder('utf-8', { fatal: true }) : undefined\n\n/**\n * Converts a Buffer to utf-8, even on platforms without icu.\n * @param {Buffer} buffer\n */\nconst utf8Decode = hasIntl\n ? fatalDecoder.decode.bind(fatalDecoder)\n : function (buffer) {\n if (isUtf8(buffer)) {\n return buffer.toString('utf-8')\n }\n throw new TypeError('Invalid utf-8 received.')\n }\n\nmodule.exports = {\n isConnecting,\n isEstablished,\n isClosing,\n isClosed,\n fireEvent,\n isValidSubprotocol,\n isValidStatusCode,\n failWebsocketConnection,\n websocketMessageReceived,\n utf8Decode,\n isControlFrame,\n isContinuationFrame,\n isTextBinaryFrame,\n isValidOpcode,\n parseExtensions,\n isValidClientWindowBits\n}\n","'use strict'\n\nconst { maxUnsigned16Bit } = require('./constants')\n\nconst BUFFER_SIZE = 16386\n\n/** @type {import('crypto')} */\nlet crypto\nlet buffer = null\nlet bufIdx = BUFFER_SIZE\n\ntry {\n crypto = require('node:crypto')\n/* c8 ignore next 3 */\n} catch {\n crypto = {\n // not full compatibility, but minimum.\n randomFillSync: function randomFillSync (buffer, _offset, _size) {\n for (let i = 0; i < buffer.length; ++i) {\n buffer[i] = Math.random() * 255 | 0\n }\n return buffer\n }\n }\n}\n\nfunction generateMask () {\n if (bufIdx === BUFFER_SIZE) {\n bufIdx = 0\n crypto.randomFillSync((buffer ??= Buffer.allocUnsafe(BUFFER_SIZE)), 0, BUFFER_SIZE)\n }\n return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]\n}\n\nclass WebsocketFrameSend {\n /**\n * @param {Buffer|undefined} data\n */\n constructor (data) {\n this.frameData = data\n }\n\n createFrame (opcode) {\n const frameData = this.frameData\n const maskKey = generateMask()\n const bodyLength = 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 */\n buffer[offset - 4] = maskKey[0]\n buffer[offset - 3] = maskKey[1]\n buffer[offset - 2] = maskKey[2]\n buffer[offset - 1] = 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] = frameData[i] ^ maskKey[i & 3]\n }\n\n return buffer\n }\n}\n\nmodule.exports = {\n WebsocketFrameSend\n}\n","'use strict'\n\nconst { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require('./constants')\nconst {\n kReadyState,\n kSentClose,\n kByteParser,\n kReceivedClose,\n kResponse\n} = require('./symbols')\nconst { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require('./util')\nconst { channels } = require('../../core/diagnostics')\nconst { CloseEvent } = require('./events')\nconst { makeRequest } = require('../fetch/request')\nconst { fetching } = require('../fetch/index')\nconst { Headers, getHeadersList } = require('../fetch/headers')\nconst { getDecodeSplit } = require('../fetch/util')\nconst { WebsocketFrameSend } = require('./frame')\n\n/** @type {import('crypto')} */\nlet crypto\ntry {\n crypto = require('node:crypto')\n/* c8 ignore next 3 */\n} catch {\n\n}\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, extensions: string[] | undefined) => void} onEstablish\n * @param {Partial} options\n */\nfunction establishWebSocketConnection (url, protocols, client, ws, onEstablish, options) {\n // 1. Let requestURL be a copy of url, with its scheme set to \"http\", if url’s\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 client,\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 = getHeadersList(new Headers(options.headers))\n\n request.headersList = headersList\n }\n\n // 3. Append (`Upgrade`, `websocket`) to request’s header list.\n // 4. Append (`Connection`, `Upgrade`) to request’s 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 = crypto.randomBytes(16).toString('base64')\n\n // 6. Append (`Sec-WebSocket-Key`, keyValue) to request’s\n // header list.\n request.headersList.append('sec-websocket-key', keyValue)\n\n // 7. Append (`Sec-WebSocket-Version`, `13`) to request’s\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’s 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 const permessageDeflate = 'permessage-deflate; client_max_window_bits'\n\n // 10. Append (`Sec-WebSocket-Extensions`, permessageDeflate) to\n // request’s 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,\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’s\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 = crypto.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 let extensions\n\n if (secExtension !== null) {\n extensions = parseExtensions(secExtension)\n\n if (!extensions.has('permessage-deflate')) {\n failWebsocketConnection(ws, 'Sec-WebSocket-Extensions header does not match.')\n return\n }\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) {\n const requestProtocols = getDecodeSplit('sec-websocket-protocol', request.headersList)\n\n // The client can request that the server use a specific subprotocol by\n // including the |Sec-WebSocket-Protocol| field in its handshake. If it\n // is specified, the server needs to include the same field and one of\n // the selected subprotocol values in its response for the connection to\n // be established.\n if (!requestProtocols.includes(secProtocol)) {\n failWebsocketConnection(ws, 'Protocol was not set in the opening handshake.')\n return\n }\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, extensions)\n }\n })\n\n return controller\n}\n\nfunction closeWebSocketConnection (ws, code, reason, reasonByteLength) {\n if (isClosing(ws) || isClosed(ws)) {\n // If this's ready state is CLOSING (2) or CLOSED (3)\n // Do nothing.\n } else if (!isEstablished(ws)) {\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(ws, 'Connection was closed before it was established.')\n ws[kReadyState] = states.CLOSING\n } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {\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 ws[kSentClose] = sentCloseFrameState.PROCESSING\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 = ws[kResponse].socket\n\n socket.write(frame.createFrame(opcodes.CLOSE))\n\n ws[kSentClose] = sentCloseFrameState.SENT\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 ws[kReadyState] = states.CLOSING\n } else {\n // Otherwise\n // Set this's ready state to CLOSING (2).\n ws[kReadyState] = states.CLOSING\n }\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 const { [kResponse]: response } = ws\n\n response.socket.off('data', onSocketData)\n response.socket.off('close', onSocketClose)\n response.socket.off('error', onSocketError)\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] === sentCloseFrameState.SENT && ws[kReceivedClose]\n\n let code = 1005\n let reason = ''\n\n const result = ws[kByteParser].closingInfo\n\n if (result && !result.error) {\n code = result.code ?? 1005\n reason = result.reason\n } else if (!ws[kReceivedClose]) {\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 // TODO: process.nextTick\n fireEvent('close', ws, (type, init) => new CloseEvent(type, init), {\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 closeWebSocketConnection\n}\n","'use strict'\n\nconst { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require('node:zlib')\nconst { isValidClientWindowBits } = require('./util')\n\nconst tail = Buffer.from([0x00, 0x00, 0xff, 0xff])\nconst kBuffer = Symbol('kBuffer')\nconst kLength = Symbol('kLength')\n\nclass PerMessageDeflate {\n /** @type {import('node:zlib').InflateRaw} */\n #inflate\n\n #options = {}\n\n constructor (extensions) {\n this.#options.serverNoContextTakeover = extensions.has('server_no_context_takeover')\n this.#options.serverMaxWindowBits = extensions.get('server_max_window_bits')\n }\n\n decompress (chunk, fin, callback) {\n // An endpoint uses the following algorithm to decompress a message.\n // 1. Append 4 octets of 0x00 0x00 0xff 0xff to the tail end of the\n // payload of the message.\n // 2. Decompress the resulting data using DEFLATE.\n\n if (!this.#inflate) {\n let windowBits = Z_DEFAULT_WINDOWBITS\n\n if (this.#options.serverMaxWindowBits) { // empty values default to Z_DEFAULT_WINDOWBITS\n if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {\n callback(new Error('Invalid server_max_window_bits'))\n return\n }\n\n windowBits = Number.parseInt(this.#options.serverMaxWindowBits)\n }\n\n this.#inflate = createInflateRaw({ windowBits })\n this.#inflate[kBuffer] = []\n this.#inflate[kLength] = 0\n\n this.#inflate.on('data', (data) => {\n this.#inflate[kBuffer].push(data)\n this.#inflate[kLength] += data.length\n })\n\n this.#inflate.on('error', (err) => {\n this.#inflate = null\n callback(err)\n })\n }\n\n this.#inflate.write(chunk)\n if (fin) {\n this.#inflate.write(tail)\n }\n\n this.#inflate.flush(() => {\n const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength])\n\n this.#inflate[kBuffer].length = 0\n this.#inflate[kLength] = 0\n\n callback(null, full)\n })\n }\n}\n\nmodule.exports = { PerMessageDeflate }\n","'use strict'\n\nconst { Writable } = require('node:stream')\nconst assert = require('node:assert')\nconst { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require('./constants')\nconst { kReadyState, kSentClose, kResponse, kReceivedClose } = require('./symbols')\nconst { channels } = require('../../core/diagnostics')\nconst {\n isValidStatusCode,\n isValidOpcode,\n failWebsocketConnection,\n websocketMessageReceived,\n utf8Decode,\n isControlFrame,\n isTextBinaryFrame,\n isContinuationFrame\n} = require('./util')\nconst { WebsocketFrameSend } = require('./frame')\nconst { closeWebSocketConnection } = require('./connection')\nconst { PerMessageDeflate } = require('./permessage-deflate')\n\n// This code was influenced by ws released under the MIT license.\n// Copyright (c) 2011 Einar Otto Stangvik \n// Copyright (c) 2013 Arnout Kazemier and contributors\n// Copyright (c) 2016 Luigi Pinca and contributors\n\nclass ByteParser extends Writable {\n #buffers = []\n #byteOffset = 0\n #loop = false\n\n #state = parserStates.INFO\n\n #info = {}\n #fragments = []\n\n /** @type {Map} */\n #extensions\n\n constructor (ws, extensions) {\n super()\n\n this.ws = ws\n this.#extensions = extensions == null ? new Map() : extensions\n\n if (this.#extensions.has('permessage-deflate')) {\n this.#extensions.set('permessage-deflate', new PerMessageDeflate(extensions))\n }\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 this.#loop = true\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 (this.#loop) {\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 const fin = (buffer[0] & 0x80) !== 0\n const opcode = buffer[0] & 0x0F\n const masked = (buffer[1] & 0x80) === 0x80\n\n const fragmented = !fin && opcode !== opcodes.CONTINUATION\n const payloadLength = buffer[1] & 0x7F\n\n const rsv1 = buffer[0] & 0x40\n const rsv2 = buffer[0] & 0x20\n const rsv3 = buffer[0] & 0x10\n\n if (!isValidOpcode(opcode)) {\n failWebsocketConnection(this.ws, 'Invalid opcode received')\n return callback()\n }\n\n if (masked) {\n failWebsocketConnection(this.ws, 'Frame cannot be masked')\n return callback()\n }\n\n // MUST be 0 unless an extension is negotiated that defines meanings\n // for non-zero values. If a nonzero value is received and none of\n // the negotiated extensions defines the meaning of such a nonzero\n // value, the receiving endpoint MUST _Fail the WebSocket\n // Connection_.\n // This document allocates the RSV1 bit of the WebSocket header for\n // PMCEs and calls the bit the \"Per-Message Compressed\" bit. On a\n // WebSocket connection where a PMCE is in use, this bit indicates\n // whether a message is compressed or not.\n if (rsv1 !== 0 && !this.#extensions.has('permessage-deflate')) {\n failWebsocketConnection(this.ws, 'Expected RSV1 to be clear.')\n return\n }\n\n if (rsv2 !== 0 || rsv3 !== 0) {\n failWebsocketConnection(this.ws, 'RSV1, RSV2, RSV3 must be clear')\n return\n }\n\n if (fragmented && !isTextBinaryFrame(opcode)) {\n // Only text and binary frames can be fragmented\n failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.')\n return\n }\n\n // If we are already parsing a text/binary frame and do not receive either\n // a continuation frame or close frame, fail the connection.\n if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {\n failWebsocketConnection(this.ws, 'Expected continuation frame')\n return\n }\n\n if (this.#info.fragmented && fragmented) {\n // A fragmented frame can't be fragmented itself\n failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.')\n return\n }\n\n // \"All control frames MUST have a payload length of 125 bytes or less\n // and MUST NOT be fragmented.\"\n if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {\n failWebsocketConnection(this.ws, 'Control frame either too large or fragmented')\n return\n }\n\n if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {\n failWebsocketConnection(this.ws, 'Unexpected continuation frame')\n return\n }\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 (isTextBinaryFrame(opcode)) {\n this.#info.binaryType = opcode\n this.#info.compressed = rsv1 !== 0\n }\n\n this.#info.opcode = opcode\n this.#info.masked = masked\n this.#info.fin = fin\n this.#info.fragmented = fragmented\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 maximum 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 return callback()\n }\n\n const body = this.consume(this.#info.payloadLength)\n\n if (isControlFrame(this.#info.opcode)) {\n this.#loop = this.parseControlFrame(body)\n this.#state = parserStates.INFO\n } else {\n if (!this.#info.compressed) {\n this.#fragments.push(body)\n\n // If the frame is not fragmented, a message has been received.\n // If the frame is fragmented, it will terminate with a fin bit set\n // and an opcode of 0 (continuation), therefore we handle that when\n // parsing continuation frames, not here.\n if (!this.#info.fragmented && this.#info.fin) {\n const fullMessage = Buffer.concat(this.#fragments)\n websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage)\n this.#fragments.length = 0\n }\n\n this.#state = parserStates.INFO\n } else {\n this.#extensions.get('permessage-deflate').decompress(body, this.#info.fin, (error, data) => {\n if (error) {\n closeWebSocketConnection(this.ws, 1007, error.message, error.message.length)\n return\n }\n\n this.#fragments.push(data)\n\n if (!this.#info.fin) {\n this.#state = parserStates.INFO\n this.#loop = true\n this.run(callback)\n return\n }\n\n websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments))\n\n this.#loop = true\n this.#state = parserStates.INFO\n this.#fragments.length = 0\n this.run(callback)\n })\n\n this.#loop = false\n break\n }\n }\n }\n }\n }\n\n /**\n * Take n bytes from the buffered Buffers\n * @param {number} n\n * @returns {Buffer}\n */\n consume (n) {\n if (n > this.#byteOffset) {\n throw new Error('Called consume() before buffers satiated.')\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 (data) {\n assert(data.length !== 1)\n\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 (code !== undefined && !isValidStatusCode(code)) {\n return { code: 1002, reason: 'Invalid status code', error: true }\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 try {\n reason = utf8Decode(reason)\n } catch {\n return { code: 1007, reason: 'Invalid UTF-8', error: true }\n }\n\n return { code, reason, error: false }\n }\n\n /**\n * Parses control frames.\n * @param {Buffer} body\n */\n parseControlFrame (body) {\n const { opcode, payloadLength } = this.#info\n\n if (opcode === opcodes.CLOSE) {\n if (payloadLength === 1) {\n failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.')\n return false\n }\n\n this.#info.closeInfo = this.parseCloseBody(body)\n\n if (this.#info.closeInfo.error) {\n const { code, reason } = this.#info.closeInfo\n\n closeWebSocketConnection(this.ws, code, reason, reason.length)\n failWebsocketConnection(this.ws, reason)\n return false\n }\n\n if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {\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 let body = emptyBuffer\n if (this.#info.closeInfo.code) {\n body = Buffer.allocUnsafe(2)\n body.writeUInt16BE(this.#info.closeInfo.code, 0)\n }\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] = sentCloseFrameState.SENT\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 return false\n } else if (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 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 } else if (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 if (channels.pong.hasSubscribers) {\n channels.pong.publish({\n payload: body\n })\n }\n }\n\n return true\n }\n\n get closingInfo () {\n return this.#info.closeInfo\n }\n}\n\nmodule.exports = {\n ByteParser\n}\n","'use strict'\n\nconst { WebsocketFrameSend } = require('./frame')\nconst { opcodes, sendHints } = require('./constants')\nconst FixedQueue = require('../../dispatcher/fixed-queue')\n\n/** @type {typeof Uint8Array} */\nconst FastBuffer = Buffer[Symbol.species]\n\n/**\n * @typedef {object} SendQueueNode\n * @property {Promise | null} promise\n * @property {((...args: any[]) => any)} callback\n * @property {Buffer | null} frame\n */\n\nclass SendQueue {\n /**\n * @type {FixedQueue}\n */\n #queue = new FixedQueue()\n\n /**\n * @type {boolean}\n */\n #running = false\n\n /** @type {import('node:net').Socket} */\n #socket\n\n constructor (socket) {\n this.#socket = socket\n }\n\n add (item, cb, hint) {\n if (hint !== sendHints.blob) {\n const frame = createFrame(item, hint)\n if (!this.#running) {\n // fast-path\n this.#socket.write(frame, cb)\n } else {\n /** @type {SendQueueNode} */\n const node = {\n promise: null,\n callback: cb,\n frame\n }\n this.#queue.push(node)\n }\n return\n }\n\n /** @type {SendQueueNode} */\n const node = {\n promise: item.arrayBuffer().then((ab) => {\n node.promise = null\n node.frame = createFrame(ab, hint)\n }),\n callback: cb,\n frame: null\n }\n\n this.#queue.push(node)\n\n if (!this.#running) {\n this.#run()\n }\n }\n\n async #run () {\n this.#running = true\n const queue = this.#queue\n while (!queue.isEmpty()) {\n const node = queue.shift()\n // wait pending promise\n if (node.promise !== null) {\n await node.promise\n }\n // write\n this.#socket.write(node.frame, node.callback)\n // cleanup\n node.callback = node.frame = null\n }\n this.#running = false\n }\n}\n\nfunction createFrame (data, hint) {\n return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY)\n}\n\nfunction toBuffer (data, hint) {\n switch (hint) {\n case sendHints.string:\n return Buffer.from(data)\n case sendHints.arrayBuffer:\n case sendHints.blob:\n return new FastBuffer(data)\n case sendHints.typedArray:\n return new FastBuffer(data.buffer, data.byteOffset, data.byteLength)\n }\n}\n\nmodule.exports = { SendQueue }\n","'use strict'\n\nconst { webidl } = require('../fetch/webidl')\nconst { URLSerializer } = require('../fetch/data-url')\nconst { environmentSettingsObject } = require('../fetch/util')\nconst { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require('./constants')\nconst {\n kWebSocketURL,\n kReadyState,\n kController,\n kBinaryType,\n kResponse,\n kSentClose,\n kByteParser\n} = require('./symbols')\nconst {\n isConnecting,\n isEstablished,\n isClosing,\n isValidSubprotocol,\n fireEvent\n} = require('./util')\nconst { establishWebSocketConnection, closeWebSocketConnection } = require('./connection')\nconst { ByteParser } = require('./receiver')\nconst { kEnumerableProperty, isBlobLike } = require('../../core/util')\nconst { getGlobalDispatcher } = require('../../global')\nconst { types } = require('node:util')\nconst { ErrorEvent, CloseEvent } = require('./events')\nconst { SendQueue } = require('./sender')\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 /** @type {SendQueue} */\n #sendQueue\n\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor (url, protocols = []) {\n super()\n\n webidl.util.markAsUncloneable(this)\n\n const prefix = 'WebSocket constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n const options = webidl.converters['DOMString or sequence or WebSocketInit'](protocols, prefix, 'options')\n\n url = webidl.converters.USVString(url, prefix, 'url')\n protocols = options.protocols\n\n // 1. Let baseURL be this's relevant settings object's API base URL.\n const baseURL = environmentSettingsObject.settingsObject.baseUrl\n\n // 1. Let urlRecord be the result of applying the URL parser to url with baseURL.\n let urlRecord\n\n try {\n urlRecord = new URL(url, baseURL)\n } catch (e) {\n // 3. If urlRecord is failure, then throw a \"SyntaxError\" DOMException.\n throw new DOMException(e, 'SyntaxError')\n }\n\n // 4. If urlRecord’s scheme is \"http\", then set urlRecord’s scheme to \"ws\".\n if (urlRecord.protocol === 'http:') {\n urlRecord.protocol = 'ws:'\n } else if (urlRecord.protocol === 'https:') {\n // 5. Otherwise, if urlRecord’s scheme is \"https\", set urlRecord’s scheme to \"wss\".\n urlRecord.protocol = 'wss:'\n }\n\n // 6. If urlRecord’s scheme is not \"ws\" or \"wss\", then throw a \"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 // 7. If urlRecord’s fragment is non-null, then throw a \"SyntaxError\"\n // DOMException.\n if (urlRecord.hash || urlRecord.href.endsWith('#')) {\n throw new DOMException('Got fragment', 'SyntaxError')\n }\n\n // 8. 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 // 9. 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 // 10. Set this's url to urlRecord.\n this[kWebSocketURL] = new URL(urlRecord.href)\n\n // 11. Let client be this's relevant settings object.\n const client = environmentSettingsObject.settingsObject\n\n // 12. 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 client,\n this,\n (response, extensions) => this.#onConnectionEstablished(response, extensions),\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 this[kSentClose] = sentCloseFrameState.NOT_SENT\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 const prefix = 'WebSocket.close'\n\n if (code !== undefined) {\n code = webidl.converters['unsigned short'](code, prefix, 'code', { clamp: true })\n }\n\n if (reason !== undefined) {\n reason = webidl.converters.USVString(reason, prefix, '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 closeWebSocketConnection(this, code, reason, reasonByteLength)\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 const prefix = 'WebSocket.send'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n data = webidl.converters.WebSocketSendData(data, prefix, 'data')\n\n // 1. If this's ready state is CONNECTING, then throw an\n // \"InvalidStateError\" DOMException.\n if (isConnecting(this)) {\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 // 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 length = Buffer.byteLength(data)\n\n this.#bufferedAmount += length\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= length\n }, sendHints.string)\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 this.#bufferedAmount += data.byteLength\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= data.byteLength\n }, sendHints.arrayBuffer)\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’s buffer in bytes.\n\n this.#bufferedAmount += data.byteLength\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= data.byteLength\n }, sendHints.typedArray)\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’s raw data, in bytes.\n\n this.#bufferedAmount += data.size\n this.#sendQueue.add(data, () => {\n this.#bufferedAmount -= data.size\n }, sendHints.blob)\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, parsedExtensions) {\n // processResponse is called when the \"response’s 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, parsedExtensions)\n parser.on('drain', onParserDrain)\n parser.on('error', onParserError.bind(this))\n\n response.socket.ws = this\n this[kByteParser] = parser\n\n this.#sendQueue = new SendQueue(response.socket)\n\n // 1. Change the ready state to OPEN (1).\n this[kReadyState] = states.OPEN\n\n // 2. Change the extensions attribute’s 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’s 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'] = webidl.sequenceConverter(\n webidl.converters.DOMString\n)\n\nwebidl.converters['DOMString or sequence'] = function (V, prefix, argument) {\n if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) {\n return webidl.converters['sequence'](V)\n }\n\n return webidl.converters.DOMString(V, prefix, argument)\n}\n\n// This implements the proposal 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'],\n defaultValue: () => new Array(0)\n },\n {\n key: 'dispatcher',\n converter: webidl.converters.any,\n defaultValue: () => getGlobalDispatcher()\n },\n {\n key: 'headers',\n converter: webidl.nullableConverter(webidl.converters.HeadersInit)\n }\n])\n\nwebidl.converters['DOMString or sequence 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'](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.isArrayBuffer(V)) {\n return webidl.converters.BufferSource(V)\n }\n }\n\n return webidl.converters.USVString(V)\n}\n\nfunction onParserDrain () {\n this.ws[kResponse].socket.resume()\n}\n\nfunction onParserError (err) {\n let message\n let code\n\n if (err instanceof CloseEvent) {\n message = err.reason\n code = err.code\n } else {\n message = err.message\n }\n\n fireEvent('error', this, () => new ErrorEvent('error', { error: err, message }))\n\n closeWebSocketConnection(this, code)\n}\n\nmodule.exports = {\n WebSocket\n}\n","'use strict'\n\n/**\n * Checks if the given value is a valid LastEventId.\n * @param {string} value\n * @returns {boolean}\n */\nfunction isValidLastEventId (value) {\n // LastEventId should not contain U+0000 NULL\n return value.indexOf('\\u0000') === -1\n}\n\n/**\n * Checks if the given value is a base 10 digit.\n * @param {string} value\n * @returns {boolean}\n */\nfunction isASCIINumber (value) {\n if (value.length === 0) return false\n for (let i = 0; i < value.length; i++) {\n if (value.charCodeAt(i) < 0x30 || value.charCodeAt(i) > 0x39) return false\n }\n return true\n}\n\n// https://github.com/nodejs/undici/issues/2664\nfunction delay (ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms).unref()\n })\n}\n\nmodule.exports = {\n isValidLastEventId,\n isASCIINumber,\n delay\n}\n","'use strict'\nconst { Transform } = require('node:stream')\nconst { isASCIINumber, isValidLastEventId } = require('./util')\n\n/**\n * @type {number[]} BOM\n */\nconst BOM = [0xEF, 0xBB, 0xBF]\n/**\n * @type {10} LF\n */\nconst LF = 0x0A\n/**\n * @type {13} CR\n */\nconst CR = 0x0D\n/**\n * @type {58} COLON\n */\nconst COLON = 0x3A\n/**\n * @type {32} SPACE\n */\nconst SPACE = 0x20\n\n/**\n * @typedef {object} EventSourceStreamEvent\n * @type {object}\n * @property {string} [event] The event type.\n * @property {string} [data] The data of the message.\n * @property {string} [id] A unique ID for the event.\n * @property {string} [retry] The reconnection time, in milliseconds.\n */\n\n/**\n * @typedef eventSourceSettings\n * @type {object}\n * @property {string} lastEventId The last event ID received from the server.\n * @property {string} origin The origin of the event source.\n * @property {number} reconnectionTime The reconnection time, in milliseconds.\n */\n\nclass EventSourceStream extends Transform {\n /**\n * @type {eventSourceSettings}\n */\n state = null\n\n /**\n * Leading byte-order-mark check.\n * @type {boolean}\n */\n checkBOM = true\n\n /**\n * @type {boolean}\n */\n crlfCheck = false\n\n /**\n * @type {boolean}\n */\n eventEndCheck = false\n\n /**\n * @type {Buffer}\n */\n buffer = null\n\n pos = 0\n\n event = {\n data: undefined,\n event: undefined,\n id: undefined,\n retry: undefined\n }\n\n /**\n * @param {object} options\n * @param {eventSourceSettings} options.eventSourceSettings\n * @param {Function} [options.push]\n */\n constructor (options = {}) {\n // Enable object mode as EventSourceStream emits objects of shape\n // EventSourceStreamEvent\n options.readableObjectMode = true\n\n super(options)\n\n this.state = options.eventSourceSettings || {}\n if (options.push) {\n this.push = options.push\n }\n }\n\n /**\n * @param {Buffer} chunk\n * @param {string} _encoding\n * @param {Function} callback\n * @returns {void}\n */\n _transform (chunk, _encoding, callback) {\n if (chunk.length === 0) {\n callback()\n return\n }\n\n // Cache the chunk in the buffer, as the data might not be complete while\n // processing it\n // TODO: Investigate if there is a more performant way to handle\n // incoming chunks\n // see: https://github.com/nodejs/undici/issues/2630\n if (this.buffer) {\n this.buffer = Buffer.concat([this.buffer, chunk])\n } else {\n this.buffer = chunk\n }\n\n // Strip leading byte-order-mark if we opened the stream and started\n // the processing of the incoming data\n if (this.checkBOM) {\n switch (this.buffer.length) {\n case 1:\n // Check if the first byte is the same as the first byte of the BOM\n if (this.buffer[0] === BOM[0]) {\n // If it is, we need to wait for more data\n callback()\n return\n }\n // Set the checkBOM flag to false as we don't need to check for the\n // BOM anymore\n this.checkBOM = false\n\n // The buffer only contains one byte so we need to wait for more data\n callback()\n return\n case 2:\n // Check if the first two bytes are the same as the first two bytes\n // of the BOM\n if (\n this.buffer[0] === BOM[0] &&\n this.buffer[1] === BOM[1]\n ) {\n // If it is, we need to wait for more data, because the third byte\n // is needed to determine if it is the BOM or not\n callback()\n return\n }\n\n // Set the checkBOM flag to false as we don't need to check for the\n // BOM anymore\n this.checkBOM = false\n break\n case 3:\n // Check if the first three bytes are the same as the first three\n // bytes of the BOM\n if (\n this.buffer[0] === BOM[0] &&\n this.buffer[1] === BOM[1] &&\n this.buffer[2] === BOM[2]\n ) {\n // If it is, we can drop the buffered data, as it is only the BOM\n this.buffer = Buffer.alloc(0)\n // Set the checkBOM flag to false as we don't need to check for the\n // BOM anymore\n this.checkBOM = false\n\n // Await more data\n callback()\n return\n }\n // If it is not the BOM, we can start processing the data\n this.checkBOM = false\n break\n default:\n // The buffer is longer than 3 bytes, so we can drop the BOM if it is\n // present\n if (\n this.buffer[0] === BOM[0] &&\n this.buffer[1] === BOM[1] &&\n this.buffer[2] === BOM[2]\n ) {\n // Remove the BOM from the buffer\n this.buffer = this.buffer.subarray(3)\n }\n\n // Set the checkBOM flag to false as we don't need to check for the\n this.checkBOM = false\n break\n }\n }\n\n while (this.pos < this.buffer.length) {\n // If the previous line ended with an end-of-line, we need to check\n // if the next character is also an end-of-line.\n if (this.eventEndCheck) {\n // If the the current character is an end-of-line, then the event\n // is finished and we can process it\n\n // If the previous line ended with a carriage return, we need to\n // check if the current character is a line feed and remove it\n // from the buffer.\n if (this.crlfCheck) {\n // If the current character is a line feed, we can remove it\n // from the buffer and reset the crlfCheck flag\n if (this.buffer[this.pos] === LF) {\n this.buffer = this.buffer.subarray(this.pos + 1)\n this.pos = 0\n this.crlfCheck = false\n\n // It is possible that the line feed is not the end of the\n // event. We need to check if the next character is an\n // end-of-line character to determine if the event is\n // finished. We simply continue the loop to check the next\n // character.\n\n // As we removed the line feed from the buffer and set the\n // crlfCheck flag to false, we basically don't make any\n // distinction between a line feed and a carriage return.\n continue\n }\n this.crlfCheck = false\n }\n\n if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {\n // If the current character is a carriage return, we need to\n // set the crlfCheck flag to true, as we need to check if the\n // next character is a line feed so we can remove it from the\n // buffer\n if (this.buffer[this.pos] === CR) {\n this.crlfCheck = true\n }\n\n this.buffer = this.buffer.subarray(this.pos + 1)\n this.pos = 0\n if (\n this.event.data !== undefined || this.event.event || this.event.id || this.event.retry) {\n this.processEvent(this.event)\n }\n this.clearEvent()\n continue\n }\n // If the current character is not an end-of-line, then the event\n // is not finished and we have to reset the eventEndCheck flag\n this.eventEndCheck = false\n continue\n }\n\n // If the current character is an end-of-line, we can process the\n // line\n if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {\n // If the current character is a carriage return, we need to\n // set the crlfCheck flag to true, as we need to check if the\n // next character is a line feed\n if (this.buffer[this.pos] === CR) {\n this.crlfCheck = true\n }\n\n // In any case, we can process the line as we reached an\n // end-of-line character\n this.parseLine(this.buffer.subarray(0, this.pos), this.event)\n\n // Remove the processed line from the buffer\n this.buffer = this.buffer.subarray(this.pos + 1)\n // Reset the position as we removed the processed line from the buffer\n this.pos = 0\n // A line was processed and this could be the end of the event. We need\n // to check if the next line is empty to determine if the event is\n // finished.\n this.eventEndCheck = true\n continue\n }\n\n this.pos++\n }\n\n callback()\n }\n\n /**\n * @param {Buffer} line\n * @param {EventStreamEvent} event\n */\n parseLine (line, event) {\n // If the line is empty (a blank line)\n // Dispatch the event, as defined below.\n // This will be handled in the _transform method\n if (line.length === 0) {\n return\n }\n\n // If the line starts with a U+003A COLON character (:)\n // Ignore the line.\n const colonPosition = line.indexOf(COLON)\n if (colonPosition === 0) {\n return\n }\n\n let field = ''\n let value = ''\n\n // If the line contains a U+003A COLON character (:)\n if (colonPosition !== -1) {\n // Collect the characters on the line before the first U+003A COLON\n // character (:), and let field be that string.\n // TODO: Investigate if there is a more performant way to extract the\n // field\n // see: https://github.com/nodejs/undici/issues/2630\n field = line.subarray(0, colonPosition).toString('utf8')\n\n // Collect the characters on the line after the first U+003A COLON\n // character (:), and let value be that string.\n // If value starts with a U+0020 SPACE character, remove it from value.\n let valueStart = colonPosition + 1\n if (line[valueStart] === SPACE) {\n ++valueStart\n }\n // TODO: Investigate if there is a more performant way to extract the\n // value\n // see: https://github.com/nodejs/undici/issues/2630\n value = line.subarray(valueStart).toString('utf8')\n\n // Otherwise, the string is not empty but does not contain a U+003A COLON\n // character (:)\n } else {\n // Process the field using the steps described below, using the whole\n // line as the field name, and the empty string as the field value.\n field = line.toString('utf8')\n value = ''\n }\n\n // Modify the event with the field name and value. The value is also\n // decoded as UTF-8\n switch (field) {\n case 'data':\n if (event[field] === undefined) {\n event[field] = value\n } else {\n event[field] += `\\n${value}`\n }\n break\n case 'retry':\n if (isASCIINumber(value)) {\n event[field] = value\n }\n break\n case 'id':\n if (isValidLastEventId(value)) {\n event[field] = value\n }\n break\n case 'event':\n if (value.length > 0) {\n event[field] = value\n }\n break\n }\n }\n\n /**\n * @param {EventSourceStreamEvent} event\n */\n processEvent (event) {\n if (event.retry && isASCIINumber(event.retry)) {\n this.state.reconnectionTime = parseInt(event.retry, 10)\n }\n\n if (event.id && isValidLastEventId(event.id)) {\n this.state.lastEventId = event.id\n }\n\n // only dispatch event, when data is provided\n if (event.data !== undefined) {\n this.push({\n type: event.event || 'message',\n options: {\n data: event.data,\n lastEventId: this.state.lastEventId,\n origin: this.state.origin\n }\n })\n }\n }\n\n clearEvent () {\n this.event = {\n data: undefined,\n event: undefined,\n id: undefined,\n retry: undefined\n }\n }\n}\n\nmodule.exports = {\n EventSourceStream\n}\n","'use strict'\n\nconst { pipeline } = require('node:stream')\nconst { fetching } = require('../fetch')\nconst { makeRequest } = require('../fetch/request')\nconst { webidl } = require('../fetch/webidl')\nconst { EventSourceStream } = require('./eventsource-stream')\nconst { parseMIMEType } = require('../fetch/data-url')\nconst { createFastMessageEvent } = require('../websocket/events')\nconst { isNetworkError } = require('../fetch/response')\nconst { delay } = require('./util')\nconst { kEnumerableProperty } = require('../../core/util')\nconst { environmentSettingsObject } = require('../fetch/util')\n\nlet experimentalWarned = false\n\n/**\n * A reconnection time, in milliseconds. This must initially be an implementation-defined value,\n * probably in the region of a few seconds.\n *\n * In Comparison:\n * - Chrome uses 3000ms.\n * - Deno uses 5000ms.\n *\n * @type {3000}\n */\nconst defaultReconnectionTime = 3000\n\n/**\n * The readyState attribute represents the state of the connection.\n * @enum\n * @readonly\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#dom-eventsource-readystate-dev\n */\n\n/**\n * The connection has not yet been established, or it was closed and the user\n * agent is reconnecting.\n * @type {0}\n */\nconst CONNECTING = 0\n\n/**\n * The user agent has an open connection and is dispatching events as it\n * receives them.\n * @type {1}\n */\nconst OPEN = 1\n\n/**\n * The connection is not open, and the user agent is not trying to reconnect.\n * @type {2}\n */\nconst CLOSED = 2\n\n/**\n * Requests for the element will have their mode set to \"cors\" and their credentials mode set to \"same-origin\".\n * @type {'anonymous'}\n */\nconst ANONYMOUS = 'anonymous'\n\n/**\n * Requests for the element will have their mode set to \"cors\" and their credentials mode set to \"include\".\n * @type {'use-credentials'}\n */\nconst USE_CREDENTIALS = 'use-credentials'\n\n/**\n * The EventSource interface is used to receive server-sent events. It\n * connects to a server over HTTP and receives events in text/event-stream\n * format without closing the connection.\n * @extends {EventTarget}\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events\n * @api public\n */\nclass EventSource extends EventTarget {\n #events = {\n open: null,\n error: null,\n message: null\n }\n\n #url = null\n #withCredentials = false\n\n #readyState = CONNECTING\n\n #request = null\n #controller = null\n\n #dispatcher\n\n /**\n * @type {import('./eventsource-stream').eventSourceSettings}\n */\n #state\n\n /**\n * Creates a new EventSource object.\n * @param {string} url\n * @param {EventSourceInit} [eventSourceInitDict]\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface\n */\n constructor (url, eventSourceInitDict = {}) {\n // 1. Let ev be a new EventSource object.\n super()\n\n webidl.util.markAsUncloneable(this)\n\n const prefix = 'EventSource constructor'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('EventSource is experimental, expect them to change at any time.', {\n code: 'UNDICI-ES'\n })\n }\n\n url = webidl.converters.USVString(url, prefix, 'url')\n eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, 'eventSourceInitDict')\n\n this.#dispatcher = eventSourceInitDict.dispatcher\n this.#state = {\n lastEventId: '',\n reconnectionTime: defaultReconnectionTime\n }\n\n // 2. Let settings be ev's relevant settings object.\n // https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object\n const settings = environmentSettingsObject\n\n let urlRecord\n\n try {\n // 3. Let urlRecord be the result of encoding-parsing a URL given url, relative to settings.\n urlRecord = new URL(url, settings.settingsObject.baseUrl)\n this.#state.origin = urlRecord.origin\n } catch (e) {\n // 4. If urlRecord is failure, then throw a \"SyntaxError\" DOMException.\n throw new DOMException(e, 'SyntaxError')\n }\n\n // 5. Set ev's url to urlRecord.\n this.#url = urlRecord.href\n\n // 6. Let corsAttributeState be Anonymous.\n let corsAttributeState = ANONYMOUS\n\n // 7. If the value of eventSourceInitDict's withCredentials member is true,\n // then set corsAttributeState to Use Credentials and set ev's\n // withCredentials attribute to true.\n if (eventSourceInitDict.withCredentials) {\n corsAttributeState = USE_CREDENTIALS\n this.#withCredentials = true\n }\n\n // 8. Let request be the result of creating a potential-CORS request given\n // urlRecord, the empty string, and corsAttributeState.\n const initRequest = {\n redirect: 'follow',\n keepalive: true,\n // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes\n mode: 'cors',\n credentials: corsAttributeState === 'anonymous'\n ? 'same-origin'\n : 'omit',\n referrer: 'no-referrer'\n }\n\n // 9. Set request's client to settings.\n initRequest.client = environmentSettingsObject.settingsObject\n\n // 10. User agents may set (`Accept`, `text/event-stream`) in request's header list.\n initRequest.headersList = [['accept', { name: 'accept', value: 'text/event-stream' }]]\n\n // 11. Set request's cache mode to \"no-store\".\n initRequest.cache = 'no-store'\n\n // 12. Set request's initiator type to \"other\".\n initRequest.initiator = 'other'\n\n initRequest.urlList = [new URL(this.#url)]\n\n // 13. Set ev's request to request.\n this.#request = makeRequest(initRequest)\n\n this.#connect()\n }\n\n /**\n * Returns the state of this EventSource object's connection. It can have the\n * values described below.\n * @returns {0|1|2}\n * @readonly\n */\n get readyState () {\n return this.#readyState\n }\n\n /**\n * Returns the URL providing the event stream.\n * @readonly\n * @returns {string}\n */\n get url () {\n return this.#url\n }\n\n /**\n * Returns a boolean indicating whether the EventSource object was\n * instantiated with CORS credentials set (true), or not (false, the default).\n */\n get withCredentials () {\n return this.#withCredentials\n }\n\n #connect () {\n if (this.#readyState === CLOSED) return\n\n this.#readyState = CONNECTING\n\n const fetchParams = {\n request: this.#request,\n dispatcher: this.#dispatcher\n }\n\n // 14. Let processEventSourceEndOfBody given response res be the following step: if res is not a network error, then reestablish the connection.\n const processEventSourceEndOfBody = (response) => {\n if (isNetworkError(response)) {\n this.dispatchEvent(new Event('error'))\n this.close()\n }\n\n this.#reconnect()\n }\n\n // 15. Fetch request, with processResponseEndOfBody set to processEventSourceEndOfBody...\n fetchParams.processResponseEndOfBody = processEventSourceEndOfBody\n\n // and processResponse set to the following steps given response res:\n fetchParams.processResponse = (response) => {\n // 1. If res is an aborted network error, then fail the connection.\n\n if (isNetworkError(response)) {\n // 1. When a user agent is to fail the connection, the user agent\n // must queue a task which, if the readyState attribute is set to a\n // value other than CLOSED, sets the readyState attribute to CLOSED\n // and fires an event named error at the EventSource object. Once the\n // user agent has failed the connection, it does not attempt to\n // reconnect.\n if (response.aborted) {\n this.close()\n this.dispatchEvent(new Event('error'))\n return\n // 2. Otherwise, if res is a network error, then reestablish the\n // connection, unless the user agent knows that to be futile, in\n // which case the user agent may fail the connection.\n } else {\n this.#reconnect()\n return\n }\n }\n\n // 3. Otherwise, if res's status is not 200, or if res's `Content-Type`\n // is not `text/event-stream`, then fail the connection.\n const contentType = response.headersList.get('content-type', true)\n const mimeType = contentType !== null ? parseMIMEType(contentType) : 'failure'\n const contentTypeValid = mimeType !== 'failure' && mimeType.essence === 'text/event-stream'\n if (\n response.status !== 200 ||\n contentTypeValid === false\n ) {\n this.close()\n this.dispatchEvent(new Event('error'))\n return\n }\n\n // 4. Otherwise, announce the connection and interpret res's body\n // line by line.\n\n // When a user agent is to announce the connection, the user agent\n // must queue a task which, if the readyState attribute is set to a\n // value other than CLOSED, sets the readyState attribute to OPEN\n // and fires an event named open at the EventSource object.\n // @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model\n this.#readyState = OPEN\n this.dispatchEvent(new Event('open'))\n\n // If redirected to a different origin, set the origin to the new origin.\n this.#state.origin = response.urlList[response.urlList.length - 1].origin\n\n const eventSourceStream = new EventSourceStream({\n eventSourceSettings: this.#state,\n push: (event) => {\n this.dispatchEvent(createFastMessageEvent(\n event.type,\n event.options\n ))\n }\n })\n\n pipeline(response.body.stream,\n eventSourceStream,\n (error) => {\n if (\n error?.aborted === false\n ) {\n this.close()\n this.dispatchEvent(new Event('error'))\n }\n })\n }\n\n this.#controller = fetching(fetchParams)\n }\n\n /**\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model\n * @returns {Promise}\n */\n async #reconnect () {\n // When a user agent is to reestablish the connection, the user agent must\n // run the following steps. These steps are run in parallel, not as part of\n // a task. (The tasks that it queues, of course, are run like normal tasks\n // and not themselves in parallel.)\n\n // 1. Queue a task to run the following steps:\n\n // 1. If the readyState attribute is set to CLOSED, abort the task.\n if (this.#readyState === CLOSED) return\n\n // 2. Set the readyState attribute to CONNECTING.\n this.#readyState = CONNECTING\n\n // 3. Fire an event named error at the EventSource object.\n this.dispatchEvent(new Event('error'))\n\n // 2. Wait a delay equal to the reconnection time of the event source.\n await delay(this.#state.reconnectionTime)\n\n // 5. Queue a task to run the following steps:\n\n // 1. If the EventSource object's readyState attribute is not set to\n // CONNECTING, then return.\n if (this.#readyState !== CONNECTING) return\n\n // 2. Let request be the EventSource object's request.\n // 3. If the EventSource object's last event ID string is not the empty\n // string, then:\n // 1. Let lastEventIDValue be the EventSource object's last event ID\n // string, encoded as UTF-8.\n // 2. Set (`Last-Event-ID`, lastEventIDValue) in request's header\n // list.\n if (this.#state.lastEventId.length) {\n this.#request.headersList.set('last-event-id', this.#state.lastEventId, true)\n }\n\n // 4. Fetch request and process the response obtained in this fashion, if any, as described earlier in this section.\n this.#connect()\n }\n\n /**\n * Closes the connection, if any, and sets the readyState attribute to\n * CLOSED.\n */\n close () {\n webidl.brandCheck(this, EventSource)\n\n if (this.#readyState === CLOSED) return\n this.#readyState = CLOSED\n this.#controller.abort()\n this.#request = null\n }\n\n get onopen () {\n return this.#events.open\n }\n\n set onopen (fn) {\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 onmessage () {\n return this.#events.message\n }\n\n set onmessage (fn) {\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 onerror () {\n return this.#events.error\n }\n\n set onerror (fn) {\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\nconst constantsPropertyDescriptors = {\n CONNECTING: {\n __proto__: null,\n configurable: false,\n enumerable: true,\n value: CONNECTING,\n writable: false\n },\n OPEN: {\n __proto__: null,\n configurable: false,\n enumerable: true,\n value: OPEN,\n writable: false\n },\n CLOSED: {\n __proto__: null,\n configurable: false,\n enumerable: true,\n value: CLOSED,\n writable: false\n }\n}\n\nObject.defineProperties(EventSource, constantsPropertyDescriptors)\nObject.defineProperties(EventSource.prototype, constantsPropertyDescriptors)\n\nObject.defineProperties(EventSource.prototype, {\n close: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onmessage: kEnumerableProperty,\n onopen: kEnumerableProperty,\n readyState: kEnumerableProperty,\n url: kEnumerableProperty,\n withCredentials: kEnumerableProperty\n})\n\nwebidl.converters.EventSourceInitDict = webidl.dictionaryConverter([\n {\n key: 'withCredentials',\n converter: webidl.converters.boolean,\n defaultValue: () => false\n },\n {\n key: 'dispatcher', // undici only\n converter: webidl.converters.any\n }\n])\n\nmodule.exports = {\n EventSource,\n defaultReconnectionTime\n}\n","'use strict'\n\nconst Client = require('./lib/dispatcher/client')\nconst Dispatcher = require('./lib/dispatcher/dispatcher')\nconst Pool = require('./lib/dispatcher/pool')\nconst BalancedPool = require('./lib/dispatcher/balanced-pool')\nconst Agent = require('./lib/dispatcher/agent')\nconst ProxyAgent = require('./lib/dispatcher/proxy-agent')\nconst EnvHttpProxyAgent = require('./lib/dispatcher/env-http-proxy-agent')\nconst RetryAgent = require('./lib/dispatcher/retry-agent')\nconst errors = require('./lib/core/errors')\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 RetryHandler = require('./lib/handler/retry-handler')\nconst { getGlobalDispatcher, setGlobalDispatcher } = require('./lib/global')\nconst DecoratorHandler = require('./lib/handler/decorator-handler')\nconst RedirectHandler = require('./lib/handler/redirect-handler')\nconst createRedirectInterceptor = require('./lib/interceptor/redirect-interceptor')\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\nmodule.exports.EnvHttpProxyAgent = EnvHttpProxyAgent\nmodule.exports.RetryAgent = RetryAgent\nmodule.exports.RetryHandler = RetryHandler\n\nmodule.exports.DecoratorHandler = DecoratorHandler\nmodule.exports.RedirectHandler = RedirectHandler\nmodule.exports.createRedirectInterceptor = createRedirectInterceptor\nmodule.exports.interceptors = {\n redirect: require('./lib/interceptor/redirect'),\n retry: require('./lib/interceptor/retry'),\n dump: require('./lib/interceptor/dump'),\n dns: require('./lib/interceptor/dns')\n}\n\nmodule.exports.buildConnector = buildConnector\nmodule.exports.errors = errors\nmodule.exports.util = {\n parseHeaders: util.parseHeaders,\n headerNameToString: util.headerNameToString\n}\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\nconst fetchImpl = require('./lib/web/fetch').fetch\nmodule.exports.fetch = async function fetch (init, options = undefined) {\n try {\n return await fetchImpl(init, options)\n } catch (err) {\n if (err && typeof err === 'object') {\n Error.captureStackTrace(err)\n }\n\n throw err\n }\n}\nmodule.exports.Headers = require('./lib/web/fetch/headers').Headers\nmodule.exports.Response = require('./lib/web/fetch/response').Response\nmodule.exports.Request = require('./lib/web/fetch/request').Request\nmodule.exports.FormData = require('./lib/web/fetch/formdata').FormData\nmodule.exports.File = globalThis.File ?? require('node:buffer').File\nmodule.exports.FileReader = require('./lib/web/fileapi/filereader').FileReader\n\nconst { setGlobalOrigin, getGlobalOrigin } = require('./lib/web/fetch/global')\n\nmodule.exports.setGlobalOrigin = setGlobalOrigin\nmodule.exports.getGlobalOrigin = getGlobalOrigin\n\nconst { CacheStorage } = require('./lib/web/cache/cachestorage')\nconst { kConstruct } = require('./lib/web/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.\nmodule.exports.caches = new CacheStorage(kConstruct)\n\nconst { deleteCookie, getCookies, getSetCookies, setCookie } = require('./lib/web/cookies')\n\nmodule.exports.deleteCookie = deleteCookie\nmodule.exports.getCookies = getCookies\nmodule.exports.getSetCookies = getSetCookies\nmodule.exports.setCookie = setCookie\n\nconst { parseMIMEType, serializeAMimeType } = require('./lib/web/fetch/data-url')\n\nmodule.exports.parseMIMEType = parseMIMEType\nmodule.exports.serializeAMimeType = serializeAMimeType\n\nconst { CloseEvent, ErrorEvent, MessageEvent } = require('./lib/web/websocket/events')\nmodule.exports.WebSocket = require('./lib/web/websocket/websocket').WebSocket\nmodule.exports.CloseEvent = CloseEvent\nmodule.exports.ErrorEvent = ErrorEvent\nmodule.exports.MessageEvent = MessageEvent\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\nconst { EventSource } = require('./lib/web/eventsource/eventsource')\n\nmodule.exports.EventSource = EventSource\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as http from 'http';\nimport * as https from 'https';\nimport * as pm from './proxy.js';\nimport * as tunnel from 'tunnel';\nimport { ProxyAgent } from 'undici';\nexport var HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes || (HttpCodes = {}));\nexport var Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers || (Headers = {}));\nexport var MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes || (MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nexport function getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nexport class HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexport class HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n readBodyBuffer() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n const chunks = [];\n this.message.on('data', (chunk) => {\n chunks.push(chunk);\n });\n this.message.on('end', () => {\n resolve(Buffer.concat(chunks));\n });\n }));\n });\n }\n}\nexport function isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexport class HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = this._getUserAgentWithOrchestrationId(userAgent);\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, additionalHeaders = {}) {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n getAgentDispatcher(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (!useProxy) {\n return;\n }\n return this._getProxyAgentDispatcher(parsedUrl, proxyUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n /**\n * Gets an existing header value or returns a default.\n * Handles converting number header values to strings since HTTP headers must be strings.\n * Note: This returns string | string[] since some headers can have multiple values.\n * For headers that must always be a single string (like Content-Type), use the\n * specialized _getExistingOrDefaultContentTypeHeader method instead.\n */\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n const headerValue = lowercaseKeys(this.requestOptions.headers)[header];\n if (headerValue) {\n clientHeader =\n typeof headerValue === 'number' ? headerValue.toString() : headerValue;\n }\n }\n const additionalValue = additionalHeaders[header];\n if (additionalValue !== undefined) {\n return typeof additionalValue === 'number'\n ? additionalValue.toString()\n : additionalValue;\n }\n if (clientHeader !== undefined) {\n return clientHeader;\n }\n return _default;\n }\n /**\n * Specialized version of _getExistingOrDefaultHeader for Content-Type header.\n * Always returns a single string (not an array) since Content-Type should be a single value.\n * Converts arrays to comma-separated strings and numbers to strings to ensure type safety.\n * This was split from _getExistingOrDefaultHeader to provide stricter typing for callers\n * that assign the result to places expecting a string (e.g., additionalHeaders[Headers.ContentType]).\n */\n _getExistingOrDefaultContentTypeHeader(additionalHeaders, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n const headerValue = lowercaseKeys(this.requestOptions.headers)[Headers.ContentType];\n if (headerValue) {\n if (typeof headerValue === 'number') {\n clientHeader = String(headerValue);\n }\n else if (Array.isArray(headerValue)) {\n clientHeader = headerValue.join(', ');\n }\n else {\n clientHeader = headerValue;\n }\n }\n }\n const additionalValue = additionalHeaders[Headers.ContentType];\n // Return the first non-undefined value, converting numbers or arrays to strings if necessary\n if (additionalValue !== undefined) {\n if (typeof additionalValue === 'number') {\n return String(additionalValue);\n }\n else if (Array.isArray(additionalValue)) {\n return additionalValue.join(', ');\n }\n else {\n return additionalValue;\n }\n }\n if (clientHeader !== undefined) {\n return clientHeader;\n }\n return _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (!useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if tunneling agent isn't assigned create a new agent\n if (!agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _getProxyAgentDispatcher(parsedUrl, proxyUrl) {\n let proxyAgent;\n if (this._keepAlive) {\n proxyAgent = this._proxyAgentDispatcher;\n }\n // if agent is already assigned use that agent.\n if (proxyAgent) {\n return proxyAgent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n proxyAgent = new ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && {\n token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString('base64')}`\n })));\n this._proxyAgentDispatcher = proxyAgent;\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, {\n rejectUnauthorized: false\n });\n }\n return proxyAgent;\n }\n _getUserAgentWithOrchestrationId(userAgent) {\n const baseUserAgent = userAgent || 'actions/http-client';\n const orchId = process.env['ACTIONS_ORCHESTRATION_ID'];\n if (orchId) {\n // Sanitize the orchestration ID to ensure it contains only valid characters\n // Valid characters: 0-9, a-z, _, -, .\n const sanitizedId = orchId.replace(/[^a-z0-9_.-]/gi, '_');\n return `${baseUserAgent} actions_orchestration_id/${sanitizedId}`;\n }\n return baseUserAgent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport class BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexport class BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexport class PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\n//# sourceMappingURL=auth.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { HttpClient } from '@actions/http-client';\nimport { BearerCredentialHandler } from '@actions/http-client/lib/auth';\nimport { debug, setSecret } from './core.js';\nexport class OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new HttpClient('actions/oidc-client', [new BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\n//# sourceMappingURL=oidc-utils.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { EOL } from 'os';\nimport { constants, promises } from 'fs';\nconst { access, appendFile, writeFile } = promises;\nexport const SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexport const SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, constants.R_OK | constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexport const markdownSummary = _summary;\nexport const summary = _summary;\n//# sourceMappingURL=summary.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as fs from 'fs';\nimport * as path from 'path';\nexport const { chmod, copyFile, lstat, mkdir, open, readdir, rename, rm, rmdir, stat, symlink, unlink } = fs.promises;\n// export const {open} = 'fs'\nexport const IS_WINDOWS = process.platform === 'win32';\n/**\n * Custom implementation of readlink to ensure Windows junctions\n * maintain trailing backslash for backward compatibility with Node.js < 24\n *\n * In Node.js 20, Windows junctions (directory symlinks) always returned paths\n * with trailing backslashes. Node.js 24 removed this behavior, which breaks\n * code that relied on this format for path operations.\n *\n * This implementation restores the Node 20 behavior by adding a trailing\n * backslash to all junction results on Windows.\n */\nexport function readlink(fsPath) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield fs.promises.readlink(fsPath);\n // On Windows, restore Node 20 behavior: add trailing backslash to all results\n // since junctions on Windows are always directory links\n if (IS_WINDOWS && !result.endsWith('\\\\')) {\n return `${result}\\\\`;\n }\n return result;\n });\n}\n// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691\nexport const UV_FS_O_EXLOCK = 0x10000000;\nexport const READONLY = fs.constants.O_RDONLY;\nexport function exists(fsPath) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n yield stat(fsPath);\n }\n catch (err) {\n if (err.code === 'ENOENT') {\n return false;\n }\n throw err;\n }\n return true;\n });\n}\nexport function isDirectory(fsPath_1) {\n return __awaiter(this, arguments, void 0, function* (fsPath, useStat = false) {\n const stats = useStat ? yield stat(fsPath) : yield lstat(fsPath);\n return stats.isDirectory();\n });\n}\n/**\n * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:\n * \\, \\hello, \\\\hello\\share, C:, and C:\\hello (and corresponding alternate separator cases).\n */\nexport function isRooted(p) {\n p = normalizeSeparators(p);\n if (!p) {\n throw new Error('isRooted() parameter \"p\" cannot be empty');\n }\n if (IS_WINDOWS) {\n return (p.startsWith('\\\\') || /^[A-Z]:/i.test(p) // e.g. \\ or \\hello or \\\\hello\n ); // e.g. C: or C:\\hello\n }\n return p.startsWith('/');\n}\n/**\n * Best effort attempt to determine whether a file exists and is executable.\n * @param filePath file path to check\n * @param extensions additional file extensions to try\n * @return if file exists and is executable, returns the file path. otherwise empty string.\n */\nexport function tryGetExecutablePath(filePath, extensions) {\n return __awaiter(this, void 0, void 0, function* () {\n let stats = undefined;\n try {\n // test file exists\n stats = yield stat(filePath);\n }\n catch (err) {\n if (err.code !== 'ENOENT') {\n // eslint-disable-next-line no-console\n console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);\n }\n }\n if (stats && stats.isFile()) {\n if (IS_WINDOWS) {\n // on Windows, test for valid extension\n const upperExt = path.extname(filePath).toUpperCase();\n if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) {\n return filePath;\n }\n }\n else {\n if (isUnixExecutable(stats)) {\n return filePath;\n }\n }\n }\n // try each extension\n const originalFilePath = filePath;\n for (const extension of extensions) {\n filePath = originalFilePath + extension;\n stats = undefined;\n try {\n stats = yield stat(filePath);\n }\n catch (err) {\n if (err.code !== 'ENOENT') {\n // eslint-disable-next-line no-console\n console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);\n }\n }\n if (stats && stats.isFile()) {\n if (IS_WINDOWS) {\n // preserve the case of the actual file (since an extension was appended)\n try {\n const directory = path.dirname(filePath);\n const upperName = path.basename(filePath).toUpperCase();\n for (const actualName of yield readdir(directory)) {\n if (upperName === actualName.toUpperCase()) {\n filePath = path.join(directory, actualName);\n break;\n }\n }\n }\n catch (err) {\n // eslint-disable-next-line no-console\n console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`);\n }\n return filePath;\n }\n else {\n if (isUnixExecutable(stats)) {\n return filePath;\n }\n }\n }\n }\n return '';\n });\n}\nfunction normalizeSeparators(p) {\n p = p || '';\n if (IS_WINDOWS) {\n // convert slashes on Windows\n p = p.replace(/\\//g, '\\\\');\n // remove redundant slashes\n return p.replace(/\\\\\\\\+/g, '\\\\');\n }\n // remove redundant slashes\n return p.replace(/\\/\\/+/g, '/');\n}\n// on Mac/Linux, test the execute bit\n// R W X R W X R W X\n// 256 128 64 32 16 8 4 2 1\nfunction isUnixExecutable(stats) {\n return ((stats.mode & 1) > 0 ||\n ((stats.mode & 8) > 0 &&\n process.getgid !== undefined &&\n stats.gid === process.getgid()) ||\n ((stats.mode & 64) > 0 &&\n process.getuid !== undefined &&\n stats.uid === process.getuid()));\n}\n// Get the path of cmd.exe in windows\nexport function getCmdPath() {\n var _a;\n return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`;\n}\n//# sourceMappingURL=io-util.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { ok } from 'assert';\nimport * as path from 'path';\nimport * as ioUtil from './io-util.js';\n/**\n * Copies a file or folder.\n * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js\n *\n * @param source source path\n * @param dest destination path\n * @param options optional. See CopyOptions.\n */\nexport function cp(source_1, dest_1) {\n return __awaiter(this, arguments, void 0, function* (source, dest, options = {}) {\n const { force, recursive, copySourceDirectory } = readCopyOptions(options);\n const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null;\n // Dest is an existing file, but not forcing\n if (destStat && destStat.isFile() && !force) {\n return;\n }\n // If dest is an existing directory, should copy inside.\n const newDest = destStat && destStat.isDirectory() && copySourceDirectory\n ? path.join(dest, path.basename(source))\n : dest;\n if (!(yield ioUtil.exists(source))) {\n throw new Error(`no such file or directory: ${source}`);\n }\n const sourceStat = yield ioUtil.stat(source);\n if (sourceStat.isDirectory()) {\n if (!recursive) {\n throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`);\n }\n else {\n yield cpDirRecursive(source, newDest, 0, force);\n }\n }\n else {\n if (path.relative(source, newDest) === '') {\n // a file cannot be copied to itself\n throw new Error(`'${newDest}' and '${source}' are the same file`);\n }\n yield copyFile(source, newDest, force);\n }\n });\n}\n/**\n * Moves a path.\n *\n * @param source source path\n * @param dest destination path\n * @param options optional. See MoveOptions.\n */\nexport function mv(source_1, dest_1) {\n return __awaiter(this, arguments, void 0, function* (source, dest, options = {}) {\n if (yield ioUtil.exists(dest)) {\n let destExists = true;\n if (yield ioUtil.isDirectory(dest)) {\n // If dest is directory copy src into dest\n dest = path.join(dest, path.basename(source));\n destExists = yield ioUtil.exists(dest);\n }\n if (destExists) {\n if (options.force == null || options.force) {\n yield rmRF(dest);\n }\n else {\n throw new Error('Destination already exists');\n }\n }\n }\n yield mkdirP(path.dirname(dest));\n yield ioUtil.rename(source, dest);\n });\n}\n/**\n * Remove a path recursively with force\n *\n * @param inputPath path to remove\n */\nexport function rmRF(inputPath) {\n return __awaiter(this, void 0, void 0, function* () {\n if (ioUtil.IS_WINDOWS) {\n // Check for invalid characters\n // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file\n if (/[*\"<>|]/.test(inputPath)) {\n throw new Error('File path must not contain `*`, `\"`, `<`, `>` or `|` on Windows');\n }\n }\n try {\n // note if path does not exist, error is silent\n yield ioUtil.rm(inputPath, {\n force: true,\n maxRetries: 3,\n recursive: true,\n retryDelay: 300\n });\n }\n catch (err) {\n throw new Error(`File was unable to be removed ${err}`);\n }\n });\n}\n/**\n * Make a directory. Creates the full path with folders in between\n * Will throw if it fails\n *\n * @param fsPath path to create\n * @returns Promise\n */\nexport function mkdirP(fsPath) {\n return __awaiter(this, void 0, void 0, function* () {\n ok(fsPath, 'a path argument must be provided');\n yield ioUtil.mkdir(fsPath, { recursive: true });\n });\n}\n/**\n * Returns path of a tool had the tool actually been invoked. Resolves via paths.\n * If you check and the tool does not exist, it will throw.\n *\n * @param tool name of the tool\n * @param check whether to check if tool exists\n * @returns Promise path to tool\n */\nexport function which(tool, check) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!tool) {\n throw new Error(\"parameter 'tool' is required\");\n }\n // recursive when check=true\n if (check) {\n const result = yield which(tool, false);\n if (!result) {\n if (ioUtil.IS_WINDOWS) {\n throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`);\n }\n else {\n throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);\n }\n }\n return result;\n }\n const matches = yield findInPath(tool);\n if (matches && matches.length > 0) {\n return matches[0];\n }\n return '';\n });\n}\n/**\n * Returns a list of all occurrences of the given tool on the system path.\n *\n * @returns Promise the paths of the tool\n */\nexport function findInPath(tool) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!tool) {\n throw new Error(\"parameter 'tool' is required\");\n }\n // build the list of extensions to try\n const extensions = [];\n if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) {\n for (const extension of process.env['PATHEXT'].split(path.delimiter)) {\n if (extension) {\n extensions.push(extension);\n }\n }\n }\n // if it's rooted, return it if exists. otherwise return empty.\n if (ioUtil.isRooted(tool)) {\n const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);\n if (filePath) {\n return [filePath];\n }\n return [];\n }\n // if any path separators, return empty\n if (tool.includes(path.sep)) {\n return [];\n }\n // build the list of directories\n //\n // Note, technically \"where\" checks the current directory on Windows. From a toolkit perspective,\n // it feels like we should not do this. Checking the current directory seems like more of a use\n // case of a shell, and the which() function exposed by the toolkit should strive for consistency\n // across platforms.\n const directories = [];\n if (process.env.PATH) {\n for (const p of process.env.PATH.split(path.delimiter)) {\n if (p) {\n directories.push(p);\n }\n }\n }\n // find all matches\n const matches = [];\n for (const directory of directories) {\n const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions);\n if (filePath) {\n matches.push(filePath);\n }\n }\n return matches;\n });\n}\nfunction readCopyOptions(options) {\n const force = options.force == null ? true : options.force;\n const recursive = Boolean(options.recursive);\n const copySourceDirectory = options.copySourceDirectory == null\n ? true\n : Boolean(options.copySourceDirectory);\n return { force, recursive, copySourceDirectory };\n}\nfunction cpDirRecursive(sourceDir, destDir, currentDepth, force) {\n return __awaiter(this, void 0, void 0, function* () {\n // Ensure there is not a run away recursive copy\n if (currentDepth >= 255)\n return;\n currentDepth++;\n yield mkdirP(destDir);\n const files = yield ioUtil.readdir(sourceDir);\n for (const fileName of files) {\n const srcFile = `${sourceDir}/${fileName}`;\n const destFile = `${destDir}/${fileName}`;\n const srcFileStat = yield ioUtil.lstat(srcFile);\n if (srcFileStat.isDirectory()) {\n // Recurse\n yield cpDirRecursive(srcFile, destFile, currentDepth, force);\n }\n else {\n yield copyFile(srcFile, destFile, force);\n }\n }\n // Change the mode for the newly created directory\n yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode);\n });\n}\n// Buffered file copy\nfunction copyFile(srcFile, destFile, force) {\n return __awaiter(this, void 0, void 0, function* () {\n if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) {\n // unlink/re-link it\n try {\n yield ioUtil.lstat(destFile);\n yield ioUtil.unlink(destFile);\n }\n catch (e) {\n // Try to override file permission\n if (e.code === 'EPERM') {\n yield ioUtil.chmod(destFile, '0666');\n yield ioUtil.unlink(destFile);\n }\n // other errors = it doesn't exist, no work to do\n }\n // Copy over symlink\n const symlinkFull = yield ioUtil.readlink(srcFile);\n yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null);\n }\n else if (!(yield ioUtil.exists(destFile)) || force) {\n yield ioUtil.copyFile(srcFile, destFile);\n }\n });\n}\n//# sourceMappingURL=io.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as os from 'os';\nimport * as events from 'events';\nimport * as child from 'child_process';\nimport * as path from 'path';\nimport * as io from '@actions/io';\nimport * as ioUtil from '@actions/io/lib/io-util';\nimport { setTimeout } from 'timers';\n/* eslint-disable @typescript-eslint/unbound-method */\nconst IS_WINDOWS = process.platform === 'win32';\n/*\n * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way.\n */\nexport class ToolRunner extends events.EventEmitter {\n constructor(toolPath, args, options) {\n super();\n if (!toolPath) {\n throw new Error(\"Parameter 'toolPath' cannot be null or empty.\");\n }\n this.toolPath = toolPath;\n this.args = args || [];\n this.options = options || {};\n }\n _debug(message) {\n if (this.options.listeners && this.options.listeners.debug) {\n this.options.listeners.debug(message);\n }\n }\n _getCommandString(options, noPrefix) {\n const toolPath = this._getSpawnFileName();\n const args = this._getSpawnArgs(options);\n let cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool\n if (IS_WINDOWS) {\n // Windows + cmd file\n if (this._isCmdFile()) {\n cmd += toolPath;\n for (const a of args) {\n cmd += ` ${a}`;\n }\n }\n // Windows + verbatim\n else if (options.windowsVerbatimArguments) {\n cmd += `\"${toolPath}\"`;\n for (const a of args) {\n cmd += ` ${a}`;\n }\n }\n // Windows (regular)\n else {\n cmd += this._windowsQuoteCmdArg(toolPath);\n for (const a of args) {\n cmd += ` ${this._windowsQuoteCmdArg(a)}`;\n }\n }\n }\n else {\n // OSX/Linux - this can likely be improved with some form of quoting.\n // creating processes on Unix is fundamentally different than Windows.\n // on Unix, execvp() takes an arg array.\n cmd += toolPath;\n for (const a of args) {\n cmd += ` ${a}`;\n }\n }\n return cmd;\n }\n _processLineBuffer(data, strBuffer, onLine) {\n try {\n let s = strBuffer + data.toString();\n let n = s.indexOf(os.EOL);\n while (n > -1) {\n const line = s.substring(0, n);\n onLine(line);\n // the rest of the string ...\n s = s.substring(n + os.EOL.length);\n n = s.indexOf(os.EOL);\n }\n return s;\n }\n catch (err) {\n // streaming lines to console is best effort. Don't fail a build.\n this._debug(`error processing line. Failed with error ${err}`);\n return '';\n }\n }\n _getSpawnFileName() {\n if (IS_WINDOWS) {\n if (this._isCmdFile()) {\n return process.env['COMSPEC'] || 'cmd.exe';\n }\n }\n return this.toolPath;\n }\n _getSpawnArgs(options) {\n if (IS_WINDOWS) {\n if (this._isCmdFile()) {\n let argline = `/D /S /C \"${this._windowsQuoteCmdArg(this.toolPath)}`;\n for (const a of this.args) {\n argline += ' ';\n argline += options.windowsVerbatimArguments\n ? a\n : this._windowsQuoteCmdArg(a);\n }\n argline += '\"';\n return [argline];\n }\n }\n return this.args;\n }\n _endsWith(str, end) {\n return str.endsWith(end);\n }\n _isCmdFile() {\n const upperToolPath = this.toolPath.toUpperCase();\n return (this._endsWith(upperToolPath, '.CMD') ||\n this._endsWith(upperToolPath, '.BAT'));\n }\n _windowsQuoteCmdArg(arg) {\n // for .exe, apply the normal quoting rules that libuv applies\n if (!this._isCmdFile()) {\n return this._uvQuoteCmdArg(arg);\n }\n // otherwise apply quoting rules specific to the cmd.exe command line parser.\n // the libuv rules are generic and are not designed specifically for cmd.exe\n // command line parser.\n //\n // for a detailed description of the cmd.exe command line parser, refer to\n // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912\n // need quotes for empty arg\n if (!arg) {\n return '\"\"';\n }\n // determine whether the arg needs to be quoted\n const cmdSpecialChars = [\n ' ',\n '\\t',\n '&',\n '(',\n ')',\n '[',\n ']',\n '{',\n '}',\n '^',\n '=',\n ';',\n '!',\n \"'\",\n '+',\n ',',\n '`',\n '~',\n '|',\n '<',\n '>',\n '\"'\n ];\n let needsQuotes = false;\n for (const char of arg) {\n if (cmdSpecialChars.some(x => x === char)) {\n needsQuotes = true;\n break;\n }\n }\n // short-circuit if quotes not needed\n if (!needsQuotes) {\n return arg;\n }\n // the following quoting rules are very similar to the rules that by libuv applies.\n //\n // 1) wrap the string in quotes\n //\n // 2) double-up quotes - i.e. \" => \"\"\n //\n // this is different from the libuv quoting rules. libuv replaces \" with \\\", which unfortunately\n // doesn't work well with a cmd.exe command line.\n //\n // note, replacing \" with \"\" also works well if the arg is passed to a downstream .NET console app.\n // for example, the command line:\n // foo.exe \"myarg:\"\"my val\"\"\"\n // is parsed by a .NET console app into an arg array:\n // [ \"myarg:\\\"my val\\\"\" ]\n // which is the same end result when applying libuv quoting rules. although the actual\n // command line from libuv quoting rules would look like:\n // foo.exe \"myarg:\\\"my val\\\"\"\n //\n // 3) double-up slashes that precede a quote,\n // e.g. hello \\world => \"hello \\world\"\n // hello\\\"world => \"hello\\\\\"\"world\"\n // hello\\\\\"world => \"hello\\\\\\\\\"\"world\"\n // hello world\\ => \"hello world\\\\\"\n //\n // technically this is not required for a cmd.exe command line, or the batch argument parser.\n // the reasons for including this as a .cmd quoting rule are:\n //\n // a) this is optimized for the scenario where the argument is passed from the .cmd file to an\n // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule.\n //\n // b) it's what we've been doing previously (by deferring to node default behavior) and we\n // haven't heard any complaints about that aspect.\n //\n // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be\n // escaped when used on the command line directly - even though within a .cmd file % can be escaped\n // by using %%.\n //\n // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts\n // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing.\n //\n // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would\n // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the\n // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args\n // to an external program.\n //\n // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file.\n // % can be escaped within a .cmd file.\n let reverse = '\"';\n let quoteHit = true;\n for (let i = arg.length; i > 0; i--) {\n // walk the string in reverse\n reverse += arg[i - 1];\n if (quoteHit && arg[i - 1] === '\\\\') {\n reverse += '\\\\'; // double the slash\n }\n else if (arg[i - 1] === '\"') {\n quoteHit = true;\n reverse += '\"'; // double the quote\n }\n else {\n quoteHit = false;\n }\n }\n reverse += '\"';\n return reverse.split('').reverse().join('');\n }\n _uvQuoteCmdArg(arg) {\n // Tool runner wraps child_process.spawn() and needs to apply the same quoting as\n // Node in certain cases where the undocumented spawn option windowsVerbatimArguments\n // is used.\n //\n // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV,\n // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details),\n // pasting copyright notice from Node within this function:\n //\n // Copyright Joyent, Inc. and other Node contributors. All rights reserved.\n //\n // Permission is hereby granted, free of charge, to any person obtaining a copy\n // of this software and associated documentation files (the \"Software\"), to\n // deal in the Software without restriction, including without limitation the\n // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n // sell copies of the Software, and to permit persons to whom the Software is\n // furnished to do so, subject to the following conditions:\n //\n // The above copyright notice and this permission notice shall be included in\n // all copies or substantial portions of the Software.\n //\n // THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n // IN THE SOFTWARE.\n if (!arg) {\n // Need double quotation for empty argument\n return '\"\"';\n }\n if (!arg.includes(' ') && !arg.includes('\\t') && !arg.includes('\"')) {\n // No quotation needed\n return arg;\n }\n if (!arg.includes('\"') && !arg.includes('\\\\')) {\n // No embedded double quotes or backslashes, so I can just wrap\n // quote marks around the whole thing.\n return `\"${arg}\"`;\n }\n // Expected input/output:\n // input : hello\"world\n // output: \"hello\\\"world\"\n // input : hello\"\"world\n // output: \"hello\\\"\\\"world\"\n // input : hello\\world\n // output: hello\\world\n // input : hello\\\\world\n // output: hello\\\\world\n // input : hello\\\"world\n // output: \"hello\\\\\\\"world\"\n // input : hello\\\\\"world\n // output: \"hello\\\\\\\\\\\"world\"\n // input : hello world\\\n // output: \"hello world\\\\\" - note the comment in libuv actually reads \"hello world\\\"\n // but it appears the comment is wrong, it should be \"hello world\\\\\"\n let reverse = '\"';\n let quoteHit = true;\n for (let i = arg.length; i > 0; i--) {\n // walk the string in reverse\n reverse += arg[i - 1];\n if (quoteHit && arg[i - 1] === '\\\\') {\n reverse += '\\\\';\n }\n else if (arg[i - 1] === '\"') {\n quoteHit = true;\n reverse += '\\\\';\n }\n else {\n quoteHit = false;\n }\n }\n reverse += '\"';\n return reverse.split('').reverse().join('');\n }\n _cloneExecOptions(options) {\n options = options || {};\n const result = {\n cwd: options.cwd || process.cwd(),\n env: options.env || process.env,\n silent: options.silent || false,\n windowsVerbatimArguments: options.windowsVerbatimArguments || false,\n failOnStdErr: options.failOnStdErr || false,\n ignoreReturnCode: options.ignoreReturnCode || false,\n delay: options.delay || 10000\n };\n result.outStream = options.outStream || process.stdout;\n result.errStream = options.errStream || process.stderr;\n return result;\n }\n _getSpawnOptions(options, toolPath) {\n options = options || {};\n const result = {};\n result.cwd = options.cwd;\n result.env = options.env;\n result['windowsVerbatimArguments'] =\n options.windowsVerbatimArguments || this._isCmdFile();\n if (options.windowsVerbatimArguments) {\n result.argv0 = `\"${toolPath}\"`;\n }\n return result;\n }\n /**\n * Exec a tool.\n * Output will be streamed to the live console.\n * Returns promise with return code\n *\n * @param tool path to tool to exec\n * @param options optional exec options. See ExecOptions\n * @returns number\n */\n exec() {\n return __awaiter(this, void 0, void 0, function* () {\n // root the tool path if it is unrooted and contains relative pathing\n if (!ioUtil.isRooted(this.toolPath) &&\n (this.toolPath.includes('/') ||\n (IS_WINDOWS && this.toolPath.includes('\\\\')))) {\n // prefer options.cwd if it is specified, however options.cwd may also need to be rooted\n this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);\n }\n // if the tool is only a file name, then resolve it from the PATH\n // otherwise verify it exists (add extension on Windows if necessary)\n this.toolPath = yield io.which(this.toolPath, true);\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n this._debug(`exec tool: ${this.toolPath}`);\n this._debug('arguments:');\n for (const arg of this.args) {\n this._debug(` ${arg}`);\n }\n const optionsNonNull = this._cloneExecOptions(this.options);\n if (!optionsNonNull.silent && optionsNonNull.outStream) {\n optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL);\n }\n const state = new ExecState(optionsNonNull, this.toolPath);\n state.on('debug', (message) => {\n this._debug(message);\n });\n if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) {\n return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`));\n }\n const fileName = this._getSpawnFileName();\n const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName));\n let stdbuffer = '';\n if (cp.stdout) {\n cp.stdout.on('data', (data) => {\n if (this.options.listeners && this.options.listeners.stdout) {\n this.options.listeners.stdout(data);\n }\n if (!optionsNonNull.silent && optionsNonNull.outStream) {\n optionsNonNull.outStream.write(data);\n }\n stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => {\n if (this.options.listeners && this.options.listeners.stdline) {\n this.options.listeners.stdline(line);\n }\n });\n });\n }\n let errbuffer = '';\n if (cp.stderr) {\n cp.stderr.on('data', (data) => {\n state.processStderr = true;\n if (this.options.listeners && this.options.listeners.stderr) {\n this.options.listeners.stderr(data);\n }\n if (!optionsNonNull.silent &&\n optionsNonNull.errStream &&\n optionsNonNull.outStream) {\n const s = optionsNonNull.failOnStdErr\n ? optionsNonNull.errStream\n : optionsNonNull.outStream;\n s.write(data);\n }\n errbuffer = this._processLineBuffer(data, errbuffer, (line) => {\n if (this.options.listeners && this.options.listeners.errline) {\n this.options.listeners.errline(line);\n }\n });\n });\n }\n cp.on('error', (err) => {\n state.processError = err.message;\n state.processExited = true;\n state.processClosed = true;\n state.CheckComplete();\n });\n cp.on('exit', (code) => {\n state.processExitCode = code;\n state.processExited = true;\n this._debug(`Exit code ${code} received from tool '${this.toolPath}'`);\n state.CheckComplete();\n });\n cp.on('close', (code) => {\n state.processExitCode = code;\n state.processExited = true;\n state.processClosed = true;\n this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);\n state.CheckComplete();\n });\n state.on('done', (error, exitCode) => {\n if (stdbuffer.length > 0) {\n this.emit('stdline', stdbuffer);\n }\n if (errbuffer.length > 0) {\n this.emit('errline', errbuffer);\n }\n cp.removeAllListeners();\n if (error) {\n reject(error);\n }\n else {\n resolve(exitCode);\n }\n });\n if (this.options.input) {\n if (!cp.stdin) {\n throw new Error('child process missing stdin');\n }\n cp.stdin.end(this.options.input);\n }\n }));\n });\n }\n}\n/**\n * Convert an arg string to an array of args. Handles escaping\n *\n * @param argString string of arguments\n * @returns string[] array of arguments\n */\nexport function argStringToArray(argString) {\n const args = [];\n let inQuotes = false;\n let escaped = false;\n let arg = '';\n function append(c) {\n // we only escape double quotes.\n if (escaped && c !== '\"') {\n arg += '\\\\';\n }\n arg += c;\n escaped = false;\n }\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i);\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes;\n }\n else {\n append(c);\n }\n continue;\n }\n if (c === '\\\\' && escaped) {\n append(c);\n continue;\n }\n if (c === '\\\\' && inQuotes) {\n escaped = true;\n continue;\n }\n if (c === ' ' && !inQuotes) {\n if (arg.length > 0) {\n args.push(arg);\n arg = '';\n }\n continue;\n }\n append(c);\n }\n if (arg.length > 0) {\n args.push(arg.trim());\n }\n return args;\n}\nclass ExecState extends events.EventEmitter {\n constructor(options, toolPath) {\n super();\n this.processClosed = false; // tracks whether the process has exited and stdio is closed\n this.processError = '';\n this.processExitCode = 0;\n this.processExited = false; // tracks whether the process has exited\n this.processStderr = false; // tracks whether stderr was written to\n this.delay = 10000; // 10 seconds\n this.done = false;\n this.timeout = null;\n if (!toolPath) {\n throw new Error('toolPath must not be empty');\n }\n this.options = options;\n this.toolPath = toolPath;\n if (options.delay) {\n this.delay = options.delay;\n }\n }\n CheckComplete() {\n if (this.done) {\n return;\n }\n if (this.processClosed) {\n this._setResult();\n }\n else if (this.processExited) {\n this.timeout = setTimeout(ExecState.HandleTimeout, this.delay, this);\n }\n }\n _debug(message) {\n this.emit('debug', message);\n }\n _setResult() {\n // determine whether there is an error\n let error;\n if (this.processExited) {\n if (this.processError) {\n error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`);\n }\n else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) {\n error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`);\n }\n else if (this.processStderr && this.options.failOnStdErr) {\n error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`);\n }\n }\n // clear the timeout\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n this.done = true;\n this.emit('done', error, this.processExitCode);\n }\n static HandleTimeout(state) {\n if (state.done) {\n return;\n }\n if (!state.processClosed && state.processExited) {\n const message = `The STDIO streams did not close within ${state.delay / 1000} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;\n state._debug(message);\n }\n state._setResult();\n }\n}\n//# sourceMappingURL=toolrunner.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { StringDecoder } from 'string_decoder';\nimport * as tr from './toolrunner.js';\n/**\n * Exec a command.\n * Output will be streamed to the live console.\n * Returns promise with return code\n *\n * @param commandLine command to execute (can include additional args). Must be correctly escaped.\n * @param args optional arguments for tool. Escaping is handled by the lib.\n * @param options optional exec options. See ExecOptions\n * @returns Promise exit code\n */\nexport function exec(commandLine, args, options) {\n return __awaiter(this, void 0, void 0, function* () {\n const commandArgs = tr.argStringToArray(commandLine);\n if (commandArgs.length === 0) {\n throw new Error(`Parameter 'commandLine' cannot be null or empty.`);\n }\n // Path to tool to execute should be first arg\n const toolPath = commandArgs[0];\n args = commandArgs.slice(1).concat(args || []);\n const runner = new tr.ToolRunner(toolPath, args, options);\n return runner.exec();\n });\n}\n/**\n * Exec a command and get the output.\n * Output will be streamed to the live console.\n * Returns promise with the exit code and collected stdout and stderr\n *\n * @param commandLine command to execute (can include additional args). Must be correctly escaped.\n * @param args optional arguments for tool. Escaping is handled by the lib.\n * @param options optional exec options. See ExecOptions\n * @returns Promise exit code, stdout, and stderr\n */\nexport function getExecOutput(commandLine, args, options) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n let stdout = '';\n let stderr = '';\n //Using string decoder covers the case where a mult-byte character is split\n const stdoutDecoder = new StringDecoder('utf8');\n const stderrDecoder = new StringDecoder('utf8');\n const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout;\n const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr;\n const stdErrListener = (data) => {\n stderr += stderrDecoder.write(data);\n if (originalStdErrListener) {\n originalStdErrListener(data);\n }\n };\n const stdOutListener = (data) => {\n stdout += stdoutDecoder.write(data);\n if (originalStdoutListener) {\n originalStdoutListener(data);\n }\n };\n const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener });\n const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners }));\n //flush any remaining characters\n stdout += stdoutDecoder.end();\n stderr += stderrDecoder.end();\n return {\n exitCode,\n stdout,\n stderr\n };\n });\n}\n//# sourceMappingURL=exec.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport os from 'os';\nimport * as exec from '@actions/exec';\nconst getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n const { stdout: version } = yield exec.getExecOutput('powershell -command \"(Get-CimInstance -ClassName Win32_OperatingSystem).Version\"', undefined, {\n silent: true\n });\n const { stdout: name } = yield exec.getExecOutput('powershell -command \"(Get-CimInstance -ClassName Win32_OperatingSystem).Caption\"', undefined, {\n silent: true\n });\n return {\n name: name.trim(),\n version: version.trim()\n };\n});\nconst getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b, _c, _d;\n const { stdout } = yield exec.getExecOutput('sw_vers', undefined, {\n silent: true\n });\n const version = (_b = (_a = stdout.match(/ProductVersion:\\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : '';\n const name = (_d = (_c = stdout.match(/ProductName:\\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : '';\n return {\n name,\n version\n };\n});\nconst getLinuxInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n const { stdout } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], {\n silent: true\n });\n const [name, version] = stdout.trim().split('\\n');\n return {\n name,\n version\n };\n});\nexport const platform = os.platform();\nexport const arch = os.arch();\nexport const isWindows = platform === 'win32';\nexport const isMacOS = platform === 'darwin';\nexport const isLinux = platform === 'linux';\nexport function getDetails() {\n return __awaiter(this, void 0, void 0, function* () {\n return Object.assign(Object.assign({}, (yield (isWindows\n ? getWindowsInfo()\n : isMacOS\n ? getMacOsInfo()\n : getLinuxInfo()))), { platform,\n arch,\n isWindows,\n isMacOS,\n isLinux });\n });\n}\n//# sourceMappingURL=platform.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { issue, issueCommand } from './command.js';\nimport { issueFileCommand, prepareKeyValueMessage } from './file-command.js';\nimport { toCommandProperties, toCommandValue } from './utils.js';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { OidcClient } from './oidc-utils.js';\n/**\n * The code to exit an action\n */\nexport var ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode || (ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function exportVariable(name, val) {\n const convertedVal = toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, val));\n }\n issueCommand('set-env', { name }, convertedVal);\n}\n/**\n * Registers a secret which will get masked from logs\n *\n * @param secret - Value of the secret to be masked\n * @remarks\n * This function instructs the Actions runner to mask the specified value in any\n * logs produced during the workflow run. Once registered, the secret value will\n * be replaced with asterisks (***) whenever it appears in console output, logs,\n * or error messages.\n *\n * This is useful for protecting sensitive information such as:\n * - API keys\n * - Access tokens\n * - Authentication credentials\n * - URL parameters containing signatures (SAS tokens)\n *\n * Note that masking only affects future logs; any previous appearances of the\n * secret in logs before calling this function will remain unmasked.\n *\n * @example\n * ```typescript\n * // Register an API token as a secret\n * const apiToken = \"abc123xyz456\";\n * setSecret(apiToken);\n *\n * // Now any logs containing this value will show *** instead\n * console.log(`Using token: ${apiToken}`); // Outputs: \"Using token: ***\"\n * ```\n */\nexport function setSecret(secret) {\n issueCommand('add-mask', {}, secret);\n}\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nexport function addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n issueFileCommand('PATH', inputPath);\n }\n else {\n issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nexport function getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nexport function getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nexport function getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n issueCommand('set-output', { name }, toCommandValue(value));\n}\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nexport function setCommandEcho(enabled) {\n issue('echo', enabled ? 'on' : 'off');\n}\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nexport function setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nexport function isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nexport function debug(message) {\n issueCommand('debug', {}, message);\n}\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nexport function error(message, properties = {}) {\n issueCommand('error', toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nexport function warning(message, properties = {}) {\n issueCommand('warning', toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nexport function notice(message, properties = {}) {\n issueCommand('notice', toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nexport function info(message) {\n process.stdout.write(message + os.EOL);\n}\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nexport function startGroup(name) {\n issue('group', name);\n}\n/**\n * End an output group.\n */\nexport function endGroup() {\n issue('endgroup');\n}\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nexport function group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return issueFileCommand('STATE', prepareKeyValueMessage(name, value));\n }\n issueCommand('save-state', { name }, toCommandValue(value));\n}\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nexport function getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexport function getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield OidcClient.getIDToken(aud);\n });\n}\n/**\n * Summary exports\n */\nexport { summary } from './summary.js';\n/**\n * @deprecated use core.summary\n */\nexport { markdownSummary } from './summary.js';\n/**\n * Path exports\n */\nexport { toPosixPath, toWin32Path, toPlatformPath } from './path-utils.js';\n/**\n * Platform utilities exports\n */\nexport * as platform from './platform.js';\n//# sourceMappingURL=core.js.map","let A;const I=new Array(128).fill(void 0);function g(A){return I[A]}I.push(void 0,null,!0,!1);let C=I.length;function Q(A){C===I.length&&I.push(I.length+1);const g=C;return C=I[g],I[g]=A,g}function B(I,g){try{return I.apply(this,g)}catch(I){A.__wbindgen_export_0(Q(I))}}const E=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(\"TextDecoder not available\")}};\"undefined\"!=typeof TextDecoder&&E.decode();let i=null;function D(I,g){return I>>>=0,E.decode((null!==i&&0!==i.byteLength||(i=new Uint8Array(A.memory.buffer)),i).subarray(I,I+g))}function o(A){return null==A}let w=null;function G(){return(null===w||!0===w.buffer.detached||void 0===w.buffer.detached&&w.buffer!==A.memory.buffer)&&(w=new DataView(A.memory.buffer)),w}function K(A){const Q=g(A);return function(A){A<132||(I[A]=C,C=A)}(A),Q}function h(A,I){if(!(A instanceof I))throw new Error(`expected instance of ${I.name}`)}let N=128;function S(A){if(1==N)throw new Error(\"out of js stack\");return I[--N]=A,N}let k=null;function y(I,g){return I>>>=0,(null!==k&&0!==k.byteLength||(k=new Int32Array(A.memory.buffer)),k).subarray(I/4,I/4+g)}let s=null;function F(){return null!==s&&0!==s.byteLength||(s=new Float32Array(A.memory.buffer)),s}function a(A,I){return A>>>=0,F().subarray(A/4,A/4+I)}let M=null;function J(){return null!==M&&0!==M.byteLength||(M=new Uint32Array(A.memory.buffer)),M}let U=0;function R(A,I){const g=I(4*A.length,4)>>>0;return J().set(A,g/4),U=A.length,g}function c(A,I){const g=I(4*A.length,4)>>>0;return F().set(A,g/4),U=A.length,g}Object.freeze({Vertex:0,0:\"Vertex\",Face:1,1:\"Face\",Unknown:2,2:\"Unknown\"});const Y=Object.freeze({LinX:0,0:\"LinX\",LinY:1,1:\"LinY\",AngX:2,2:\"AngX\"}),L=Object.freeze({Revolute:0,0:\"Revolute\",Fixed:1,1:\"Fixed\",Prismatic:2,2:\"Prismatic\",Rope:3,3:\"Rope\",Spring:4,4:\"Spring\",Generic:5,5:\"Generic\"});Object.freeze({AccelerationBased:0,0:\"AccelerationBased\",ForceBased:1,1:\"ForceBased\"}),Object.freeze({Dynamic:0,0:\"Dynamic\",Fixed:1,1:\"Fixed\",KinematicPositionBased:2,2:\"KinematicPositionBased\",KinematicVelocityBased:3,3:\"KinematicVelocityBased\"});const q=Object.freeze({Ball:0,0:\"Ball\",Cuboid:1,1:\"Cuboid\",Capsule:2,2:\"Capsule\",Segment:3,3:\"Segment\",Polyline:4,4:\"Polyline\",Triangle:5,5:\"Triangle\",TriMesh:6,6:\"TriMesh\",HeightField:7,7:\"HeightField\",Compound:8,8:\"Compound\",ConvexPolygon:9,9:\"ConvexPolygon\",RoundCuboid:10,10:\"RoundCuboid\",RoundTriangle:11,11:\"RoundTriangle\",RoundConvexPolygon:12,12:\"RoundConvexPolygon\",HalfSpace:13,13:\"HalfSpace\",Voxels:14,14:\"Voxels\"}),t=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawbroadphase_free(I>>>0,1)));class H{static __wrap(A){A>>>=0;const I=Object.create(H.prototype);return I.__wbg_ptr=A,t.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,t.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawbroadphase_free(I,0)}constructor(){const I=A.rawbroadphase_new();return this.__wbg_ptr=I>>>0,t.register(this,this.__wbg_ptr,this),this}castRay(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA);const s=A.rawbroadphase_castRay(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));return 0===s?void 0:aA.__wrap(s)}finally{I[N++]=void 0}}castRayAndGetNormal(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA);const s=A.rawbroadphase_castRayAndGetNormal(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));return 0===s?void 0:JA.__wrap(s)}finally{I[N++]=void 0}}intersectionsWithRay(g,C,Q,B,E,i,D,w,G,K,k,y,s){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA),A.rawbroadphase_intersectionsWithRay(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,S(w),G,o(K)?4294967297:K>>>0,!o(k),o(k)?0:k,!o(y),o(y)?0:y,S(s))}finally{I[N++]=void 0,I[N++]=void 0}}intersectionWithShape(g,C,Q,B,E,i,D,w,K,k,y){try{const a=A.__wbindgen_add_to_stack_pointer(-16);h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,lA),A.rawbroadphase_intersectionWithShape(a,this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D,o(w)?4294967297:w>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y));var s=G().getInt32(a+0,!0),F=G().getFloat64(a+8,!0);return 0===s?void 0:F}finally{A.__wbindgen_add_to_stack_pointer(16),I[N++]=void 0}}projectPoint(g,C,Q,B,E,i,D,w,G,K){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA);const k=A.rawbroadphase_projectPoint(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E,i,o(D)?4294967297:D>>>0,!o(w),o(w)?0:w,!o(G),o(G)?0:G,S(K));return 0===k?void 0:kA.__wrap(k)}finally{I[N++]=void 0}}projectPointAndGetFeature(g,C,Q,B,E,i,D,w,G){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA);const K=A.rawbroadphase_projectPointAndGetFeature(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E,o(i)?4294967297:i>>>0,!o(D),o(D)?0:D,!o(w),o(w)?0:w,S(G));return 0===K?void 0:kA.__wrap(K)}finally{I[N++]=void 0}}intersectionsWithPoint(g,C,Q,B,E,i,D,w,G,K){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),A.rawbroadphase_intersectionsWithPoint(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,S(E),i,o(D)?4294967297:D>>>0,!o(w),o(w)?0:w,!o(G),o(G)?0:G,S(K))}finally{I[N++]=void 0,I[N++]=void 0}}castShape(g,C,Q,B,E,i,D,w,G,K,k,y,s,F,a){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,fA),h(D,lA);const M=A.rawbroadphase_castShape(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,w,G,K,k,o(y)?4294967297:y>>>0,!o(s),o(s)?0:s,!o(F),o(F)?0:F,S(a));return 0===M?void 0:f.__wrap(M)}finally{I[N++]=void 0}}intersectionsWithShape(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,qA),h(i,lA),A.rawbroadphase_intersectionsWithShape(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,S(D),w,o(G)?4294967297:G>>>0,!o(K),o(K)?0:K,!o(k),o(k)?0:k,S(y))}finally{I[N++]=void 0,I[N++]=void 0}}collidersWithAabbIntersectingAabb(g,C,Q,B,E,i){try{h(g,wA),h(C,YA),h(Q,d),h(B,fA),h(E,fA),A.rawbroadphase_collidersWithAabbIntersectingAabb(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,S(i))}finally{I[N++]=void 0}}}const r=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawccdsolver_free(I>>>0,1)));class l{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,r.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawccdsolver_free(I,0)}constructor(){const I=A.rawccdsolver_new();return this.__wbg_ptr=I>>>0,r.register(this,this.__wbg_ptr,this),this}}const e=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcharactercollision_free(I>>>0,1)));class p{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,e.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcharactercollision_free(I,0)}constructor(){const I=A.rawcharactercollision_new();return this.__wbg_ptr=I>>>0,e.register(this,this.__wbg_ptr,this),this}handle(){return A.rawcharactercollision_handle(this.__wbg_ptr)}translationDeltaApplied(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}translationDeltaRemaining(){const I=A.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return fA.__wrap(I)}toi(){return A.rawcharactercollision_toi(this.__wbg_ptr)}worldWitness1(){const I=A.rawcharactercollision_worldWitness1(this.__wbg_ptr);return fA.__wrap(I)}worldWitness2(){const I=A.rawcharactercollision_worldWitness2(this.__wbg_ptr);return fA.__wrap(I)}worldNormal1(){const I=A.rawcharactercollision_worldNormal1(this.__wbg_ptr);return fA.__wrap(I)}worldNormal2(){const I=A.rawcharactercollision_worldNormal2(this.__wbg_ptr);return fA.__wrap(I)}}const n=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcolliderset_free(I>>>0,1)));class d{static __wrap(A){A>>>=0;const I=Object.create(d.prototype);return I.__wbg_ptr=A,n.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcolliderset_free(I,0)}coTranslation(I){const g=A.rawcolliderset_coTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}coRotation(I){const g=A.rawcolliderset_coRotation(this.__wbg_ptr,I);return qA.__wrap(g)}coTranslationWrtParent(I){const g=A.rawcolliderset_coTranslationWrtParent(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coRotationWrtParent(I){const g=A.rawcolliderset_coRotationWrtParent(this.__wbg_ptr,I);return 0===g?void 0:qA.__wrap(g)}coSetTranslation(I,g,C){A.rawcolliderset_coSetTranslation(this.__wbg_ptr,I,g,C)}coSetTranslationWrtParent(I,g,C){A.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr,I,g,C)}coSetRotation(I,g){A.rawcolliderset_coSetRotation(this.__wbg_ptr,I,g)}coSetRotationWrtParent(I,g){A.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr,I,g)}coIsSensor(I){return 0!==A.rawcolliderset_coIsSensor(this.__wbg_ptr,I)}coShapeType(I){return A.rawcolliderset_coShapeType(this.__wbg_ptr,I)}coHalfspaceNormal(I){const g=A.rawcolliderset_coHalfspaceNormal(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coHalfExtents(I){const g=A.rawcolliderset_coHalfExtents(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coSetHalfExtents(I,g){h(g,fA),A.rawcolliderset_coSetHalfExtents(this.__wbg_ptr,I,g.__wbg_ptr)}coRadius(I){const g=A.rawcolliderset_coRadius(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetRadius(I,g){A.rawcolliderset_coSetRadius(this.__wbg_ptr,I,g)}coHalfHeight(I){const g=A.rawcolliderset_coHalfHeight(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetHalfHeight(I,g){A.rawcolliderset_coSetHalfHeight(this.__wbg_ptr,I,g)}coRoundRadius(I){const g=A.rawcolliderset_coRoundRadius(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coSetRoundRadius(I,g){A.rawcolliderset_coSetRoundRadius(this.__wbg_ptr,I,g)}coVoxelData(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coVoxelData(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=y(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coVoxelSize(I){const g=A.rawcolliderset_coVoxelSize(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coSetVoxel(I,g,C,Q){A.rawcolliderset_coSetVoxel(this.__wbg_ptr,I,g,C,Q)}coPropagateVoxelChange(I,g,C,Q,B,E){A.rawcolliderset_coPropagateVoxelChange(this.__wbg_ptr,I,g,C,Q,B,E)}coCombineVoxelStates(I,g,C,Q){A.rawcolliderset_coCombineVoxelStates(this.__wbg_ptr,I,g,C,Q)}coVertices(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coVertices(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=a(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coIndices(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coIndices(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=function(A,I){return A>>>=0,J().subarray(A/4,A/4+I)}(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coTriMeshFlags(I){const g=A.rawcolliderset_coTriMeshFlags(this.__wbg_ptr,I);return 4294967297===g?void 0:g}coHeightfieldHeights(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coHeightfieldHeights(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getInt32(Q+4,!0);let B;return 0!==g&&(B=a(g,C).slice(),A.__wbindgen_export_1(g,4*C,4)),B}finally{A.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldScale(I){const g=A.rawcolliderset_coHeightfieldScale(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}coParent(I){try{const Q=A.__wbindgen_add_to_stack_pointer(-16);A.rawcolliderset_coParent(Q,this.__wbg_ptr,I);var g=G().getInt32(Q+0,!0),C=G().getFloat64(Q+8,!0);return 0===g?void 0:C}finally{A.__wbindgen_add_to_stack_pointer(16)}}coSetEnabled(I,g){A.rawcolliderset_coSetEnabled(this.__wbg_ptr,I,g)}coIsEnabled(I){return 0!==A.rawcolliderset_coIsEnabled(this.__wbg_ptr,I)}coSetContactSkin(I,g){A.rawcolliderset_coSetContactSkin(this.__wbg_ptr,I,g)}coContactSkin(I){return A.rawcolliderset_coContactSkin(this.__wbg_ptr,I)}coFriction(I){return A.rawcolliderset_coFriction(this.__wbg_ptr,I)}coRestitution(I){return A.rawcolliderset_coRestitution(this.__wbg_ptr,I)}coDensity(I){return A.rawcolliderset_coDensity(this.__wbg_ptr,I)}coMass(I){return A.rawcolliderset_coMass(this.__wbg_ptr,I)}coVolume(I){return A.rawcolliderset_coVolume(this.__wbg_ptr,I)}coCollisionGroups(I){return A.rawcolliderset_coCollisionGroups(this.__wbg_ptr,I)>>>0}coSolverGroups(I){return A.rawcolliderset_coSolverGroups(this.__wbg_ptr,I)>>>0}coActiveHooks(I){return A.rawcolliderset_coActiveHooks(this.__wbg_ptr,I)>>>0}coActiveCollisionTypes(I){return A.rawcolliderset_coActiveCollisionTypes(this.__wbg_ptr,I)}coActiveEvents(I){return A.rawcolliderset_coActiveEvents(this.__wbg_ptr,I)>>>0}coContactForceEventThreshold(I){return A.rawcolliderset_coContactForceEventThreshold(this.__wbg_ptr,I)}coContainsPoint(I,g){h(g,fA);return 0!==A.rawcolliderset_coContainsPoint(this.__wbg_ptr,I,g.__wbg_ptr)}coCastShape(I,g,C,Q,B,E,i,D,o){h(g,fA),h(C,lA),h(Q,fA),h(B,qA),h(E,fA);const w=A.rawcolliderset_coCastShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D,o);return 0===w?void 0:pA.__wrap(w)}coCastCollider(I,g,C,Q,B,E,i){h(g,fA),h(Q,fA);const D=A.rawcolliderset_coCastCollider(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B,E,i);return 0===D?void 0:f.__wrap(D)}coIntersectsShape(I,g,C,Q){h(g,lA),h(C,fA),h(Q,qA);return 0!==A.rawcolliderset_coIntersectsShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr)}coContactShape(I,g,C,Q,B){h(g,lA),h(C,fA),h(Q,qA);const E=A.rawcolliderset_coContactShape(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B);return 0===E?void 0:dA.__wrap(E)}coContactCollider(I,g,C){const Q=A.rawcolliderset_coContactCollider(this.__wbg_ptr,I,g,C);return 0===Q?void 0:dA.__wrap(Q)}coProjectPoint(I,g,C){h(g,fA);const Q=A.rawcolliderset_coProjectPoint(this.__wbg_ptr,I,g.__wbg_ptr,C);return sA.__wrap(Q)}coIntersectsRay(I,g,C,Q){h(g,fA),h(C,fA);return 0!==A.rawcolliderset_coIntersectsRay(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}coCastRay(I,g,C,Q,B){h(g,fA),h(C,fA);return A.rawcolliderset_coCastRay(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B)}coCastRayAndGetNormal(I,g,C,Q,B){h(g,fA),h(C,fA);const E=A.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B);return 0===E?void 0:RA.__wrap(E)}coSetSensor(I,g){A.rawcolliderset_coSetSensor(this.__wbg_ptr,I,g)}coSetRestitution(I,g){A.rawcolliderset_coSetRestitution(this.__wbg_ptr,I,g)}coSetFriction(I,g){A.rawcolliderset_coSetFriction(this.__wbg_ptr,I,g)}coFrictionCombineRule(I){return A.rawcolliderset_coFrictionCombineRule(this.__wbg_ptr,I)>>>0}coSetFrictionCombineRule(I,g){A.rawcolliderset_coSetFrictionCombineRule(this.__wbg_ptr,I,g)}coRestitutionCombineRule(I){return A.rawcolliderset_coRestitutionCombineRule(this.__wbg_ptr,I)>>>0}coSetRestitutionCombineRule(I,g){A.rawcolliderset_coSetRestitutionCombineRule(this.__wbg_ptr,I,g)}coSetCollisionGroups(I,g){A.rawcolliderset_coSetCollisionGroups(this.__wbg_ptr,I,g)}coSetSolverGroups(I,g){A.rawcolliderset_coSetSolverGroups(this.__wbg_ptr,I,g)}coSetActiveHooks(I,g){A.rawcolliderset_coSetActiveHooks(this.__wbg_ptr,I,g)}coSetActiveEvents(I,g){A.rawcolliderset_coSetActiveEvents(this.__wbg_ptr,I,g)}coSetActiveCollisionTypes(I,g){A.rawcolliderset_coSetActiveCollisionTypes(this.__wbg_ptr,I,g)}coSetShape(I,g){h(g,lA),A.rawcolliderset_coSetShape(this.__wbg_ptr,I,g.__wbg_ptr)}coSetContactForceEventThreshold(I,g){A.rawcolliderset_coSetContactForceEventThreshold(this.__wbg_ptr,I,g)}coSetDensity(I,g){A.rawcolliderset_coSetDensity(this.__wbg_ptr,I,g)}coSetMass(I,g){A.rawcolliderset_coSetMass(this.__wbg_ptr,I,g)}coSetMassProperties(I,g,C,Q){h(C,fA),A.rawcolliderset_coSetMassProperties(this.__wbg_ptr,I,g,C.__wbg_ptr,Q)}constructor(){const I=A.rawcolliderset_new();return this.__wbg_ptr=I>>>0,n.register(this,this.__wbg_ptr,this),this}len(){return A.rawcolliderset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawcolliderset_contains(this.__wbg_ptr,I)}createCollider(I,g,C,Q,B,E,i,D,o,w,K,N,S,k,y,s,F,a,M,J,U,R,c,Y){try{const t=A.__wbindgen_add_to_stack_pointer(-16);h(g,lA),h(C,fA),h(Q,qA),h(i,fA),h(Y,YA),A.rawcolliderset_createCollider(t,this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E,i.__wbg_ptr,D,o,w,K,N,S,k,y,s,F,a,M,J,U,R,c,Y.__wbg_ptr);var L=G().getInt32(t+0,!0),q=G().getFloat64(t+8,!0);return 0===L?void 0:q}finally{A.__wbindgen_add_to_stack_pointer(16)}}remove(I,g,C,Q){h(g,QA),h(C,YA),A.rawcolliderset_remove(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}isHandleValid(I){return 0!==A.rawcolliderset_contains(this.__wbg_ptr,I)}forEachColliderHandle(g){try{A.rawcolliderset_forEachColliderHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}}const b=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcollidershapecasthit_free(I>>>0,1)));class f{static __wrap(A){A>>>=0;const I=Object.create(f.prototype);return I.__wbg_ptr=A,b.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,b.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcollidershapecasthit_free(I,0)}colliderHandle(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}witness1(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}witness2(){const I=A.rawcollidershapecasthit_witness2(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcollidershapecasthit_normal1(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcollidershapecasthit_normal2(this.__wbg_ptr);return fA.__wrap(I)}}const T=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactforceevent_free(I>>>0,1)));class Z{static __wrap(A){A>>>=0;const I=Object.create(Z.prototype);return I.__wbg_ptr=A,T.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactforceevent_free(I,0)}collider1(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}collider2(){return A.rawcontactforceevent_collider2(this.__wbg_ptr)}total_force(){const I=A.rawcontactforceevent_total_force(this.__wbg_ptr);return fA.__wrap(I)}total_force_magnitude(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}max_force_direction(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}max_force_magnitude(){return A.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}}const O=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactmanifold_free(I>>>0,1)));class W{static __wrap(A){A>>>=0;const I=Object.create(W.prototype);return I.__wbg_ptr=A,O.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,O.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactmanifold_free(I,0)}normal(){const I=A.rawcontactmanifold_normal(this.__wbg_ptr);return fA.__wrap(I)}local_n1(){const I=A.rawcontactmanifold_local_n1(this.__wbg_ptr);return fA.__wrap(I)}local_n2(){const I=A.rawcontactmanifold_local_n2(this.__wbg_ptr);return fA.__wrap(I)}subshape1(){return A.rawcontactmanifold_subshape1(this.__wbg_ptr)>>>0}subshape2(){return A.rawcontactmanifold_subshape2(this.__wbg_ptr)>>>0}num_contacts(){return A.rawcontactmanifold_num_contacts(this.__wbg_ptr)>>>0}contact_local_p1(I){const g=A.rawcontactmanifold_contact_local_p1(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}contact_local_p2(I){const g=A.rawcontactmanifold_contact_local_p2(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}contact_dist(I){return A.rawcontactmanifold_contact_dist(this.__wbg_ptr,I)}contact_fid1(I){return A.rawcontactmanifold_contact_fid1(this.__wbg_ptr,I)>>>0}contact_fid2(I){return A.rawcontactmanifold_contact_fid2(this.__wbg_ptr,I)>>>0}contact_impulse(I){return A.rawcontactmanifold_contact_impulse(this.__wbg_ptr,I)}contact_tangent_impulse(I){return A.rawcontactmanifold_contact_tangent_impulse(this.__wbg_ptr,I)}num_solver_contacts(){return A.rawcontactmanifold_num_solver_contacts(this.__wbg_ptr)>>>0}solver_contact_point(I){const g=A.rawcontactmanifold_solver_contact_point(this.__wbg_ptr,I);return 0===g?void 0:fA.__wrap(g)}solver_contact_dist(I){return A.rawcontactmanifold_solver_contact_dist(this.__wbg_ptr,I)}solver_contact_friction(I){return A.rawcontactmanifold_solver_contact_friction(this.__wbg_ptr,I)}solver_contact_restitution(I){return A.rawcontactmanifold_solver_contact_restitution(this.__wbg_ptr,I)}solver_contact_tangent_velocity(I){const g=A.rawcontactmanifold_solver_contact_tangent_velocity(this.__wbg_ptr,I);return fA.__wrap(g)}}const j=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawcontactpair_free(I>>>0,1)));class x{static __wrap(A){A>>>=0;const I=Object.create(x.prototype);return I.__wbg_ptr=A,j.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,j.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawcontactpair_free(I,0)}collider1(){return A.rawcontactpair_collider1(this.__wbg_ptr)}collider2(){return A.rawcontactpair_collider2(this.__wbg_ptr)}numContactManifolds(){return A.rawcontactpair_numContactManifolds(this.__wbg_ptr)>>>0}contactManifold(I){const g=A.rawcontactpair_contactManifold(this.__wbg_ptr,I);return 0===g?void 0:W.__wrap(g)}}const X=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawdebugrenderpipeline_free(I>>>0,1)));class m{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,X.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawdebugrenderpipeline_free(I,0)}constructor(){const I=A.rawdebugrenderpipeline_new();return this.__wbg_ptr=I>>>0,X.register(this,this.__wbg_ptr,this),this}vertices(){return K(A.rawdebugrenderpipeline_vertices(this.__wbg_ptr))}colors(){return K(A.rawdebugrenderpipeline_colors(this.__wbg_ptr))}render(g,C,Q,B,E,i,D){try{h(g,YA),h(C,d),h(Q,AA),h(B,DA),h(E,wA),A.rawdebugrenderpipeline_render(this.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,S(D))}finally{I[N++]=void 0}}}const v=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawdeserializedworld_free(I>>>0,1)));class V{static __wrap(A){A>>>=0;const I=Object.create(V.prototype);return I.__wbg_ptr=A,v.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,v.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawdeserializedworld_free(I,0)}takeGravity(){const I=A.rawdeserializedworld_takeGravity(this.__wbg_ptr);return 0===I?void 0:fA.__wrap(I)}takeIntegrationParameters(){const I=A.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr);return 0===I?void 0:gA.__wrap(I)}takeIslandManager(){const I=A.rawdeserializedworld_takeIslandManager(this.__wbg_ptr);return 0===I?void 0:QA.__wrap(I)}takeBroadPhase(){const I=A.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr);return 0===I?void 0:H.__wrap(I)}takeNarrowPhase(){const I=A.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr);return 0===I?void 0:wA.__wrap(I)}takeBodies(){const I=A.rawdeserializedworld_takeBodies(this.__wbg_ptr);return 0===I?void 0:YA.__wrap(I)}takeColliders(){const I=A.rawdeserializedworld_takeColliders(this.__wbg_ptr);return 0===I?void 0:d.__wrap(I)}takeImpulseJoints(){const I=A.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr);return 0===I?void 0:AA.__wrap(I)}takeMultibodyJoints(){const I=A.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr);return 0===I?void 0:DA.__wrap(I)}}const P=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_raweventqueue_free(I>>>0,1)));class u{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,P.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_raweventqueue_free(I,0)}constructor(I){const g=A.raweventqueue_new(I);return this.__wbg_ptr=g>>>0,P.register(this,this.__wbg_ptr,this),this}drainCollisionEvents(g){try{A.raweventqueue_drainCollisionEvents(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}drainContactForceEvents(g){try{A.raweventqueue_drainContactForceEvents(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}clear(){A.raweventqueue_clear(this.__wbg_ptr)}}const z=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawgenericjoint_free(I>>>0,1)));class _{static __wrap(A){A>>>=0;const I=Object.create(_.prototype);return I.__wbg_ptr=A,z.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,z.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawgenericjoint_free(I,0)}static spring(I,g,C,Q,B){h(Q,fA),h(B,fA);const E=A.rawgenericjoint_spring(I,g,C,Q.__wbg_ptr,B.__wbg_ptr);return _.__wrap(E)}static rope(I,g,C){h(g,fA),h(C,fA);const Q=A.rawgenericjoint_rope(I,g.__wbg_ptr,C.__wbg_ptr);return _.__wrap(Q)}static prismatic(I,g,C,Q,B,E){h(I,fA),h(g,fA),h(C,fA);const i=A.rawgenericjoint_prismatic(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q,B,E);return 0===i?void 0:_.__wrap(i)}static fixed(I,g,C,Q){h(I,fA),h(g,qA),h(C,fA),h(Q,qA);const B=A.rawgenericjoint_fixed(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr);return _.__wrap(B)}static revolute(I,g){h(I,fA),h(g,fA);const C=A.rawgenericjoint_revolute(I.__wbg_ptr,g.__wbg_ptr);return 0===C?void 0:_.__wrap(C)}}const $=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawimpulsejointset_free(I>>>0,1)));class AA{static __wrap(A){A>>>=0;const I=Object.create(AA.prototype);return I.__wbg_ptr=A,$.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,$.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawimpulsejointset_free(I,0)}jointType(I){return A.rawimpulsejointset_jointType(this.__wbg_ptr,I)}jointBodyHandle1(I){return A.rawimpulsejointset_jointBodyHandle1(this.__wbg_ptr,I)}jointBodyHandle2(I){return A.rawimpulsejointset_jointBodyHandle2(this.__wbg_ptr,I)}jointFrameX1(I){const g=A.rawimpulsejointset_jointFrameX1(this.__wbg_ptr,I);return qA.__wrap(g)}jointFrameX2(I){const g=A.rawimpulsejointset_jointFrameX2(this.__wbg_ptr,I);return qA.__wrap(g)}jointAnchor1(I){const g=A.rawimpulsejointset_jointAnchor1(this.__wbg_ptr,I);return fA.__wrap(g)}jointAnchor2(I){const g=A.rawimpulsejointset_jointAnchor2(this.__wbg_ptr,I);return fA.__wrap(g)}jointSetAnchor1(I,g){h(g,fA),A.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr,I,g.__wbg_ptr)}jointSetAnchor2(I,g){h(g,fA),A.rawimpulsejointset_jointSetAnchor2(this.__wbg_ptr,I,g.__wbg_ptr)}jointContactsEnabled(I){return 0!==A.rawimpulsejointset_jointContactsEnabled(this.__wbg_ptr,I)}jointSetContactsEnabled(I,g){A.rawimpulsejointset_jointSetContactsEnabled(this.__wbg_ptr,I,g)}jointLimitsEnabled(I,g){return 0!==A.rawimpulsejointset_jointLimitsEnabled(this.__wbg_ptr,I,g)}jointLimitsMin(I,g){return A.rawimpulsejointset_jointLimitsMin(this.__wbg_ptr,I,g)}jointLimitsMax(I,g){return A.rawimpulsejointset_jointLimitsMax(this.__wbg_ptr,I,g)}jointSetLimits(I,g,C,Q){A.rawimpulsejointset_jointSetLimits(this.__wbg_ptr,I,g,C,Q)}jointConfigureMotorModel(I,g,C){A.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr,I,g,C)}jointConfigureMotorVelocity(I,g,C,Q){A.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr,I,g,C,Q)}jointConfigureMotorPosition(I,g,C,Q,B){A.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr,I,g,C,Q,B)}jointConfigureMotor(I,g,C,Q,B,E){A.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr,I,g,C,Q,B,E)}constructor(){const I=A.rawimpulsejointset_new();return this.__wbg_ptr=I>>>0,$.register(this,this.__wbg_ptr,this),this}createJoint(I,g,C,Q){h(I,_);return A.rawimpulsejointset_createJoint(this.__wbg_ptr,I.__wbg_ptr,g,C,Q)}remove(I,g){A.rawimpulsejointset_remove(this.__wbg_ptr,I,g)}len(){return A.rawimpulsejointset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawimpulsejointset_contains(this.__wbg_ptr,I)}forEachJointHandle(g){try{A.rawimpulsejointset_forEachJointHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}forEachJointAttachedToRigidBody(g,C){try{A.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,g,S(C))}finally{I[N++]=void 0}}}const IA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawintegrationparameters_free(I>>>0,1)));class gA{static __wrap(A){A>>>=0;const I=Object.create(gA.prototype);return I.__wbg_ptr=A,IA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,IA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawintegrationparameters_free(I,0)}constructor(){const I=A.rawintegrationparameters_new();return this.__wbg_ptr=I>>>0,IA.register(this,this.__wbg_ptr,this),this}get dt(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}get contact_erp(){return A.rawintegrationparameters_contact_erp(this.__wbg_ptr)}get normalizedAllowedLinearError(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}get normalizedPredictionDistance(){return A.rawcharactercollision_toi(this.__wbg_ptr)}get numSolverIterations(){return A.rawintegrationparameters_numSolverIterations(this.__wbg_ptr)>>>0}get numInternalPgsIterations(){return A.rawintegrationparameters_numInternalPgsIterations(this.__wbg_ptr)>>>0}get minIslandSize(){return A.rawintegrationparameters_minIslandSize(this.__wbg_ptr)>>>0}get maxCcdSubsteps(){return A.rawintegrationparameters_maxCcdSubsteps(this.__wbg_ptr)>>>0}get lengthUnit(){return A.rawintegrationparameters_lengthUnit(this.__wbg_ptr)}set dt(I){A.rawintegrationparameters_set_dt(this.__wbg_ptr,I)}set contact_natural_frequency(I){A.rawintegrationparameters_set_contact_natural_frequency(this.__wbg_ptr,I)}set normalizedAllowedLinearError(I){A.rawintegrationparameters_set_normalizedAllowedLinearError(this.__wbg_ptr,I)}set normalizedPredictionDistance(I){A.rawintegrationparameters_set_normalizedPredictionDistance(this.__wbg_ptr,I)}set numSolverIterations(I){A.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr,I)}set numInternalPgsIterations(I){A.rawintegrationparameters_set_numInternalPgsIterations(this.__wbg_ptr,I)}set minIslandSize(I){A.rawintegrationparameters_set_minIslandSize(this.__wbg_ptr,I)}set maxCcdSubsteps(I){A.rawintegrationparameters_set_maxCcdSubsteps(this.__wbg_ptr,I)}set lengthUnit(I){A.rawintegrationparameters_set_lengthUnit(this.__wbg_ptr,I)}}const CA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawislandmanager_free(I>>>0,1)));class QA{static __wrap(A){A>>>=0;const I=Object.create(QA.prototype);return I.__wbg_ptr=A,CA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,CA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawislandmanager_free(I,0)}constructor(){const I=A.rawislandmanager_new();return this.__wbg_ptr=I>>>0,CA.register(this,this.__wbg_ptr,this),this}forEachActiveRigidBodyHandle(g){try{A.rawislandmanager_forEachActiveRigidBodyHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}}const BA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawkinematiccharactercontroller_free(I>>>0,1)));class EA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,BA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawkinematiccharactercontroller_free(I,0)}constructor(I){const g=A.rawkinematiccharactercontroller_new(I);return this.__wbg_ptr=g>>>0,BA.register(this,this.__wbg_ptr,this),this}up(){const I=A.rawcollidershapecasthit_normal2(this.__wbg_ptr);return fA.__wrap(I)}setUp(I){h(I,fA),A.rawkinematiccharactercontroller_setUp(this.__wbg_ptr,I.__wbg_ptr)}normalNudgeFactor(){return A.rawkinematiccharactercontroller_normalNudgeFactor(this.__wbg_ptr)}setNormalNudgeFactor(I){A.rawkinematiccharactercontroller_setNormalNudgeFactor(this.__wbg_ptr,I)}offset(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}setOffset(I){A.rawkinematiccharactercontroller_setOffset(this.__wbg_ptr,I)}slideEnabled(){return 0!==A.rawkinematiccharactercontroller_slideEnabled(this.__wbg_ptr)}setSlideEnabled(I){A.rawkinematiccharactercontroller_setSlideEnabled(this.__wbg_ptr,I)}autostepMaxHeight(){const I=A.rawkinematiccharactercontroller_autostepMaxHeight(this.__wbg_ptr);return 4294967297===I?void 0:I}autostepMinWidth(){const I=A.rawkinematiccharactercontroller_autostepMinWidth(this.__wbg_ptr);return 4294967297===I?void 0:I}autostepIncludesDynamicBodies(){const I=A.rawkinematiccharactercontroller_autostepIncludesDynamicBodies(this.__wbg_ptr);return 16777215===I?void 0:0!==I}autostepEnabled(){return 0!==A.rawkinematiccharactercontroller_autostepEnabled(this.__wbg_ptr)}enableAutostep(I,g,C){A.rawkinematiccharactercontroller_enableAutostep(this.__wbg_ptr,I,g,C)}disableAutostep(){A.rawkinematiccharactercontroller_disableAutostep(this.__wbg_ptr)}maxSlopeClimbAngle(){return A.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr)}setMaxSlopeClimbAngle(I){A.rawkinematiccharactercontroller_setMaxSlopeClimbAngle(this.__wbg_ptr,I)}minSlopeSlideAngle(){return A.rawkinematiccharactercontroller_minSlopeSlideAngle(this.__wbg_ptr)}setMinSlopeSlideAngle(I){A.rawkinematiccharactercontroller_setMinSlopeSlideAngle(this.__wbg_ptr,I)}snapToGroundDistance(){const I=A.rawkinematiccharactercontroller_snapToGroundDistance(this.__wbg_ptr);return 4294967297===I?void 0:I}enableSnapToGround(I){A.rawkinematiccharactercontroller_enableSnapToGround(this.__wbg_ptr,I)}disableSnapToGround(){A.rawkinematiccharactercontroller_disableSnapToGround(this.__wbg_ptr)}snapToGroundEnabled(){return 0!==A.rawkinematiccharactercontroller_snapToGroundEnabled(this.__wbg_ptr)}computeColliderMovement(g,C,Q,B,E,i,D,w,G,K,k,y){try{h(C,H),h(Q,wA),h(B,YA),h(E,d),h(D,fA),A.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr,g,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i,D.__wbg_ptr,w,o(G)?4294967297:Math.fround(G),K,o(k)?4294967297:k>>>0,S(y))}finally{I[N++]=void 0}}computedMovement(){const I=A.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr);return fA.__wrap(I)}computedGrounded(){return 0!==A.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr)}numComputedCollisions(){return A.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr)>>>0}computedCollision(I,g){h(g,p);return 0!==A.rawkinematiccharactercontroller_computedCollision(this.__wbg_ptr,I,g.__wbg_ptr)}}const iA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawmultibodyjointset_free(I>>>0,1)));class DA{static __wrap(A){A>>>=0;const I=Object.create(DA.prototype);return I.__wbg_ptr=A,iA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,iA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawmultibodyjointset_free(I,0)}jointType(I){return A.rawmultibodyjointset_jointType(this.__wbg_ptr,I)}jointFrameX1(I){const g=A.rawmultibodyjointset_jointFrameX1(this.__wbg_ptr,I);return qA.__wrap(g)}jointFrameX2(I){const g=A.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr,I);return qA.__wrap(g)}jointAnchor1(I){const g=A.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr,I);return fA.__wrap(g)}jointAnchor2(I){const g=A.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr,I);return fA.__wrap(g)}jointContactsEnabled(I){return 0!==A.rawmultibodyjointset_jointContactsEnabled(this.__wbg_ptr,I)}jointSetContactsEnabled(I,g){A.rawmultibodyjointset_jointSetContactsEnabled(this.__wbg_ptr,I,g)}jointLimitsEnabled(I,g){return 0!==A.rawmultibodyjointset_jointLimitsEnabled(this.__wbg_ptr,I,g)}jointLimitsMin(I,g){return A.rawmultibodyjointset_jointLimitsMin(this.__wbg_ptr,I,g)}jointLimitsMax(I,g){return A.rawmultibodyjointset_jointLimitsMax(this.__wbg_ptr,I,g)}constructor(){const I=A.rawmultibodyjointset_new();return this.__wbg_ptr=I>>>0,iA.register(this,this.__wbg_ptr,this),this}createJoint(I,g,C,Q){h(I,_);return A.rawmultibodyjointset_createJoint(this.__wbg_ptr,I.__wbg_ptr,g,C,Q)}remove(I,g){A.rawmultibodyjointset_remove(this.__wbg_ptr,I,g)}contains(I){return 0!==A.rawmultibodyjointset_contains(this.__wbg_ptr,I)}forEachJointHandle(g){try{A.rawmultibodyjointset_forEachJointHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}forEachJointAttachedToRigidBody(g,C){try{A.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,g,S(C))}finally{I[N++]=void 0}}}const oA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawnarrowphase_free(I>>>0,1)));class wA{static __wrap(A){A>>>=0;const I=Object.create(wA.prototype);return I.__wbg_ptr=A,oA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,oA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawnarrowphase_free(I,0)}constructor(){const I=A.rawnarrowphase_new();return this.__wbg_ptr=I>>>0,oA.register(this,this.__wbg_ptr,this),this}contact_pairs_with(I,g){A.rawnarrowphase_contact_pairs_with(this.__wbg_ptr,I,Q(g))}contact_pair(I,g){const C=A.rawnarrowphase_contact_pair(this.__wbg_ptr,I,g);return 0===C?void 0:x.__wrap(C)}intersection_pairs_with(I,g){A.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr,I,Q(g))}intersection_pair(I,g){return 0!==A.rawnarrowphase_intersection_pair(this.__wbg_ptr,I,g)}}const GA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawphysicspipeline_free(I>>>0,1)));class KA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,GA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawphysicspipeline_free(I,0)}constructor(){const I=A.rawphysicspipeline_new();return this.__wbg_ptr=I>>>0,GA.register(this,this.__wbg_ptr,this),this}set_profiler_enabled(I){A.rawphysicspipeline_set_profiler_enabled(this.__wbg_ptr,I)}is_profiler_enabled(){return 0!==A.rawphysicspipeline_is_profiler_enabled(this.__wbg_ptr)}timing_step(){return A.rawphysicspipeline_timing_step(this.__wbg_ptr)}timing_collision_detection(){return A.rawphysicspipeline_timing_collision_detection(this.__wbg_ptr)}timing_broad_phase(){return A.rawphysicspipeline_timing_broad_phase(this.__wbg_ptr)}timing_narrow_phase(){return A.rawphysicspipeline_timing_narrow_phase(this.__wbg_ptr)}timing_solver(){return A.rawphysicspipeline_timing_solver(this.__wbg_ptr)}timing_velocity_assembly(){return A.rawphysicspipeline_timing_velocity_assembly(this.__wbg_ptr)}timing_velocity_resolution(){return A.rawphysicspipeline_timing_velocity_resolution(this.__wbg_ptr)}timing_velocity_update(){return A.rawphysicspipeline_timing_velocity_update(this.__wbg_ptr)}timing_velocity_writeback(){return A.rawphysicspipeline_timing_velocity_writeback(this.__wbg_ptr)}timing_ccd(){return A.rawphysicspipeline_timing_ccd(this.__wbg_ptr)}timing_ccd_toi_computation(){return A.rawphysicspipeline_timing_ccd_toi_computation(this.__wbg_ptr)}timing_ccd_broad_phase(){return A.rawphysicspipeline_timing_ccd_broad_phase(this.__wbg_ptr)}timing_ccd_narrow_phase(){return A.rawphysicspipeline_timing_ccd_narrow_phase(this.__wbg_ptr)}timing_ccd_solver(){return A.rawphysicspipeline_timing_ccd_solver(this.__wbg_ptr)}timing_island_construction(){return A.rawphysicspipeline_timing_island_construction(this.__wbg_ptr)}timing_user_changes(){return A.rawphysicspipeline_timing_user_changes(this.__wbg_ptr)}step(I,g,C,Q,B,E,i,D,o,w){h(I,fA),h(g,gA),h(C,QA),h(Q,H),h(B,wA),h(E,YA),h(i,d),h(D,AA),h(o,DA),h(w,l),A.rawphysicspipeline_step(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr,w.__wbg_ptr)}stepWithEvents(I,g,C,B,E,i,D,o,w,G,K,N,S,k){h(I,fA),h(g,gA),h(C,QA),h(B,H),h(E,wA),h(i,YA),h(D,d),h(o,AA),h(w,DA),h(G,l),h(K,u),A.rawphysicspipeline_stepWithEvents(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr,w.__wbg_ptr,G.__wbg_ptr,K.__wbg_ptr,Q(N),Q(S),Q(k))}}const hA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpidcontroller_free(I>>>0,1)));class NA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,hA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpidcontroller_free(I,0)}constructor(I,g,C,Q){const B=A.rawpidcontroller_new(I,g,C,Q);return this.__wbg_ptr=B>>>0,hA.register(this,this.__wbg_ptr,this),this}set_kp(I,g){A.rawpidcontroller_set_kp(this.__wbg_ptr,I,g)}set_ki(I,g){A.rawpidcontroller_set_ki(this.__wbg_ptr,I,g)}set_kd(I,g){A.rawpidcontroller_set_kd(this.__wbg_ptr,I,g)}set_axes_mask(I){A.rawpidcontroller_set_axes_mask(this.__wbg_ptr,I)}reset_integrals(){A.rawpidcontroller_reset_integrals(this.__wbg_ptr)}apply_linear_correction(I,g,C,Q,B){h(g,YA),h(Q,fA),h(B,fA),A.rawpidcontroller_apply_linear_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B.__wbg_ptr)}apply_angular_correction(I,g,C,Q,B){h(g,YA),A.rawpidcontroller_apply_angular_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q,B)}linear_correction(I,g,C,Q,B){h(g,YA),h(Q,fA),h(B,fA);const E=A.rawpidcontroller_linear_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q.__wbg_ptr,B.__wbg_ptr);return fA.__wrap(E)}angular_correction(I,g,C,Q,B){h(g,YA);return A.rawpidcontroller_angular_correction(this.__wbg_ptr,I,g.__wbg_ptr,C,Q,B)}}const SA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpointcolliderprojection_free(I>>>0,1)));class kA{static __wrap(A){A>>>=0;const I=Object.create(kA.prototype);return I.__wbg_ptr=A,SA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,SA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpointcolliderprojection_free(I,0)}colliderHandle(){return A.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}point(){const I=A.rawpointcolliderprojection_point(this.__wbg_ptr);return fA.__wrap(I)}isInside(){return 0!==A.rawpointcolliderprojection_isInside(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const yA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawpointprojection_free(I>>>0,1)));class sA{static __wrap(A){A>>>=0;const I=Object.create(sA.prototype);return I.__wbg_ptr=A,yA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,yA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawpointprojection_free(I,0)}point(){const I=A.rawpointprojection_point(this.__wbg_ptr);return fA.__wrap(I)}isInside(){return 0!==A.rawpointprojection_isInside(this.__wbg_ptr)}}const FA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawraycolliderhit_free(I>>>0,1)));class aA{static __wrap(A){A>>>=0;const I=Object.create(aA.prototype);return I.__wbg_ptr=A,FA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,FA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawraycolliderhit_free(I,0)}colliderHandle(){return A.rawcollidershapecasthit_colliderHandle(this.__wbg_ptr)}timeOfImpact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}}const MA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawraycolliderintersection_free(I>>>0,1)));class JA{static __wrap(A){A>>>=0;const I=Object.create(JA.prototype);return I.__wbg_ptr=A,MA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,MA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawraycolliderintersection_free(I,0)}colliderHandle(){return A.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}normal(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const UA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrayintersection_free(I>>>0,1)));class RA{static __wrap(A){A>>>=0;const I=Object.create(RA.prototype);return I.__wbg_ptr=A,UA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,UA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrayintersection_free(I,0)}normal(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}time_of_impact(){return A.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return A.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){const I=A.rawpointcolliderprojection_featureId(this.__wbg_ptr);return 4294967297===I?void 0:I}}const cA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrigidbodyset_free(I>>>0,1)));class YA{static __wrap(A){A>>>=0;const I=Object.create(YA.prototype);return I.__wbg_ptr=A,cA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,cA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrigidbodyset_free(I,0)}rbTranslation(I){const g=A.rawrigidbodyset_rbTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}rbRotation(I){const g=A.rawrigidbodyset_rbRotation(this.__wbg_ptr,I);return qA.__wrap(g)}rbSleep(I){A.rawrigidbodyset_rbSleep(this.__wbg_ptr,I)}rbIsSleeping(I){return 0!==A.rawrigidbodyset_rbIsSleeping(this.__wbg_ptr,I)}rbIsMoving(I){return 0!==A.rawrigidbodyset_rbIsMoving(this.__wbg_ptr,I)}rbNextTranslation(I){const g=A.rawrigidbodyset_rbNextTranslation(this.__wbg_ptr,I);return fA.__wrap(g)}rbNextRotation(I){const g=A.rawrigidbodyset_rbNextRotation(this.__wbg_ptr,I);return qA.__wrap(g)}rbSetTranslation(I,g,C,Q){A.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr,I,g,C,Q)}rbSetRotation(I,g,C){A.rawrigidbodyset_rbSetRotation(this.__wbg_ptr,I,g,C)}rbSetLinvel(I,g,C){h(g,fA),A.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr,I,g.__wbg_ptr,C)}rbSetAngvel(I,g,C){A.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr,I,g,C)}rbSetNextKinematicTranslation(I,g,C){A.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr,I,g,C)}rbSetNextKinematicRotation(I,g){A.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr,I,g)}rbRecomputeMassPropertiesFromColliders(I,g){h(g,d),A.rawrigidbodyset_rbRecomputeMassPropertiesFromColliders(this.__wbg_ptr,I,g.__wbg_ptr)}rbSetAdditionalMass(I,g,C){A.rawrigidbodyset_rbSetAdditionalMass(this.__wbg_ptr,I,g,C)}rbSetAdditionalMassProperties(I,g,C,Q,B){h(C,fA),A.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr,I,g,C.__wbg_ptr,Q,B)}rbLinvel(I){const g=A.rawrigidbodyset_rbLinvel(this.__wbg_ptr,I);return fA.__wrap(g)}rbAngvel(I){return A.rawrigidbodyset_rbAngvel(this.__wbg_ptr,I)}rbVelocityAtPoint(I,g){h(g,fA);const C=A.rawrigidbodyset_rbVelocityAtPoint(this.__wbg_ptr,I,g.__wbg_ptr);return fA.__wrap(C)}rbLockTranslations(I,g,C){A.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr,I,g,C)}rbSetEnabledTranslations(I,g,C,Q){A.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr,I,g,C,Q)}rbLockRotations(I,g,C){A.rawrigidbodyset_rbLockRotations(this.__wbg_ptr,I,g,C)}rbDominanceGroup(I){return A.rawrigidbodyset_rbDominanceGroup(this.__wbg_ptr,I)}rbSetDominanceGroup(I,g){A.rawrigidbodyset_rbSetDominanceGroup(this.__wbg_ptr,I,g)}rbEnableCcd(I,g){A.rawrigidbodyset_rbEnableCcd(this.__wbg_ptr,I,g)}rbSetSoftCcdPrediction(I,g){A.rawrigidbodyset_rbSetSoftCcdPrediction(this.__wbg_ptr,I,g)}rbMass(I){return A.rawrigidbodyset_rbMass(this.__wbg_ptr,I)}rbInvMass(I){return A.rawrigidbodyset_rbInvMass(this.__wbg_ptr,I)}rbEffectiveInvMass(I){const g=A.rawrigidbodyset_rbEffectiveInvMass(this.__wbg_ptr,I);return fA.__wrap(g)}rbLocalCom(I){const g=A.rawrigidbodyset_rbLocalCom(this.__wbg_ptr,I);return fA.__wrap(g)}rbWorldCom(I){const g=A.rawrigidbodyset_rbWorldCom(this.__wbg_ptr,I);return fA.__wrap(g)}rbInvPrincipalInertia(I){return A.rawrigidbodyset_rbInvPrincipalInertia(this.__wbg_ptr,I)}rbPrincipalInertia(I){return A.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr,I)}rbEffectiveWorldInvInertia(I){return A.rawrigidbodyset_rbEffectiveWorldInvInertia(this.__wbg_ptr,I)}rbEffectiveAngularInertia(I){return A.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr,I)}rbWakeUp(I){A.rawrigidbodyset_rbWakeUp(this.__wbg_ptr,I)}rbIsCcdEnabled(I){return 0!==A.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr,I)}rbSoftCcdPrediction(I){return A.rawrigidbodyset_rbSoftCcdPrediction(this.__wbg_ptr,I)}rbNumColliders(I){return A.rawrigidbodyset_rbNumColliders(this.__wbg_ptr,I)>>>0}rbCollider(I,g){return A.rawrigidbodyset_rbCollider(this.__wbg_ptr,I,g)}rbBodyType(I){return A.rawrigidbodyset_rbBodyType(this.__wbg_ptr,I)}rbSetBodyType(I,g,C){A.rawrigidbodyset_rbSetBodyType(this.__wbg_ptr,I,g,C)}rbIsFixed(I){return 0!==A.rawrigidbodyset_rbIsFixed(this.__wbg_ptr,I)}rbIsKinematic(I){return 0!==A.rawrigidbodyset_rbIsKinematic(this.__wbg_ptr,I)}rbIsDynamic(I){return 0!==A.rawrigidbodyset_rbIsDynamic(this.__wbg_ptr,I)}rbLinearDamping(I){return A.rawrigidbodyset_rbLinearDamping(this.__wbg_ptr,I)}rbAngularDamping(I){return A.rawrigidbodyset_rbAngularDamping(this.__wbg_ptr,I)}rbSetLinearDamping(I,g){A.rawrigidbodyset_rbSetLinearDamping(this.__wbg_ptr,I,g)}rbSetAngularDamping(I,g){A.rawrigidbodyset_rbSetAngularDamping(this.__wbg_ptr,I,g)}rbSetEnabled(I,g){A.rawrigidbodyset_rbSetEnabled(this.__wbg_ptr,I,g)}rbIsEnabled(I){return 0!==A.rawrigidbodyset_rbIsEnabled(this.__wbg_ptr,I)}rbGravityScale(I){return A.rawrigidbodyset_rbGravityScale(this.__wbg_ptr,I)}rbSetGravityScale(I,g,C){A.rawrigidbodyset_rbSetGravityScale(this.__wbg_ptr,I,g,C)}rbResetForces(I,g){A.rawrigidbodyset_rbResetForces(this.__wbg_ptr,I,g)}rbResetTorques(I,g){A.rawrigidbodyset_rbResetTorques(this.__wbg_ptr,I,g)}rbAddForce(I,g,C){h(g,fA),A.rawrigidbodyset_rbAddForce(this.__wbg_ptr,I,g.__wbg_ptr,C)}rbApplyImpulse(I,g,C){h(g,fA),A.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr,I,g.__wbg_ptr,C)}rbAddTorque(I,g,C){A.rawrigidbodyset_rbAddTorque(this.__wbg_ptr,I,g,C)}rbApplyTorqueImpulse(I,g,C){A.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr,I,g,C)}rbAddForceAtPoint(I,g,C,Q){h(g,fA),h(C,fA),A.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}rbApplyImpulseAtPoint(I,g,C,Q){h(g,fA),h(C,fA),A.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q)}rbAdditionalSolverIterations(I){return A.rawrigidbodyset_rbAdditionalSolverIterations(this.__wbg_ptr,I)>>>0}rbSetAdditionalSolverIterations(I,g){A.rawrigidbodyset_rbSetAdditionalSolverIterations(this.__wbg_ptr,I,g)}rbUserData(I){return A.rawrigidbodyset_rbUserData(this.__wbg_ptr,I)>>>0}rbSetUserData(I,g){A.rawrigidbodyset_rbSetUserData(this.__wbg_ptr,I,g)}rbUserForce(I){const g=A.rawrigidbodyset_rbUserForce(this.__wbg_ptr,I);return fA.__wrap(g)}rbUserTorque(I){return A.rawrigidbodyset_rbUserTorque(this.__wbg_ptr,I)}constructor(){const I=A.rawrigidbodyset_new();return this.__wbg_ptr=I>>>0,cA.register(this,this.__wbg_ptr,this),this}createRigidBody(I,g,C,Q,B,E,i,D,o,w,G,K,N,S,k,y,s,F,a,M,J,U){h(g,fA),h(C,qA),h(i,fA),h(D,fA);return A.rawrigidbodyset_createRigidBody(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q,B,E,i.__wbg_ptr,D.__wbg_ptr,o,w,G,K,N,S,k,y,s,F,a,M,J,U)}remove(I,g,C,Q,B){h(g,QA),h(C,d),h(Q,AA),h(B,DA),A.rawrigidbodyset_remove(this.__wbg_ptr,I,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr)}len(){return A.rawrigidbodyset_len(this.__wbg_ptr)>>>0}contains(I){return 0!==A.rawrigidbodyset_contains(this.__wbg_ptr,I)}forEachRigidBodyHandle(g){try{A.rawrigidbodyset_forEachRigidBodyHandle(this.__wbg_ptr,S(g))}finally{I[N++]=void 0}}propagateModifiedBodyPositionsToColliders(I){h(I,d),A.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr,I.__wbg_ptr)}}const LA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawrotation_free(I>>>0,1)));class qA{static __wrap(A){A>>>=0;const I=Object.create(qA.prototype);return I.__wbg_ptr=A,LA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,LA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawrotation_free(I,0)}static identity(){const I=A.rawrotation_identity();return qA.__wrap(I)}static fromAngle(I){const g=A.rawrotation_fromAngle(I);return qA.__wrap(g)}get im(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}get re(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}get angle(){return A.rawrotation_angle(this.__wbg_ptr)}}const tA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawserializationpipeline_free(I>>>0,1)));class HA{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,tA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawserializationpipeline_free(I,0)}constructor(){const I=A.rawccdsolver_new();return this.__wbg_ptr=I>>>0,tA.register(this,this.__wbg_ptr,this),this}serializeAll(I,g,C,Q,B,E,i,D,o){h(I,fA),h(g,gA),h(C,QA),h(Q,H),h(B,wA),h(E,YA),h(i,d),h(D,AA),h(o,DA);return K(A.rawserializationpipeline_serializeAll(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D.__wbg_ptr,o.__wbg_ptr))}deserializeAll(I){const g=A.rawserializationpipeline_deserializeAll(this.__wbg_ptr,Q(I));return 0===g?void 0:V.__wrap(g)}}const rA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshape_free(I>>>0,1)));class lA{static __wrap(A){A>>>=0;const I=Object.create(lA.prototype);return I.__wbg_ptr=A,rA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,rA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshape_free(I,0)}static cuboid(I,g){const C=A.rawshape_cuboid(I,g);return lA.__wrap(C)}static roundCuboid(I,g,C){const Q=A.rawshape_roundCuboid(I,g,C);return lA.__wrap(Q)}static ball(I){const g=A.rawshape_ball(I);return lA.__wrap(g)}static halfspace(I){h(I,fA);const g=A.rawshape_halfspace(I.__wbg_ptr);return lA.__wrap(g)}static capsule(I,g){const C=A.rawshape_capsule(I,g);return lA.__wrap(C)}static voxels(I,g){h(I,fA);const C=R(g,A.__wbindgen_export_2),Q=U,B=A.rawshape_voxels(I.__wbg_ptr,C,Q);return lA.__wrap(B)}static voxelsFromPoints(I,g){h(I,fA);const C=c(g,A.__wbindgen_export_2),Q=U,B=A.rawshape_voxelsFromPoints(I.__wbg_ptr,C,Q);return lA.__wrap(B)}static polyline(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=R(g,A.__wbindgen_export_2),E=U,i=A.rawshape_polyline(C,Q,B,E);return lA.__wrap(i)}static trimesh(I,g,C){const Q=c(I,A.__wbindgen_export_2),B=U,E=R(g,A.__wbindgen_export_2),i=U,D=A.rawshape_trimesh(Q,B,E,i,C);return 0===D?void 0:lA.__wrap(D)}static heightfield(I,g){const C=c(I,A.__wbindgen_export_2),Q=U;h(g,fA);const B=A.rawshape_heightfield(C,Q,g.__wbg_ptr);return lA.__wrap(B)}static segment(I,g){h(I,fA),h(g,fA);const C=A.rawshape_segment(I.__wbg_ptr,g.__wbg_ptr);return lA.__wrap(C)}static triangle(I,g,C){h(I,fA),h(g,fA),h(C,fA);const Q=A.rawshape_triangle(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr);return lA.__wrap(Q)}static roundTriangle(I,g,C,Q){h(I,fA),h(g,fA),h(C,fA);const B=A.rawshape_roundTriangle(I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q);return lA.__wrap(B)}static convexHull(I){const g=c(I,A.__wbindgen_export_2),C=U,Q=A.rawshape_convexHull(g,C);return 0===Q?void 0:lA.__wrap(Q)}static roundConvexHull(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=A.rawshape_roundConvexHull(C,Q,g);return 0===B?void 0:lA.__wrap(B)}static convexPolyline(I){const g=c(I,A.__wbindgen_export_2),C=U,Q=A.rawshape_convexPolyline(g,C);return 0===Q?void 0:lA.__wrap(Q)}static roundConvexPolyline(I,g){const C=c(I,A.__wbindgen_export_2),Q=U,B=A.rawshape_roundConvexPolyline(C,Q,g);return 0===B?void 0:lA.__wrap(B)}castShape(I,g,C,Q,B,E,i,D,o,w){h(I,fA),h(g,qA),h(C,fA),h(Q,lA),h(B,fA),h(E,qA),h(i,fA);const G=A.rawshape_castShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E.__wbg_ptr,i.__wbg_ptr,D,o,w);return 0===G?void 0:pA.__wrap(G)}intersectsShape(I,g,C,Q,B){h(I,fA),h(g,qA),h(C,lA),h(Q,fA),h(B,qA);return 0!==A.rawshape_intersectsShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr)}contactShape(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,lA),h(Q,fA),h(B,qA);const i=A.rawshape_contactShape(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B.__wbg_ptr,E);return 0===i?void 0:dA.__wrap(i)}containsPoint(I,g,C){h(I,fA),h(g,qA),h(C,fA);return 0!==A.rawshape_containsPoint(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr)}projectPoint(I,g,C,Q){h(I,fA),h(g,qA),h(C,fA);const B=A.rawshape_projectPoint(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q);return sA.__wrap(B)}intersectsRay(I,g,C,Q,B){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);return 0!==A.rawshape_intersectsRay(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B)}castRay(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);return A.rawshape_castRay(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E)}castRayAndGetNormal(I,g,C,Q,B,E){h(I,fA),h(g,qA),h(C,fA),h(Q,fA);const i=A.rawshape_castRayAndGetNormal(this.__wbg_ptr,I.__wbg_ptr,g.__wbg_ptr,C.__wbg_ptr,Q.__wbg_ptr,B,E);return 0===i?void 0:RA.__wrap(i)}}const eA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshapecasthit_free(I>>>0,1)));class pA{static __wrap(A){A>>>=0;const I=Object.create(pA.prototype);return I.__wbg_ptr=A,eA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,eA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshapecasthit_free(I,0)}time_of_impact(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}witness1(){const I=A.rawshapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}witness2(){const I=A.rawcollidershapecasthit_witness1(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcollidershapecasthit_witness2(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcollidershapecasthit_normal1(this.__wbg_ptr);return fA.__wrap(I)}}const nA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawshapecontact_free(I>>>0,1)));class dA{static __wrap(A){A>>>=0;const I=Object.create(dA.prototype);return I.__wbg_ptr=A,nA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,nA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawshapecontact_free(I,0)}distance(){return A.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}point1(){const I=A.rawpointprojection_point(this.__wbg_ptr);return fA.__wrap(I)}point2(){const I=A.rawpointcolliderprojection_point(this.__wbg_ptr);return fA.__wrap(I)}normal1(){const I=A.rawcontactforceevent_total_force(this.__wbg_ptr);return fA.__wrap(I)}normal2(){const I=A.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return fA.__wrap(I)}}const bA=\"undefined\"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((I=>A.__wbg_rawvector_free(I>>>0,1)));class fA{static __wrap(A){A>>>=0;const I=Object.create(fA.prototype);return I.__wbg_ptr=A,bA.register(I,I.__wbg_ptr,I),I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,bA.unregister(this),A}free(){const I=this.__destroy_into_raw();A.__wbg_rawvector_free(I,0)}static zero(){const I=A.rawvector_zero();return fA.__wrap(I)}constructor(I,g){const C=A.rawvector_new(I,g);return this.__wbg_ptr=C>>>0,bA.register(this,this.__wbg_ptr,this),this}get x(){return A.rawintegrationparameters_dt(this.__wbg_ptr)}set x(I){A.rawintegrationparameters_set_dt(this.__wbg_ptr,I)}get y(){return A.rawkinematiccharactercontroller_offset(this.__wbg_ptr)}set y(I){A.rawvector_set_y(this.__wbg_ptr,I)}xy(){const I=A.rawvector_xy(this.__wbg_ptr);return fA.__wrap(I)}yx(){const I=A.rawvector_yx(this.__wbg_ptr);return fA.__wrap(I)}}async function TA(I){if(void 0!==A)return A;void 0!==I&&(Object.getPrototypeOf(I)===Object.prototype?({module_or_path:I}=I):console.warn(\"using deprecated parameters for the initialization function; pass a single object instead\")),void 0===I&&(I=new URL(\"rapier_wasm2d_bg.wasm\",\"\"));const C=function(){const I={wbg:{}};return I.wbg.__wbg_bind_c8359b1cba058168=function(A,I,C,B){return Q(g(A).bind(g(I),g(C),g(B)))},I.wbg.__wbg_buffer_609cc3eee51ed158=function(A){return Q(g(A).buffer)},I.wbg.__wbg_call_672a4d21634d4a24=function(){return B((function(A,I){return Q(g(A).call(g(I)))}),arguments)},I.wbg.__wbg_call_7cccdd69e0791ae2=function(){return B((function(A,I,C){return Q(g(A).call(g(I),g(C)))}),arguments)},I.wbg.__wbg_call_833bed5770ea2041=function(){return B((function(A,I,C,B){return Q(g(A).call(g(I),g(C),g(B)))}),arguments)},I.wbg.__wbg_call_b8adc8b1d0a0d8eb=function(){return B((function(A,I,C,B,E){return Q(g(A).call(g(I),g(C),g(B),g(E)))}),arguments)},I.wbg.__wbg_length_3b4f022188ae8db6=function(A){return g(A).length},I.wbg.__wbg_length_a446193dc22c12f8=function(A){return g(A).length},I.wbg.__wbg_new_a12002a7f91c75be=function(A){return Q(new Uint8Array(g(A)))},I.wbg.__wbg_newnoargs_105ed471475aaf50=function(A,I){return Q(new Function(D(A,I)))},I.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a=function(A,I,C){return Q(new Uint8Array(g(A),I>>>0,C>>>0))},I.wbg.__wbg_newwithbyteoffsetandlength_e6b7e69acd4c7354=function(A,I,C){return Q(new Float32Array(g(A),I>>>0,C>>>0))},I.wbg.__wbg_newwithlength_5a5efe313cfd59f1=function(A){return Q(new Float32Array(A>>>0))},I.wbg.__wbg_now_2c95c9de01293173=function(A){return g(A).now()},I.wbg.__wbg_performance_7a3ffd0b17f663ad=function(A){return Q(g(A).performance)},I.wbg.__wbg_rawcontactforceevent_new=function(A){return Q(Z.__wrap(A))},I.wbg.__wbg_rawraycolliderintersection_new=function(A){return Q(JA.__wrap(A))},I.wbg.__wbg_set_10bad9bee0e9c58b=function(A,I,C){g(A).set(g(I),C>>>0)},I.wbg.__wbg_set_65595bdd868b3009=function(A,I,C){g(A).set(g(I),C>>>0)},I.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07=function(){const A=\"undefined\"==typeof global?null:global;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0=function(){const A=\"undefined\"==typeof globalThis?null:globalThis;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819=function(){const A=\"undefined\"==typeof self?null:self;return o(A)?0:Q(A)},I.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40=function(){const A=\"undefined\"==typeof window?null:window;return o(A)?0:Q(A)},I.wbg.__wbindgen_boolean_get=function(A){const I=g(A);return\"boolean\"==typeof I?I?1:0:2},I.wbg.__wbindgen_is_function=function(A){return\"function\"==typeof g(A)},I.wbg.__wbindgen_is_undefined=function(A){return void 0===g(A)},I.wbg.__wbindgen_memory=function(){return Q(A.memory)},I.wbg.__wbindgen_number_get=function(A,I){const C=g(I),Q=\"number\"==typeof C?C:void 0;G().setFloat64(A+8,o(Q)?0:Q,!0),G().setInt32(A+0,!o(Q),!0)},I.wbg.__wbindgen_number_new=function(A){return Q(A)},I.wbg.__wbindgen_object_clone_ref=function(A){return Q(g(A))},I.wbg.__wbindgen_object_drop_ref=function(A){K(A)},I.wbg.__wbindgen_throw=function(A,I){throw new Error(D(A,I))},I}();(\"string\"==typeof I||\"function\"==typeof Request&&I instanceof Request||\"function\"==typeof URL&&I instanceof URL)&&(I=fetch(I));const{instance:E,module:h}=await async function(A,I){if(\"function\"==typeof Response&&A instanceof Response){if(\"function\"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,I)}catch(I){if(\"application/wasm\"==A.headers.get(\"Content-Type\"))throw I;console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",I)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,I)}{const g=await WebAssembly.instantiate(A,I);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}(await I,C);return function(I,g){return A=I.exports,TA.__wbindgen_wasm_module=g,w=null,s=null,k=null,M=null,i=null,A}(E,h)}class ZA{constructor(A,I){this.x=A,this.y=I}}class OA{static new(A,I){return new ZA(A,I)}static zeros(){return OA.new(0,0)}static fromRaw(A){if(!A)return null;let I=OA.new(A.x,A.y);return A.free(),I}static intoRaw(A){return new fA(A.x,A.y)}static copy(A,I){A.x=I.x,A.y=I.y}}class WA{static identity(){return 0}static fromRaw(A){if(!A)return null;let I=A.angle;return A.free(),I}static intoRaw(A){return qA.fromAngle(A)}}var jA,xA,XA,mA,vA,VA,PA,uA,zA,_A,$A,AI,II,gI,CI;!function(A){A[A.Dynamic=0]=\"Dynamic\",A[A.Fixed=1]=\"Fixed\",A[A.KinematicPositionBased=2]=\"KinematicPositionBased\",A[A.KinematicVelocityBased=3]=\"KinematicVelocityBased\"}(jA||(jA={}));class QI{constructor(A,I,g){this.rawSet=A,this.colliderSet=I,this.handle=g}finalizeDeserialization(A){this.colliderSet=A}isValid(){return this.rawSet.contains(this.handle)}lockTranslations(A,I){return this.rawSet.rbLockTranslations(this.handle,A,I)}lockRotations(A,I){return this.rawSet.rbLockRotations(this.handle,A,I)}setEnabledTranslations(A,I,g){return this.rawSet.rbSetEnabledTranslations(this.handle,A,I,g)}restrictTranslations(A,I,g){this.setEnabledTranslations(A,A,g)}dominanceGroup(){return this.rawSet.rbDominanceGroup(this.handle)}setDominanceGroup(A){this.rawSet.rbSetDominanceGroup(this.handle,A)}additionalSolverIterations(){return this.rawSet.rbAdditionalSolverIterations(this.handle)}setAdditionalSolverIterations(A){this.rawSet.rbSetAdditionalSolverIterations(this.handle,A)}enableCcd(A){this.rawSet.rbEnableCcd(this.handle,A)}setSoftCcdPrediction(A){this.rawSet.rbSetSoftCcdPrediction(this.handle,A)}softCcdPrediction(){return this.rawSet.rbSoftCcdPrediction(this.handle)}translation(){let A=this.rawSet.rbTranslation(this.handle);return OA.fromRaw(A)}rotation(){let A=this.rawSet.rbRotation(this.handle);return WA.fromRaw(A)}nextTranslation(){let A=this.rawSet.rbNextTranslation(this.handle);return OA.fromRaw(A)}nextRotation(){let A=this.rawSet.rbNextRotation(this.handle);return WA.fromRaw(A)}setTranslation(A,I){this.rawSet.rbSetTranslation(this.handle,A.x,A.y,I)}setLinvel(A,I){let g=OA.intoRaw(A);this.rawSet.rbSetLinvel(this.handle,g,I),g.free()}gravityScale(){return this.rawSet.rbGravityScale(this.handle)}setGravityScale(A,I){this.rawSet.rbSetGravityScale(this.handle,A,I)}setRotation(A,I){this.rawSet.rbSetRotation(this.handle,A,I)}setAngvel(A,I){this.rawSet.rbSetAngvel(this.handle,A,I)}setNextKinematicTranslation(A){this.rawSet.rbSetNextKinematicTranslation(this.handle,A.x,A.y)}setNextKinematicRotation(A){this.rawSet.rbSetNextKinematicRotation(this.handle,A)}linvel(){return OA.fromRaw(this.rawSet.rbLinvel(this.handle))}velocityAtPoint(A){const I=OA.intoRaw(A);let g=OA.fromRaw(this.rawSet.rbVelocityAtPoint(this.handle,I));return I.free(),g}angvel(){return this.rawSet.rbAngvel(this.handle)}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return OA.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return OA.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return OA.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertia(){return this.rawSet.rbInvPrincipalInertia(this.handle)}principalInertia(){return this.rawSet.rbPrincipalInertia(this.handle)}effectiveWorldInvInertia(){return this.rawSet.rbEffectiveWorldInvInertia(this.handle)}effectiveAngularInertia(){return this.rawSet.rbEffectiveAngularInertia(this.handle)}sleep(){this.rawSet.rbSleep(this.handle)}wakeUp(){this.rawSet.rbWakeUp(this.handle)}isCcdEnabled(){return this.rawSet.rbIsCcdEnabled(this.handle)}numColliders(){return this.rawSet.rbNumColliders(this.handle)}collider(A){return this.colliderSet.get(this.rawSet.rbCollider(this.handle,A))}setEnabled(A){this.rawSet.rbSetEnabled(this.handle,A)}isEnabled(){return this.rawSet.rbIsEnabled(this.handle)}bodyType(){return this.rawSet.rbBodyType(this.handle)}setBodyType(A,I){return this.rawSet.rbSetBodyType(this.handle,A,I)}isSleeping(){return this.rawSet.rbIsSleeping(this.handle)}isMoving(){return this.rawSet.rbIsMoving(this.handle)}isFixed(){return this.rawSet.rbIsFixed(this.handle)}isKinematic(){return this.rawSet.rbIsKinematic(this.handle)}isDynamic(){return this.rawSet.rbIsDynamic(this.handle)}linearDamping(){return this.rawSet.rbLinearDamping(this.handle)}angularDamping(){return this.rawSet.rbAngularDamping(this.handle)}setLinearDamping(A){this.rawSet.rbSetLinearDamping(this.handle,A)}recomputeMassPropertiesFromColliders(){this.rawSet.rbRecomputeMassPropertiesFromColliders(this.handle,this.colliderSet.raw)}setAdditionalMass(A,I){this.rawSet.rbSetAdditionalMass(this.handle,A,I)}setAdditionalMassProperties(A,I,g,C){let Q=OA.intoRaw(I);this.rawSet.rbSetAdditionalMassProperties(this.handle,A,Q,g,C),Q.free()}setAngularDamping(A){this.rawSet.rbSetAngularDamping(this.handle,A)}resetForces(A){this.rawSet.rbResetForces(this.handle,A)}resetTorques(A){this.rawSet.rbResetTorques(this.handle,A)}addForce(A,I){const g=OA.intoRaw(A);this.rawSet.rbAddForce(this.handle,g,I),g.free()}applyImpulse(A,I){const g=OA.intoRaw(A);this.rawSet.rbApplyImpulse(this.handle,g,I),g.free()}addTorque(A,I){this.rawSet.rbAddTorque(this.handle,A,I)}applyTorqueImpulse(A,I){this.rawSet.rbApplyTorqueImpulse(this.handle,A,I)}addForceAtPoint(A,I,g){const C=OA.intoRaw(A),Q=OA.intoRaw(I);this.rawSet.rbAddForceAtPoint(this.handle,C,Q,g),C.free(),Q.free()}applyImpulseAtPoint(A,I,g){const C=OA.intoRaw(A),Q=OA.intoRaw(I);this.rawSet.rbApplyImpulseAtPoint(this.handle,C,Q,g),C.free(),Q.free()}userForce(){return OA.fromRaw(this.rawSet.rbUserForce(this.handle))}userTorque(){return this.rawSet.rbUserTorque(this.handle)}}class BI{constructor(A){this.enabled=!0,this.status=A,this.translation=OA.zeros(),this.rotation=WA.identity(),this.gravityScale=1,this.linvel=OA.zeros(),this.mass=0,this.massOnly=!1,this.centerOfMass=OA.zeros(),this.translationsEnabledX=!0,this.translationsEnabledY=!0,this.angvel=0,this.principalAngularInertia=0,this.rotationsEnabled=!0,this.linearDamping=0,this.angularDamping=0,this.canSleep=!0,this.sleeping=!1,this.ccdEnabled=!1,this.softCcdPrediction=0,this.dominanceGroup=0,this.additionalSolverIterations=0}static dynamic(){return new BI(jA.Dynamic)}static kinematicPositionBased(){return new BI(jA.KinematicPositionBased)}static kinematicVelocityBased(){return new BI(jA.KinematicVelocityBased)}static fixed(){return new BI(jA.Fixed)}static newDynamic(){return new BI(jA.Dynamic)}static newKinematicPositionBased(){return new BI(jA.KinematicPositionBased)}static newKinematicVelocityBased(){return new BI(jA.KinematicVelocityBased)}static newStatic(){return new BI(jA.Fixed)}setDominanceGroup(A){return this.dominanceGroup=A,this}setAdditionalSolverIterations(A){return this.additionalSolverIterations=A,this}setEnabled(A){return this.enabled=A,this}setTranslation(A,I){if(\"number\"!=typeof A||\"number\"!=typeof I)throw TypeError(\"The translation components must be numbers.\");return this.translation={x:A,y:I},this}setRotation(A){return this.rotation=A,this}setGravityScale(A){return this.gravityScale=A,this}setAdditionalMass(A){return this.mass=A,this.massOnly=!0,this}setLinvel(A,I){if(\"number\"!=typeof A||\"number\"!=typeof I)throw TypeError(\"The linvel components must be numbers.\");return this.linvel={x:A,y:I},this}setAngvel(A){return this.angvel=A,this}setAdditionalMassProperties(A,I,g){return this.mass=A,OA.copy(this.centerOfMass,I),this.principalAngularInertia=g,this.massOnly=!1,this}enabledTranslations(A,I){return this.translationsEnabledX=A,this.translationsEnabledY=I,this}restrictTranslations(A,I){return this.enabledTranslations(A,I)}lockTranslations(){return this.restrictTranslations(!1,!1)}lockRotations(){return this.rotationsEnabled=!1,this}setLinearDamping(A){return this.linearDamping=A,this}setAngularDamping(A){return this.angularDamping=A,this}setCanSleep(A){return this.canSleep=A,this}setSleeping(A){return this.sleeping=A,this}setCcdEnabled(A){return this.ccdEnabled=A,this}setSoftCcdPrediction(A){return this.softCcdPrediction=A,this}setUserData(A){return this.userData=A,this}}class EI{constructor(){this.fconv=new Float64Array(1),this.uconv=new Uint32Array(this.fconv.buffer),this.data=new Array,this.size=0}set(A,I){let g=this.index(A);for(;this.data.length<=g;)this.data.push(null);null==this.data[g]&&(this.size+=1),this.data[g]=I}len(){return this.size}delete(A){let I=this.index(A);Inull!=A))}index(A){return this.fconv[0]=A,this.uconv[0]}}class iI{constructor(A){this.raw=A||new YA,this.map=new EI,A&&A.forEachRigidBodyHandle((I=>{this.map.set(I,new QI(A,null,I))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)))}createRigidBody(A,I){let g=OA.intoRaw(I.translation),C=WA.intoRaw(I.rotation),Q=OA.intoRaw(I.linvel),B=OA.intoRaw(I.centerOfMass),E=this.raw.createRigidBody(I.enabled,g,C,I.gravityScale,I.mass,I.massOnly,B,Q,I.angvel,I.principalAngularInertia,I.translationsEnabledX,I.translationsEnabledY,I.rotationsEnabled,I.linearDamping,I.angularDamping,I.status,I.canSleep,I.sleeping,I.softCcdPrediction,I.ccdEnabled,I.dominanceGroup,I.additionalSolverIterations);g.free(),C.free(),Q.free(),B.free();const i=new QI(this.raw,A,E);return i.userData=I.userData,this.map.set(E,i),i}remove(A,I,g,C,Q){for(let I=0;IC.unmap(A))),Q.forEachJointHandleAttachedToRigidBody(A,(A=>Q.unmap(A))),this.raw.remove(A,I.raw,g.raw,C.raw,Q.raw),this.map.delete(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachActiveRigidBody(A,I){A.forEachActiveRigidBodyHandle((A=>{I(this.get(A))}))}getAll(){return this.map.getAll()}}class DI{constructor(A){this.raw=A||new gA}free(){this.raw&&this.raw.free(),this.raw=void 0}get dt(){return this.raw.dt}get contact_erp(){return this.raw.contact_erp}get lengthUnit(){return this.raw.lengthUnit}get normalizedAllowedLinearError(){return this.raw.normalizedAllowedLinearError}get normalizedPredictionDistance(){return this.raw.normalizedPredictionDistance}get numSolverIterations(){return this.raw.numSolverIterations}get numInternalPgsIterations(){return this.raw.numInternalPgsIterations}get minIslandSize(){return this.raw.minIslandSize}get maxCcdSubsteps(){return this.raw.maxCcdSubsteps}set dt(A){this.raw.dt=A}set contact_natural_frequency(A){this.raw.contact_natural_frequency=A}set lengthUnit(A){this.raw.lengthUnit=A}set normalizedAllowedLinearError(A){this.raw.normalizedAllowedLinearError=A}set normalizedPredictionDistance(A){this.raw.normalizedPredictionDistance=A}set numSolverIterations(A){this.raw.numSolverIterations=A}set numInternalPgsIterations(A){this.raw.numInternalPgsIterations=A}set minIslandSize(A){this.raw.minIslandSize=A}set maxCcdSubsteps(A){this.raw.maxCcdSubsteps=A}}!function(A){A[A.Revolute=0]=\"Revolute\",A[A.Fixed=1]=\"Fixed\",A[A.Prismatic=2]=\"Prismatic\",A[A.Rope=3]=\"Rope\",A[A.Spring=4]=\"Spring\"}(xA||(xA={})),function(A){A[A.AccelerationBased=0]=\"AccelerationBased\",A[A.ForceBased=1]=\"ForceBased\"}(XA||(XA={})),function(A){A[A.LinX=1]=\"LinX\",A[A.LinY=2]=\"LinY\",A[A.LinZ=4]=\"LinZ\",A[A.AngX=8]=\"AngX\",A[A.AngY=16]=\"AngY\",A[A.AngZ=32]=\"AngZ\"}(mA||(mA={}));class oI{constructor(A,I,g){this.rawSet=A,this.bodySet=I,this.handle=g}static newTyped(A,I,g){switch(A.jointType(g)){case L.Revolute:return new SI(A,I,g);case L.Prismatic:return new NI(A,I,g);case L.Fixed:return new GI(A,I,g);case L.Spring:return new hI(A,I,g);case L.Rope:return new KI(A,I,g);default:return new oI(A,I,g)}}finalizeDeserialization(A){this.bodySet=A}isValid(){return this.rawSet.contains(this.handle)}body1(){return this.bodySet.get(this.rawSet.jointBodyHandle1(this.handle))}body2(){return this.bodySet.get(this.rawSet.jointBodyHandle2(this.handle))}type(){return this.rawSet.jointType(this.handle)}anchor1(){return OA.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return OA.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(A){const I=OA.intoRaw(A);this.rawSet.jointSetAnchor1(this.handle,I),I.free()}setAnchor2(A){const I=OA.intoRaw(A);this.rawSet.jointSetAnchor2(this.handle,I),I.free()}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class wI extends oI{limitsEnabled(){return this.rawSet.jointLimitsEnabled(this.handle,this.rawAxis())}limitsMin(){return this.rawSet.jointLimitsMin(this.handle,this.rawAxis())}limitsMax(){return this.rawSet.jointLimitsMax(this.handle,this.rawAxis())}setLimits(A,I){this.rawSet.jointSetLimits(this.handle,this.rawAxis(),A,I)}configureMotorModel(A){this.rawSet.jointConfigureMotorModel(this.handle,this.rawAxis(),A)}configureMotorVelocity(A,I){this.rawSet.jointConfigureMotorVelocity(this.handle,this.rawAxis(),A,I)}configureMotorPosition(A,I,g){this.rawSet.jointConfigureMotorPosition(this.handle,this.rawAxis(),A,I,g)}configureMotor(A,I,g,C){this.rawSet.jointConfigureMotor(this.handle,this.rawAxis(),A,I,g,C)}}class GI extends oI{}class KI extends oI{}class hI extends oI{}class NI extends wI{rawAxis(){return Y.LinX}}class SI extends wI{rawAxis(){return Y.AngX}}class kI{constructor(){}static fixed(A,I,g,C){let Q=new kI;return Q.anchor1=A,Q.anchor2=g,Q.frame1=I,Q.frame2=C,Q.jointType=xA.Fixed,Q}static spring(A,I,g,C,Q){let B=new kI;return B.anchor1=C,B.anchor2=Q,B.length=A,B.stiffness=I,B.damping=g,B.jointType=xA.Spring,B}static rope(A,I,g){let C=new kI;return C.anchor1=I,C.anchor2=g,C.length=A,C.jointType=xA.Rope,C}static revolute(A,I){let g=new kI;return g.anchor1=A,g.anchor2=I,g.jointType=xA.Revolute,g}static prismatic(A,I,g){let C=new kI;return C.anchor1=A,C.anchor2=I,C.axis=g,C.jointType=xA.Prismatic,C}intoRaw(){let A,I,g=OA.intoRaw(this.anchor1),C=OA.intoRaw(this.anchor2),Q=!1,B=0,E=0;switch(this.jointType){case xA.Fixed:let i=WA.intoRaw(this.frame1),D=WA.intoRaw(this.frame2);I=_.fixed(g,i,C,D),i.free(),D.free();break;case xA.Spring:I=_.spring(this.length,this.stiffness,this.damping,g,C);break;case xA.Rope:I=_.rope(this.length,g,C);break;case xA.Prismatic:A=OA.intoRaw(this.axis),this.limitsEnabled&&(Q=!0,B=this.limits[0],E=this.limits[1]),I=_.prismatic(g,C,A,Q,B,E),A.free();break;case xA.Revolute:I=_.revolute(g,C)}return g.free(),C.free(),I}}class yI{constructor(A){this.raw=A||new AA,this.map=new EI,A&&A.forEachJointHandle((I=>{this.map.set(I,oI.newTyped(A,null,I))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)))}createJoint(A,I,g,C,Q){const B=I.intoRaw(),E=this.raw.createJoint(B,g,C,Q);B.free();let i=oI.newTyped(this.raw,A,E);return this.map.set(E,i),i}remove(A,I){this.raw.remove(A,I),this.unmap(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}class sI{constructor(A,I){this.rawSet=A,this.handle=I}static newTyped(A,I){switch(A.jointType(I)){case L.Revolute:return new JI(A,I);case L.Prismatic:return new MI(A,I);case L.Fixed:return new aI(A,I);default:return new sI(A,I)}}isValid(){return this.rawSet.contains(this.handle)}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class FI extends sI{}class aI extends sI{}class MI extends FI{rawAxis(){return Y.LinX}}class JI extends FI{rawAxis(){return Y.AngX}}class UI{constructor(A){this.raw=A||new DA,this.map=new EI,A&&A.forEachJointHandle((A=>{this.map.set(A,sI.newTyped(this.raw,A))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}createJoint(A,I,g,C){const Q=A.intoRaw(),B=this.raw.createJoint(Q,I,g,C);Q.free();let E=sI.newTyped(this.raw,B);return this.map.set(B,E),E}remove(A,I){this.raw.remove(A,I),this.map.delete(A)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}getAll(){return this.map.getAll()}}!function(A){A[A.Average=0]=\"Average\",A[A.Min=1]=\"Min\",A[A.Multiply=2]=\"Multiply\",A[A.Max=3]=\"Max\"}(vA||(vA={}));class RI{constructor(A){this.raw=A||new l}free(){this.raw&&this.raw.free(),this.raw=void 0}}class cI{constructor(A){this.raw=A||new QA}free(){this.raw&&this.raw.free(),this.raw=void 0}forEachActiveRigidBodyHandle(A){this.raw.forEachActiveRigidBodyHandle(A)}}!function(A){A[A.Vertex=0]=\"Vertex\",A[A.Face=1]=\"Face\",A[A.Unknown=2]=\"Unknown\"}(VA||(VA={}));class YI{constructor(A,I){this.origin=A,this.dir=I}pointAt(A){return{x:this.origin.x+this.dir.x*A,y:this.origin.y+this.dir.y*A}}}class LI{constructor(A,I,g,C){this.featureType=VA.Unknown,this.featureId=void 0,this.timeOfImpact=A,this.normal=I,void 0!==C&&(this.featureId=C),void 0!==g&&(this.featureType=g)}static fromRaw(A){if(!A)return null;const I=new LI(A.time_of_impact(),OA.fromRaw(A.normal()),A.featureType(),A.featureId());return A.free(),I}}class qI{constructor(A,I,g,C,Q){this.featureType=VA.Unknown,this.featureId=void 0,this.collider=A,this.timeOfImpact=I,this.normal=g,void 0!==Q&&(this.featureId=Q),void 0!==C&&(this.featureType=C)}static fromRaw(A,I){if(!I)return null;const g=new qI(A.get(I.colliderHandle()),I.time_of_impact(),OA.fromRaw(I.normal()),I.featureType(),I.featureId());return I.free(),g}}class tI{constructor(A,I){this.collider=A,this.timeOfImpact=I}static fromRaw(A,I){if(!I)return null;const g=new tI(A.get(I.colliderHandle()),I.timeOfImpact());return I.free(),g}}class HI{constructor(A,I){this.point=A,this.isInside=I}static fromRaw(A){if(!A)return null;const I=new HI(OA.fromRaw(A.point()),A.isInside());return A.free(),I}}class rI{constructor(A,I,g,C,Q){this.featureType=VA.Unknown,this.featureId=void 0,this.collider=A,this.point=I,this.isInside=g,void 0!==Q&&(this.featureId=Q),void 0!==C&&(this.featureType=C)}static fromRaw(A,I){if(!I)return null;const g=new rI(A.get(I.colliderHandle()),OA.fromRaw(I.point()),I.isInside(),I.featureType(),I.featureId());return I.free(),g}}class lI{constructor(A,I,g,C,Q){this.time_of_impact=A,this.witness1=I,this.witness2=g,this.normal1=C,this.normal2=Q}static fromRaw(A,I){if(!I)return null;const g=new lI(I.time_of_impact(),OA.fromRaw(I.witness1()),OA.fromRaw(I.witness2()),OA.fromRaw(I.normal1()),OA.fromRaw(I.normal2()));return I.free(),g}}class eI extends lI{constructor(A,I,g,C,Q,B){super(I,g,C,Q,B),this.collider=A}static fromRaw(A,I){if(!I)return null;const g=new eI(A.get(I.colliderHandle()),I.time_of_impact(),OA.fromRaw(I.witness1()),OA.fromRaw(I.witness2()),OA.fromRaw(I.normal1()),OA.fromRaw(I.normal2()));return I.free(),g}}class pI{constructor(A){this.raw=A||new H}free(){this.raw&&this.raw.free(),this.raw=void 0}castRay(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C.origin),K=OA.intoRaw(C.dir),h=tI.fromRaw(g,this.raw.castRay(A.raw,I.raw,g.raw,G,K,Q,B,E,i,D,o,w));return G.free(),K.free(),h}castRayAndGetNormal(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C.origin),K=OA.intoRaw(C.dir),h=qI.fromRaw(g,this.raw.castRayAndGetNormal(A.raw,I.raw,g.raw,G,K,Q,B,E,i,D,o,w));return G.free(),K.free(),h}intersectionsWithRay(A,I,g,C,Q,B,E,i,D,o,w,G){let K=OA.intoRaw(C.origin),h=OA.intoRaw(C.dir);this.raw.intersectionsWithRay(A.raw,I.raw,g.raw,K,h,Q,B,(A=>E(qI.fromRaw(g,A))),i,D,o,w,G),K.free(),h.free()}intersectionWithShape(A,I,g,C,Q,B,E,i,D,o,w){let G=OA.intoRaw(C),K=WA.intoRaw(Q),h=B.intoRaw(),N=this.raw.intersectionWithShape(A.raw,I.raw,g.raw,G,K,h,E,i,D,o,w);return G.free(),K.free(),h.free(),N}projectPoint(A,I,g,C,Q,B,E,i,D,o){let w=OA.intoRaw(C),G=rI.fromRaw(g,this.raw.projectPoint(A.raw,I.raw,g.raw,w,Q,B,E,i,D,o));return w.free(),G}projectPointAndGetFeature(A,I,g,C,Q,B,E,i,D){let o=OA.intoRaw(C),w=rI.fromRaw(g,this.raw.projectPointAndGetFeature(A.raw,I.raw,g.raw,o,Q,B,E,i,D));return o.free(),w}intersectionsWithPoint(A,I,g,C,Q,B,E,i,D,o){let w=OA.intoRaw(C);this.raw.intersectionsWithPoint(A.raw,I.raw,g.raw,w,Q,B,E,i,D,o),w.free()}castShape(A,I,g,C,Q,B,E,i,D,o,w,G,K,h,N){let S=OA.intoRaw(C),k=WA.intoRaw(Q),y=OA.intoRaw(B),s=E.intoRaw(),F=eI.fromRaw(g,this.raw.castShape(A.raw,I.raw,g.raw,S,k,y,s,i,D,o,w,G,K,h,N));return S.free(),k.free(),y.free(),s.free(),F}intersectionsWithShape(A,I,g,C,Q,B,E,i,D,o,w,G){let K=OA.intoRaw(C),h=WA.intoRaw(Q),N=B.intoRaw();this.raw.intersectionsWithShape(A.raw,I.raw,g.raw,K,h,N,E,i,D,o,w,G),K.free(),h.free(),N.free()}collidersWithAabbIntersectingAabb(A,I,g,C,Q,B){let E=OA.intoRaw(C),i=OA.intoRaw(Q);this.raw.collidersWithAabbIntersectingAabb(A.raw,I.raw,g.raw,E,i,B),E.free(),i.free()}}class nI{constructor(A){this.raw=A||new wA,this.tempManifold=new dI(null)}free(){this.raw&&this.raw.free(),this.raw=void 0}contactPairsWith(A,I){this.raw.contact_pairs_with(A,I)}intersectionPairsWith(A,I){this.raw.intersection_pairs_with(A,I)}contactPair(A,I,g){const C=this.raw.contact_pair(A,I);if(C){const I=C.collider1()!=A;let Q;for(Q=0;QA.free())),this.pidControllers.forEach((A=>A.free())),this.integrationParameters=void 0,this.islands=void 0,this.broadPhase=void 0,this.narrowPhase=void 0,this.bodies=void 0,this.colliders=void 0,this.ccdSolver=void 0,this.impulseJoints=void 0,this.multibodyJoints=void 0,this.physicsPipeline=void 0,this.serializationPipeline=void 0,this.debugRenderPipeline=void 0,this.characterControllers=void 0,this.pidControllers=void 0}static fromRaw(A){return A?new Eg(OA.fromRaw(A.takeGravity()),A.takeIntegrationParameters(),A.takeIslandManager(),A.takeBroadPhase(),A.takeNarrowPhase(),A.takeBodies(),A.takeColliders(),A.takeImpulseJoints(),A.takeMultibodyJoints()):null}takeSnapshot(){return this.serializationPipeline.serializeAll(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints)}static restoreSnapshot(A){return(new Ag).deserializeAll(A)}debugRender(A,I){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase,A,I),new Ig(this.debugRenderPipeline.vertices,this.debugRenderPipeline.colors)}step(A,I){this.physicsPipeline.step(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.ccdSolver,A,I)}propagateModifiedBodyPositionsToColliders(){this.bodies.raw.propagateModifiedBodyPositionsToColliders(this.colliders.raw)}get timestep(){return this.integrationParameters.dt}set timestep(A){this.integrationParameters.dt=A}get lengthUnit(){return this.integrationParameters.lengthUnit}set lengthUnit(A){this.integrationParameters.lengthUnit=A}get numSolverIterations(){return this.integrationParameters.numSolverIterations}set numSolverIterations(A){this.integrationParameters.numSolverIterations=A}get numInternalPgsIterations(){return this.integrationParameters.numInternalPgsIterations}set numInternalPgsIterations(A){this.integrationParameters.numInternalPgsIterations=A}get maxCcdSubsteps(){return this.integrationParameters.maxCcdSubsteps}set maxCcdSubsteps(A){this.integrationParameters.maxCcdSubsteps=A}createRigidBody(A){return this.bodies.createRigidBody(this.colliders,A)}createCharacterController(A){let I=new Qg(A,this.integrationParameters,this.broadPhase,this.narrowPhase,this.bodies,this.colliders);return this.characterControllers.add(I),I}removeCharacterController(A){this.characterControllers.delete(A),A.free()}createPidController(A,I,g,C){let Q=new Bg(this.integrationParameters,this.bodies,A,I,g,C);return this.pidControllers.add(Q),Q}removePidController(A){this.pidControllers.delete(A),A.free()}createCollider(A,I){let g=I?I.handle:void 0;return this.colliders.createCollider(this.bodies,A,g)}createImpulseJoint(A,I,g,C){return this.impulseJoints.createJoint(this.bodies,A,I.handle,g.handle,C)}createMultibodyJoint(A,I,g,C){return this.multibodyJoints.createJoint(A,I.handle,g.handle,C)}getRigidBody(A){return this.bodies.get(A)}getCollider(A){return this.colliders.get(A)}getImpulseJoint(A){return this.impulseJoints.get(A)}getMultibodyJoint(A){return this.multibodyJoints.get(A)}removeRigidBody(A){this.bodies&&this.bodies.remove(A.handle,this.islands,this.colliders,this.impulseJoints,this.multibodyJoints)}removeCollider(A,I){this.colliders&&this.colliders.remove(A.handle,this.islands,this.bodies,I)}removeImpulseJoint(A,I){this.impulseJoints&&this.impulseJoints.remove(A.handle,I)}removeMultibodyJoint(A,I){this.impulseJoints&&this.multibodyJoints.remove(A.handle,I)}forEachCollider(A){this.colliders.forEach(A)}forEachRigidBody(A){this.bodies.forEach(A)}forEachActiveRigidBody(A){this.bodies.forEachActiveRigidBody(this.islands,A)}castRay(A,I,g,C,Q,B,E,i){return this.broadPhase.castRay(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i))}castRayAndGetNormal(A,I,g,C,Q,B,E,i){return this.broadPhase.castRayAndGetNormal(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i))}intersectionsWithRay(A,I,g,C,Q,B,E,i,D){this.broadPhase.intersectionsWithRay(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B,E?E.handle:null,i?i.handle:null,this.colliders.castClosure(D))}intersectionWithShape(A,I,g,C,Q,B,E,i){let D=this.broadPhase.intersectionWithShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B?B.handle:null,E?E.handle:null,this.colliders.castClosure(i));return null!=D?this.colliders.get(D):null}projectPoint(A,I,g,C,Q,B,E){return this.broadPhase.projectPoint(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q?Q.handle:null,B?B.handle:null,this.colliders.castClosure(E))}projectPointAndGetFeature(A,I,g,C,Q,B){return this.broadPhase.projectPointAndGetFeature(this.narrowPhase,this.bodies,this.colliders,A,I,g,C?C.handle:null,Q?Q.handle:null,this.colliders.castClosure(B))}intersectionsWithPoint(A,I,g,C,Q,B,E){this.broadPhase.intersectionsWithPoint(this.narrowPhase,this.bodies,this.colliders,A,this.colliders.castClosure(I),g,C,Q?Q.handle:null,B?B.handle:null,this.colliders.castClosure(E))}castShape(A,I,g,C,Q,B,E,i,D,o,w,G){return this.broadPhase.castShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,C,Q,B,E,i,D,o?o.handle:null,w?w.handle:null,this.colliders.castClosure(G))}intersectionsWithShape(A,I,g,C,Q,B,E,i,D){this.broadPhase.intersectionsWithShape(this.narrowPhase,this.bodies,this.colliders,A,I,g,this.colliders.castClosure(C),Q,B,E?E.handle:null,i?i.handle:null,this.colliders.castClosure(D))}collidersWithAabbIntersectingAabb(A,I,g){this.broadPhase.collidersWithAabbIntersectingAabb(this.narrowPhase,this.bodies,this.colliders,A,I,this.colliders.castClosure(g))}contactPairsWith(A,I){this.narrowPhase.contactPairsWith(A.handle,this.colliders.castClosure(I))}intersectionPairsWith(A,I){this.narrowPhase.intersectionPairsWith(A.handle,this.colliders.castClosure(I))}contactPair(A,I,g){this.narrowPhase.contactPair(A.handle,I.handle,g)}intersectionPair(A,I){return this.narrowPhase.intersectionPair(A.handle,I.handle)}set profilerEnabled(A){this.physicsPipeline.raw.set_profiler_enabled(A)}get profilerEnabled(){return this.physicsPipeline.raw.is_profiler_enabled()}timingStep(){return this.physicsPipeline.raw.timing_step()}timingCollisionDetection(){return this.physicsPipeline.raw.timing_collision_detection()}timingBroadPhase(){return this.physicsPipeline.raw.timing_broad_phase()}timingNarrowPhase(){return this.physicsPipeline.raw.timing_narrow_phase()}timingSolver(){return this.physicsPipeline.raw.timing_solver()}timingVelocityAssembly(){return this.physicsPipeline.raw.timing_velocity_assembly()}timingVelocityResolution(){return this.physicsPipeline.raw.timing_velocity_resolution()}timingVelocityUpdate(){return this.physicsPipeline.raw.timing_velocity_update()}timingVelocityWriteback(){return this.physicsPipeline.raw.timing_velocity_writeback()}timingCcd(){return this.physicsPipeline.raw.timing_ccd()}timingCcdToiComputation(){return this.physicsPipeline.raw.timing_ccd_toi_computation()}timingCcdBroadPhase(){return this.physicsPipeline.raw.timing_ccd_broad_phase()}timingCcdNarrowPhase(){return this.physicsPipeline.raw.timing_ccd_narrow_phase()}timingCcdSolver(){return this.physicsPipeline.raw.timing_ccd_solver()}timingIslandConstruction(){return this.physicsPipeline.raw.timing_island_construction()}timingUserChanges(){return this.physicsPipeline.raw.timing_user_changes()}}!function(A){A[A.NONE=0]=\"NONE\",A[A.COLLISION_EVENTS=1]=\"COLLISION_EVENTS\",A[A.CONTACT_FORCE_EVENTS=2]=\"CONTACT_FORCE_EVENTS\"}(_A||(_A={}));class ig{free(){this.raw&&this.raw.free(),this.raw=void 0}collider1(){return this.raw.collider1()}collider2(){return this.raw.collider2()}totalForce(){return OA.fromRaw(this.raw.total_force())}totalForceMagnitude(){return this.raw.total_force_magnitude()}maxForceDirection(){return OA.fromRaw(this.raw.max_force_direction())}maxForceMagnitude(){return this.raw.max_force_magnitude()}}class Dg{constructor(A,I){this.raw=I||new u(A)}free(){this.raw&&this.raw.free(),this.raw=void 0}drainCollisionEvents(A){this.raw.drainCollisionEvents(A)}drainContactForceEvents(A){let I=new ig;this.raw.drainContactForceEvents((g=>{I.raw=g,A(I),I.free()}))}clear(){this.raw.clear()}}!function(A){A[A.NONE=0]=\"NONE\",A[A.FILTER_CONTACT_PAIRS=1]=\"FILTER_CONTACT_PAIRS\",A[A.FILTER_INTERSECTION_PAIRS=2]=\"FILTER_INTERSECTION_PAIRS\"}($A||($A={})),function(A){A[A.EMPTY=0]=\"EMPTY\",A[A.COMPUTE_IMPULSE=1]=\"COMPUTE_IMPULSE\"}(AI||(AI={})),function(A){A[A.EXCLUDE_FIXED=1]=\"EXCLUDE_FIXED\",A[A.EXCLUDE_KINEMATIC=2]=\"EXCLUDE_KINEMATIC\",A[A.EXCLUDE_DYNAMIC=4]=\"EXCLUDE_DYNAMIC\",A[A.EXCLUDE_SENSORS=8]=\"EXCLUDE_SENSORS\",A[A.EXCLUDE_SOLIDS=16]=\"EXCLUDE_SOLIDS\",A[A.ONLY_DYNAMIC=3]=\"ONLY_DYNAMIC\",A[A.ONLY_KINEMATIC=5]=\"ONLY_KINEMATIC\",A[A.ONLY_FIXED=6]=\"ONLY_FIXED\"}(II||(II={})),function(A){A[A.DYNAMIC_DYNAMIC=1]=\"DYNAMIC_DYNAMIC\",A[A.DYNAMIC_KINEMATIC=12]=\"DYNAMIC_KINEMATIC\",A[A.DYNAMIC_FIXED=2]=\"DYNAMIC_FIXED\",A[A.KINEMATIC_KINEMATIC=52224]=\"KINEMATIC_KINEMATIC\",A[A.KINEMATIC_FIXED=8704]=\"KINEMATIC_FIXED\",A[A.FIXED_FIXED=32]=\"FIXED_FIXED\",A[A.DEFAULT=15]=\"DEFAULT\",A[A.ALL=60943]=\"ALL\"}(gI||(gI={}));class og{constructor(A,I,g,C){this.colliderSet=A,this.handle=I,this._parent=g,this._shape=C}finalizeDeserialization(A){null!=this.handle&&(this._parent=A.get(this.colliderSet.raw.coParent(this.handle)))}ensureShapeIsCached(){this._shape||(this._shape=fI.fromRaw(this.colliderSet.raw,this.handle))}get shape(){return this.ensureShapeIsCached(),this._shape}clearShapeCache(){this._shape=null}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return OA.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}translationWrtParent(){return OA.fromRaw(this.colliderSet.raw.coTranslationWrtParent(this.handle))}rotation(){return WA.fromRaw(this.colliderSet.raw.coRotation(this.handle))}rotationWrtParent(){return WA.fromRaw(this.colliderSet.raw.coRotationWrtParent(this.handle))}isSensor(){return this.colliderSet.raw.coIsSensor(this.handle)}setSensor(A){this.colliderSet.raw.coSetSensor(this.handle,A)}setShape(A){let I=A.intoRaw();this.colliderSet.raw.coSetShape(this.handle,I),I.free(),this._shape=A}setEnabled(A){this.colliderSet.raw.coSetEnabled(this.handle,A)}isEnabled(){return this.colliderSet.raw.coIsEnabled(this.handle)}setRestitution(A){this.colliderSet.raw.coSetRestitution(this.handle,A)}setFriction(A){this.colliderSet.raw.coSetFriction(this.handle,A)}frictionCombineRule(){return this.colliderSet.raw.coFrictionCombineRule(this.handle)}setFrictionCombineRule(A){this.colliderSet.raw.coSetFrictionCombineRule(this.handle,A)}restitutionCombineRule(){return this.colliderSet.raw.coRestitutionCombineRule(this.handle)}setRestitutionCombineRule(A){this.colliderSet.raw.coSetRestitutionCombineRule(this.handle,A)}setCollisionGroups(A){this.colliderSet.raw.coSetCollisionGroups(this.handle,A)}setSolverGroups(A){this.colliderSet.raw.coSetSolverGroups(this.handle,A)}contactSkin(){return this.colliderSet.raw.coContactSkin(this.handle)}setContactSkin(A){return this.colliderSet.raw.coSetContactSkin(this.handle,A)}activeHooks(){return this.colliderSet.raw.coActiveHooks(this.handle)}setActiveHooks(A){this.colliderSet.raw.coSetActiveHooks(this.handle,A)}activeEvents(){return this.colliderSet.raw.coActiveEvents(this.handle)}setActiveEvents(A){this.colliderSet.raw.coSetActiveEvents(this.handle,A)}activeCollisionTypes(){return this.colliderSet.raw.coActiveCollisionTypes(this.handle)}setContactForceEventThreshold(A){return this.colliderSet.raw.coSetContactForceEventThreshold(this.handle,A)}contactForceEventThreshold(){return this.colliderSet.raw.coContactForceEventThreshold(this.handle)}setActiveCollisionTypes(A){this.colliderSet.raw.coSetActiveCollisionTypes(this.handle,A)}setDensity(A){this.colliderSet.raw.coSetDensity(this.handle,A)}setMass(A){this.colliderSet.raw.coSetMass(this.handle,A)}setMassProperties(A,I,g){let C=OA.intoRaw(I);this.colliderSet.raw.coSetMassProperties(this.handle,A,C,g),C.free()}setTranslation(A){this.colliderSet.raw.coSetTranslation(this.handle,A.x,A.y)}setTranslationWrtParent(A){this.colliderSet.raw.coSetTranslationWrtParent(this.handle,A.x,A.y)}setRotation(A){this.colliderSet.raw.coSetRotation(this.handle,A)}setRotationWrtParent(A){this.colliderSet.raw.coSetRotationWrtParent(this.handle,A)}shapeType(){return this.colliderSet.raw.coShapeType(this.handle)}halfExtents(){return OA.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(A){const I=OA.intoRaw(A);this.colliderSet.raw.coSetHalfExtents(this.handle,I)}radius(){return this.colliderSet.raw.coRadius(this.handle)}setRadius(A){this.colliderSet.raw.coSetRadius(this.handle,A)}roundRadius(){return this.colliderSet.raw.coRoundRadius(this.handle)}setRoundRadius(A){this.colliderSet.raw.coSetRoundRadius(this.handle,A)}halfHeight(){return this.colliderSet.raw.coHalfHeight(this.handle)}setHalfHeight(A){this.colliderSet.raw.coSetHalfHeight(this.handle,A)}setVoxel(A,I,g){this.colliderSet.raw.coSetVoxel(this.handle,A,I,g),this._shape=null}propagateVoxelChange(A,I,g,C,Q){this.colliderSet.raw.coPropagateVoxelChange(this.handle,A.handle,I,g,C,Q),this._shape=null}combineVoxelStates(A,I,g){this.colliderSet.raw.coCombineVoxelStates(this.handle,A.handle,I,g),this._shape=null}vertices(){return this.colliderSet.raw.coVertices(this.handle)}indices(){return this.colliderSet.raw.coIndices(this.handle)}heightfieldHeights(){return this.colliderSet.raw.coHeightfieldHeights(this.handle)}heightfieldScale(){let A=this.colliderSet.raw.coHeightfieldScale(this.handle);return OA.fromRaw(A)}parent(){return this._parent}friction(){return this.colliderSet.raw.coFriction(this.handle)}restitution(){return this.colliderSet.raw.coRestitution(this.handle)}density(){return this.colliderSet.raw.coDensity(this.handle)}mass(){return this.colliderSet.raw.coMass(this.handle)}volume(){return this.colliderSet.raw.coVolume(this.handle)}collisionGroups(){return this.colliderSet.raw.coCollisionGroups(this.handle)}solverGroups(){return this.colliderSet.raw.coSolverGroups(this.handle)}containsPoint(A){let I=OA.intoRaw(A),g=this.colliderSet.raw.coContainsPoint(this.handle,I);return I.free(),g}projectPoint(A,I){let g=OA.intoRaw(A),C=HI.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,g,I));return g.free(),C}intersectsRay(A,I){let g=OA.intoRaw(A.origin),C=OA.intoRaw(A.dir),Q=this.colliderSet.raw.coIntersectsRay(this.handle,g,C,I);return g.free(),C.free(),Q}castShape(A,I,g,C,Q,B,E,i){let D=OA.intoRaw(A),o=OA.intoRaw(g),w=WA.intoRaw(C),G=OA.intoRaw(Q),K=I.intoRaw(),h=lI.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,D,K,o,w,G,B,E,i));return D.free(),o.free(),w.free(),G.free(),K.free(),h}castCollider(A,I,g,C,Q,B){let E=OA.intoRaw(A),i=OA.intoRaw(g),D=eI.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,E,I.handle,i,C,Q,B));return E.free(),i.free(),D}intersectsShape(A,I,g){let C=OA.intoRaw(I),Q=WA.intoRaw(g),B=A.intoRaw(),E=this.colliderSet.raw.coIntersectsShape(this.handle,B,C,Q);return C.free(),Q.free(),B.free(),E}contactShape(A,I,g,C){let Q=OA.intoRaw(I),B=WA.intoRaw(g),E=A.intoRaw(),i=bI.fromRaw(this.colliderSet.raw.coContactShape(this.handle,E,Q,B,C));return Q.free(),B.free(),E.free(),i}contactCollider(A,I){return bI.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,A.handle,I))}castRay(A,I,g){let C=OA.intoRaw(A.origin),Q=OA.intoRaw(A.dir),B=this.colliderSet.raw.coCastRay(this.handle,C,Q,I,g);return C.free(),Q.free(),B}castRayAndGetNormal(A,I,g){let C=OA.intoRaw(A.origin),Q=OA.intoRaw(A.dir),B=LI.fromRaw(this.colliderSet.raw.coCastRayAndGetNormal(this.handle,C,Q,I,g));return C.free(),Q.free(),B}}!function(A){A[A.Density=0]=\"Density\",A[A.Mass=1]=\"Mass\",A[A.MassProps=2]=\"MassProps\"}(CI||(CI={}));class wg{constructor(A){this.enabled=!0,this.shape=A,this.massPropsMode=CI.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=WA.identity(),this.translation=OA.zeros(),this.isSensor=!1,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=vA.Average,this.restitutionCombineRule=vA.Average,this.activeCollisionTypes=gI.DEFAULT,this.activeEvents=_A.NONE,this.activeHooks=$A.NONE,this.mass=0,this.centerOfMass=OA.zeros(),this.contactForceEventThreshold=0,this.contactSkin=0,this.principalAngularInertia=0,this.rotationsEnabled=!0}static ball(A){const I=new TI(A);return new wg(I)}static capsule(A,I){const g=new jI(A,I);return new wg(g)}static segment(A,I){const g=new xI(A,I);return new wg(g)}static triangle(A,I,g){const C=new XI(A,I,g);return new wg(C)}static roundTriangle(A,I,g,C){const Q=new mI(A,I,g,C);return new wg(Q)}static polyline(A,I){const g=new vI(A,I);return new wg(g)}static voxels(A,I){const g=new VI(A,I);return new wg(g)}static trimesh(A,I,g){const C=new PI(A,I,g);return new wg(C)}static cuboid(A,I){const g=new OI(A,I);return new wg(g)}static roundCuboid(A,I,g){const C=new WI(A,I,g);return new wg(C)}static halfspace(A){const I=new ZI(A);return new wg(I)}static heightfield(A,I){const g=new _I(A,I);return new wg(g)}static convexHull(A){const I=new uI(A,!1);return new wg(I)}static convexPolyline(A){const I=new uI(A,!0);return new wg(I)}static roundConvexHull(A,I){const g=new zI(A,I,!1);return new wg(g)}static roundConvexPolyline(A,I){const g=new zI(A,I,!0);return new wg(g)}setTranslation(A,I){if(\"number\"!=typeof A||\"number\"!=typeof I)throw TypeError(\"The translation components must be numbers.\");return this.translation={x:A,y:I},this}setRotation(A){return this.rotation=A,this}setSensor(A){return this.isSensor=A,this}setEnabled(A){return this.enabled=A,this}setContactSkin(A){return this.contactSkin=A,this}setDensity(A){return this.massPropsMode=CI.Density,this.density=A,this}setMass(A){return this.massPropsMode=CI.Mass,this.mass=A,this}setMassProperties(A,I,g){return this.massPropsMode=CI.MassProps,this.mass=A,OA.copy(this.centerOfMass,I),this.principalAngularInertia=g,this}setRestitution(A){return this.restitution=A,this}setFriction(A){return this.friction=A,this}setFrictionCombineRule(A){return this.frictionCombineRule=A,this}setRestitutionCombineRule(A){return this.restitutionCombineRule=A,this}setCollisionGroups(A){return this.collisionGroups=A,this}setSolverGroups(A){return this.solverGroups=A,this}setActiveHooks(A){return this.activeHooks=A,this}setActiveEvents(A){return this.activeEvents=A,this}setActiveCollisionTypes(A){return this.activeCollisionTypes=A,this}setContactForceEventThreshold(A){return this.contactForceEventThreshold=A,this}}class Gg{constructor(A){this.raw=A||new d,this.map=new EI,A&&A.forEachColliderHandle((A=>{this.map.set(A,new og(this,A,null))}))}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}castClosure(A){return I=>A?A(this.get(I)):void 0}finalizeDeserialization(A){this.map.forEach((I=>I.finalizeDeserialization(A)))}createCollider(A,I,g){let C=null!=g&&null!=g;if(C&&isNaN(g))throw Error(\"Cannot create a collider with a parent rigid-body handle that is not a number.\");let Q=I.shape.intoRaw(),B=OA.intoRaw(I.translation),E=WA.intoRaw(I.rotation),i=OA.intoRaw(I.centerOfMass),D=this.raw.createCollider(I.enabled,Q,B,E,I.massPropsMode,I.mass,i,I.principalAngularInertia,I.density,I.friction,I.restitution,I.frictionCombineRule,I.restitutionCombineRule,I.isSensor,I.collisionGroups,I.solverGroups,I.activeCollisionTypes,I.activeHooks,I.activeEvents,I.contactForceEventThreshold,I.contactSkin,C,C?g:0,A.raw);Q.free(),B.free(),E.free(),i.free();let o=C?A.get(g):null,w=new og(this,D,o,I.shape);return this.map.set(D,w),w}remove(A,I,g,C){this.raw.remove(A,I.raw,g.raw,C),this.unmap(A)}unmap(A){this.map.delete(A)}get(A){return this.map.get(A)}len(){return this.map.len()}contains(A){return null!=this.get(A)}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}function Kg(A,I,g,C){return new(g||(g=Promise))((function(Q,B){function E(A){try{D(C.next(A))}catch(A){B(A)}}function i(A){try{D(C.throw(A))}catch(A){B(A)}}function D(A){var I;A.done?Q(A.value):(I=A.value,I instanceof g?I:new g((function(A){A(I)}))).then(E,i)}D((C=C.apply(A,I||[])).next())}))}for(var hg={byteLength:function(A){var I=ag(A),g=I[0],C=I[1];return 3*(g+C)/4-C},toByteArray:function(A){var I,g,C=ag(A),Q=C[0],B=C[1],E=new kg(function(A,I,g){return 3*(I+g)/4-g}(0,Q,B)),i=0,D=B>0?Q-4:Q;for(g=0;g>16&255,E[i++]=I>>8&255,E[i++]=255&I;2===B&&(I=Sg[A.charCodeAt(g)]<<2|Sg[A.charCodeAt(g+1)]>>4,E[i++]=255&I);1===B&&(I=Sg[A.charCodeAt(g)]<<10|Sg[A.charCodeAt(g+1)]<<4|Sg[A.charCodeAt(g+2)]>>2,E[i++]=I>>8&255,E[i++]=255&I);return E},fromByteArray:function(A){for(var I,g=A.length,C=g%3,Q=[],B=16383,E=0,i=g-C;Ei?i:E+B));1===C?(I=A[g-1],Q.push(Ng[I>>2]+Ng[I<<4&63]+\"==\")):2===C&&(I=(A[g-2]<<8)+A[g-1],Q.push(Ng[I>>10]+Ng[I>>4&63]+Ng[I<<2&63]+\"=\"));return Q.join(\"\")}},Ng=[],Sg=[],kg=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,yg=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",sg=0,Fg=yg.length;sg0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var g=A.indexOf(\"=\");return-1===g&&(g=I),[g,g===I?0:4-g%4]}function Mg(A,I,g){for(var C,Q,B=[],E=I;E>18&63]+Ng[Q>>12&63]+Ng[Q>>6&63]+Ng[63&Q]);return B.join(\"\")}function Jg(){return Kg(this,void 0,void 0,(function*(){yield TA(hg.toByteArray(\"AGFzbQEAAAABzQyiAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwBgBX9/f39/AGACf3wBf2AGf39/f31/AGABfwF9YAZ/f39/f38AYAV/f399fwBgA398fwBgAX8BfGAFf39/f30AYAR/f39/AX9gAAF/YAZ/f39/f30AYAR/f399AX9gDH9/f39/f39/f399fwF/YAR/f39/AX1gA39/fQF/YAN/f38BfWACf3wBfWADf399AGADf3x9AGADf39/AX5gBn9/f39/fwF/YAJ/fQBgBX9/f39/AX9gB39/f39/f38AYAR/fH9/AGAAAGABfQF9YAh/f39/fX9/fwBgCH9/f39/f39/AGAEf35/fwF/YAJ/fAF8YAR/fH1/AGACf38BfWAJf39/f39/f39/AGAIf39/f39/f30AYAR/f399AGAFf3x/f38AYAN/f3wAYAt/f39/f39/f319fwBgA398fwF/YAN/fH8BfWAGf31/f399AGAJf39/f39/fX9/AX9gA39+fgBgBH98fX0AYAF9AX9gAn19AX9gA399fwBgBH99f38AYAZ/f39/fn8AYAl/f39/f31/f38AYAp/f39/f399f39/AGALf39/f39/f399f38AYAZ/f319f38AYAt/f39/f39/fX9/fwBgCH9/f399fX9/AGAPf39/f39/f39/fH98f3x/AGAJf39/fX1/f39/AGAMf39/f31/f39/fX9/AGAPf39/f39/fX9/fH98f3x/AX9gAn9+AX9gBn9/fX9/fwBgCH9/fX1+f39/AGACfn8Bf2AFf398fH8BfGADf3x8AX9gBX98f319AGACf3wAYAN/fX0Bf2ABfAF/YA5/f39/f39/f39/f39/fwBgB39/f39/f30AYA9/f39/f39/f39/f399fX8AYAd/f35/f39/AX1gC39/f31/f31/fX1/AGAKf39/f39/f319fwBgCX99f39/f39/fwF/YAt/f39/f39/f319fwF/YA9/f39/f39/f39/f39/f38AYAp/f39/f39/f39/AX9gCX9/f39/f31/fwBgC39/f39/f39/f39/AGASf39/f39/f39/f39/fX99fX19AGASf39/f39/f399fX9/fH98f3x/AX9gB39/f39/f30Bf2AQf39/f39/fX9/f3x/fH98fwBgBn9/f399fQF/YAx/f39/fX9/f39/f38AYAZ/fH9/f30Bf2AKf3x/f39/f319fwF/YAt/fX9/f39/f319fwBgDX9/f39/f398f3x/fH8AYAt/f39/fX9/f39/fwBgB39/f39/fX8Bf2AJf31/fn9+fX1/AGANf39/f39/f3x/fH98fwF/YAx/f39/f398f3x/fH8Bf2Aaf39/f39/f31/fX19fX9/f39/f39/fX1/fH8AYAp/f39/f319fX9/AX1gDX99f39/f3x/f3x/fH8AYAN/fn4BfWADfn9/AX9gB39/f39/fX8BfWAJf31/fX99fX1/AGASf39/f39/f39/f39/f39/f39/AGAJf319fX19fX19AGAGf39/f399AX9gF39/f399fX9/f319f39/fX1/f399f39/AXxgDH9/f39/f39/f39/fwBgBn98f399fwF/YAZ/fH9/f38AYAV/fH9/fwF/YAN/fn8Bf2AGf31/fH9/AX9gBn99f3x/fwBgCH98f3x/fX1/AX9gBX19fX9/AX9gA31/fwF/YAZ/fH9/fX8BfWAGf39/f319AGAFf3x/f30Bf2AEf3x/fwF/YAl/f39/f39+fn4AYAZ/fX98fX0AYAZ/fH1/fX8AYAV/fH1/fQBgB39/f39/f38Bf2ANf39/f39/f39/f39/fwBgBn99f3x9fQF9YAR/fHx9AX9gBX98fX1/AGADf399AX1gA398fwF8YAp/f39/f39/f39/AGAGf3x/fX19AGAHf3x/fX19fQBgAn9+AGAEfX19fwF/YAh/f39/f39/fwF/YAd/fHx/f39/AGAFf3x8f38AYAR/f35/AGADf39+AX9gBX9+f35/AGACfX0AYAR/fX1/AGADfX19AX9gBn99f319fQF9YAZ/f319fX0AYAV/f3x/fwBgBX9/fn9/AGAEf35/fwBgBX9/fX9/AGACfX0BfQKrCSADd2JnFV9fd2JpbmRnZW5fbnVtYmVyX25ldwBNA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAQDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAYDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAA3diZxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAQDd2JnJF9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX25ldwAEA3diZx5fX3diZ19yYXdjb250YWN0Zm9yY2VldmVudF9uZXcABAN3YmciX193YmdfcGVyZm9ybWFuY2VfN2EzZmZkMGIxN2Y2NjNhZAAEA3diZxdfX3diaW5kZ2VuX2lzX3VuZGVmaW5lZAAEA3diZxpfX3diZ19ub3dfMmM5NWM5ZGUwMTI5MzE3MwAOA3diZxtfX3diaW5kZ2VuX29iamVjdF9jbG9uZV9yZWYABAN3YmcgX193YmdfbmV3bm9hcmdzXzEwNWVkNDcxNDc1YWFmNTAAAwN3YmcbX193YmdfY2FsbF82NzJhNGQyMTYzNGQ0YTI0AAMDd2JnG19fd2JnX2NhbGxfN2NjY2RkNjllMDc5MWFlMgAFA3diZxtfX3diZ19jYWxsXzgzM2JlZDU3NzBlYTIwNDEAEAN3YmcbX193YmdfY2FsbF9iOGFkYzhiMWQwYTBkOGViAB4Dd2JnG19fd2JnX2JpbmRfYzgzNTliMWNiYTA1ODE2OAAQA3diZx1fX3diZ19idWZmZXJfNjA5Y2MzZWVlNTFlZDE1OAAEA3diZzJfX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMX1RISVNfNTY1NzhiZTdlOWY4MzJiMAARA3diZytfX3diZ19zdGF0aWNfYWNjZXNzb3JfU0VMRl8zN2M1ZDQxOGU0YmY1ODE5ABEDd2JnLV9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9XSU5ET1dfNWRlMzcwNDNhOTFhOWM0MAARA3diZy1fX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMXzg4YTkwMmQxM2E1NTdkMDcAEQN3YmcxX193YmdfbmV3d2l0aGJ5dGVvZmZzZXRhbmRsZW5ndGhfZDk3ZTYzN2ViZTE0NWE5YQAFA3diZxpfX3diZ19uZXdfYTEyMDAyYTdmOTFjNzViZQAEA3diZxpfX3diZ19zZXRfNjU1OTViZGQ4NjhiMzAwOQABA3diZx1fX3diZ19sZW5ndGhfYTQ0NjE5M2RjMjJjMTJmOAAEA3diZzFfX3diZ19uZXd3aXRoYnl0ZW9mZnNldGFuZGxlbmd0aF9lNmI3ZTY5YWNkNGM3MzU0AAUDd2JnGl9fd2JnX3NldF8xMGJhZDliZWUwZTljNThiAAEDd2JnHV9fd2JnX2xlbmd0aF8zYjRmMDIyMTg4YWU4ZGI2AAQDd2JnJF9fd2JnX25ld3dpdGhsZW5ndGhfNWE1ZWZlMzEzY2ZkNTlmMQAEA3diZxBfX3diaW5kZ2VuX3Rocm93AAADd2JnEV9fd2JpbmRnZW5fbWVtb3J5ABED5w3EDQAUFE44OQMCAQICTwECIzoHASM6BAAyBwIFAgcpAwYCIwcyHwIxBjtQUSlSAS4cIzwjJAAHUyNUHwAMAgwqBgsLCyoMACoMCwsCAQACDDsfDAEMARILPQELAAIPCwAfAQFVPD4CDAIDJABWPw8AAAAPAQJXDAFYWQAAAlpbXCsBAAAzQABABgE+Ai4DJEEPAQ9dAEEeBgIBAw89IgECIl4BMwFCAV8CYAEBAwIBABwBQwMAJAMkYWJDYwBCCwAAJGQCAhxlAAwMB2YMAAJnaGlqAR8BAAcCCz8fAABrB2wQBwIfAG1ub3ACAQJxAyoAcnMcCwELAAMCdAAMAAYrHgMGC3V2dwAABQAFAAIMBgMAAAwAeAEBAAF5CwAMAwIAehIAAQAQAwEpe0QBBQUGfAYCK30CAAEBAAAHEgEBAAF+AAEAAAIBAgBFDwAEBAAAAgcTf4ABBQEAAAMqAAACRAsVAgcCBwIAAAACASw5FwcBCgMKAQYGBgEsLEYAABGBAQACAgEAAgIJAgIPDwIpAYIBAUYJFxdHAAALAQMAAwMBAAICLwQEAQIEAgEFCQECHweDAQOEAQAvHAEBDCICAgEAAQMDAwIfCwWFAQERCIYBCQEVhwEeASUDCAATAQ0TBAkAAAMDIgGIASAgIAgIiQESCQBHCIoBAAMEAQAfCAEBEgwAAA0NLAIHBgABDAEAKw0AAAcDAQgIAAEAAQMBHgYFLwgtLS0tAQAAAwIBCAgaICAESEgABRMDJosBATAwAgAXBQgiAwMICAUDCgoaDQcICAIBAQESEhISEhIWCQkmSQkJCQkJCQkJCQkJCQwBAgMIEgEBCAgIJwgDAgMnCAgICAgIBQUHGScLLwAAEgcLAQArBwACBBIIjAESEgMHFQEgDQ0RLB0CDS0NB40BMDAnDQIBCUoMBRgSNAgICwYGBgYCCxMGGBgSSo4BjwEAAgAAADQAAAAGAksICA0WDQgIDwEmJgg0GgYEBhACAwYgCABJAAsWAQgnGAgYGBgYCBgICBgYCBgICBgYGAgICBgICA8AAAADAAAAAAAAAAAACBgYGAYGBpABAgICBAgNAQEHAZEBAAEBBgAAAAkJAA0mJg0NDQ0JAAkJCQkJCQkJDAANEhICAgICAQkJCQkBCA0NDQMDAQAVGhoaDQgaGhoaGhoaCAMEBBUVFRUVFRUVFRUCAgICAgEABxMTEgRLAxMBBwcFExMTExMTExMTEwIRAw8CkgEGBxEBBwcHBwcHBw0ADQ0IAAAAEDUNAAAeCgsXAgICDAINDSUAAgAAAAAAAAAAAAAAAAAcEwYeAgIHGxsAD5MBAAACJwCUAQQEAgIbAQIGBgEBBgwaGiUlAwYEBAQFBQECNiGVAQADBjc3NxYWEQEGAgICEAMDBAICAgICAgQCBigolgEFBpcBBgICASUBAQECAQMDKAMDKCUCAhEoBwMFBAQEBAQoBAQEBAQEBAQGAQIDMwUREQUFBQUFAQcFDw8PDw8PDw8KERcXFxcXFxcXFwwVDg4ODg4ODg4VFQMBBQUXDw8XFwUFBQUAAgADAhsBAxsCAAEBAQEBAAEBABsAAAEBmAEGmQGaAQ4ODg4ODg4OAwEVAgwEEQ4OBAQEBAQ2ARsZAg4ODg41GwMBAAMDEREQFRYGAAMDAwMDAwMDAwMDAwMDAwCbARUPAQIAAQUWAQMDAwECAgEAAAYEBBtFBRsAGQAGAwEGCgodBAoKHQQEDgoECgQEBAoEBAQOBAQOCg4KCgQbGwUAAAMAAAMDAQQBBwUDHQYdHQYdHR0dAAAAAB0dAyEhBQsBAgQDAwMAAwEQAgEBATYHAwUFAwMMDAycAQIMDAwMDAwMDAAAAAEGNQEBBgEBBgIDBgYCAgMDAAAeBgYGBgYGBgYGBgAAAAYGAAYGAgcXAAAAAAABAgMWFhERFhYWFhYWFhYWFhYAAABMTCEhBgMhAwsLCwQGAwYGBgYGBgYRFwMDAwMBAAMBAQADAwQDAAADHAcenQGeAaABAAEGAgMKAAMDBQAAAxkGAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAGQoAAAAAAAAAAAAAEAYGBgYGAAAAABABAQEBAQEZCwsLCwsLCwsLCwsAGRkDBwAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAwMAAwEHBgEBAQYDBAMDAwMDAwAhIQMBGQoDAwMAAwMDAwMDAAEHBKEBCgoiIgMECgQECgQEAwUECgQEBAQECgQEBAQECgcxAAYEBwFwAZsImwgFAwEAEQYJAX8BQYCAwAALB/6BAdIDBm1lbW9yeQIAB3ZlcnNpb24A+goqX193YmdfcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9mcmVlAMwGI3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbmV3AMcHJXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0VXAAmAQxcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9ub3JtYWxOdWRnZUZhY3RvcgCTCjRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE5vcm1hbE51ZGdlRmFjdG9yAMAKJnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfb2Zmc2V0AJQKKXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0T2Zmc2V0AJUKLHJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2xpZGVFbmFibGVkAJYKL3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfc2V0U2xpZGVFbmFibGVkALYKMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBNYXhIZWlnaHQA0AkwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcE1pbldpZHRoANEJPXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBJbmNsdWRlc0R5bmFtaWNCb2RpZXMAwgkvcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcEVuYWJsZWQAhgoucmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9lbmFibGVBdXRvc3RlcACzCS9yYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVBdXRvc3RlcADBCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21heFNsb3BlQ2xpbWJBbmdsZQCXCjVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1heFNsb3BlQ2xpbWJBbmdsZQDCCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21pblNsb3BlU2xpZGVBbmdsZQCYCjVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1pblNsb3BlU2xpZGVBbmdsZQDDCjRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZERpc3RhbmNlANIJMnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlU25hcFRvR3JvdW5kAJkKM3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZGlzYWJsZVNuYXBUb0dyb3VuZADECjNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZEVuYWJsZWQAhwo3cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlQ29sbGlkZXJNb3ZlbWVudAD8ATByYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkTW92ZW1lbnQAzggwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZEdyb3VuZGVkAJoKNXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbnVtQ29tcHV0ZWRDb2xsaXNpb25zAJsKMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRDb2xsaXNpb24A1gQgX193YmdfcmF3Y2hhcmFjdGVyY29sbGlzaW9uX2ZyZWUA2QcZcmF3Y2hhcmFjdGVyY29sbGlzaW9uX25ldwDJCBxyYXdjaGFyYWN0ZXJjb2xsaXNpb25faGFuZGxlAJwKLXJhd2NoYXJhY3RlcmNvbGxpc2lvbl90cmFuc2xhdGlvbkRlbHRhQXBwbGllZADPCC9yYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25EZWx0YVJlbWFpbmluZwDQCBlyYXdjaGFyYWN0ZXJjb2xsaXNpb25fdG9pAJ0KI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MxANEII3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MyALsGInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDEA0ggicmF3Y2hhcmFjdGVyY29sbGlzaW9uX3dvcmxkTm9ybWFsMgCbBxtfX3diZ19yYXdwaWRjb250cm9sbGVyX2ZyZWUA2gcUcmF3cGlkY29udHJvbGxlcl9uZXcAwgYXcmF3cGlkY29udHJvbGxlcl9zZXRfa3AAmAgXcmF3cGlkY29udHJvbGxlcl9zZXRfa2kAmQgXcmF3cGlkY29udHJvbGxlcl9zZXRfa2QAmggecmF3cGlkY29udHJvbGxlcl9zZXRfYXhlc19tYXNrAPEJIHJhd3BpZGNvbnRyb2xsZXJfcmVzZXRfaW50ZWdyYWxzAIoIKHJhd3BpZGNvbnRyb2xsZXJfYXBwbHlfbGluZWFyX2NvcnJlY3Rpb24AvwIpcmF3cGlkY29udHJvbGxlcl9hcHBseV9hbmd1bGFyX2NvcnJlY3Rpb24AzgMicmF3cGlkY29udHJvbGxlcl9saW5lYXJfY29ycmVjdGlvbgC4AiNyYXdwaWRjb250cm9sbGVyX2FuZ3VsYXJfY29ycmVjdGlvbgD/AxdfX3diZ19yYXdjY2Rzb2x2ZXJfZnJlZQDbBxxyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRUeXBlAKwFI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUxAPMFI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUyAPQFH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEZyYW1lWDEA2wQfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMgDXBB9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRBbmNob3IxAIkFH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjIAigUicmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0QW5jaG9yMQCZBCJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IyAJoEJ3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbnRhY3RzRW5hYmxlZAD1BSpyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAzQYlcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZACeBSFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNaW4AwAUhcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzTWF4AMEFIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldExpbWl0cwDHBStyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3Rvck1vZGVsALQFLnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yVmVsb2NpdHkA2wUucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JQb3NpdGlvbgDcBSZyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvcgDdBR1fX3diZ19yYXdpbXB1bHNlam9pbnRzZXRfZnJlZQDgBRZyYXdpbXB1bHNlam9pbnRzZXRfbmV3AOIIHnJhd2ltcHVsc2Vqb2ludHNldF9jcmVhdGVKb2ludADIBBlyYXdpbXB1bHNlam9pbnRzZXRfcmVtb3ZlAL4HFnJhd2ltcHVsc2Vqb2ludHNldF9sZW4AngobcmF3aW1wdWxzZWpvaW50c2V0X2NvbnRhaW5zAO0GJXJhd2ltcHVsc2Vqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUAowQycmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAwAcjX193YmdfcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2ZyZWUA3AcccmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX25ldwDbCRtyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZHQAnwokcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2NvbnRhY3RfZXJwAPQILHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1Tb2x2ZXJJdGVyYXRpb25zAKAKMXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1JbnRlcm5hbFBnc0l0ZXJhdGlvbnMAngomcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21pbklzbGFuZFNpemUAoQoncmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21heENjZFN1YnN0ZXBzAKIKI3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19sZW5ndGhVbml0AKMKH3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZHQAxQo2cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9jb250YWN0X25hdHVyYWxfZnJlcXVlbmN5AMYKOXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgDHCjlyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X25vcm1hbGl6ZWRQcmVkaWN0aW9uRGlzdGFuY2UAyAowcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1Tb2x2ZXJJdGVyYXRpb25zAMkKNXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbnVtSW50ZXJuYWxQZ3NJdGVyYXRpb25zAMoKKnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWluSXNsYW5kU2l6ZQDLCityYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X21heENjZFN1YnN0ZXBzAMwKJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbGVuZ3RoVW5pdADNChtfX3diZ19yYXdpc2xhbmRtYW5hZ2VyX2ZyZWUArwQUcmF3aXNsYW5kbWFuYWdlcl9uZXcA3AktcmF3aXNsYW5kbWFuYWdlcl9mb3JFYWNoQWN0aXZlUmlnaWRCb2R5SGFuZGxlAKcEGl9fd2JnX3Jhd2dlbmVyaWNqb2ludF9mcmVlAN0HFnJhd2dlbmVyaWNqb2ludF9zcHJpbmcAzgIUcmF3Z2VuZXJpY2pvaW50X3JvcGUA0gIZcmF3Z2VuZXJpY2pvaW50X3ByaXNtYXRpYwC/ARVyYXdnZW5lcmljam9pbnRfZml4ZWQA/wEYcmF3Z2VuZXJpY2pvaW50X3Jldm9sdXRlALwCHnJhd211bHRpYm9keWpvaW50c2V0X2pvaW50VHlwZQDCBCFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEZyYW1lWDEAkgQhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgyAIoEIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50QW5jaG9yMQCrBCFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjIArAQpcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRDb250YWN0c0VuYWJsZWQAkgUscmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAvQUncmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRMaW1pdHNFbmFibGVkALYEI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWluANEEI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWF4ANIEH19fd2JnX3Jhd211bHRpYm9keWpvaW50c2V0X2ZyZWUA4QUYcmF3bXVsdGlib2R5am9pbnRzZXRfbmV3AOMIIHJhd211bHRpYm9keWpvaW50c2V0X2NyZWF0ZUpvaW50AMkEG3Jhd211bHRpYm9keWpvaW50c2V0X3JlbW92ZQDIBx1yYXdtdWx0aWJvZHlqb2ludHNldF9jb250YWlucwC8BidyYXdtdWx0aWJvZHlqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUAwwc0cmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50QXR0YWNoZWRUb1JpZ2lkQm9keQDBBx1yYXdyaWdpZGJvZHlzZXRfcmJUcmFuc2xhdGlvbgCLBRpyYXdyaWdpZGJvZHlzZXRfcmJSb3RhdGlvbgDkBBdyYXdyaWdpZGJvZHlzZXRfcmJTbGVlcACcBxxyYXdyaWdpZGJvZHlzZXRfcmJJc1NsZWVwaW5nAIcGGnJhd3JpZ2lkYm9keXNldF9yYklzTW92aW5nALAGIXJhd3JpZ2lkYm9keXNldF9yYk5leHRUcmFuc2xhdGlvbgCTBR5yYXdyaWdpZGJvZHlzZXRfcmJOZXh0Um90YXRpb24A3AQgcmF3cmlnaWRib2R5c2V0X3JiU2V0VHJhbnNsYXRpb24AiwQdcmF3cmlnaWRib2R5c2V0X3JiU2V0Um90YXRpb24A9QcbcmF3cmlnaWRib2R5c2V0X3JiU2V0TGludmVsAIAEG3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3ZlbACRBS1yYXdyaWdpZGJvZHlzZXRfcmJTZXROZXh0S2luZW1hdGljVHJhbnNsYXRpb24A9gUqcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1JvdGF0aW9uAOEENnJhd3JpZ2lkYm9keXNldF9yYlJlY29tcHV0ZU1hc3NQcm9wZXJ0aWVzRnJvbUNvbGxpZGVycwClBCNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzcwCIBi1yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzc1Byb3BlcnRpZXMA0AMYcmF3cmlnaWRib2R5c2V0X3JiTGludmVsAJQFGHJhd3JpZ2lkYm9keXNldF9yYkFuZ3ZlbACJBiFyYXdyaWdpZGJvZHlzZXRfcmJWZWxvY2l0eUF0UG9pbnQAwAMicmF3cmlnaWRib2R5c2V0X3JiTG9ja1RyYW5zbGF0aW9ucwDFBChyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkVHJhbnNsYXRpb25zAJsEH3Jhd3JpZ2lkYm9keXNldF9yYkxvY2tSb3RhdGlvbnMAxgQgcmF3cmlnaWRib2R5c2V0X3JiRG9taW5hbmNlR3JvdXAAigYjcmF3cmlnaWRib2R5c2V0X3JiU2V0RG9taW5hbmNlR3JvdXAA7gUbcmF3cmlnaWRib2R5c2V0X3JiRW5hYmxlQ2NkAO4GJnJhd3JpZ2lkYm9keXNldF9yYlNldFNvZnRDY2RQcmVkaWN0aW9uAPYGFnJhd3JpZ2lkYm9keXNldF9yYk1hc3MA2AUZcmF3cmlnaWRib2R5c2V0X3JiSW52TWFzcwCLBiJyYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVJbnZNYXNzAJUFGnJhd3JpZ2lkYm9keXNldF9yYkxvY2FsQ29tAJYFGnJhd3JpZ2lkYm9keXNldF9yYldvcmxkQ29tAJcFJXJhd3JpZ2lkYm9keXNldF9yYkludlByaW5jaXBhbEluZXJ0aWEAjAYicmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYQDZBSpyYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVXb3JsZEludkluZXJ0aWEAjQYpcmF3cmlnaWRib2R5c2V0X3JiRWZmZWN0aXZlQW5ndWxhckluZXJ0aWEAjgYYcmF3cmlnaWRib2R5c2V0X3JiV2FrZVVwAOkFHnJhd3JpZ2lkYm9keXNldF9yYklzQ2NkRW5hYmxlZACPBiNyYXdyaWdpZGJvZHlzZXRfcmJTb2Z0Q2NkUHJlZGljdGlvbgCQBh5yYXdyaWdpZGJvZHlzZXRfcmJOdW1Db2xsaWRlcnMAkQYacmF3cmlnaWRib2R5c2V0X3JiQ29sbGlkZXIArQUacmF3cmlnaWRib2R5c2V0X3JiQm9keVR5cGUAkgYdcmF3cmlnaWRib2R5c2V0X3JiU2V0Qm9keVR5cGUA/wUZcmF3cmlnaWRib2R5c2V0X3JiSXNGaXhlZADqBR1yYXdyaWdpZGJvZHlzZXRfcmJJc0tpbmVtYXRpYwDrBRtyYXdyaWdpZGJvZHlzZXRfcmJJc0R5bmFtaWMA7wUfcmF3cmlnaWRib2R5c2V0X3JiTGluZWFyRGFtcGluZwCTBiByYXdyaWdpZGJvZHlzZXRfcmJBbmd1bGFyRGFtcGluZwCUBiJyYXdyaWdpZGJvZHlzZXRfcmJTZXRMaW5lYXJEYW1waW5nAPcGI3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3VsYXJEYW1waW5nAPgGHHJhd3JpZ2lkYm9keXNldF9yYlNldEVuYWJsZWQA7wYbcmF3cmlnaWRib2R5c2V0X3JiSXNFbmFibGVkAJUGHnJhd3JpZ2lkYm9keXNldF9yYkdyYXZpdHlTY2FsZQCWBiFyYXdyaWdpZGJvZHlzZXRfcmJTZXRHcmF2aXR5U2NhbGUAwgUdcmF3cmlnaWRib2R5c2V0X3JiUmVzZXRGb3JjZXMA8AYecmF3cmlnaWRib2R5c2V0X3JiUmVzZXRUb3JxdWVzALsFGnJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlAIEEHnJhd3JpZ2lkYm9keXNldF9yYkFwcGx5SW1wdWxzZQCCBBtyYXdyaWdpZGJvZHlzZXRfcmJBZGRUb3JxdWUAnAUkcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlUb3JxdWVJbXB1bHNlAIwFIXJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlQXRQb2ludACXAyVyYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2VBdFBvaW50AJgDLHJhd3JpZ2lkYm9keXNldF9yYkFkZGl0aW9uYWxTb2x2ZXJJdGVyYXRpb25zAJcGL3Jhd3JpZ2lkYm9keXNldF9yYlNldEFkZGl0aW9uYWxTb2x2ZXJJdGVyYXRpb25zAPkGGnJhd3JpZ2lkYm9keXNldF9yYlVzZXJEYXRhAIAGHXJhd3JpZ2lkYm9keXNldF9yYlNldFVzZXJEYXRhAOAGG3Jhd3JpZ2lkYm9keXNldF9yYlVzZXJGb3JjZQCFBRxyYXdyaWdpZGJvZHlzZXRfcmJVc2VyVG9ycXVlAMoFGl9fd2JnX3Jhd3JpZ2lkYm9keXNldF9mcmVlAIEGE3Jhd3JpZ2lkYm9keXNldF9uZXcA9QgfcmF3cmlnaWRib2R5c2V0X2NyZWF0ZVJpZ2lkQm9keQCQAhZyYXdyaWdpZGJvZHlzZXRfcmVtb3ZlAKMCE3Jhd3JpZ2lkYm9keXNldF9sZW4ApAoYcmF3cmlnaWRib2R5c2V0X2NvbnRhaW5zAPoGJnJhd3JpZ2lkYm9keXNldF9mb3JFYWNoUmlnaWRCb2R5SGFuZGxlAMQHOXJhd3JpZ2lkYm9keXNldF9wcm9wYWdhdGVNb2RpZmllZEJvZHlQb3NpdGlvbnNUb0NvbGxpZGVycwCfBRhfX3diZ19yYXdicm9hZHBoYXNlX2ZyZWUA4gURcmF3YnJvYWRwaGFzZV9uZXcArgcVcmF3YnJvYWRwaGFzZV9jYXN0UmF5ANgBIXJhd2Jyb2FkcGhhc2VfY2FzdFJheUFuZEdldE5vcm1hbADQASJyYXdicm9hZHBoYXNlX2ludGVyc2VjdGlvbnNXaXRoUmF5ALEBI3Jhd2Jyb2FkcGhhc2VfaW50ZXJzZWN0aW9uV2l0aFNoYXBlAKMBGnJhd2Jyb2FkcGhhc2VfcHJvamVjdFBvaW50AO0BJ3Jhd2Jyb2FkcGhhc2VfcHJvamVjdFBvaW50QW5kR2V0RmVhdHVyZQDuASRyYXdicm9hZHBoYXNlX2ludGVyc2VjdGlvbnNXaXRoUG9pbnQA2QEXcmF3YnJvYWRwaGFzZV9jYXN0U2hhcGUAnAEkcmF3YnJvYWRwaGFzZV9pbnRlcnNlY3Rpb25zV2l0aFNoYXBlAKUBL3Jhd2Jyb2FkcGhhc2VfY29sbGlkZXJzV2l0aEFhYmJJbnRlcnNlY3RpbmdBYWJiAPkBHHJhd2NvbGxpZGVyc2V0X2NvVHJhbnNsYXRpb24AjQUZcmF3Y29sbGlkZXJzZXRfY29Sb3RhdGlvbgDlBCVyYXdjb2xsaWRlcnNldF9jb1RyYW5zbGF0aW9uV3J0UGFyZW50AMMEInJhd2NvbGxpZGVyc2V0X2NvUm90YXRpb25XcnRQYXJlbnQAtwQfcmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbgDjBShyYXdjb2xsaWRlcnNldF9jb1NldFRyYW5zbGF0aW9uV3J0UGFyZW50AMwFHHJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb24A9wUlcmF3Y29sbGlkZXJzZXRfY29TZXRSb3RhdGlvbldydFBhcmVudAD7BhlyYXdjb2xsaWRlcnNldF9jb0lzU2Vuc29yAJgGGnJhd2NvbGxpZGVyc2V0X2NvU2hhcGVUeXBlAMIHIHJhd2NvbGxpZGVyc2V0X2NvSGFsZnNwYWNlTm9ybWFsAIMEHHJhd2NvbGxpZGVyc2V0X2NvSGFsZkV4dGVudHMA8QMfcmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmRXh0ZW50cwDiBBdyYXdjb2xsaWRlcnNldF9jb1JhZGl1cwDOBhpyYXdjb2xsaWRlcnNldF9jb1NldFJhZGl1cwCFCBtyYXdjb2xsaWRlcnNldF9jb0hhbGZIZWlnaHQAzgQecmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmSGVpZ2h0AMQEHHJhd2NvbGxpZGVyc2V0X2NvUm91bmRSYWRpdXMAzwYfcmF3Y29sbGlkZXJzZXRfY29TZXRSb3VuZFJhZGl1cwCGCBpyYXdjb2xsaWRlcnNldF9jb1ZveGVsRGF0YQC4BBpyYXdjb2xsaWRlcnNldF9jb1ZveGVsU2l6ZQCEBBlyYXdjb2xsaWRlcnNldF9jb1NldFZveGVsALgFJXJhd2NvbGxpZGVyc2V0X2NvUHJvcGFnYXRlVm94ZWxDaGFuZ2UA8QcjcmF3Y29sbGlkZXJzZXRfY29Db21iaW5lVm94ZWxTdGF0ZXMA9wcZcmF3Y29sbGlkZXJzZXRfY29WZXJ0aWNlcwC5BBhyYXdjb2xsaWRlcnNldF9jb0luZGljZXMAugQdcmF3Y29sbGlkZXJzZXRfY29UcmlNZXNoRmxhZ3MA8wQjcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZEhlaWdodHMAuwQhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZFNjYWxlAOcDF3Jhd2NvbGxpZGVyc2V0X2NvUGFyZW50ALwFG3Jhd2NvbGxpZGVyc2V0X2NvU2V0RW5hYmxlZADDBRpyYXdjb2xsaWRlcnNldF9jb0lzRW5hYmxlZADwBR9yYXdjb2xsaWRlcnNldF9jb1NldENvbnRhY3RTa2luAPwGHHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNraW4AmQYZcmF3Y29sbGlkZXJzZXRfY29GcmljdGlvbgCaBhxyYXdjb2xsaWRlcnNldF9jb1Jlc3RpdHV0aW9uAJsGGHJhd2NvbGxpZGVyc2V0X2NvRGVuc2l0eQCxBhVyYXdjb2xsaWRlcnNldF9jb01hc3MAsgYXcmF3Y29sbGlkZXJzZXRfY29Wb2x1bWUAswYgcmF3Y29sbGlkZXJzZXRfY29Db2xsaXNpb25Hcm91cHMAzQUdcmF3Y29sbGlkZXJzZXRfY29Tb2x2ZXJHcm91cHMAzgUccmF3Y29sbGlkZXJzZXRfY29BY3RpdmVIb29rcwCcBiVyYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUNvbGxpc2lvblR5cGVzAJ0GHXJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlRXZlbnRzAJ4GK3Jhd2NvbGxpZGVyc2V0X2NvQ29udGFjdEZvcmNlRXZlbnRUaHJlc2hvbGQAnwYecmF3Y29sbGlkZXJzZXRfY29Db250YWluc1BvaW50ANIDGnJhd2NvbGxpZGVyc2V0X2NvQ2FzdFNoYXBlANYBHXJhd2NvbGxpZGVyc2V0X2NvQ2FzdENvbGxpZGVyAMgCIHJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1NoYXBlAKQCHXJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNoYXBlAMcBIHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdENvbGxpZGVyAIUEHXJhd2NvbGxpZGVyc2V0X2NvUHJvamVjdFBvaW50AJ0DHnJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1JheQDzAhhyYXdjb2xsaWRlcnNldF9jb0Nhc3RSYXkA3wIkcmF3Y29sbGlkZXJzZXRfY29DYXN0UmF5QW5kR2V0Tm9ybWFsAKICGnJhd2NvbGxpZGVyc2V0X2NvU2V0U2Vuc29yAOwFH3Jhd2NvbGxpZGVyc2V0X2NvU2V0UmVzdGl0dXRpb24A/QYccmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbgD+BiRyYXdjb2xsaWRlcnNldF9jb0ZyaWN0aW9uQ29tYmluZVJ1bGUAoAYncmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbkNvbWJpbmVSdWxlANAGJ3Jhd2NvbGxpZGVyc2V0X2NvUmVzdGl0dXRpb25Db21iaW5lUnVsZQChBipyYXdjb2xsaWRlcnNldF9jb1NldFJlc3RpdHV0aW9uQ29tYmluZVJ1bGUA0QYjcmF3Y29sbGlkZXJzZXRfY29TZXRDb2xsaXNpb25Hcm91cHMAtQUgcmF3Y29sbGlkZXJzZXRfY29TZXRTb2x2ZXJHcm91cHMAtgUfcmF3Y29sbGlkZXJzZXRfY29TZXRBY3RpdmVIb29rcwC9BiByYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUV2ZW50cwDSBihyYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUNvbGxpc2lvblR5cGVzANMGGXJhd2NvbGxpZGVyc2V0X2NvU2V0U2hhcGUA9QMucmF3Y29sbGlkZXJzZXRfY29TZXRDb250YWN0Rm9yY2VFdmVudFRocmVzaG9sZAD/BhtyYXdjb2xsaWRlcnNldF9jb1NldERlbnNpdHkAgAcYcmF3Y29sbGlkZXJzZXRfY29TZXRNYXNzAIEHInJhd2NvbGxpZGVyc2V0X2NvU2V0TWFzc1Byb3BlcnRpZXMA5AMZX193YmdfcmF3Y29sbGlkZXJzZXRfZnJlZQDKBBJyYXdjb2xsaWRlcnNldF9uZXcAtQcScmF3Y29sbGlkZXJzZXRfbGVuAKUKF3Jhd2NvbGxpZGVyc2V0X2NvbnRhaW5zAIIHHXJhd2NvbGxpZGVyc2V0X2NyZWF0ZUNvbGxpZGVyAO8BFXJhd2NvbGxpZGVyc2V0X3JlbW92ZQCKAyRyYXdjb2xsaWRlcnNldF9mb3JFYWNoQ29sbGlkZXJIYW5kbGUAxQcaX193YmdfcmF3c2hhcGVjb250YWN0X2ZyZWUA3gcZX193YmdfcmF3bmFycm93cGhhc2VfZnJlZQDDBhJyYXduYXJyb3dwaGFzZV9uZXcAwwkhcmF3bmFycm93cGhhc2VfY29udGFjdF9wYWlyc193aXRoANQHG3Jhd25hcnJvd3BoYXNlX2NvbnRhY3RfcGFpcgD0BCZyYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcnNfd2l0aADVByByYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcgCCBh1fX3diZ19yYXdjb250YWN0bWFuaWZvbGRfZnJlZQDfBxhyYXdjb250YWN0cGFpcl9jb2xsaWRlcjEAxAkYcmF3Y29udGFjdHBhaXJfY29sbGlkZXIyAMUJInJhd2NvbnRhY3RwYWlyX251bUNvbnRhY3RNYW5pZm9sZHMAxgkecmF3Y29udGFjdHBhaXJfY29udGFjdE1hbmlmb2xkAJ0HGXJhd2NvbnRhY3RtYW5pZm9sZF9ub3JtYWwAiwgbcmF3Y29udGFjdG1hbmlmb2xkX2xvY2FsX24xAIwIG3Jhd2NvbnRhY3RtYW5pZm9sZF9sb2NhbF9uMgCNCBxyYXdjb250YWN0bWFuaWZvbGRfc3Vic2hhcGUxAMcJHHJhd2NvbnRhY3RtYW5pZm9sZF9zdWJzaGFwZTIAyAkfcmF3Y29udGFjdG1hbmlmb2xkX251bV9jb250YWN0cwDJCSNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMQDxBiNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMgDyBh9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9kaXN0AMIIH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ZpZDEAwwgfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZmlkMgDECCJyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9pbXB1bHNlANMIKnJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X3RhbmdlbnRfaW1wdWxzZQDFCCZyYXdjb250YWN0bWFuaWZvbGRfbnVtX3NvbHZlcl9jb250YWN0cwDKCSdyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfcG9pbnQAgwcmcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2Rpc3QAyggqcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2ZyaWN0aW9uALAILXJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9yZXN0aXR1dGlvbgCxCDJyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfdGFuZ2VudF92ZWxvY2l0eQCvBx1fX3diZ19yYXdwb2ludHByb2plY3Rpb25fZnJlZQDgBxhyYXdwb2ludHByb2plY3Rpb25fcG9pbnQA1AgbcmF3cG9pbnRwcm9qZWN0aW9uX2lzSW5zaWRlAKYKJV9fd2JnX3Jhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZyZWUA4QcpcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fY29sbGlkZXJIYW5kbGUApwogcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fcG9pbnQA1QgjcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25faXNJbnNpZGUAqAomcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZmVhdHVyZVR5cGUAqQokcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZmVhdHVyZUlkANMJHV9fd2JnX3Jhd3JheWludGVyc2VjdGlvbl9mcmVlAOIHE19fd2JnX3Jhd3NoYXBlX2ZyZWUA3gUPcmF3c2hhcGVfY3Vib2lkAMsJFHJhd3NoYXBlX3JvdW5kQ3Vib2lkALQJDXJhd3NoYXBlX2JhbGwA1AkScmF3c2hhcGVfaGFsZnNwYWNlAMcEEHJhd3NoYXBlX2NhcHN1bGUAkggPcmF3c2hhcGVfdm94ZWxzAJgFGXJhd3NoYXBlX3ZveGVsc0Zyb21Qb2ludHMAmQURcmF3c2hhcGVfcG9seWxpbmUAowgQcmF3c2hhcGVfdHJpbWVzaADpBxRyYXdzaGFwZV9oZWlnaHRmaWVsZADdBBByYXdzaGFwZV9zZWdtZW50AM8DEXJhd3NoYXBlX3RyaWFuZ2xlAPQCFnJhd3NoYXBlX3JvdW5kVHJpYW5nbGUA8QITcmF3c2hhcGVfY29udmV4SHVsbACkCBhyYXdzaGFwZV9yb3VuZENvbnZleEh1bGwAmwgXcmF3c2hhcGVfY29udmV4UG9seWxpbmUApQgccmF3c2hhcGVfcm91bmRDb252ZXhQb2x5bGluZQCcCBJyYXdzaGFwZV9jYXN0U2hhcGUAgQEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlAOMBFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQCdARZyYXdzaGFwZV9jb250YWluc1BvaW50AMQCFXJhd3NoYXBlX3Byb2plY3RQb2ludACeAhZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AI8CEHJhd3NoYXBlX2Nhc3RSYXkAhQIccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADkARhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczEA1ggiX193YmdfcmF3Y29sbGlkZXJzaGFwZWNhc3RoaXRfZnJlZQDjByZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF9jb2xsaWRlckhhbmRsZQCqCiZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF90aW1lX29mX2ltcGFjdACrCiByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMQDXCCByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMgDYCB9yYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF9ub3JtYWwxANkIH3Jhd2NvbGxpZGVyc2hhcGVjYXN0aGl0X25vcm1hbDIA2ggWX193YmdfcmF3cm90YXRpb25fZnJlZQDkBxRyYXdyb3RhdGlvbl9pZGVudGl0eQCsCxVyYXdyb3RhdGlvbl9mcm9tQW5nbGUA+woRcmF3cm90YXRpb25fYW5nbGUAzAcUX193YmdfcmF3dmVjdG9yX2ZyZWUA5AcOcmF3dmVjdG9yX3plcm8ArQsNcmF3dmVjdG9yX25ldwDiCg9yYXd2ZWN0b3Jfc2V0X3kAzgoMcmF3dmVjdG9yX3h5ANQIDHJhd3ZlY3Rvcl95eACmCCFfX3diZ19yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2ZyZWUA5AUacmF3ZGVidWdyZW5kZXJwaXBlbGluZV9uZXcAnQgfcmF3ZGVidWdyZW5kZXJwaXBlbGluZV92ZXJ0aWNlcwCEBx1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2NvbG9ycwCFBx1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX3JlbmRlcgDTARhfX3diZ19yYXdldmVudHF1ZXVlX2ZyZWUAoAUfX193YmdfcmF3Y29udGFjdGZvcmNlZXZlbnRfZnJlZQDlBx5yYXdjb250YWN0Zm9yY2VldmVudF9jb2xsaWRlcjIArAogcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2UA2wgqcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2VfbWFnbml0dWRlAK0KKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9tYWduaXR1ZGUArgoRcmF3ZXZlbnRxdWV1ZV9uZXcA+AcicmF3ZXZlbnRxdWV1ZV9kcmFpbkNvbGxpc2lvbkV2ZW50cwDyByVyYXdldmVudHF1ZXVlX2RyYWluQ29udGFjdEZvcmNlRXZlbnRzAPMHE3Jhd2V2ZW50cXVldWVfY2xlYXIA+AUdX193YmdfcmF3cGh5c2ljc3BpcGVsaW5lX2ZyZWUA5QUWcmF3cGh5c2ljc3BpcGVsaW5lX25ldwCcAydyYXdwaHlzaWNzcGlwZWxpbmVfc2V0X3Byb2ZpbGVyX2VuYWJsZWQAtwomcmF3cGh5c2ljc3BpcGVsaW5lX2lzX3Byb2ZpbGVyX2VuYWJsZWQArwoecmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ19zdGVwALUJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY29sbGlzaW9uX2RldGVjdGlvbgCBCSVyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2Jyb2FkX3BoYXNlAIIJJnJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfbmFycm93X3BoYXNlAIMJIHJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfc29sdmVyAIQJK3Jhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfYXNzZW1ibHkAtgktcmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ192ZWxvY2l0eV9yZXNvbHV0aW9uAIUJKXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfdXBkYXRlAIYJLHJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfdmVsb2NpdHlfd3JpdGViYWNrALcJHXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY2NkAIcJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfY2NkX3RvaV9jb21wdXRhdGlvbgC4CSlyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2NjZF9icm9hZF9waGFzZQC5CSpyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX2NjZF9uYXJyb3dfcGhhc2UAugkkcmF3cGh5c2ljc3BpcGVsaW5lX3RpbWluZ19jY2Rfc29sdmVyALsJLXJhd3BoeXNpY3NwaXBlbGluZV90aW1pbmdfaXNsYW5kX2NvbnN0cnVjdGlvbgCICSZyYXdwaHlzaWNzcGlwZWxpbmVfdGltaW5nX3VzZXJfY2hhbmdlcwC8CRdyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcACXASFyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcFdpdGhFdmVudHMAigEfX193YmdfcmF3ZGVzZXJpYWxpemVkd29ybGRfZnJlZQCDBiByYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlR3Jhdml0eQD5By5yYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSW50ZWdyYXRpb25QYXJhbWV0ZXJzAMUDJnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJc2xhbmRNYW5hZ2VyAMEDI3Jhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VCcm9hZFBoYXNlAPkFJHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VOYXJyb3dQaGFzZQDCAx9yYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlQm9kaWVzAI4EInJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VDb2xsaWRlcnMA9wMmcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUltcHVsc2VKb2ludHMA6wIocmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZU11bHRpYm9keUpvaW50cwDsAiVyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfc2VyaWFsaXplQWxsAJMBJ3Jhd3NlcmlhbGl6YXRpb25waXBlbGluZV9kZXNlcmlhbGl6ZUFsbADeBBxyYXdjb2xsaWRlcnNldF9pc0hhbmRsZVZhbGlkAIIHD3Jhd3ZlY3Rvcl9zZXRfeADFCg5yZXNlcnZlX21lbW9yeQDgCRxyYXdyYXlpbnRlcnNlY3Rpb25fZmVhdHVyZUlkANMJJHJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVJZADTCTVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbm9ybWFsaXplZFByZWRpY3Rpb25EaXN0YW5jZQCdChhyYXdzaGFwZWNvbnRhY3RfZGlzdGFuY2UArQoecmF3cmF5aW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlAKkKKXJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2NvbGxpZGVySGFuZGxlAKcKIXJhd3JheWludGVyc2VjdGlvbl90aW1lX29mX2ltcGFjdACrCiZyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9mZWF0dXJlVHlwZQCpCilyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl90aW1lX29mX2ltcGFjdACrCh5yYXdzaGFwZWNhc3RoaXRfdGltZV9vZl9pbXBhY3QAnwogcmF3cmF5Y29sbGlkZXJoaXRfY29sbGlkZXJIYW5kbGUAqgoecmF3cmF5Y29sbGlkZXJoaXRfdGltZU9mSW1wYWN0AKsKDnJhd3JvdGF0aW9uX2ltAJQKDnJhd3JvdGF0aW9uX3JlAJ8KC3Jhd3ZlY3Rvcl94AJ8KC3Jhd3ZlY3Rvcl95AJQKHnJhd2NvbnRhY3Rmb3JjZWV2ZW50X2NvbGxpZGVyMQCqCjVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgCtChlfX3diZ19yYXdjb250YWN0cGFpcl9mcmVlAN8HJV9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZyZWUA4QccX193YmdfcmF3cmF5Y29sbGlkZXJoaXRfZnJlZQDgBxpfX3diZ19yYXdzaGFwZWNhc3RoaXRfZnJlZQDlByNfX3diZ19yYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfZnJlZQDbBxdyYXdzaGFwZWNvbnRhY3Rfbm9ybWFsMgDPCBZyYXdzaGFwZWNvbnRhY3RfcG9pbnQxANQIFnJhd3NoYXBlY29udGFjdF9wb2ludDIA1QgZcmF3cmF5aW50ZXJzZWN0aW9uX25vcm1hbADXCBhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczIA1wghcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbm9ybWFsANcIF3Jhd3NoYXBlY2FzdGhpdF9ub3JtYWwxANgIF3Jhd3NoYXBlY2FzdGhpdF9ub3JtYWwyANkIInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAA2ggXcmF3c2hhcGVjb250YWN0X25vcm1hbDEA2wgocmF3Y29udGFjdGZvcmNlZXZlbnRfbWF4X2ZvcmNlX2RpcmVjdGlvbgDPCBByYXdjY2Rzb2x2ZXJfbmV3ANELHHJhd3NlcmlhbGl6YXRpb25waXBlbGluZV9uZXcA0QsTX193YmluZGdlbl9leHBvcnRfMADjDB9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyAKcNE19fd2JpbmRnZW5fZXhwb3J0XzEAtQwTX193YmluZGdlbl9leHBvcnRfMgDJCwmYEAEAQQELmgjJDJYC5wq+DdkJnA2qDagN+wv6C/wLqQurDdgK2gnaC9oLnAmcCcEEyw3hCuEK2AfYB+sLngm/COgF6AX7CawNkAnaBYILuQiPCd0L7Af1BroF4QjNDM0MzQzNDOkKsQKrC8sG8gSZB/cJ5gWXC7MK9AfyBaQJnQzODdMMzQ3KDckN0gy/DaYMwQ2gCKgDmgfEA9wCsQPdA40DgAm3CI4JzAzMDMwMzAzqCucBqgvKBvEEmAfXB/YHmQv3Ct4IswWjCboMzA3RDNAMpQzABqEI8AerBc8JlgPVBL8KtAfrA7gI6wjLDMsMywzLDMEJhAjfCcYF6QPWBeoL4QuYC7sL9gndCKUJzgnJDc8MmwzODKQMpwWiCLUKqQ3GB8YHwA3IDeIN4A3hDf4KkgONBOINPlRF5ArcDIgKsAqICvwHnQm9CU5DYl1KqgFC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KAK4ASICIBVJBEAgFSACIhRrIhIgGCgCsAEgAmtLBEAgGEGwAWogAiASQQRByAAQmgUgGCgCuAEhFAsgGCgCtAEgFEHIAGxqIQEgEkECTwRAIBUgAkF/c2oiD0EBcSEOIAIgFUECa0cEQCAPQX5xIQIDQCABQgA3AgAgAUEIakJ/NwIAIAFBEGpCfzcCACABQRhqQn83AgAgAUEgakF/NgIAIAFByABqQgA3AgAgAUHEAGpBADsBACABQTxqQv////v3//+//wA3AgAgAUE0akL////79///v/8ANwIAIAFBLGpC////+/f//7//ADcCACABQSRqQoCAgIDw//+/fzcCACABQdAAakJ/NwIAIAFB2ABqQn83AgAgAUHgAGpCfzcCACABQegAakF/NgIAIAFBhAFqQv////v3//+//wA3AgAgAUH8AGpC////+/f//7//ADcCACABQfQAakL////79///v/8ANwIAIAFB7ABqQoCAgIDw//+/fzcCACABQYwBakEAOwEAIAFBkAFqIQEgAkECayICDQALCyASIBRqQQFrIRQgDgRAIAFCfzcCCCABQgA3AgAgAUEAOwFEIAFC////+/f//7//ADcCPCABQv////v3//+//wA3AjQgAUL////79///v/8ANwIsIAFCgICAgPD//79/NwIkIAFBEGpCfzcCACABQRhqQn83AgAgAUEgakF/NgIAIAFByABqIQELCyABQn83AgggAUIANwIAIAFBADsBRCABQv////v3//+//wA3AjwgAUL////79///v/8ANwI0IAFC////+/f//7//ADcCLCABQoCAgIDw//+/fzcCJCABQRBqQn83AgAgAUEYakJ/NwIAIAFBIGpBfzYCACAUQQFqIRULIBggFTYCuAEgACgCcCICQYCU69wDRwRAIAApA2ghrgEgG0HYAWoiARDcCCAbQcgAaiABIK4BIAIQlAggACkDeCKuASAbKQNIfCKwASCuAVQNByAAKAKAASAbKAJQaiIBQYCU69wDTwRAILABQn9RDQggsAFCAXwhsAEgAUGAlOvcA2shAQsgACABNgKAASAAILABNwN4CyAAQYCU69wDNgJwIBtByABqENwIIBspA0ghrgEgACAbKAJQIgE2AlAgACCuATcDSAJAAkACQCB6RQ0AIBgoAoACIgEgGCgC6AEiVyAB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lAlqIjIoAgAiEkEBdCIDIANBBE0bIgetQqACfiJdQiCIQgBSBEBBAEEAQYiCwgAQ+QsACwJAIF2nIgNB/P///wdNBH8gASASBH8gASASQaACbDYCHCABIDIoAgQ2AhRBBAVBAAs2AhggAUEIakEEIAMgAUEUahCRCCABKAIIQQFHDQEgASgCECEgIAEoAgwFQQALICBBiILCABD5CwALIAEoAgwhAyAyIAc2AgAgMiADNgIEIAFBIGokACAFKAKYCSEHCyAHIB9BoAJsaiIDQQA2AlggA0IANwJQIANCgICAgMAANwJIIANCBDcCQCADQgA3AjggA0IENwIwIANCADcCKCADQgQ3AiAgA0IANwIYIANCBDcCECADQgA3AgggA0KAgICAgAI3AgAgAyAFKQLQBDcCXCADQeQAaiAFQdAEaiIBQQhqKQIANwIAIANB7ABqIAFBEGopAgA3AgAgA0H0AGogAUEYaikCADcCACADQfwAaiABQSBqKQIANwIAIANBADYCpAEgA0KAgICAwAA3AoQBIANCgICAgHA3AowBIANCgICAgMAANwKUASADQgA3ApwBIAMgBSkCtAI3AqgBIANBsAFqIAVBtAJqIgFBCGopAgA3AgAgA0G4AWogAUEQaikCADcCACADQcABaiABQRhqKQIANwIAIANByAFqIAFBIGopAgA3AgAgA0EENgKIAiADQoCAgIDAADcC0AEgA0IANwLYASADQgQ3AuABIANCADcC6AEgA0IENwLwASADQoCAgIDAADcC+AEgA0IANwKAAiADQgA3AowCIANBlAJqQgA3AgAgA0GcAmpBADoAACADIBs6AJ0CIAUgH0EBaiIfNgKcCQwBCyATICRNDQkgCSATTw0KIA0gEGogECAkQQJ0aigCADYCAAsgCSATRg0BIA0gEGooAgAiASAfTw0CIA0gD2ogBSgCmAkiByABQaACbGoiEigCCCIDNgIAIAYNAyAvIC5BEHRyDAQLIAkgE0H4gcIAELAJAAsgEyATQZiCwgAQsAkACyABIB9BqILCABCwCQALIEVCADcAACBFQQhqQgA3AAAgREIANwAAIERBCGpCADcAACAYQQA2AgAgS0IANwMAIExCADcDACBNQQA2AgAgFkEANgIAICIgBUHQBGoiAUEIaikAADcDACAeIAFBD2ooAAA2AAAgBUIA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CyAJIAFBoPnBABCwCQALQZz7wQBBE0HsqcIAEPgJAAsgIiACa0GgAm4hBCACICJHBEADQCACEKACIAJBoAJqIQIgBEEBayIEDQALCyAXRQ0AIAcgF0GgAmxBBBCfDQsgBUHgCmokAA8LIAVBADYC4AQgBUEBNgLUBCAFQeDswQA2AtAEIAVCBDcC2AQgBUHQBGpB6OzBABDcCwALwDQDGX8MfQJ+IwBB8ABrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAggEQCABKAKIAiEKIAAoAgQiAygC8AEiBiABKAKMAiINTw0NIAogBkEIdGoiCSgCAEEBRw0NIAkoAgQgAygC9AFHDQ0gCUEQaiELIAktAPEBRSIBIAAtAJwCRg0MIAsgAyACGyoCACEcIAlBFGogA0EEaiACGyoCACEdIAlBGGogA0EIaiACGykDACEoAkAgAUUEQCAAKAIYQQJLDQFBpIfCAEE2QdyHwgAQ+QoACyAEQTBqIgFBC2pCADcAACAEQdgAaiIGQQtqQgA3AAAgBEIANwAzIARBGGoiBUEIaiIHIAFBCGopAAA3AwAgBUEPaiIFIAFBD2ooAAA2AAAgBEIANwBbIARBCGoiASAGQQhqKQAANwMAIARBD2oiCCAGQQ9qKAAANgAAIAQgBCkAMDcDGCAEIAQpAFg3AwAgA0IANwI0IANBgICA/AM2AjAgA0IANwMoIANCgICA/AM3AyAgA0E8akIANwIAIANBxABqQgA3AgBBACEGIANBzABqQQA2AgAgA0IANwNwIANC////+////7//ADcDaCADQv////sHNwNgIANCgICAgPD//79/NwNYIANC////+////7//ADcDUCADQfgAakIANwMAIANBgAFqQQA2AgAgA0EAOgCMASADQv////sHNwKEASADLQDIASEOIANC////+wc3A6ABIANBADoAqAEgA0GcAWogBSgAADYAACADQZUBaiAHKQMANwAAIAMgBCkDGDcAjQEgA0EANgLIASADIBw4AtABIAMgHTgC1AEgAyAoNwPYASADQQA2AuABIANBgAI7AcwBIANC////+wc3ArwBIANBADoA5AEgA0EAOgDEASADQbgBaiAIKAAANgAAIANBsQFqIAEpAwA3AAAgAyAEKQMANwCpASAAKAIIRQ0FIAAoAgRBADYCjAIgACAAKAKUAkEDajYClAIgACgCFCIDQQJ0IQUgA0H/////A0sNAiAFQfz///8HSw0CIAAoAhAhCAJAIAVFBEBBBCEHQQAhAQwBC0EEIQYgAyEBIAVBBBDUDCIHRQ0DCyAFBEAgByAIIAX8CgAACyAEIAAoAhgiBjYCPCAEIAM2AjggBCAHNgI0IAQgATYCMCAEQdgAaiAGQQNqIgcgBEEwahDlAyAEKAJYIQggBCgCXCEBIAQoAmAhAyAEKAJkIQUCQCAHRQ0AIAZBAnQiBkUNACABQQxqIAEgBvwKAAALIAVBAk0NEiABQQA2AgggAUIANwIAIAMgBUcNEyAAKAIMIgYEQCAAKAIQIAZBAnRBBBCfDQsgACADNgIYIAAgAzYCFCAAIAE2AhAgACAINgIMIAAoAiQiA0ECdCEFQQAhByADQf////8DSw0DIAVB/P///wdLDQMgACgCICEIAkAgBUUEQEEEIQFBACEGDAELQQQhByADIQYgBUEEENQMIgFFDQQLIAUEQCABIAggBfwKAAALIAQgACgCKCIFNgI8IAQgAzYCOCAEIAE2AjQgBCAGNgIwIARB2ABqIAVBA2oiByAEQTBqEOUDIAQoAlghCCAEKAJcIQEgBCgCYCEDIAQoAmQhBgJAIAdFDQAgBUECdCIFRQ0AIAFBDGogASAF/AoAAAsgBkECTQ0SIAFBADYCCCABQgA3AgAgAyAGRw0TIAAoAhwiBgRAIAAoAiAgBkECdEEEEJ8NCyAAIAM2AiggACADNgIkIAAgATYCICAAIAg2AhwgACgCNCIDQQJ0IQVBACEHIANB/////wNLDQQgBUH8////B0sNBCAAKAIwIQgCQCAFRQRAQQQhAUEAIQYMAQtBBCEHIAMhBiAFQQQQ1AwiAUUNBQsgBQRAIAEgCCAF/AoAAAsgBCAAKAI4IgU2AjwgBCADNgI4IAQgATYCNCAEIAY2AjAgBEHYAGogBUEDaiIHIARBMGoQ5QMgBCgCWCEIIAQoAlwhASAEKAJgIQMgBCgCZCEGAkAgB0UNACAFQQJ0IgVFDQAgAUEMaiABIAX8CgAACyAGQQJNDRIgAUEANgIIIAFCADcCACADIAZHDRMgACgCLCIGBEAgACgCMCAGQQJ0QQQQnw0LIAAgAzYCOCAAIAM2AjQgACABNgIwIAAgCDYCLCAAKAIIIgFFDQYgAUGgAmwiBUGgAkYNDCAOaSEBIAAoAgQhBiAFQcAEayIIQaACbiIDQQdxQQdGBH8gBkGgAmoFQQAgA0EBakEHcWshByAGQawEaiEDA0AgAyADKAIAIAFqNgIAIANBoAJqIQMgB0EBaiIHDQALIANBjAJrCyEDIAhB4A9JDQwgBSAGaiEGA0AgA0GMAmoiBSAFKAIAIAFqNgIAIANBrARqIgUgBSgCACABajYCACADQcwGaiIFIAUoAgAgAWo2AgAgA0HsCGoiBSAFKAIAIAFqNgIAIANBjAtqIgUgBSgCACABajYCACADQawNaiIFIAUoAgAgAWo2AgAgA0HMD2oiBSAFKAIAIAFqNgIAIANB7BFqIgUgBSgCACABajYCACAGIANBgBJqIgNHDQALDAwLIAAoAihBAk0NBiAAKAI4QQJNDQcgBEEwaiIBQQtqQgA3AAAgBEHYAGoiBkELakIANwAAIARCADcAMyAEQRhqIgVBCGoiByABQQhqKQAANwMAIAVBD2oiBSABQQ9qKAAANgAAIARCADcAWyAEQQhqIgEgBkEIaikAADcDACAEQQ9qIgggBkEPaigAADYAACAEIAQpADA3AxggBCAEKQBYNwMAIANCADcCNCADQYCAgPwDNgIwIAMgKDcDKCADIB04AiQgAyAcOAIgIANBPGpCADcCACADQcQAakIANwIAIANBzABqQQA2AgAgA0IANwNwIANC////+////7//ADcDaCADQv////sHNwNgIANCgICAgPD//79/NwNYIANC////+////7//ADcDUCADQfgAakIANwMAIANBgAFqQQA2AgAgA0EAOgCMASADQv////sHNwKEASADLQDIASEGIANC////+wc3A6ABIANBADoAqAEgA0GcAWogBSgAADYAACADQZUBaiAHKQMANwAAIAMgBCkDGDcAjQEgA0EHNgLIASADQv////sHNwK8ASADQYCAgPwDNgLQASADQYACOwHMASADQQA6AMQBIAMgBCkDADcAqQEgA0GxAWogASkDADcAACADQbgBaiAIKAAANgAAIANB5AFqQQA6AAAgA0HcAWpCADcCACADQgA3AtQBIAAoAghFDQggACgCBEEANgKMAiAAIAAoApQCIgNBAyAGaWsiAWs2ApQCIAEgA0YEQCAAKAIMIgME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BygCHBEAACAJQTBqIAkoAhAiCyAJKAIUKAIMEQAAAkAgC0UNACAJKQMwQpXm9bD5+M3NTYUgCSkDOEL9562Jv7rX2e0AhYRCAFINACALIAstABhBf3NBAXEiEjoAGCAGKAIIIRAgBigCBCEUIAZCBDcCBCAGKAIAIRogBkEANgIAIAMgBCgCECIIEQQAIRUgCSACKQNAIh6nviIvQwAAAD+UIjY4AiggCSAeQiCIp74iMEMAAAA/lCI3OAIsQ///f38hLkP//3//ISdD//9//yEqQ///f/8hBUP//39/IShD//9/fyEpAkAgAigCCCIMRQ0AAkACQCACKAIEIgcoAixB/////wNxIAcoAhRB/////wNxag4CAgABCyAHKgIQISogByoCDCEFIAcqAgQhKCAHKgIAISkMAQsgByoCECIFIAcqAigiJSAFICVgGyEqIAcqAgwiBSAHKgIkIiUgBSAlYBshBSAHKgIEIiUgByoCHCImICUgJl8bISggByoCACIlIAcqAhgiJiAlICZfGyEpCwJAIAMgCBEEACIHKAIIRQRAQ///f/8hJUP//39/ISYMAQtD//9//yElQ///f38hJgJAAkAgBygCBCIHKAIsQf////8DcSAHKAIUQf////8DcWoOAgIAAQsgByoCECEnIAcqAgwhJSAHKgIEIS4gByoCACEmDAELIAcqAhAiJSAHKgIoIiYgJSAmYBshJyAHKgIMIiUgByoCJCImICUgJmAbISUgByoCBCImIAcqAhwiLCAmICxfGyEuIAcqAgAiJiAHKgIYIiwgJiAsXxshJgsgKSABKgIIIjggASoCACIsICUgJpJDAAAAP5QiK5QgJyAukkMAAAA/lCIxIAEqAgQiMpSTkiIzICyLIjQgJSAmk0MAAAA/lCIllCAnIC6TQwAAAD+UIiYgMosiLpSSIieTIi0gKSAtYBsiNSAFIDMgJ5IiKSAFIClfGyIFXg0EICggASoCDCIzICwgMZQgKyAylJKSIicgJiA0lCAlIC6UkiIlkyIrICggK2AbIiYgKiAnICWSIiggKCAqYBsiJV4NBCAFIC+VjfwAIgetICUgMJWN/AAiCK1CIIaEIR8gNSAvlY78ACIKrSAmIDCVjvwAIgGtQiCGhCEgIAiyQwAAAD+SIDCUIQUgB7JDAAAAP5IgL5QhJSABskMAAAA/kiAwlCEmIAqyQwAAAD+SIC+UIScCQCAMRQRAQQAhCEEAIQcMAQtBACEIAn9BACAlIAIoAgQiDCkCACIep75gRQ0AGkEAIAUgHkIgiKe+YEUNABogDEEAICYgDEEMaikCACIeQiCIp75fG0EAICcgHqe+XxsLIQcgDCgCLEH/////A3FFDQAgJSAMQRhqIgEpAgAiHqe+YEUNACAFIB5CIIinvmBFDQAgJyAMQSRqKQIAIh6nvl8gJiAeQiCIp75fcSEICyAJKQMoIR4gCUEENgLQAyAJQQQ2AuQBIAkgHzcC3AEgCSAgNwLUASAJIAI2AtABIAkgBTgCzAEgCSAlOALIASAJICY4AsQBIAkgJzgCwAEgCSAHNgK8ASAJIAI2ArgBIAkgCDYCtAEgCSABNgI0IAlBADYCMCAJQcgFaiIBIAlBMGoQjgEgCSgCyAVBAUcNAyAoIB5CIIinvkMAACBBlCIFkiElICkgHqe+QwAAIEGUIiqSISYgKyAFkyEnIC0gKpMhKiAJQfAIaiEWIAQoAgwhHCAJQfgHaiENIAlB5AdqIRcgCUG8B2ohDiAJQbwGaiEMIAlB+AVqIRsgAUEEaiERA0AgCUHoBWoiBEEYaiARQRhqKAIAIgE2AgAgGyARQRBqKQIANwMAIARBCGogEUEIaikCADcDACAJIBEpAgA3A+gFAkAgAUH/AXEiBEERSQRAAkAgBEHXlsEAai0AAA4EAgAAAgALIAkpA/AFIR4gCUG4BmoiBCACEJ8EIAkpA7gGISAgBCACEJ8EQQAhBCAJIB4gIEL/////D3wiHyABQQ9zQQAgAUEPa0H/AXFBAk8bIgFBAnEbIiKnIgeyQwAAAD+SIC+UIgUgKiAqIAUgBSAqXRsgBSAFXBsgByAepyIHRhsiKCAeIAkpAsAGIiEgAUEBcRsiI6ciCLJDAAAAP5IgL5QiBSAFIAUgJiAFICZdGyAmICZcGyAHIAhGGyIpkkMAAAA/lCItOAKIBiAJICBCIIinQQFrIgggHkIgiCIgpyIKIAFB/wFxQQhJGyIHskMAAAA/kiAwlCIFICcgJyAFIAUgJ10bIAUgBVwbIAcgCkYbIisgHiAhIAFBBHEbQiCIIh6nIgGyQwAAAD+SIDCUIgUgBSAFICUgBSAlXRsgJSAlXBsgHiAgURsiBZJDAAAAP5QiMTgCjAYgCSA3IAUgK5NDAAAAP5SSOAKUBiAJIDYgKSAok0MAAAA/lJI4ApAGIAkgMyAxkzgCpAYgCSA4IC2TOAKgBiAJKQOQBiEeIAkgMjgCnAYgCSkCoAYhICAJICw4ApgGIAkgMiAgp74iKJQgLCAgQiCIp74iKZSTIi0gLiAep74iK5QgNCAeQiCIp74iMZSSIjWSIgU4ArQGIAkgLCAojJQgMiAplJMiOSA0ICuUIC4gMZSSIiuSIig4ArAGIAkgLSA1kyIpOAKsBiAJIDkgK5MiLTgCqAYgIiAffacgByAIayAhIB99pyIHbGohGCAjIB99pyABIAhrIAdsaiEZAkAgFSgCCEUEQEEAIQEMAQsCfwJAICggFSgCBCIHKQIAIh6nvmBFDQAgBSAeQiCIp75gRQ0AIC0gB0EMaikCACIep75fRQ0AIAcgKSAeQiCIp75fDQEaC0EACyEBIAcoAixB/////wNxRQ0AICggB0EYaiIIKQIAIh6nvmBFDQAgLSAHQSRqKQIAIh+nvl8gKSAfQiCIp75fcSAFIB5CIIinvmBxIQQLIAkgATYCyAcgCSAVNgLAByAJIAQ2ArwHIAkgCDYCvAYgCUEANgK4BiAYQd2h8ct8c60hICAZQbfTsIV8c60hISAJIAlBqAZqNgLEBwNAIAkCfwJAAkACQAJAIAkoAsgHIgdFBEACQCAJKAK8ByIHQSFPBEAgCSgCvAYiBEUNAyAJKALABiEIIAwhASAEIQcMAQsgDiEBIAwhCCAHRQ0JCyABIAdBAWsiATYCACAIIAFBAnRqKAIAIQcLIAlBADYCyAcgBygCFEH/////A3FBAUcEQCAHKAIIIgEgCSgCwAciBygCCCIETw0CQQEhBAJAIAcoAgQgAUEwbGoiBykCACIep74gCSgCxAciASoCCCIFX0UNACABKgIMIB5CIIinvmBFDQAgASoCACAHQQxqKQIAIh6nvl9FDQAgASoCBCAeQiCIp75fRQ0AIAkgBzYCyAcgASoCCCEFQQAhBAsgBSAHKQIYIh6nvmBFDQYgASoCDCAeQiCIp75gRQ0GIAEqAgAgB0EkaikCACIep75fRQ0GIAEqAgQgHkIgiKe+X0UNBiAHQRhqIQcgBEUEQAJ/IAkoArwHIgRBIUkEQCAEIQggDCEKQSAhBCAODAELIAkoArwGIQggCSgCwAYhCiAMCyEBIAQgCEYEQCAJQbgGahCVAyAJKAK8BiEIIAkoAsAGIQogDCEBCyAKIAhBAnRqIAc2AgAgASABKAIAQQFqNgIADAcLIAkgBzYCyAcMBgsgCygCBCIEIAcoAggiCCALKQMQQoOAgIAQhSIeQiCIIh8gIX4gHkL/////D4MiHiAgfoUgHiAhfiAfICB+hUIgiYUiHqdzrSIfQt2h8csMfiAeQiCIIh5Ct9OwhQx+hSAfQrfTsIUMfiAeQt2h8csMfoVCIImFIh+nIhNxIQcgH0IZiCIjQv8Ag0KBgoSIkKDAgAF+ISQgCygCACEPQQAhAQJAA0ACQCAHIA9qKQAAIiIgJIUiHkKBgoSIkKDAgAF9IB5Cf4WDQoCBgoSIkKDAgH+DIh5CAFIEQANAAkAgGCAPIB56p0EDdiAHaiAEcUFobGoiCkEYaygCAEcNACAZIApBFGsoAgBHDQAgCCAKQRBrKAIARg0DCyAeQgF9IB6DIh5CAFINAAsLICIgIkIBhoNCgIGChIiQoMCAf4NCAFINAiAHIAFBCGoiAWogBHEhBwwBCwsgCkEMayEBQQEgCkEEayIPLQAAIBJGDQUaIAEoAgAiBCAQTw0DIAlBuAhqIBQgBEH8AGxqIgRBKGoiBxCyAiAEKAIoBEAgB0EANgIACyANIAkpArgINwIAIBcgBCkCFDcCACAJQdAHaiIHQQhqIARBCGopAgA3AwAgB0EQaiAEQRBqKAIANgIAIBdBCGogBEEcaikCADcCACAXQRBqIARBJGooAgA2AgAgDUE4aiAWKAIANgIAIA1BMGogCUG4CGoiB0EwaikCADcCACANQShqIAdBKGopAgA3AgAgDUEgaiAHQSBqKQIANwIAIA1BGGogB0EYaikCADcCACANQRBqIAdBEGopAgA3AgAgDUEIaiAHQQhqKQIANwIAIAkgBCkCADcD0AcgBCgCeCETIAQoAnQhHSAEKQJsIR4gBCkCZCEfIApBCGtBADYCACAPIBI6AAAgASAGKAIIIgc2AgAgBigCACAHRgRAIAZBzOXCABCvBgsgBigCBCAHQfwAbGoiBCAJQdAHakHkAPwKAAAgBCATNgJ4IAQgHTYCdCAEIB43AmwgBCAfNwJkIAYgB0EBajYCCAwECyAGKAIIIQQgCS0AJyEHIAkoAuwFIQEgCSgC6AUhCiAWQQhqQgA3AgAgFkIANwIAIAEgCkEIdGohCiAGKAIAIARGBEAgBkHc5cIAEK8GCyAGKAIEIARB/ABsaiIBQQA2AiggAUEANgIUIAFBADYCACABQSxqIAlBuAhqQcgA/AoAACABIAogCCAHGzYCeCABIAggCiAHGzYCdCAGIARBAWo2AgggCSASOgDMCCAJQQA2AsgIIAkgBDYCxAggCSAINgLACCAJIBk2ArwIIAkgGDYCuAggCygCBCIPIBNxIgEgCygCACIHaikAAEKAgYKEiJCgwIB/gyIeUARAQQghCgNAIAEgCmohASAKQQhqIQogByABIA9xIgFqKQAAQoCBgoSIkKDAgH+DIh5QDQALCyAHIB56p0EDdiABaiAPcSIBaiwAACIEQQBOBH8gByAHKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAFIAQLQQFxIgQgCygCCCIKRXFFBEAgASAHaiAjp0H/AHEiEzoAACAHIAFBCGsgD3FqQQhqIBM6AAAgCyAKIARrNgIIIAsgCygCDEEBajYCDCAHIAFBaGxqIgRBGGsiAUEQaiAJQbgIaiIHQRBqKQIANwIAIAFBCGogB0EIaikCADcCACABIAkpArgINwIAIARBDGshAQwECyAJQQhqIAsgC0EQahC3ASALIB8gCygCACALKAIEIB8QsgggCUG4CGoQiAhBDGshAQwDCyAJQQA2AsgHIAkoAsAGIAdBAnRBBBCfDQwGCyABIARB6NLCABCwCQALIAQgEEG85cIAELAJAAtBAAs6AM8HIAEoAgAiBCAGKAIIIgdPBEAgBCAHQezlwgAQsAkABSAGKAIEIQcgCSABQQRqNgLkCCAJIBs2AuAIIAlBgOzCADYC0AggCSAANgLMCCAJIAcgBEH8AGxqNgLECCAJIAlBKGo2AtwIIAkgCUEgajYC2AggCSAJQZAGajYC1AggCSAJQYgGajYCyAggCSAJQSdqNgLACCAJIAlBzwdqNgK8CCAJIAlBmAZqNgK4CCADIAggCUG4CGpB/OXCACAcEQIADAELAAsACyAEQRFBpKfDABCwCQALIAlByAVqIAlBMGoQjgEgCSgCyAUNAAsMAwtBnOXCABClDQALQYzlwgAQpQ0AC0EIQSBB8PrDACgCACIAQe8HIAAbEQAAAAsgCSgCMEECRg0AIAkoArQBIgBBIUkNACAJKAI4IABBAnRBBBCfDQsCQCALKAIMIgNFDQAgBigCBCIMQSxqIQ4gCygCACIIQQhqIQcgCCkDAEJ/hUKAgYKEiJCgwIB/gyEeIAYoAgghBAJAA0ACQCAeUARAA0AgCEHAAWshCCAHKQMAIR4gB0EIaiEHIB5CgIGChIiQoMCAf4MiHkKAgYKEiJCgwIB/UQ0ACyAeQoCBgoSIkKDAgH+FIR4LIBIgCCAeeqdBA3ZBaGxqIgJBBGstAABGBEAgAkEMaygCACIAIARPDQEgAEH8AGwiDSAMaiIAQShqIRECQAJ/IAAoAigiAEUEQEEAIQpBAAwBCyACQQhrKAIAIQFBACEGAkADQCABIAZ2QQFxRQ0BIAAgBkEBaiIGRw0AC0EAIQoMAgtBASEKIAZBAWoLIgEgAEYNACAOIA0gAUEcbGpqIQYgAkEIaygCACENA0ACQCANIAF2QQFxRQRAIApBAWohCgwBCyAGIApBZGxqIgIgBikCADcCACACQRhqIAZBGGooAgA2AgAgAkEQaiAGQRBqKQIANwIAIAJBCGogBkEIaikCADcCAAsgBkEcaiEGIAAgAUEBaiIBRw0ACwsgESAAIAprNgIACyAeQgF9IB6DIR4gA0EBayIDDQEMAgsLIAAgBEGs5cIAELAJAAsgCygCDCIBRQ0AIAsoAgQhAyALKAIAIgBBCGohByAAKQMAQn+FQoCBgoSIkKDAgH+DIR4gCygCCCECIAAhBiABIQoDQCAeUARAA0AgBkHAAWshBiAHKQMAIR4gB0EIaiEHIB5CgIGChIiQoMCAf4MiHkKAgYKEiJCgwIB/UQ0ACyAeQoCBgoSIkKDAgH+FIR4LIB5CAX0hHyASIAYgHnqnQQN2QWhsaiIEQQRrLQAARwRAQYABIQggACAEa0EYbSIEIABqIgwpAAAiIEIBhiAgg0KAgYKEiJCgwIB/g3qnQQN2IAAgBEEIayADcWoiBCkAACIgQgGGICCDQoCBgoSIkKDAgH+DeadBA3ZqQQdNBEAgCyACQQFqIgI2AghB/wEhCAsgDCAIOgAAIAsgCkEBayIKNgIMIARBCGogCDoAAAsgHiAfgyEeIAFBAWsiAQ0ACwsCQCAQRQ0AIBBBA3EhBkEAIQggEEEETwRAIBRBnANqIQcgEEF8cSEAA0AgB0H0AmsiASgCAARAIAFBADYCAAsgB0H4AWsiASgCAARAIAFBADYCAAsgB0H8AGsiASgCAARAIAFBADYCAAsgBygCAARAIAdBADYCAAsgB0HwA2ohByAAIAhBBGoiCEcNAAsLIAZFDQAgCEH8AGwgFGpBKGohBwNAIAcoAgAEQCAHQQA2AgALIAdB/ABqIQcgBkEBayIGDQALCyAaBEAgFCAaQfwAbEEEEJ8NCyAJQYAJaiQAC70lAhp/A34jAEHABmsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEpAwAiH0IAUgRAIAEpAwgiIFANASABKQMQIiFQDQIgHyAhfCAfVA0DIB8gIFQNBCABLgEYIQEgCCAfPgIMIAhBAUECIB9CgICAgBBUIgYbNgKsASAIQQAgH0IgiKcgBhs2AhAgCEEUakEAQZgB/AsAIAhBtAFqQQBBnAH8CwAgCEEBNgKwASAIQQE2AtACIAGsIB9CAX15fULCmsHoBH5CgKHNoLQCfEIgiKciBsEhDgJAIAFBAE4EQCAIQQxqIAEQqwEaDAELIAhBsAFqQQAgAWvBEKsBGgsCQCAOQQBIBEAgCEEMakEAIA5rQf//A3EQmAEMAQsgCEGwAWogBkH//wFxEJgBCyAIQZwFaiAIQbABakGkAfwKAAAgAyIHQQpPBEAgCEGUBWohCwNAIAgoArwGIgFBKU8NFAJAIAFFDQAgAUH/////A2ohBiABQQJ0IQUCfyABQQFGBEBCACEfIAhBnAVqIAVqDAELIAUgC2ohASAGQf////8DcUEBakH+////B3EhCUIAIR8DQCABQQRqIgU1AgAgH0IghoQiIEKAlOvcA4AhHyAFIB8+AgAgASABNQIAICAgH0KAlOvcA359QiCGhCIfQoCU69wDgCIgPgIAIB8gIEKAlOvcA359IR8gAUEIayEBIAlBAmsiCQ0ACyAfQiCGIR8gAUEIagshASAGQQFxDQAgAUEEayIBIB8gATUCAIRCgJTr3AOAPgIACyAHQQlrIgdBCUsNAAsLIAdBAnRB2NvDAGooAgBBAXQiB0UNBSAIKAK8BiIBQSlPDRIgAQR/IAFB/////wNqIQYgAUECdCEFIAetIR8CfyABQQFGBEBCACEgIAhBnAVqIAVqDAELIAUgCGpBlAVqIQEgBkH/////A3FBAWpB/v///wdxIQlCACEgA0AgAUEEaiIFNQIAICBCIIaEIiEgH4AhICAFICA+AgAgASABNQIAICEgHyAgfn1CIIaEIiAgH4AiIT4CACAgIB8gIX59ISAgAUEIayEBIAlBAmsiCQ0ACyAgQiCGISAgAUEIagshASAGQQFxRQRAIAFBBGsiASAgIAE1AgCEIB+APgIACyAIKAK8BgVBAAshAQJAAkACQCAIKAKsASIGIAEgASAGSRsiBUEoTQRAIAVFBEBBACEFDAQLIAVBAXEhDCAFQQFHDQFBACEHDAILIAVBKEGg88MAEKMNAAsgBUE+cSEPQQAhByAIQZwFaiEBIAhBDGohCQNAIAEgB0EBcSABKAIAIgsgCSgCAGoiB2oiETYCACAHIAtJIAcgEUtyIAFBBGoiESgCACIUIAlBBGooAgBqIgdqIQsgESALNgIAIAcgFEkgByALS3IhByAJQQhqIQkgAUEIaiEBIA8gCkECaiIKRw0ACwsgDAR/IApBAnQiCyAIQZwFamoiCSgCACEBIAkgByABIAhBDGogC2ooAgBqIgdqIgs2AgAgASAHSyAHIAtLcgUgBwtBAXFFDQAgBUEoRg0UIAhBnAVqIAVBAnRqQQE2AgAgBUEBaiEFCyAIIAU2ArwGIAgoAtACIgogBSAFIApJGyIBQSlPDRIgAUECdCEBAkACQANAIAFFDQEgAUEEayIBIAhBnAVqaigCACIFIAEgCEGwAWpqKAIAIgdGDQALIAUgB08NAQwJCyABDQgLIA5BAWohDgwIC0HEysMAQRxBzM3DABD5CgALQfDKwwBBHUHczcMAEPkKAAtBoMvDAEEcQezNwwAQ+QoAC0GEzcMAQTZB3M7DABD5CgALQbzMwwBBN0HMzsMAEPkKAAtB5/PDAEEbQaDzwwAQ+QoACwALIAZFBEBBACEGIAhBADYCrAEMAQsgBkEBa0H/////A3EiAUEBaiIFQQNxIQkCQCABQQNJBEAgCEEMaiEBQgAhHwwBCyAFQfz///8HcSEHIAhBDGohAUIAIR8DQCABIAE1AgBCCn4gH3wiHz4CACABQQRqIgU1AgBCCn4gH0IgiHwhHyAFIB8+AgAgAUEIaiIFNQIAQgp+IB9CIIh8IR8gBSAfPgIAIAFBDGoiBTUCAEIKfiAfQiCIfCEgIAUgID4CACAgQiCIIR8gAUEQaiEBIAdBBGsiBw0ACwsgCQRAA0AgASABNQIAQgp+IB98IiA+AgAgAUEEaiEBICBCIIghHyAJQQFrIgkNAAsLICBCgICAgBBaBEAgBkEoRg0MIAhBDGogBkECdGogHz4CACAGQQFqIQYLIAggBjYCrAELQQAhBUEBIQwgDsEiASAEwSIHSCIaDQYgDiAEa8EgAyABIAdrIANJGyILRQ0GIAhB1AJqIgEgCEGwAWoiBEGkAfwKAABBASERIAFBARCrASEUIAhB+ANqIgEgBEGkAfwKAAAgAUECEKsBIRUgCEGcBWoiASAEQaQB/AoAACAIQawBaiEbIAhB0AJqIRwgCEH0A2ohHSABQQRrIR4gAUEDEKsBIRYgFCgCoAEhFyAVKAKgASEYIBYoAqABIRlBACEPIAgoAqwBIQYgCCgC0AIhCgJAA0AgBkEpTw0NIAZBAnQhBEEAIQECfwJAAkADQCABIARGDQEgCEEMaiABaiEFIAFBBGohASAFKAIARQ0ACyAZIAYgBiAZSRsiBEEpTw0GIARBAnQhAQJAA0AgAUUNASABIB5qIQUgAUEEayIBIAhBDGpqKAIAIgcgBSgCACIFRg0ACyAFIAdNDQJBAAwDCyABRQ0BQQAMAgsgAyALSQ0GAkAgCyAPRg0AIAsgD2siAUUNACACIA9qQTAgAfwLAAsgACAOOwEIIAAgCzYCBAwLC0EBIQcgBEEBcSEMQQAhBiAEQQFHBEAgBEE+cSESIAhBDGohASAIQZwFaiEJA0AgASAHQQFxIAEoAgAiByAJKAIAQX9zaiIFaiIQNgIAIAUgB0kgBSAQS3IgAUEEaiIQKAIAIg0gCUEEaigCAEF/c2oiBWohByAQIAc2AgAgBSANSSAFIAdLciEHIAlBCGohCSABQQhqIQEgEiAGQQJqIgZHDQALCyAMBH8gBkECdCIGIAhBDGpqIgUoAgAhASAFIAEgBiAWaigCAEF/c2oiBiAHaiIFNgIAIAUgBkkgASAGS3IFIAcLQQFxRQ0PIAggBDYCrAEgBCEGQQgLIQwgGCAGIAYgGEkbIgRBKU8NBSAEQQJ0IQECQAJAAkADQCABRQ0BIAEgHWohBSABQQRrIgEgCEEMamooAgAiByAFKAIAIgVGDQALIAUgB00NASAGIQQMAgsgAUUNACAGIQQMAQsgBARAQQEhByAEQQFxIRJBACEGIARBAUcEQCAEQT5xIRAgCEEMaiEBIAhB+ANqIQkDQCABIAdBAXEgASgCACIHIAkoAgBBf3NqIgVqIg02AgAgBSAHSSAFIA1LciABQQRqIg0oAgAiEyAJQQRqKAIAQX9zaiIFaiEHIA0gBzYCACAFIBNJIAUgB0tyIQcgCUEIaiEJIAFBCGohASAQIAZBAmoiBkcNAAsLIBIEfyAGQQJ0IgYgCEEMamoiBSgCACEBIAUgASAGIBVqKAIAQX9zaiIGIAdqIgU2AgAgBSAGSSABIAZLcgUgBwtBAXFFDRALIAggBDYCrAEgDEEEciEMCyAXIAQgBCAXSRsiBUEpTw0GIAVBAnQhAQJAAkACQANAIAFFDQEgASAcaiEGIAFBBGsiASAIQQxqaigCACIHIAYoAgAiBkYNAAsgBiAHTQ0BIAQhBQwCCyABRQ0AIAQhBQwBCyAFBEBBASEHIAVBAXEhEkEAIQYgBUEBRwRAIAVBPnEhECAIQQxqIQEgCEHUAmohCQNAIAEgB0EBcSABKAIAIgcgCSgCAEF/c2oiBGoiDTYCACAEIAdJIAQgDUtyIAFBBGoiDSgCACITIAlBBGooAgBBf3NqIgRqIQcgDSAHNgIAIAQgE0kgBCAHS3IhByAJQQhqIQkgAUEIaiEBIBAgBkECaiIGRw0ACwsgEgR/IAZBAnQiBCAIQQxqaiIGKAIAIQEgBiABIAQgFGooAgBBf3NqIgQgB2oiBjYCACABIARLIAQgBktyBSAHC0EBcUUNEAsgCCAFNgKsASAMQQJqIQwLIAogBSAFIApJGyIGQSlPDQ0gBkECdCEBAkACQAJAA0AgAUUNASABIBtqIQQgAUEEayIBIAhBDGpqKAIAIgcgBCgCACIERg0ACyAEIAdNDQEgBSEGDAILIAFFDQAgBSEGDAELIAYEQEEBIQcgBkEBcSESQQAhBSAGQQFHBEAgBkE+cSEQIAhBDGohASAIQbABaiEJA0AgASAHQQFxIAEoAgAiByAJKAIAQX9zaiIEaiINNgIAIAQgB0kgBCANS3IgAUEEaiINKAIAIhMgCUEEaigCAEF/c2oiBGohByANIAc2AgAgBCATSSAEIAdLciEHIAlBCGohCSABQQhqIQEgECAFQQJqIgVHDQALCyASBH8gBUECdCIEIAhBDGpqIgUoAgAhASAFIAEgCEGwAWogBGooAgBBf3NqIgQgB2oiBTYCACABIARLIAQgBUtyBSAHC0EBcUUNEAsgCCAGNgKsASAMQQFqIQwLIAMgD00NASACIA9qIAxBMGo6AAAgBkEpTw0NAkAgBkUEQEEAIQYMAQsgBkEBa0H/////A3EiAUEBaiIEQQNxIQkCQCABQQNJBEAgCEEMaiEBQgAhIAwBCyAEQfz///8HcSEHIAhBDGohAUIAISADQCABIAE1AgBCCn4gIHwiHz4CACABQQRqIgQ1AgBCCn4gH0IgiHwhHyAEIB8+AgAgAUEIaiIENQIAQgp+IB9CIIh8IR8gBCAfPgIAIAFBDGoiBDUCAEIKfiAfQiCIfCEfIAQgHz4CACAfQiCIISAgAUEQaiEBIAdBBGsiBw0ACwsgCQRAA0AgASABNQIAQgp+ICB8Ih8+AgAgAUEEaiEBIB9CIIghICAJQQFrIgkNAAsLIB9CgICAgBBUDQAgBkEoRg0NIAhBDGogBkECdGogID4CACAGQQFqIQYLIAggBjYCrAEgD0EBaiEPIAsgEUsiASARaiERIAENAAtBACEMIAshBQwHCyAPIANBrM7DABCwCQALAAsgBEEoQaDzwwAQow0ACyALIANBvM7DABCjDQALIARBKEGg88MAEKMNAAsgBUEoQaDzwwAQow0ACwALAkACfwJAAkACQCAKQSlJBEACQCAKRQRAQQAhCgwBCyAKQQFrQf////8DcSIBQQFqIgRBA3EhCQJAIAFBA0kEQCAIQbABaiEBQgAhHwwBCyAEQfz///8HcSEHIAhBsAFqIQFCACEfA0AgASABNQIAQgV+IB98Ih8+AgAgAUEEaiIENQIAQgV+IB9CIIh8IR8gBCAfPgIAIAFBCGoiBDUCAEIFfiAfQiCIfCEfIAQgHz4CACABQQxqIgQ1AgBCBX4gH0IgiHwhICAEICA+AgAgIEIgiCEfIAFBEGohASAHQQRrIgcNAAsLIAkEQANAIAEgATUCAEIFfiAffCIgPgIAIAFBBGohASAgQiCIIR8gCUEBayIJDQALCyAgQoCAgIAQVA0AIApBKEYNCiAIQbABaiAKQQJ0aiAfPgIAIApBAWohCgsgCCAKNgLQAiAKIAYgBiAKSRsiAUEpTw0IIAFBAnQhASAIQQhqIQcgCEGsAWohCwJAAn8CQANAIAFFDQEgASALaiEGIAEgB2ohBCABQQRrIQEgBCgCACIEIAYoAgAiBkYNAAsgBCAGSyAEIAZJawwBC0F/QQAgARsLQf8BcQ4CAAMEC0EAIAwNBBogAyAFQQFrIgFLBEAgASACai0AAEEBcQ0DDAQLIAEgA0H8zcMAELAJAAsgCkEoQaDzwwAQow0ACwALIAMgBUkNBCACIAVqIQRBACEBAkACQANAIAEgBWpFDQEgBCABQQFrIgFqIgYtAAAiB0E5Rg0ACyAGIAdBAWo6AAAgASAFakEBaiIEIAVNDQEgBCAFQeDcwwAQog0ACwJAIAwEQEExIQEMAQsgAkExOgAAQTAhASAFQQFrIgZFIgcNACAHDQAgAkEBakEwIAb8CwALIA5BAWohDiAaDQEgAyAFTQ0BIAQgAToAACAFQQFqIQUMAQsgAUF/Rg0AIAFBf3MiAUUNACAGQQFqQTAgAfwLAAsgAyAFSQ0BIAULIQEgACAOOwEIIAAgATYCBAwBCyAFIANBnM7DABCjDQALIAAgAjYCACAIQcAGaiQADwsgBSADQYzOwwAQow0ACyABQShBoPPDABCjDQALQShBKEGg88MAELAJAAsgBkEoQaDzwwAQow0AC0Gw88MAQRpBoPPDABD5CgAL8CUDGn8XfQR+IwBBMGsiDSQAIAIgACgCICIDTwRAAkACQCACIANrIgVBAWoiBCAAKAIYIANrSwRAIABBGGogAyAEQQgQ5gQgACgCICEDDAELIARFDQELIARBA3EhCCAAKAIcIQcgBUEDTwRAIARBfHEhBCAHIANBA3RqIQUDQCAFQQA2AgAgBUEYakEANgIAIAVBEGpBADYCACAFQQhqQQA2AgAgBUEgaiEFIANBBGohAyAEQQRrIgQNAAsLIAhFDQAgAyAIaiEEIAcgA0EDdGohBQNAIAVBADYCACAFQQhqIQUgCEEBayIIDQALIAQhAwsgACADNgIgCwJAAkACQCACIANJBEAgACgCHCACQQN0aiIDKAIAIQQgA0IBNwIAIARFBEAgACAAKAIkQQFqNgIkCyACIAAoAiBPDQEgACgCHCACQQN0aiIFKAIAQQFHDQEgACgCCCIEDQIgASkCCCE0IAEpAgAhNSAAKAIARQRAIABBuMfCABCrBgsgACgCBCIBQgA3AhggAUGBgICAfDYCFCABIDQ3AgwgASACNgIIIAEgNTcCACABQSBqQgA3AgAgAUEoakIANwIAIABBATYCCCAAKAIUIgEgACgCDEYEQCAAQQxqQcjHwgAQxwYLIAAoAhAgAUECdGpBADYCACAAIAFBAWo2AhQgBUEANgIEDAMLIAIgA0HotMMAELAJAAtB2MTCAEEPQajHwgAQ+AkACyAAKAIEIgMoAixB/////wNxBEAgASoCDCEkIAEqAgghHiABKgIEISUgASoCACExQQAhCANAIAhBMGwiHCAAKAIEIglqIgMoAgwiEr4iHSADKAIAIhW+Ih+TIAMoAhAiFr4iIiADKAIEIhe+IiCTlCADKAIUIg5B/////wNxIgyzlCADKAIkIhO+IiEgAygCGCIUviIjkyADKAIoIhi+IiYgAygCHCIZviIpk5QgAygCLCIPQf////8DcSILs5SSITMgAygCICEFIAMoAgghB0P//39/ISdD//9/fyEoQQAhEAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAMQQFGIhpFBEAgBCAHTQ0BIAkgB0EwbGoiBioCDCIoIAYqAgAiKpMgBioCECIrIAYqAgQiLJOUIAYoAhRB/////wNxIgqzlCAGKgIkIi0gISAhIC1fGyAGKgIYIi4gIyAjIC5gG5MgBioCKCIvICYgJiAvXxsgBioCHCIwICkgKSAwYBuTlCAGKAIsQf////8DcSIGIAtqs5SSIjIgKCAhICEgKF8bICogIyAjICpgG5MgKyAmICYgK18bICwgKSApICxgG5OUIAogC2qzlCAtIC6TIC8gMJOUIAazlJIiKF0hECAyICggEBsgM5MhKAtBACERIAtBAUYiG0UEQCAEIAVNDQIgCSAFQTBsaiIGKgIMIicgBioCACIqkyAGKgIQIisgBioCBCIsk5QgBigCFEH/////A3EiCrOUIAYqAiQiLSAdIB0gLV8bIAYqAhgiLiAfIB8gLmAbkyAGKgIoIi8gIiAiIC9fGyAGKgIcIjAgICAgIDBgG5OUIAYoAixB/////wNxIgYgDGqzlJIiMiAnIB0gHSAnXxsgKiAfIB8gKmAbkyArICIgIiArXxsgLCAgICAgLGAbk5QgCiAMarOUIC0gLpMgLyAwk5QgBrOUkiInXSERIDIgJyARGyAzkyEnCyAoQwAAAABdICdDAAAAAF1yRQ0KICcgKF5FBEAgBCAFTQ0DIAAoAhQiBiAFTQ0EIAkgBUEwbGoiBCgCLCETIAQoAhQhFCAEKQIkITQgBCgCICEKIAQpAhghNSAEKQIMITYgBCgCCCELIAQpAgAhNyAAKAIQIg8gBUECdGogCEEBdCIQNgIAIANBGGohCSARRQRAIAkgCjYCCCAJIDQ3AgwgCSATNgIUIAkgNTcCACADIAU2AgggBCAHNgIgIAQgEjYCJCAEIBY2AiggBCAONgIsIAQgFzYCHCAEIBU2AhggAyAEKgIAIiEgHyAfICFgGzgCACADIAQqAgQiHyAgIB8gIF8bOAIEIAMgBCoCDCIfIB0gHSAfXxs4AgwgAyAEKgIQIh0gIiAdICJgGzgCECADIAQoAhQiA0H/////A3EgDGogAyAOckGAgICAfHFyNgIUAkACQCATQf////8DcUEBRwRAIAYgCk0NASAPIApBAnRqIBBBAXI2AgAMDgsgCiAAKAIgTw0BIAAoAhwgCkEDdGoiAygCAEUNASADIBBBAXI2AgQMDQsgCiAGQdjJwgAQsAkAC0HYxMIAQQ9B6MnCABD4CQALIAQgBzYCCCAJIDY3AgwgBCAWNgIQIAQgEjYCDCAJIDc3AgAgBCAXNgIEIAQgFTYCACAJIBQ2AhQgBCAONgIUIAkgCzYCCCADIAU2AgggAyAiIAQqAigiISAhICJfGzgCECADIB0gBCoCJCIiIB0gImAbOAIMIAMgICAEKgIcIh0gHSAgYBs4AgQgAyAfIAQqAhgiHSAdIB9gGzgCACADIAQoAiwiA0H/////A3EgDGogAyAOckGAgICAfHFyNgIUAkACQCAUQf////8DcUEBRwRAIAYgC00NASAPIAtBAnRqIBBBAXI2AgAMDAsgCyAAKAIgTw0BIAAoAhwgC0EDdGoiAygCAEUNASADIBBBAXI2AgQMCwsgCyAGQZjKwgAQsAkAC0HYxMIAQQ9BqMrCABD4CQALIAQgB00NBSAAKAIUIgYgB00NBCAJIAdBMGxqIgQoAiwhESAEKAIUIRIgBCkCJCE0IAQoAiAhCSAEKQIYITUgBCkCDCE2IAQoAgghCiAEKQIAITcgACgCECIMIAdBAnRqIAhBAXQiDkEBcjYCACAQRQRAIAQgBTYCICADIDQ3AgwgBCAYNgIoIAQgEzYCJCADIDU3AgAgBCAZNgIcIAQgFDYCGCADIBE2AhQgBCAPNgIsIAMgCTYCCCADIAc2AiAgAyAEKgIQIh0gJiAdICZgGzgCKCADIAQqAgwiHSAhIB0gIWAbOAIkIAMgBCoCBCIdICkgHSApXxs4AhwgAyAEKgIAIh0gIyAdICNfGzgCGCADIAQoAhQiA0H/////A3EgC2ogAyAPckGAgICAfHFyNgIsAkACQCARQf////8DcUEBRwRAIAYgCU0NASAMIAlBAnRqIA42AgAMCwsgCSAAKAIgTw0BIAAoAhwgCUEDdGoiAygCAEUNASADIA42AgQMCgsgCSAGQfjKwgAQsAkAC0HYxMIAQQ9BiMvCABD4CQALIAMgCjYCCCADIDY3AgwgAyASNgIUIAMgNzcCACAEIAU2AgggBCATNgIMIAQgGDYCECAEIA82AhQgBCAZNgIEIAQgFDYCACADIAc2AiAgAyAjIAQqAhgiHSAdICNgGzgCGCADICkgBCoCHCIdIB0gKWAbOAIcIAMgISAEKgIkIh0gHSAhXxs4AiQgAyAmIAQqAigiHSAdICZfGzgCKCADIAQoAiwiA0H/////A3EgC2ogAyAPckGAgICAfHFyNgIsAkACQCASQf////8DcUEBRwRAIAYgCk0NASAMIApBAnRqIA42AgAMCQsgCiAAKAIgTw0BIAAoAhwgCkEDdGoiAygCAEUNASADIA42AgQMCAsgCiAGQbjLwgAQsAkAC0HYxMIAQQ9ByMvCABD4CQALIAcgBEGYycIAELAJAAsgBSAEQajJwgAQsAkACyAFIARBuMnCABCwCQALIAUgBkHIycIAELAJAAsgByAGQejKwgAQsAkACyAHIARB2MrCABCwCQALAkACQCAbRQRAIAUgBk8NASAMIAVBAnRqIAdBAXQ2AgAMBgsgBSAAKAIgTw0BIAAoAhwgBUEDdGoiAygCAEUNASADIAdBAXQ2AgQMBQsgBSAGQdjLwgAQsAkAC0HYxMIAQQ9B6MvCABD4CQALAkAgG0UEQCAFIAZPDQEgDCAFQQJ0aiAHQQF0QQFyNgIADAQLAkAgBSAAKAIgTw0AIAAoAhwgBUEDdGoiAygCAEUNACADIAdBAXRBAXI2AgQMBAtB2MTCAEEPQajLwgAQ+AkACyAFIAZBmMvCABCwCQALAkAgGkUEQCAGIAdNDQEgDyAHQQJ0aiAFQQF0NgIADAMLAkAgByAAKAIgTw0AIAAoAhwgB0EDdGoiAygCAEUNACADIAVBAXQ2AgQMAwtB2MTCAEEPQcjKwgAQ+AkACyAHIAZBuMrCABCwCQALIBpFBEAgBiAHTQ0CIA8gB0ECdGogBUEBdEEBcjYCAAwBCwJAIAcgACgCIE8NACAAKAIcIAdBA3RqIgMoAgBFDQAgAyAFQQF0QQFyNgIEDAELQdjEwgBBD0GIysIAEPgJAAsgACgCCCIFIAhNDQECQAJAAkAgHCAAKAIEIgRqIgMqAgwiHSAeIB0gHmAbIAMqAgAiHSAxIB0gMV8bIimTIAMqAhAiHyAkIB8gJGAbIAMqAgQiHyAlIB8gJV8bIieTlCADKAIUIglB/////wNxIgdBAWqzlCADKQIkIjSnviIiIAMqAhgiIJMgNEIgiKe+IiEgAyoCHCIjk5QgAygCLCIKQf////8DcSIGs5SSIiggAykCDCI0p74iJiAdkyA0QiCIp74iHSAfk5QgB7OUIAMqAiQiHyAeIB4gH18bICAgMSAgIDFfGyIfkyADKgIoIiAgJCAgICRgGyAjICUgIyAlXxsiIJOUIAZBAWqzlJIiI11FBEAgBiAHTQ0BICMgKFwNAQsgB0EBRw0CIA1BEGoiByADQRBqKQIANwMAIA1BCGoiBiADQQhqKQIANwMAIA0gAykCADcDACABKQIIITQgASkCACE1IAAoAgAgBUYEfyAAQbjIwgAQqwYgACgCBAUgBAsgBUEwbGoiASANKQMANwIAIAFBgYCAgHw2AiwgASA0NwIkIAEgAjYCICABIDU3AhggAUEQaiAHKQMANwIAIAFBCGogBikDADcCACAAIAVBAWo2AgggCEEBdCEDIAAoAhQiASAAKAIMRgRAIABBDGpByMjCABDHBgsgACgCECABQQJ0aiADNgIAIAAgAUEBajYCFCAAKAIIIgEgCE0NByAAKAIEIAhBMGxqIgEoAggiAyAAKAIgTw0IIAAoAhwgA0EDdGoiAygCAEUNCCADIAVBAXQiAzYCBCACIAAoAiBPDQEgACgCHCACQQN0aiIAKAIARQ0BIAAgA0EBcjYCBCABIAU2AgggASABKAIUQQFqNgIUIAEgASoCACIeIDWnviIdIB0gHmAbOAIAIAEgASoCBCIeICUgHiAlXxs4AgQgASABKgIMIh4gNKe+IiUgHiAlYBs4AgwgASABKgIQIh4gJCAeICRgGzgCEAwMCyAGQQFGBEAgDUEgaiIHIANBIGopAgA3AwAgDUEoaiIGIANBKGopAgA3AwAgDSADKQIYNwMYIAEpAgghNCABKQIAITUgACgCACAFRgR/IABB6MfCABCrBiAAKAIEBSAECyAFQTBsaiIBQYGAgIB8NgIUIAEgNDcCDCABIAI2AgggASA1NwIAIAEgDSkDGDcCGCABQSBqIAcpAwA3AgAgAUEoaiAGKQMANwIAIAAgBUEBajYCCCAIQQF0QQFyIQMgACgCFCIBIAAoAgxGBEAgAEEMakH4x8IAEMcGCyAAKAIQIAFBAnRqIAM2AgAgACABQQFqNgIUIAAoAggiASAITQ0FIAIgACgCIE8NBiAAKAIcIAJBA3RqIgEoAgBFDQYgACgCBCECIAEgBUEBdCIBNgIEAkAgAiAIQTBsaiICKAIgIgMgACgCIE8NACAAKAIcIANBA3RqIgAoAgBFDQAgACABQQFyNgIEIAJBGGoiACAFNgIIIAAgACgCFEEBajYCFCAAIAAqAgAiHiA1p74iHSAdIB5gGzgCACAAIAAqAgQiHiAlIB4gJV8bOAIEIAAgACoCDCIeIDSnviIlIB4gJWAbOAIMIAAgACoCECIeICQgHiAkYBs4AhAMDQtB2MTCAEEPQajIwgAQ+AkACyADIApBAWo2AiwgAyAhICQgISAkYBs4AiggAyAiIB4gHiAiXxs4AiQgAyAgOAIcIAMgHzgCGCADKAIgIQgMCAtB2MTCAEEPQfjIwgAQ+AkACyADICc4AgQgAyApOAIAIAMgCUEBajYCFCADIB0gJCAdICRgGzgCECADICYgHiAeICZfGzgCDCADKAIIIQgMBgsgByAGQfjJwgAQsAkACyAIIAVB2MfCABCwCQALIAggAUGIyMIAELAJAAtB2MTCAEEPQZjIwgAQ+AkACyAIIAFB2MjCABCwCQALQdjEwgBBD0HoyMIAEPgJAAsgACgCCCIEIAhLDQALIAggBEGIycIAELAJAAsgA0GBgICAfDYCLCADIAI2AiAgAyABKQIINwIkIAMgASkCADcCGCAFQQE2AgQLIA1BMGokAAvSJAMRfwZ+E30jAEHADmsiCSQAAn8CQAJAAkACfwJAAkAgBigCACIIRQ0AIAlBIGogCCAGKAIEKAIYEQAAIAlBgAZqIAkoAiAiCCAJKAIkKAIMEQAAIAhFDQAgCSkDgAZC18bKkI6OorXlAIUgCSkDiAZCzdG76P3vgZkThYRQDQELQSBBCBDUDCIIRQ0DIAhBADoAGCAIQonZueKO076XCDcDECAIQQhqQeDVwQApAwA3AwAgCEHY1cEAKQMANwMAAkAgBigCACIKRQ0AIAYoAgQiDCgCACILBEAgCiALEQYACyAMKAIEIgtFDQAgCiALIAwoAggQnw0LIAZB0NbBADYCBCAGIAg2AgBB0NbBAAwBCyAGKAIAIghFDQEgBigCBAshBiAJQRhqIAggBigCHBEAACAJQYAGaiIIIAkoAhgiDCAJKAIcKAIMEQAAAkAgDEUNACAJKQOABkLXxsqQjo6iteUAhSAJKQOIBkLN0bvo/e+BmROFhEIAUg0AIAwgDC0AGEF/c0EBcSIROgAYIAUoAgghEiAFKAIEIRMgBUIENwIEIAUoAgAhFSAFQQA2AgAgASkDQCEZIAlBKGoiBiABEMoHIAlBOGoiCiACIAAgAygClAERAQAgCSkDQCEaIAkpAzghGyAJQcwAaiAGIAoQnghBBCEOQQAgCSgCTEUNBBogCUHoAGogCUHYAGopAgA3AwAgCSAJKQJQNwNgIAlB9ABqIgYgASAJQeAAahCQCCAIIAZBjAX8CgAAIAlBmAtqIAgQ5QEgCSgCmAtBAUcNAyAZQiCIp75DAAAAP5QiJEMAACBBlCIgIBpCIIinvpIhJiAbQiCIp74gIJMhJyAZp75DAAAAP5QiJUMAACBBlCIgIBqnvpIhKCAbp74gIJMhKUHEAUG8ASAHGyEXICRDCtcjPJIiKowhKyAlQwrXIzySIiyMIS0gCUGYDmohFiAAKgIEIS4gACoCACEvIAAqAgwhMCAAKgIIITEgCUGcC2ohEANAIAlBuAtqIgZBEGogEEEQaikCADcDACAGQQhqIBBBCGopAgA3AwAgBkEYaiAQQRhqKAIAIgY2AgAgCSAQKQIANwO4CwJAAkAgBhDfC0H/AXEOBAEAAAEACyAJQdQLaiABIAlBuAtqEOcEIAwoAgQiCiAMKQMQQoKAgIAQhSIaQiCIIhsgCSkC5AsiGUIgiCIeQrfTsIUMhSIcfiAZQv////8Pg0LdofHLDIUiHSAaQv////8PgyIafoUgGiAcfiAbIB1+hUIgiYUiGqciFHEhBiAaQhmIIhxC/wCDQoGChIiQoMCAAX4hHSAepyELIAwoAgAhDiAZpyENQQAhDwJAAkACQAJAAkACQANAAkAgBiAOaikAACIbIB2FIhlCgYKEiJCgwIABfSAZQn+Fg0KAgYKEiJCgwIB/gyIZQgBSBEADQCANIA4gGXqnQQN2IAZqIApxQWxsaiIIQRRrKAIARgRAIAhBEGsoAgAgC0YNAwsgGUIBfSAZgyIZQgBSDQALCyAbIBtCAYaDQoCBgoSIkKDAgH+DQgBSDQIgD0EIaiIPIAZqIApxIQYMAQsLIAhBDGsiDigCACEGIBEgCEEEayIKLQAARwRAIAYgEk8NAiAJQewLaiATIAZB1AFsahDUAiAIQQhrQQA2AgAgCiAROgAAIA4gBSgCCCIGNgIAIAUoAgAgBkYEQCAFQfTRwQAQpwYLIAUoAgQgBkHUAWxqIAlB7AtqQdQB/AoAACAFIAZBAWoiCDYCCAwDCyAFKAIIIgggBk0NAyAFKAIEIAZB1AFsaiEGDAULIAUoAgghCCAJKAK8CyEGIAkoArgLIQogFkEIakIANwIAIBZCADcCACAGIApBCHRqIQogBSgCACAIRgRAIAVBhNLBABCnBgsgBSgCBCAIQdQBbGoiBkEANgJgIAZCgICAgIACNwJAIAZBADYCNCAGQQA2AiggBkEANgIUIAZBADYCACAGQgA3AkggBkHQAGpCADcCACAGQdYAakIANwEAIAZB5ABqIAlBwA1qQegA/AoAACAGIApBACAHGzYC0AEgBkEAIAogBxs2AswBIAUgCEEBajYCCCAJIBE6ANANIAlBADYCzA0gCSAINgLIDSAJIAs2AsQNIAkgDTYCwA0gDCgCBCIOIBRxIgggDCgCACILaikAAEKAgYKEiJCgwIB/gyIZUARAQQghCgNAIAggCmohBiAKQQhqIQogCyAGIA5xIghqKQAAQoCBgoSIkKDAgH+DIhlQDQALCyALIBl6p0EDdiAIaiAOcSIIaiwAACIGQQBOBEAgCyALKQMAQoCBgoSIkKDAgH+DeqdBA3YiCGotAAAhBgsCQCAGQQFxIgYgDCgCCCIKRXFFBEAgCCALaiAcp0H/AHEiDToAACALIAhBCGsgDnFqQQhqIA06AAAgDCAKIAZrNgIIIAwgDCgCDEEBajYCDCALIAhBbGxqIghBFGsiBkEQaiAJQcANaiIKQRBqKAIANgIAIAZBCGogCkEIaikCADcCACAGIAkpAsANNwIADAELIAlBEGogDCAMQRBqEMIBIAwgGiAMKAIAIAwoAgQgGhCyCCAJQcANahCHCCEICyAIQQxrIQ4gBSgCCCEIDAELIAYgEkHk0cEAELAJAAsgCCAOKAIAIgZLDQELIAYgCEGU0sEAELAJAAsgBSgCBCEIIAkgJjgCzA0gCSAoOALIDSAJICc4AsQNIAkgKTgCwA0gCUGwDmogCUHUC2ogASAJQbgLaiAJQcANahCoBCAJKQOwDiEZIAkqArAOISAgCSoCtA4hHyAJIAkpA7gONwOoDiAJIDAgH5M4ArwOIAkgMSAgkzgCuA4gCSAuOAK0DiAJIC84ArAOIBlCIIinvgJ+IAZB1AFsIgsgCGoiBgJ/IAdFBEBCACAGKAIARQ0CGkEMDAELQgAgBigCFEEBRw0BGkEgC2opAgALIhpCIIinvpMhICAZp74gGqe+kyEfIAYoAmAiCkEsbCINIAZqQeQAaiEPAkACQAJAIAdFBEAgCkUNAiANQSxrIg1BLG4iCkEDcUEDRgR/IAZB5ABqBUEAIApBAWpBA3FrIQogCCALakH4AGohCANAIAggCCoCACAgkzgCACAIQQRrIgsgCyoCACAfkzgCACAIQSxqIQggCkEBaiIKDQALIAhBFGsLIQggDUGEAUkNAQNAIAhBEGoiCiAKKgIAIB+TOAIAIAhBFGoiCiAKKgIAICCTOAIAIAhBPGoiCiAKKgIAIB+TOAIAIAhBQGsiCiAKKgIAICCTOAIAIAhB6ABqIgogCioCACAfkzgCACAIQewAaiIKIAoqAgAgIJM4AgAgCEGUAWoiCiAKKgIAIB+TOAIAIAhBmAFqIgogCioCACAgkzgCACAPIAhBsAFqIghHDQALDAELIApFDQIgDUEsayINQSxuIgpBA3FBA0YEfyAGQeQAagVBACAKQQFqQQNxayEKIAggC2pBgAFqIQgDQCAIIAgqAgAgIJM4AgAgCEEEayILIAsqAgAgH5M4AgAgCEEsaiEIIApBAWoiCg0ACyAIQRxrCyEIIA1BhAFJDQADQCAIQRhqIgogCioCACAfkzgCACAIQRxqIgogCioCACAgkzgCACAIQcQAaiIKIAoqAgAgH5M4AgAgCEHIAGoiCiAKKgIAICCTOAIAIAhB8ABqIgogCioCACAfkzgCACAIQfQAaiIKIAoqAgAgIJM4AgAgCEGcAWoiCiAKKgIAIB+TOAIAIAhBoAFqIgogCioCACAgkzgCACAPIAhBsAFqIghHDQALCyAHDQELIAYgGTcCDCAGQoCAgPwDNwIEIAZBATYCACAGIAlBsA5qIAlBqA5qQcjTwQAgAiADQQAgBkEAIAYgBCAGECIaDAELIAYgGTcCICAGQoCAgPwDNwIYIAZBATYCFCAJIAkqArAOIiA4AsANIAkgCSoCtA4iH4w4AsQNIAkgHyAJKQK4DiIZp74iIZQgICAZQiCIp74iIpSTOALMDSAJICAgIYyUIB8gIpSTOALIDSAGIAlBwA1qIAIgAyAJQagOakHI08EAQQAgBkEAIAYgBCAGECIaCyAJIAYgF2opAgAiGTcDsA4gBigCYCIIRQ0AIAhBLGwhDyAZp74hIEEBIQtBACEIQQAhCgNAAkACfgJAAkACQCAGIAhqIg1BhAFqIhQqAgBDAAAAAF0EQCAJKgLMCyEfIAkqAsgLISEgCSoCtA4hIiAJQQhqIAIgAygCtAERAAAgCSgCCCIYRQ0BIAlBwA1qIBggACAJQbAOaiAJKAIMKAIUEQIAICCMISMgFCoCACAJKQPADSIZQiCIp74gJCAijJggH5KTIAkqArQOjJQgCSoCsA4iICAZp74gJSAjmCAhkpOUk15FDQULIAcNAiAGKAIAQQFxRQ0BIAYqAgwgBioCBCIfIA1B9ABqKgIAIiGUIAYqAggiIiANQfgAaioCACIjlJOSvK0gBioCECAiICGUIB8gI5SSkrytQiCGhAwDC0GQ1cEAQRtBrNXBABD4CQALIA1B9ABqKQIADAELIAYoAhRBAXFFBEAgDUH8AGopAgAMAQsgBioCICAGKgIYIh8gDUH8AGoqAgAiIZQgBioCHCIiIA1BgAFqKgIAIiOUk5K8rSAGKgIkICIgIZQgHyAjlJKSvK1CIIaECyEZIA4gDigCBCAZp74gCSoCyAuTIh8gLF5FIB8gLV1Bf3NxIBlCIIinviAJKgLMC5MiHyAqXkUgHyArXUF/c3FxIAp0cjYCBAsgC0EfcSEKIAtBAWohCyAPIAhBLGoiCEcNAAsLIAlBmAtqIAlBgAZqEOUBIAkoApgLDQALDAMLQdTRwQAQpQ0AC0HE0cEAEKUNAAtBCEEgQfD6wwAoAgAiAEHvByAAGxEAAAALAkAgCSgCgAZBAkYNACAJKAKEByIAQSFJDQAgCSgCiAYgAEECdEEEEJ8NCyAFKAIEIQ4gBSgCCAshAQJAIAwoAgwiA0UNACAOQeQAaiEHIAwoAgAiC0EIaiEGIAspAwBCf4VCgIGChIiQoMCAf4MhGQNAAkAgGVAEQANAIAtBoAFrIQsgBikDACEZIAZBCGohBiAZQoCBgoSIkKDAgH+DIhlCgIGChIiQoMCAf1ENAAsgGUKAgYKEiJCgwIB/hSEZCyARIAsgGXqnQQN2QWxsaiICQQRrLQAARgRAIAJBDGsoAgAiACABTw0BIABB1AFsIg0gDmoiAEHgAGohEAJAAn8gACgCYCIFRQRAQQAhCkEADAELIAJBCGsoAgAhAEEAIQgCQANAIAAgCHZBAXFFDQEgBSAIQQFqIghHDQALQQAhAAwCCyAIQQFqIQpBAQshACAFIApGDQAgByANIApBLGxqaiEIIAJBCGsoAgAhDQNAAkAgDSAKdkEBcUUEQCAAQQFqIQAMAQsgCCAAQVRsaiICIAgpAgA3AgAgAkEoaiAIQShqKAIANgIAIAJBIGogCEEgaikCADcCACACQRhqIAhBGGopAgA3AgAgAkEQaiAIQRBqKQIANwIAIAJBCGogCEEIaikCADcCAAsgCEEsaiEIIAUgCkEBaiIKRw0ACwsgECAFIABrNgIACyAZQgF9IBmDIRkgA0EBayIDDQEMAgsLIAAgAUG81cEAELAJAAsgDCgCDCIKBEAgDCgCBCEDIAwoAgAiAUEIaiEGIAEpAwBCf4VCgIGChIiQoMCAf4MhGSAMKAIIIQIgASEIIAohAANAIBlQBEADQCAIQaABayEIIAYpAwAhGSAGQQhqIQYgGUKAgYKEiJCgwIB/gyIZQoCBgoSIkKDAgH9RDQALIBlCgIGChIiQoMCAf4UhGQsgGUIBfSEaIBEgCCAZeqdBA3ZBbGxqIgVBBGstAABHBEBBgAEhCyABIAVrQRRtIgUgAWoiBykAACIbIBtCAYaDQoCBgoSIkKDAgH+DeqdBA3YgASAFQQhrIANxaiIFKQAAIhsgG0IBhoNCgIGChIiQoMCAf4N5p0EDdmpBB00EQCAMIAJBAWoiAjYCCEH/ASELCyAHIAs6AAAgDCAAQQFrIgA2AgwgBUEIaiALOgAACyAZIBqDIRkgCkEBayIKDQALCyASBEAgE0HgAGohBgNAIAYoAgAEQCAGQQA2AgALIAZBIGsoAgAiAARAIAZBHGsoAgAgAEEwbEEQEJ8NCyAGQdQBaiEGIBJBAWsiEg0ACwsgFQRAIBMgFUHUAWxBBBCfDQsgCUHADmokAAunIQMSfwV+C30jAEHQEGsiCSQAIAkgCDoAHyAJIAU4AhgCQAJAAkACQAJ/AkACQCAHKAIAIghFDQAgCUEQaiAIIAcoAgQoAhgRAAAgCUGABmogCSgCECIIIAkoAhQoAgwRAAAgCEUNACAJKQOABkKV5vWw+fjNzU2FIAkpA4gGQv3nrYm/utfZ7QCFhFANAQtBIEEIENQMIghFDQMgCEEAOgAYIAhCidm54o7TvpcINwMQIAhBCGpB4NXBACkDADcDACAIQdjVwQApAwA3AwACQCAHKAIAIgtFDQAgBygCBCINKAIAIgoEQCALIAoRBgALIA0oAgQiCkUNACALIAogDSgCCBCfDQsgB0Ho1cEANgIEIAcgCDYCAEHo1cEADAELIAcoAgAiCEUNASAHKAIECyEHIAlBCGogCCAHKAIcEQAAIAlBgAZqIgcgCSgCCCIKIAkoAgwoAgwRAAACQCAKRQ0AIAkpA4AGQpXm9bD5+M3NTYUgCSkDiAZC/eetib+619ntAIWEQgBSDQAgCiAKLQAYQX9zQQFxIhE6ABggBigCCCESIAYoAgQhEyAGQgQ3AgQgBigCACEUIAZBADYCACADIAQoAhAiCBEEACEYIAkgAikDQCIbp75DAAAAP5Q4AiAgCSAbQiCIp75DAAAAP5Q4AiQgCUEoaiILIAIQygcgByADIAgRBAAQygcgCSABKgIMIiggCSoCgAYiBSAJKgKIBpJDAAAAP5QiIiABKgIEIiCUIAEqAgAiISAJKgKEBiIjIAkqAowGkkMAAAA/lCIklJKSIiUgIIsiJiAJKQKIBiIbp74gBZNDAAAAP5QiBZQgIYsiJyAbQiCIp74gI5NDAAAAP5QiI5SSIimSOAJEIAkgASoCCCIqICEgIpQgICAklJOSIiIgJyAFlCAmICOUkiIFkjgCQCAJICUgKZM4AjwgCSAiIAWTOAI4IAkpAyAhGyAJKQNAIRwgCSkDOCEdIAlBzABqIAsgCUE4ahCeCCAJKAJMRQ0EIAlB6ABqIAlB2ABqKQIANwMAIAkgCSkCUDcDYCAJQfQAaiIBIAIgCUHgAGoQkAggByABQYwF/AoAACAJQZALaiIBIAcQ5QEgCSgCkAtBAUcNAyAbQiCIp75DAAAgQZQiBSAcQiCIp76SISIgHUIgiKe+IAWTISMgG6e+QwAAIEGUIgUgHKe+kiEkIB2nviAFkyElIAlBpA9qIRUgBCgCDCEZIAlBtA1qIQsgCUG0DmohDSAgjCEmIAlBwAtqIRYgAUEEaiEPA0AgFiAPQRBqKQIANwMAIAlBsAtqIgFBCGogD0EIaikCADcDACABQRhqIA9BGGooAgAiATYCACAJIA8pAgA3A7ALAkACQCABEN8LQf8BcQ4EAQAAAQALIAlB0AtqIgEgAiAJQbALaiIEEOcEIAkgIjgC2A4gCSAkOALUDiAJICM4AtAOIAkgJTgCzA4gCUGwDWoiByABIAIgBCAJQcwOaiIBEKgEIAkgCSkDsA0iGzcD6AsgCSAJKQO4DTcD8AsgCSAoIBtCIIinvpM4AogMIAkgKiAbp76TOAKEDCAJICE4AvwLIAkgIDgCgAwgCSAmOALQDiAJICE4AswOIAkgICAJKQKEDCIbp74iBZQgISAbQiCIp74iJ5STOALYDiAJICEgBYyUICAgJ5STOALUDiAJQYwMaiIEIAlB8AtqIAEQ3QggCUGcDGoiASAYIAQQ6QQgByABQZQB/AoAAANAIAkCfwJAAkACQAJAIAkoAsAOIgdFBEACQCAJKAK0DiIHQSFPBEAgCSgCtA0iBEUNAyAJKAK4DSEIIAshASAEIQcMAQsgDSEBIAshCCAHRQ0ICyABIAdBAWsiATYCACAIIAFBAnRqKAIAIQcLIAlBADYCwA4gBygCFEH/////A3FBAUcEQCAHKAIIIgEgCSgCuA4iBygCCCIETw0CQQEhBAJAIAcoAgQgAUEwbGoiBykCACIbp74gCSgCvA4iASoCCCIFX0UNACABKgIMIBtCIIinvmBFDQAgASoCACAHQQxqKQIAIhunvl9FDQAgASoCBCAbQiCIp75fRQ0AIAkgBzYCwA4gASoCCCEFQQAhBAsgBSAHKQIYIhunvmBFDQYgASoCDCAbQiCIp75gRQ0GIAEqAgAgB0EkaikCACIbp75fRQ0GIAEqAgQgG0IgiKe+X0UNBiAHQRhqIQwgBEUEQAJ/IAkoArQOIgRBIUkEQCAEIQggCyEHQSAhBCANDAELIAkoArQNIQggCSgCuA0hByALCyEBIAQgCEYEQCAJQbANahCUAyAJKAK0DSEIIAkoArgNIQcgCyEBCyAHIAhBAnRqIAw2AgAgASABKAIAQQFqNgIADAcLIAkgDDYCwA4MBgsgBygCCCIMIAopAxBCg4CAgBCFIhtCIIgiHCAJKALkCyIIQbfTsIV8c60iHX4gG0L/////D4MiGyAJKALgCyIQQd2h8ct8c60iHn6FIBsgHX4gHCAefoVCIImFIhunc60iHELdofHLDH4gG0IgiCIbQrfTsIUMfoUgHEK307CFDH4gG0LdofHLDH6FQiCJhSIcpyIaIAooAgQiBHEhByAcQhmIIh5C/wCDQoGChIiQoMCAAX4hHyAKKAIAIQ5BACEXAkADQAJAIAcgDmopAAAiHSAfhSIbQoGChIiQoMCAAX0gG0J/hYNCgIGChIiQoMCAf4MiG0IAUgRAA0ACQCAQIA4gG3qnQQN2IAdqIARxQWhsaiIBQRhrKAIARw0AIAggAUEUaygCAEcNACAMIAFBEGsoAgBGDQMLIBtCAX0gG4MiG0IAUg0ACwsgHSAdQgGGg0KAgYKEiJCgwIB/g0IAUg0CIBdBCGoiFyAHaiAEcSEHDAELCyABQQxrIQdBASABQQRrIggtAAAgEUYNBRogBygCACIEIBJPDQMgCUHMDmogEyAEQdQBbGoQ1AIgAUEIa0EANgIAIAggEToAACAHIAYoAggiATYCACAGKAIAIAFGBEAgBkHg4MEAEKcGCyAGKAIEIAFB1AFsaiAJQcwOakHUAfwKAAAgBiABQQFqNgIIDAQLIAYoAgghBCAJLQAfIQcgCSgCtAshASAJKAKwCyEOIBVBCGpCADcCACAVQgA3AgAgASAOQQh0aiEOIAYoAgAgBEYEQCAGQfDgwQAQpwYLIAYoAgQgBEHUAWxqIgFBADYCYCABQoCAgICAAjcCQCABQQA2AjQgAUEANgIoIAFBADYCFCABQQA2AgAgAUIANwJIIAFB0ABqQgA3AgAgAUHWAGpCADcBACABQeQAaiAJQcwOakHoAPwKAAAgASAOIAwgBxs2AtABIAEgDCAOIAcbNgLMASAGIARBAWo2AgggCSAROgDgDiAJQQA2AtwOIAkgBDYC2A4gCSAMNgLUDiAJIAg2AtAOIAkgEDYCzA4gCigCBCIQIBpxIgEgCigCACIIaikAAEKAgYKEiJCgwIB/gyIbUARAQQghBwNAIAEgB2ohASAHQQhqIQcgCCABIBBxIgFqKQAAQoCBgoSIkKDAgH+DIhtQDQALCyAIIBt6p0EDdiABaiAQcSIBaiwAACIEQQBOBH8gCCAIKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAFIAQLQQFxIgQgCigCCCIHRXFFBEAgASAIaiAep0H/AHEiDjoAACAIIAFBCGsgEHFqQQhqIA46AAAgCiAHIARrNgIIIAogCigCDEEBajYCDCAIIAFBaGxqIgRBGGsiAUEQaiAJQcwOaiIHQRBqKQIANwIAIAFBCGogB0EIaikCADcCACABIAkpAswONwIAIARBDGshBwwECyAJIAogCkEQahC3ASAKIBwgCigCACAKKAIEIBwQsgggCUHMDmoQiAhBDGshBwwDCyAJQQA2AsAOIAkoArgNIAdBAnRBBBCfDQwFCyABIARBqMfBABCwCQALIAQgEkHQ4MEAELAJAAtBAAs6AMsOIAcoAgAiASAGKAIIIgRPBEAgASAEQYDhwQAQsAkABSAGKAIEIQQgCSAHQQRqNgLMECAJIBY2AsgQIAlBrMjBADYCuBAgCSAANgK0ECAJIAQgAUHUAWxqNgKsECAJIAlBIGo2AsQQIAkgCUEYajYCwBAgCSAJQfALajYCvBAgCSAJQegLajYCsBAgCSAJQR9qNgKoECAJIAlByw5qNgKkECAJIAlB/AtqNgKgECADIAwgCUGgEGpBkOHBACAZEQIADAELAAsACyAJQZALaiAJQYAGahDlASAJKAKQCw0ACwwDC0Gw4MEAEKUNAAtBoODBABClDQALQQhBIEHw+sMAKAIAIgBB7wcgABsRAAAACyAJKAKABkECRg0AIAkoAoQHIgBBIUkNACAJKAKIBiAAQQJ0QQQQnw0LAkAgCigCDCICRQ0AIAYoAgQiDUHkAGohDCAKKAIAIghBCGohByAIKQMAQn+FQoCBgoSIkKDAgH+DIRsgBigCCCELAkADQAJAIBtQBEADQCAIQcABayEIIAcpAwAhGyAHQQhqIQcgG0KAgYKEiJCgwIB/gyIbQoCBgoSIkKDAgH9RDQALIBtCgIGChIiQoMCAf4UhGwsgESAIIBt6p0EDdkFobGoiAUEEay0AAEYEQCABQQxrKAIAIgAgC08NASAAQdQBbCIPIA1qIgBB4ABqIRACQAJ/IAAoAmAiA0UEQEEAIQRBAAwBCyABQQhrKAIAIQBBACEGAkADQCAAIAZ2QQFxRQ0BIAMgBkEBaiIGRw0AC0EAIQAMAgsgBkEBaiEEQQELIQAgAyAERg0AIAwgDyAEQSxsamohBiABQQhrKAIAIQ8DQAJAIA8gBHZBAXFFBEAgAEEBaiEADAELIAYgAEFUbGoiASAGKQIANwIAIAFBKGogBkEoaigCADYCACABQSBqIAZBIGopAgA3AgAgAUEYaiAGQRhqKQIANwIAIAFBEGogBkEQaikCADcCACABQQhqIAZBCGopAgA3AgALIAZBLGohBiADIARBAWoiBEcNAAsLIBAgAyAAazYCAAsgG0IBfSAbgyEbIAJBAWsiAg0BDAILCyAAIAtBwODBABCwCQALIAooAgwiAUUNACAKKAIEIQQgCigCACIDQQhqIQcgAykDAEJ/hUKAgYKEiJCgwIB/gyEbIAooAgghAiADIQYgASEAA0AgG1AEQANAIAZBwAFrIQYgBykDACEbIAdBCGohByAbQoCBgoSIkKDAgH+DIhtCgIGChIiQoMCAf1ENAAsgG0KAgYKEiJCgwIB/hSEbCyAbQgF9IRwgESAGIBt6p0EDdkFobGoiC0EEay0AAEcEQEGAASEIIAMgC2tBGG0iCyADaiINKQAAIh1CAYYgHYNCgIGChIiQoMCAf4N6p0EDdiADIAtBCGsgBHFqIgspAAAiHUIBhiAdg0KAgYKEiJCgwIB/g3mnQQN2akEHTQRAIAogAkEBaiICNgIIQf8BIQgLIA0gCDoAACAKIABBAWsiADYCDCALQQhqIAg6AAALIBsgHIMhGyABQQFrIgENAAsLIBIEQCATQeAAaiEHA0AgBygCAARAIAdBADYCAAsgB0EgaygCACIABEAgB0EcaygCACAAQTBsQRAQnw0LIAdB1AFqIQcgEkEBayISDQALCyAUBEAgEyAUQdQBbEEEEJ8NCyAJQdAQaiQAC54mAgt/AX4jAEEQayIJJAACQAJAAkACQAJAAkAgAEH1AU8EQCAAQcz/e0sEQEEAIQAMBwsgAEELaiIBQXhxIQNBtP7DACgCACIIRQ0EQR8hB0EAIANrIQQgAEH0//8HTQRAIANBBiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBwsgB0ECdEGY+8MAaigCACICRQRAQQAhAEEAIQEMAgtBACEAIANBGSAHQQF2a0EAIAdBH0cbdCEFQQAhAQNAAkAgAigCBEF4cSIGIANJDQAgBiADayIGIARPDQAgAiEBIAYiBA0AQQAhBCABIQAMBAsgAigCFCIGIAAgBiACIAVBHXZBBHFqKAIQIgJHGyAAIAYbIQAgBUEBdCEFIAINAAsMAQsCQAJAAkACQEGw/sMAKAIAIgJBECAAQQtqQfgDcSAAQQtJGyIDQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgZBA3QiAUGo/MMAaiIFIAFBsPzDAGooAgAiACgCCCIERg0BIAQgBTYCDCAFIAQ2AgggACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAkLIANBuP7DACgCAE0NByABDQFBtP7DACgCACIARQ0HIABoQQJ0QZj7wwBqKAIAIgEoAgRBeHEgA2shBCABIQIDQAJAIAEoAhAiAA0AIAEoAhQiAA0AIAIgA2ohCCACKAIYIQcCQAJAIAIgAigCDCIARgRAIAJBFEEQIAIoAhQiABtqKAIAIgENAUEAIQAMAgsgAigCCCIBIAA2AgwgACABNgIIDAELIAJBFGogAkEQaiAAGyEFA0AgBSEGIAEiACgCFCEBIABBFGogAEEQaiABGyEFIABBFEEQIAEbaigCACIBDQALIAZBADYCAAsgB0UNBQJAIAIoAhxBAnRBmPvDAGoiASgCACACRwRAIAIgBygCEEcEQCAHIAA2AhQgAA0CDAgLIAcgADYCECAADQEMBwsgASAANgIAIABFDQULIAAgBzYCGCACKAIQIgEEQCAAIAE2AhAgASAANgIYCyACKAIUIgFFDQUgACABNgIUIAEgADYCGAwFCyAAKAIEQXhxIANrIgUgBEkhASAFIAQgARshBCAAIAIgARshAiAAIQEMAAsAC0Gw/sMAIAJBfiAGd3E2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAcLAkBBAiAAdCIFQQAgBWtyIAEgAHRxaCIGQQN0IgFBqPzDAGoiBSABQbD8wwBqKAIAIgAoAggiBEcEQCAEIAU2AgwgBSAENgIIDAELQbD+wwAgAkF+IAZ3cTYCAAsgACADQQNyNgIEIAAgA2oiBSABIANrIgYiAUEBcjYCBCABIAVqIAE2AgBBuP7DACgCACICBEBBwP7DACgCACEBAn9BsP7DACgCACIEQQEgAkEDdnQiA3FFBEBBsP7DACADIARyNgIAIAJBeHFBqPzDAGoiBAwBCyACQXhxIgJBqPzDAGohBCACQbD8wwBqKAIACyECIAQgATYCCCACIAE2AgwgASAENgIMIAEgAjYCCAtBwP7DACAFNgIAQbj+wwAgBjYCAAwGC0G0/sMAQbT+wwAoAgBBfiACKAIcd3E2AgALAkACQCAEQRBPBEAgAiADQQNyNgIEIAggBEEBcjYCBCAEIAhqIAQ2AgBBuP7DACgCACIBRQ0BQcD+wwAoAgAhAAJ/QbD+wwAoAgAiBUEBIAFBA3Z0IgZxRQRAQbD+wwAgBSAGcjYCACABQXhxQaj8wwBqIgEMAQsgAUF4cSIFQaj8wwBqIQEgBUGw/MMAaigCAAshBSABIAA2AgggBSAANgIMIAAgATYCDCAAIAU2AggMAQsgAiADIARqIgBBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMAQtBwP7DACAINgIAQbj+wwAgBDYCAAsgAkEIaiIARQ0DDAULIAAgAXJFBEBBACEBQQIgB3QiAEEAIABrciAIcSIARQ0DIABoQQJ0QZj7wwBqKAIAIQALIABFDQELA0AgASAAIAEgACgCBEF4cSIBIANrIgIgBEkiBRsgASADSSIGGyEBIAQgAiAEIAUbIAYbIQQgACgCECICBH8gAgUgACgCFAsiAA0ACwsgAUUNAEG4/sMAKAIAIgAgA08gBCAAIANrT3ENACABIANqIQcgASgCGCEIAkACQCABIAEoAgwiAEYEQCABQRRBECABKAIUIgAbaigCACICDQFBACEADAILIAEoAggiAiAANgIMIAAgAjYCCAwBCyABQRRqIAFBEGogABshBQNAIAUhBiACIgAoAhQhAiAAQRRqIABBEGogAhshBSAAQRRBECACG2ooAgAiAg0ACyAGQQA2AgALAkAgCEUNAAJAAkAgASgCHEECdEGY+8MAaiICKAIAIAFHBEAgASAIKAIQRwRAIAggADYCFCAADQIMBAsgCCAANgIQIAANAQwDCyACIAA2AgAgAEUNAQsgACAINgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAEoAhQiAkUNASAAIAI2AhQgAiAANgIYDAELQbT+wwBBtP7DACgCAEF+IAEoAhx3cTYCAAsCQCAEQRBPBEAgASADQQNyNgIEIAcgBEEBcjYCBCAEIAdqIAQ2AgAgBEGAAk8EQCAHIAQQiAQMAgsCf0Gw/sMAKAIAIgBBASAEQQN2dCICcUUEQEGw/sMAIAAgAnI2AgAgBEH4AXFBqPzDAGoiAAwBCyAEQfgBcSICQaj8wwBqIQAgAkGw/MMAaigCAAshAiAAIAc2AgggAiAHNgIMIAcgADYCDCAHIAI2AggMAQsgASADIARqIgBBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLIAFBCGoiAA0CCwJAAkBBuP7DACgCACICIANJBEBBvP7DACgCACIAIANNBEAgCUEEaiEAAn8gA0GvgARqQYCAfHEiAUEQdiABQf//A3FBAEdqIgFAACIFQX9GBEBBACEBQQAMAQsgAUEQdCICQRBrIAIgBUEQdCIBQQAgAmtGGwshAiAAQQA2AgggACACNgIEIAAgATYCACAJKAIEIgFFBEBBACEADAYLIAkoAgwhBEHI/sMAIAkoAggiBUHI/sMAKAIAaiIANgIAQcz+wwAgAEHM/sMAKAIAIgIgACACSxs2AgACQEHE/sMAKAIABEBBmPzDACEAA0AgACgCACAAKAIEaiABRg0CIAAoAggiAA0ACwwEC0HU/sMAKAIAIgBBAEcgACABTXFFBEBB1P7DACABNgIAC0HY/sMAQf8fNgIAQaT8wwAgBDYCAEGc/MMAIAU2AgBBmPzDACABNgIAQbT8wwBBqPzDADYCAEG8/MMAQbD8wwA2AgBBsPzDAEGo/MMANgIAQcT8wwBBuPzDADYCAEG4/MMAQbD8wwA2AgBBzPzDAEHA/MMANgIAQcD8wwBBuPzDADYCAEHU/MMAQcj8wwA2AgBByPzDAEHA/MMANgIAQdz8wwBB0PzDADYCAEHQ/MMAQcj8wwA2AgBB5PzDAEHY/MMANgIAQdj8wwBB0PzDADYCAEHs/MMAQeD8wwA2AgBB4PzDAEHY/MMANgIAQfT8wwBB6PzDADYCAEHo/MMAQeD8wwA2AgBB8PzDAEHo/MMANgIAQfz8wwBB8PzDADYCAEH4/MMAQfD8wwA2AgBBhP3DAEH4/MMANgIAQYD9wwBB+PzDADYCAEGM/cMAQYD9wwA2AgBBiP3DAEGA/cMANgIAQZT9wwBBiP3DADYCAEGQ/cMAQYj9wwA2AgBBnP3DAEGQ/cMANgIAQZj9wwBBkP3DADYCAEGk/cMAQZj9wwA2AgBBoP3DAEGY/cMANgIAQaz9wwBBoP3DADYCAEGo/cMAQaD9wwA2AgBBtP3DAEGo/cMANgIAQbz9wwBBsP3DADYCAEGw/cMAQaj9wwA2AgBBxP3DAEG4/cMANgIAQbj9wwBBsP3DADYCAEHM/cMAQcD9wwA2AgBBwP3DAEG4/cMANgIAQdT9wwBByP3DADYCAEHI/cMAQcD9wwA2AgBB3P3DAEHQ/cMANgIAQdD9wwBByP3DADYCAEHk/cMAQdj9wwA2AgBB2P3DAEHQ/cMANgIAQez9wwBB4P3DADYCAEHg/cMAQdj9wwA2AgBB9P3DAEHo/cMANgIAQej9wwBB4P3DADYCAEH8/cMAQfD9wwA2AgBB8P3DAEHo/cMANgIAQYT+wwBB+P3DADYCAEH4/cMAQfD9wwA2AgBBjP7DAEGA/sMANgIAQYD+wwBB+P3DADYCAEGU/sMAQYj+wwA2AgBBiP7DAEGA/sMANgIAQZz+wwBBkP7DADYCAEGQ/sMAQYj+wwA2AgBBpP7DAEGY/sMANgIAQZj+wwBBkP7DADYCAEGs/sMAQaD+wwA2AgBBoP7DAEGY/sMANgIAQaj+wwBBoP7DADYCAEHE/sMAIAEgAUEIaiIAQQdqQXhxIABrIgFqIgA2AgBBvP7DACAFIAFrQShrIgE2AgAgACABQQFyNgIEIAAgAWpBKDYCBEHQ/sMAQYCAgAE2AgAMBAsgACgCDCICQQFxDQIgAkEBdiAERw0CQcT+wwAoAgAiAiAAKAIAIgZPBH8gAiAGIAAoAgRqSQVBAAtFDQIgACAAKAIEIAVqNgIEQbz+wwBBvP7DACgCACAFakHE/sMAKAIAIgFBCGoiAEEHakF4cSAAayICayIANgIAQcT+wwAgASACaiIBNgIAIAEgAEEBcjYCBCAAIAFqQSg2AgRB0P7DAEGAgIABNgIADAMLQbz+wwAgACADayIBNgIAQcT+wwAgA0HE/sMAKAIAIgBqIgI2AgAgAiABQQFyNgIEIAAgA0EDcjYCBAwDC0HA/sMAKAIAIQAgAiADayIBQQ9NBEBBwP7DAEEANgIAQbj+wwBBADYCACAAIAJBA3I2AgQgACACaiIBIAEoAgRBAXI2AgQMAwtBuP7DACABNgIAQcD+wwAgACADaiICNgIAIAIgAUEBcjYCBCABIAJqIAE2AgAgACADQQNyNgIEDAILQdT+wwBB1P7DACgCACIAIAEgACABSRs2AgAgASAFaiECQZj8wwAhAAJAAkADQCAAKAIAIgYgAkcEQCAAKAIIIgANAQwCCwsgACgCDCICQQFxDQAgAkEBdiAERg0BC0HE/sMAKAIAIQJBmPzDACEAAkADQCACIAAoAgAiBk8EQCAAKAIEIAZqIAJLDQILIAAoAggiAA0AC0EAIQALIAAoAgAgACgCBGoiC0EvayIGQQhqIQAgAiAAQQdqQXhxIABrIAZqIgAgACACQRBqSRsiBkEIaiEHIAZBGGohAEHE/sMAIAFBCGoiCEEHakF4cSAIayIKIAFqIgg2AgBBvP7DACAFIAprQShrIgo2AgAgCCAKQQFyNgIEIAggCmpBKDYCBEHQ/sMAQYCAgAE2AgAgBkEbNgIEQZj8wwApAgAhDCAHQQhqQaD8wwApAgA3AgAgByAMNwIAQaT8wwAgBDYCAEGc/MMAIAU2AgBBmPzDACABNgIAQaD8wwAgBzYCAANAIABBBzYCBCAAQQRqIgBBBGogC0kNAAsgAiAGRg0BIAYgAmsiACACaiIBIAEoAgRBfnE2AgQgAiAAQQFyNgIEIAEgADYCACAAQYACTwRAIAIgABCIBAwCCwJ/QbD+wwAoAgAiAUEBIABBA3Z0IgVxRQRAQbD+wwAgASAFcjYCACAAQfgBcUGo/MMAaiIADAELIABB+AFxIgFBqPzDAGohACABQbD8wwBqKAIACyEBIAAgAjYCCCABIAI2AgwgAiAANgIMIAIgATYCCAwBCyAAIAE2AgAgACAAKAIEIAVqNgIEIAMgASABQQhqIgBBB2pBeHEgAGtqIgBqIgEhAiAAIANBA3I2AgQgBiAGQQhqIgVBB2pBeHEgBWtqIgQgAWshAwJAQcT+wwAoAgAgBEcEQCAEQcD+wwAoAgBGDQEgBCgCBCIBQQNxQQFGBEAgBCABQXhxIgEQ0QMgASADaiEDIAEgBGohBAsgBCAEKAIEQX5xNgIEIAIgA0EBcjYCBCACIANqIAM2AgAgA0GAAk8EQCACIAMQiAQMBAsCf0Gw/sMAKAIAIgFBASADQQN2dCIFcUUEQEGw/sMAIAEgBXI2AgAgA0H4AXFBqPzDAGoiAwwBCyADQfgBcSIBQaj8wwBqIQMgAUGw/MMAaigCAAshASADIAI2AgggASACNgIMIAIgAzYCDCACIAE2AggMAwtBxP7DACACNgIAQbz+wwBBvP7DACgCACADaiIBNgIAIAIgAUEBcjYCBAwCC0HA/sMAIAI2AgBBuP7DAEG4/sMAKAIAIANqIgE2AgAgAiABQQFyNgIEIAEgAmogATYCAAwBC0EAIQBBvP7DACgCACIBIANNDQFBvP7DACABIANrIgE2AgBBxP7DACADQcT+wwAoAgAiAGoiAjYCACACIAFBAXI2AgQgACADQQNyNgIECyAAQQhqIQALIAlBEGokACAAC7ofAx5/FX0CfiMAQeABayICJAAgACgCACgCACEEIAAoAgwoAgAhAyAAKAIEKAIAIRQgAiAAKAIIKAIAIg42AjwgAiAUNgI4IAJBsMDBADYCNCACIAE2AjAgAkEANgIgIAJBADYCFCACQQA2AgggAiADQZQCajYCRCACIANBiAJqNgJAIAIgBEEAIARBIEkbNgIsIAAoAhgoAgAiAUEUaigCACEVIAFBEGooAgAhCSAAKAIQKAIAIgFBLGooAgAhGiABQShqKAIAIRsgFCgCjAIhASAAKAIUKAIAIRYCQCADKgL4ASIvQwAAAABbBEAgAUEIdCEAA0AgAEUNAiAAQYACayEADAALAAsgAygCgAJBAnFFBEAgAUEIdCEAA0AgAEUNAiAAQYACayEADAALAAsgFCgCiAIhBSABQQh0IQYgAyoCrAEhIiADKgKoASEkIAMqAqQBISUgAyoCoAEhKCADKgK8ASEqIAMqArgBIScgAyoCtAEhKyADKgKwASEsQQAhAEEAIQEDQCAAIAZGDQECQCAAIAVqIgQoAgBFDQAgBEEEaigCACEHIAIgBEEQaiIINgKkASACIAc2AqABIAIgATYCnAEgAkEANgKYASACQQhqIAJBmAFqEK4CRQ0AIARBFGoqAgAhKSAIKgIAIS0gKyEgICchIQJ9ICwhJiAqIARB8gFqLQAAQQFHDQAaQwAAgD8hIEMAAIA/ISFDAACAPyEmQwAAgD8gBEHgAWotAABBAUcNABogJSEgICQhISAoISYgIgshIyAEQRhqKgIAITAgAiAvICmUIjEgBEEcaioCACApIARBkAFqKgIAIjKUIC0gBEGUAWoqAgAiM5SSkiIukjgCjAEgAiAvIC2UIjQgMCAtIDKUICkgM5STkiIpkjgCiAEgAiAjOAKkASACICFDAACAPpQ4AqABIAIgIDgCnAEgAiAmQwAAAACUOAKYASACIC44AkwgAiApOAJIIAJBCGoiBCACQcgAaiIHIAJBiAFqIgggAkGYAWoiChDvAiACIDQgLpI4AowBIAIgKSAxkzgCiAEgAiAjOAKkASACICFDzczMPZQ4AqABIAIgIDgCnAEgAiAmQwAA8EKUOAKYASACIC44AkwgAiApOAJIIAQgByAIIAoQ7wILIAFBAWohASAAQYACaiEADAALAAsCQCADKAKAAiIAQQFxRQ0AIANBLGohCCADQShqIQogA0EkaiELIANBIGohDSADQTxqIRAgA0E4aiERIANBNGohEiADQTBqIQwgA0HMAGohEyADQcgAaiEXIANBxABqIRggA0FAayEcIA4oAhBBoAFsIR0gDigCDCEeQQAhAEEAIQEDQAJAAkAgACAdRwRAIAAgHmoiDygCAA0BDAILIAMoAoACIQAMAwsgAiABNgJMIAJBATYCSCACIA9BEGoiHzYCVCACIA9BBGooAgA2AlAgAkEIaiACQcgAahCuAkUNAAJ9AkAgD0H0AGooAgBBAXEEQCAUIA9BiAFqKAIAIA9BjAFqKAIAEOUKIhkNAQsgAyoCWCEiIAMqAlQhJCADKgJQISAgAyoCXAwBCwJ9AkAgGS0A4gFFDQAgD0HyAGotAAANAEMAAIA/ISJDAACAPyEkQwAAgD8hIEMAAIA/IBktANABQQFHDQEaIAMqAqgBISIgAyoCpAEhJCADKgKgASEgIAMqAqwBDAELIAMqArgBISIgAyoCtAEhJCADKgKwASEgIAMqArwBCyEjIA0hBiALIQQgCiEHIAghBQJAAkACQCAZLQDhAUEBaw4DAAEBAgsgDCEGIBIhBCARIQcgECEFDAELIBwhBiAYIQQgFyEHIBMhBQsgIiAHKgIAlCEiICQgBCoCAJQhJCAgIAYqAgCUISAgIyAFKgIAlAshIyAPQTBqKAIAIQQgD0E0aigCACIFKAIIIQYgAiAjOAKkASACICI4AqABIAIgJDgCnAEgAiAgOAKYASADIAJByABqIAJBCGogBCAGQQFrQXhxakEIaiAFIB8gAkGYAWoQbwsgAUEBaiEBIABBoAFqIQAMAAsACyADQaABaiEIIANBsAFqIQoCQCAAQcAAcUUNACADQeABaiEFIA4oAhBBoAFsIQQgDigCDCEAQQAhAQNAAkAgBARAIAAoAgBFDQEgAEEEaigCACELIABBEGoiBigCJCEHIAJB4ABqIg0gBigCICAHKAIIQQFrQXhxakEIaiAGIAcoApQBEQEAIAIgBjYCpAEgAiALNgKgASACIAE2ApwBIAJBAjYCmAEgAiACKQJoIjWnviACKgJgk0MAAAA/lDgCcCACIDVCIIinviACKgJkk0MAAAA/lDgCdCACIA02AqgBIAJBCGoiBiACQZgBaiIHEK4CRQ0BIAJCgICA/AM3AnggAiACKgJkIAIqAmySQwAAAD+UOAKEASACIAIqAmAgAioCaJJDAAAAP5Q4AoABIAJBiAFqIgtBCGogBUEIaikCADcDACACIAUpAgA3A4gBIAMgByAGIAJB8ABqQdy4wQAgAkH4AGogCxBvDAELIAMoAoACIQAMAgsgAEGgAWohACABQQFqIQEgBEGgAWshBAwACwALIAIgCjYCVCACIAg2AlAgAiAUNgJMIAIgAkEIajYCSAJAIABBCHFFDQAgGkUNACAaQfABbCEIIANB8ABqIQYgA0HgAGohByACQcwBaiEKIAJBvAFqIQEgAkGsAWohBUEAIQQDQCAEIBtqIgBBwAFqKQMAITUgBUEIaiAHQQhqKQIANwIAIAUgBykCADcCACABIAYpAgA3AgAgAUEIaiAGQQhqKQIANwIAIAIgADYC2AEgAiA1NwLQASACQQM2AswBIAIgADYCmAEgAiAAQbwBaigCACILNgKoASACIABBuAFqKAIAIg02AqQBIAIgAEG0AWooAgAiEDYCoAEgAiAAQbABaigCACIRNgKcASACQcgAaiARIBAgDSALIAAgBSABIAoQxwIgCCAEQfABaiIERw0ACyADKAKAAiEACwJAIABBBHFFDQAgFigCOCIBRQ0AIBYoAjQhACADQZABaiEKIANBgAFqIQsgAUEUbEEUayEEIBYoAkghDSAWKAJMIRAgAkHMAWohESACQbwBaiEHIAJBrAFqIQhBACEBA0ACQAJAIAAoAgAiEkF/RwRAIABBEGooAgAiBQ0BCyAERQ0DDAELAkACQAJAAkAgAEEEaigCACIGIBBPDQAgDSAGQaQCbGoiBigCAEGAgICAeEYNACAGKAKgAiAA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CSgCJCIBKgIAISsgASoCBCElIAEpAgghMSAJQQA2AnAgCUH0AGogCUHQAGogASAJQeAAahDLASAJKAJ0RQ0FIDFCIIinviEdIDGnviIqjCEeIC8gCSkDQCIxp76SQwAAIEGUISggMCAxQiCIp76SQwAAIEGUISlD//9//yEYQ///f38hFwJAIBVFBEBD//9/fyEGQ///f/8hGQwBC0P//39/IQZD//9//yEZAkACQCASKAIEIgIoAixB/////wNxIAIoAhRB/////wNxag4CAgABCyACKgIQIRkgAioCDCEYIAIqAgQhBiACKgIAIRcMAQsgAioCECIXIAIqAigiBiAGIBdfGyEZIAIqAgwiFyACKgIkIgYgBiAXXxshGCACKgIEIhcgAioCHCIGIAYgF2AbIQYgAioCACIaIAIqAhgiFyAXIBpgGyEXCyAlICqUIR8gKyAdlCEbICUgHZQhIiArIB6UISAgKSAliyIuIBggF5NDAAAAP5QiIZQgASoCACIjiyIkIBkgBpNDAAAAP5QiHpSSIhogJSAXIBiSQwAAAD+UIhiUICMgBiAZkkMAAAA/lCIXlJIgHZIiBpKSIRwgBiAakyApkyEdAkAgIyAYlCAlIBeUkyAqkiIYICEgJJQgLiAelJIiF5MgKJMiHiAJKQNQIjOnviAokyIGIAYgHl8bIgYgKCAXIBiSkiIaICggCSkDWCIxp76SIhcgFyAaYBsiGV5FBEAgHSAzQiCIp74gKZMiFyAXIB1fGyIXIBwgKSAxQiCIp76SIhggGCAcYBsiGF5FDQELIB4hBiAdIRcgGiEZIBwhGAsgHyAbkyEbICAgIpMhISAJKQKQASE4IAkpAogBITkgCSkCgAEhMiAJKQJ4ITUgCSAYOAKkASAJIBk4AqABIAkgFzgCnAEgCSAGOAKYAUP//3//IRdD//9/fyEYAkAgFkUEQEP//39/IQZD//9//yEZDAELQ///f38hBkP//3//IRkCQAJAIBMoAgQiASgCLEH/////A3EgASgCFEH/////A3FqDgICAAELIAEqAhAhGSABKgIMIRcgASoCBCEGIAEqAgAhGAwBCyABKgIQIhcgASoCKCIGIAYgF18bIRkgASoCDCIXIAEqAiQiBiAGIBdfGyEXIAEqAgQiGCABKgIcIgYgBiAYYBshBiABKgIAIhogASoCGCIY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AAsgBSAGagsiBSAJNgIIIAUgFjcDAAsgA0EQaiEDIAcgDUkiCSAHaiEFIAchBiAJDQALCyANQQR0IgUgC2ohAyAEIAxJBEAgACAFaiEKIARBBHQhDkEQIQggAyEJA0AgAiEFIARBBHQiAiADaiIGIAIgCmoiAikDACIWNwMAIAZBCGogAkEIaikDACIVNwMAIBWnIgQgBkEIaygCAEkgBkEQaykDACIVIBZWIBUgFlEbQQFGBEAgCCEHIAkhBgJ/A0AgBiAOaiIPQRBrIQIgDyACKQMANwMAIA9BCGogAkEIaikDADcDACADIAcgDkYNARogB0EQaiEHIAZBEGshBiAEIA9BGGsoAgBJIA9BIGspAwAiFSAWViAVIBZRGw0ACyAGIA5qCyICIAQ2AgggAiAWNwMACyAIQRBrIQggCUEQaiEJIAUgDEkiBiAFaiECIAUhBCAGDQALCyADQRBrIQYgAUEEdEEQayIEIABqIQIgBCALaiEHIAshBQNAIAAgAyAFIANBCGooAgAgBUEIaigCAEkgAykDACIWIAUpAwAiFVQgFSAWURsiCBsiBCkDADcDACAAQQhqIARBCGopAwA3AwAgAiAGIAcgB0EIaigCACAGQQhqKAIASSAHKQMAIhYgBikDACIVVCAVIBZRGyIJGyIEKQMANwMAIAJBCGogBEEIaikDADcDACADIAhBBHRqIQMgBSAIQQFzQQR0aiEFIAYgCUEEdCIEayEGIAQgB2pBEGshByACQRBrIQIgAEEQaiEAIA1BAWsiDQ0ACyAGQRBqIQQgAUEBcQRAIAAgBSADIAQgBUsiAhsiASkDADcDACAAQQhqIAFBCGopAwA3AwAgAyAEIAVNQQR0aiEDIAUgAkEEdGohBQsgBCAFRiADIAdBEGpGcQ0AEMILAAsgC0GABmokAAuEHgMPfzt9BH4jAEHgAWsiBCQAIARC////+w83ApgBIARC////+/f//79/NwKQASAEQoCAgIDw//+//wA3AogBIARC////+////79/NwKAASAEQv////v3//+//wA3AnggBEL////7DzcCcCAEQv////v3//+/fzcCaCAEQoCAgIDw//+//wA3AmAgBEL////7////v383AlggBEL////79///v/8ANwJQIARC////+w83AkggBEL////79///v383AkAgBEKAgICA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wgAQsAkACyACIANB6MXCABCwCQALIAIgA0GYxsIAELAJAAsgBEHgAWokAAv5FwIcfwJ8IwBBsARrIgMkACADQgA3A5gBIANCADcDkAEgA0IANwOIASADQgA3A4ABIANCADcDeCADQgA3A3AgA0IANwNoIANCADcDYCADQgA3A1ggA0IANwNQIANCADcDSCADQgA3A0AgA0IANwM4IANCADcDMCADQgA3AyggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDACADQgA3A7gCIANCADcDsAIgA0IANwOoAiADQgA3A6ACIANCADcDmAIgA0IANwOQAiADQgA3A4gCIANCADcDgAIgA0IANwP4ASADQgA3A/ABIANCADcD6AEgA0IANwPgASADQgA3A9gBIANCADcD0AEgA0IANwPIASADQgA3A8ABIANCADcDuAEgA0IANwOwASADQgA3A6gBIANCADcDoAEgA0IANwPYAyADQgA3A9ADIANCADcDyAMgA0IANwPAAyADQgA3A7gDIANCADcDsAMgA0IANwOoAyADQgA3A6ADIANCADcDmAMgA0IANwOQAyADQgA3A4gDIANCADcDgAMgA0IANwP4AiADQgA3A/ACIANCADcD6AIgA0IANwPgAiADQgA3A9gCIANCADcD0AIgA0IANwPIAiADQgA3A8ACIANB4ANqQQBB0AD8CwBB3PbDACgCACIKIQUgAkEDa0EYbSIEQQAgBEEAShsiDiEHIA5BAnRB7PbDAGohCEEAIQQDQCADIARBA3RqIAdBAEgEfEQAAAAAAAAAAAUgCCgCALcLOQMAIAQgBUkiCwRAIAhBBGohCCAHQQFqIQcgBSAEIAtqIgRPDQELCyACQRhrIQVBACEHA0AgA0HAAmogB0EDdGogACsDACADIAdBA3RqKwMAokQAAAAAAAAAAKA5AwAgByAKSSIEBEAgCiAEIAdqIgdPDQELCyAFIA5BaGwiF2oiBkH+D0shD0HwaCAGIAZB8GhNG0GSD2ogBkHJB2ogBkG5cEkiEhshDUQAAAAAAADwf0QAAAAAAADgfyAPG0QAAAAAAAAAAEQAAAAAAABgAyASG0QAAAAAAADwPyAGQYJ4SCITGyAGQf8HSiIUG0H9FyAGIAZB/RdPG0H+D2sgBkH/B2sgDxsiECANIAYgExsgFBtB/wdqrUI0hr+iISAgA0HcA2oiESAKQQJ0aiEYQRcgBmtBH3EhGUEYIAZrQR9xIRUgA0G4AmohGiAGQQBKIRsgBkEBayEcIAohBwJAA0AgA0HAAmogByIFQQN0aisDACEfAkAgBUUNACADQeADaiEJIAUhBANAIAkgHyAfRAAAAAAAAHA+ovwCtyIfRAAAAAAAAHDBoqD8AjYCACAaIARBA3RqKwMAIB+gIR8gBEEBRiIHDQEgCUEEaiEJQQEgBEEBayAHGyIEDQALCwJ/AkAgFEUEQCATDQEgBgwCCyAfRAAAAAAAAOB/oiIfRAAAAAAAAOB/oiAfIA8bIR8gEAwBCyAfRAAAAAAAAGADoiIfRAAAAAAAAGADoiAfIBIbIR8gDQshBCAfIARB/wdqrUI0hr+iIh8gH0QAAAAAAADAP6KcRAAAAAAAACDAoqAiH/wCIQwgHyAMt6EhHwJ/AkACQAJAAn8gG0UEQCAGRQRAIBEgBUECdGooAgBBF3UMAgtBAiELQQAgH0QAAAAAAADgP2ZFDQUaDAILIBEgBUECdGoiBygCACIIIBV1IQQgByAIIAQgFXRrIgc2AgAgBCAMaiEMIAcgGXULIgtBAEwNAQtBASEJAkAgBUUNACAFQQFxIR1BACEHIAVBAUcEQCAFQR5xIR5BACEIIANB4ANqIQQDQCAEKAIAIQkCfwJAIAQgCAR/Qf///wcFIAlFDQFBgICACAsgCWs2AgBBAAwBC0EBCyEJIARBBGoiCCgCACEWAn8CQCAIIAkEfyAWRQ0BQYCAgAgFQf///wcLIBZrNgIAQQAhCUEBDAELQQEhCUEACyEIIARBCGohBCAeIAdBAmoiB0cNAAsLIB1FDQAgA0HgA2ogB0ECdGoiBCgCACEHAkAgBCAJBH8gB0UNAUGAgIAIBUH///8HCyAHazYCAEEAIQkMAQtBASEJCwJAIAZBAEwNAEH///8DIQQCQAJAIBwOAgEAAgtB////ASEECyARIAVBAnRqIgcgBygCACAEcTYCAAsgDEEBaiEMIAtBAkYNAQsgCwwBC0QAAAAAAADwPyAfoSIfIB8gIKEgCUEBcRshH0ECCyELIB9EAAAAAAAAAABhBEAgGCEEIAUhBwJAIAogBUEBayIJSw0AQQAhCANAAkAgA0HgA2ogCUECdGooAgAgCHIhCCAJIApNDQAgCiAJIAkgCktrIglNDQELCyAFIQcgCEUNACAFQQJ0IANqQdwDaiEEA0AgBUEBayEFIAZBGGshBiAEKAIAIQAgBEEEayEEIABFDQALDAMLA0AgB0EBaiEHIAQoAgAhCCAEQQRrIQQgCEUNAAsgBSAHTw0BIAVBAWohCANAIAMgCEEDdGogCCAOakECdEHs9sMAaigCALc5AwAgA0HAAmogCEEDdGogACsDACADIAhBA3RqKwMAokQAAAAAAAAAAKA5AwAgByAITQ0CIAggByAIS2oiCCAHTQ0ACwwBCwsCQAJAAkBBACAGayIEQf8HTARAIARBgnhODQMgH0QAAAAAAABgA6IhHyAEQbhwTQ0BQckHIAZrIQQMAwsgH0QAAAAAAADgf6IhHyAEQf4PSw0BQYF4IAZrIQQMAgsgH0QAAAAAAABgA6IhH0HwaCAEIARB8GhNG0GSD2ohBAwBCyAfRAAAAAAAAOB/oiEfQf0XIAQgBEH9F08bQf4PayEECyAfIARB/wdqrUI0hr+iIh9EAAAAAAAAcEFmBEAgA0HgA2ogBUECdGogHyAfRAAAAAAAAHA+ovwCtyIfRAAAAAAAAHDBoqD8AjYCACACIBdqIQYgBUEBaiEFCyADQeADaiAFQQJ0aiAf/AI2AgALAnwCQAJAIAZB/wdMBEAgBkGCeEgNAUQAAAAAAADwPwwDCyAGQf4PSw0BIAZB/wdrIQZEAAAAAAAA4H8MAgsgBkG4cEsEQCAGQckHaiEGRAAAAAAAAGADDAILQfBoIAYgBkHwaE0bQZIPaiEGRAAAAAAAAAAADAELQf0XIAYgBkH9F08bQf4PayEGRAAAAAAAAPB/CyAGQf8Haq1CNIa/oiEfIAVBAXEEfyAFBSADQcACaiAFQQN0aiAfIANB4ANqIAVBAnRqKAIAt6I5AwAgH0QAAAAAAABwPqIhHyAFQQFrCyEAIAUEQCAAQQN0IANqQbgCaiEEIABBAnQgA2pB3ANqIQIDQCAEIB9EAAAAAAAAcD6iIiAgAigCALeiOQMAIARBCGogHyACQQRqKAIAt6I5AwAgBEEQayEEIAJBCGshAiAgRAAAAAAAAHA+oiEfIABBAUchByAAQQJrIQAgBw0ACwsgBUEBaiEGIANBwAJqIAVBA3RqIQkgBSEEA0ACQCAKIAUgBCIAayIHIAcgCksbIghFBEBBACECRAAAAAAAAAAAIR8MAQsgCEEBakF+cSENRAAAAAAAAAAAIR9BACEEQQAhAgNAIB8gBEH4+MMAaisDACAEIAlqIhArAwCioCAEQYD5wwBqKwMAIBBBCGorAwCioCEfIARBEGohBCANIAJBAmoiAkcNAAsLIANBoAFqIAdBA3RqIQQgCEEBcUUEQCAfIAJBA3RB+PjDAGorAwAgA0HAAmogACACakEDdGorAwCioCEfCyAEIB85AwAgCUEIayEJIABBAWshBCAADQALAkAgBkEDcSIARQRARAAAAAAAAAAAIR8gBSECDAELIANBoAFqIAVBA3RqIQREAAAAAAAAAAAhHyAFIQIDQCACQQFrIQIgHyAEKwMAoCEfIARBCGshBCAAQQFrIgANAAsLIAVBA08EQCACQQN0IANqQYgBaiEEA0AgHyAEQRhqKwMAoCAEQRBqKwMAoCAEQQhqKwMAoCAEKwMAoCEfIARBIGshBCACQQNHIQAgAkEEayECIAANAAsLIAEgH5ogHyALGzkDACADQbAEaiQAIAxBB3EL/TcDIn8Hfgh9IwBBoAJrIgQkACAEQTBqQcC+wgApAwA3AwAgBEIANwMgIARCgICAgMAANwMYIARCBDcDECAEQgA3AwggBEKAgICAwAA3AwAgBEEANgJoIARCgICAgMAANwNgIARCwAA3A1ggBEIANwNQIARCgICAgMAANwNIIARCidm54o7TvpcINwM4IARBuL7CACkDADcDKCAEIAEpAgA3A0ACQAJAAkACQAJAAkACQAJ/IANFBEBBACEDQbC+wgAMAQsgAiADQQN0aiEPIARB1ABqIQwgBEHIAGohBiAEQThqIQkgBEEoaiEFA0AgAikCACIpQj+IpyEKICmnIgNBH3YhCCAEKAIsIgcgBCkDOEKCgICAEIUiJkIgiCIqIClCIIinIgEgCmpBEG0gCmsiDUG307CFfHOtIih+ICZC/////w+DIicgAyAIakEQbSAIayILQd2h8ct8c60iJn6FICcgKH4gJiAqfoVCIImFIiuncSEKICtCGYhC/wCDQoGChIiQoMCAAX4hKiALrSImIA2tQiCGhCEoICkgJkIEhn2nIAEgDUEEdGtBBHRqIQ4gAkEIaiECIAQoAighA0EAIQgCQANAIAMgCmopAAAiKSAqhSImQoGChIiQoMCAAX0gJkJ/hYNC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AGByRQ0BIANBLGohAyAGIAJBAWoiAkcNAAsMAgtBASEHIAJBAWohAgsgAiAGRg0AIAEqAgAiCEMAAAAAYEUEQCAIQwAAoECUIQggBiACayEFIAJBLGwgAGpBJGohAwNAAkACQCADKgIAIhNDAAAAAGANACAIIBNfDQAgB0EBaiEHDAELIAMgB0FUbGoiAiADQSBrIgFBIGopAgA3AgAgAkEIaiABQShqKAIANgIAIAJBIGsiAiABKQIANwIAIAJBGGogAUEYaikCADcCACACQRBqIAFBEGopAgA3AgAgAkEIaiABQQhqKQIANwIACyADQSxqIQMgBUEBayIFDQALDAELIAIhASAGIAJrQQNxIgUEQCACIAVqIQEgB0FUbCELIAJBLGwgAGpBBGohAwNAIAMgC2oiBCADKQIANwIAIARBKGogA0EoaigCADYCACAEQSBqIANBIGopAgA3AgAgBEEYaiADQRhqKQIANwIAIARBEGogA0EQaikCADcCACAEQQhqIANBCGopAgA3AgAgA0EsaiEDIAVBAWsiBQ0ACwsgAiAGa0F8Sw0AIAYgAWshAiABQSxsIQsgACAHQVRsaiEFIAAhAQNAIAUgC2oiA0EsaiABIAtqIgRBLGooAgA2AgAgA0EkaiAEQSRqKQIANwIAIANBHGogBEEcaikCADcCACADQRRqIARBFGopAgA3AgAgA0EMaiAEQQxqKQIANwIAIANBBGogBEEEaikCADcCACADQTBqIARBMGopAgA3AgAgA0E4aiAEQThqKQIANwIAIANBQGsgBEFAaykCADcCACADQcgAaiAEQcgAaikCADcCACADQdAAaiAEQdAAaikCADcCACADQdgAaiAEQdgAaigCADYCACADQYQBaiAEQYQBaigCADYCACADQfwAaiAEQfwAaikCADcCACADQfQAaiAEQfQAaikCADcCACADQewAaiAEQewAaikCADcCACADQeQAaiAEQeQAaikCADcCACADQdwAaiAEQdwAaikCADcCACADQYgBaiAEQYgBaikCADcCACADQZABaiAEQZABaikCADcCACADQZgBaiAEQZgBaikCADcCACADQaABaiAEQaABaikCADcCACADQagBaiAEQagBaikCADcCACADQbABaiAEQbABaigCADYCACABQbABaiEBIAVBsAFqIQUgAkEE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AgA3AwAgAUEIaiAOKQIANwMAIAIgCTYCkAEgAiAGNgKMASACIAw2AogBIAIgAzYChAEgAiAINgKAASACIAIpAgw3A1AgACgCMCEDIAAoAiwiECgCACEGIBAoAgQiBSgCCCEJIAIgACgCNCgCACkCACI5NwOYASACQQA7AagBIAJCADcDoAEjAEEQayIEJAAgBCAGIAlBAWtBeHFqQQhqIgYgBSgCgAERAAAgAkGwAWoiCSAEKQIIIjunviAEKgIAkyIbIAcpAiQiPKdB/////wdxviIdIBsgHZQgO0IgiKe+IAQqAgSTIh0gPEIgiKdB/////wdxviIclJIiG5STIh4gHpQgHSAcIBuUkyIdIB2UkpG8rSAbvK1CIIaENwIAIARBEGokACACIDk3A7gBIAcgLCABIAYgBSADIAlBAEEAEFchGCACQgA3AsABIAMqAgQhIiADKgIAISUgAyoCDCEnIAMqAgghIwJAAkAgOae+IhsgG5QgOUIgiKe+Ih0gHZSSIhxD/ubbLl4EQCAHKgIEIh4gHiACKgK0AZQgBygCABshNSAHQTxqIQogByoCNCEyIAJB2AFqIQlBayERIActADhBAXEhGUEAIQEDQAJAIAIgGyAckSIblbytIB0gG5W8rUIghoQ3A8gBIBFBAWoiEUUNACACICI4AoQCIAIgJTgCgAIgAiAjIAIpA6ABIjmnvpI4AogCIAIgJyA5QiCIp76SOAKMAiACQYACOwHwAiACIDU4AuwCIAIgGzgC6AIgAkHQAWogAkHQAGogAkGAAmogAkHIAWogBiAFIAJB6AJqEFggAi0A/AFBBEYNAyACQZACaiIBQQhqIAlBCGoiDSkCADcDACABQRBqIAlBEGoiDCkCADcDACABQRhqIAlBGGoiEikCADcDACABQSBqIAlBIGoiFCkCADcDACACIAkpAgA3A5ACIAIgAioCoAEgAioCkAIiGyACKQPIASI5p76UIh2SOAKgASACIAIqAqQBIBsgOUIgiKe+lCIbkjgCpAEgAigC1AEhDiACKALQASELIAIgAioCuAEgHZM4ArgBIAIgAioCvAEgG5M4ArwBICMgAikDoAEiOae+krwhFSAnIDlCIIinvpK8IRYgAikDuAEhOiAHKAJEIgMgBygCPEYEQEEAIQQjAEEgayIBJABBBCAKKAIAIghBAXQiEyAT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IAooAggiBCABKAI8IgVPDQEgASgCOCAEQQN0aiIHKAIAIgUgASgCMCIETw0CIAcoAgQiByAETw0DIAMgASgCLCIBIAdBA3RqKQIANwOgASADIAEgBUEDdGopAgA3A5gBIANBrAFqIANBmAFqIAIQ9QIgAygCuAEiDEEDRg0EIBggAyoCrAEiHZMiGCAYlCAWIAMqArABIh6TIhggGJSSkUP//39/XUUNBCADKAK8ASELIAMoArQBIRIgCigCCCEPCyADIAw2AgwgA0GsAWohEwwDCyAEIAVB5P7CABCwCQALIAUgBEH0/sIAELAJAAsgByAEQYT/wgAQsAkACyATIAs2AgAgAygClAEiAUEhTwRAIAMoAhggAUECdEEEEJ8NCyADKAIMQQNHBEAgACAPNgIQIABBATYCDCAAIBI2AgggACAeOAIEIAAgHTgCACADQcABaiQADwtByPjCABClDQALqBwDGH8CfgJ9IwBB4AFrIgIkAAJAIAEoAgQiBUUEQEECIQEMAQsgASAFQQFrNgIEIAIgASgCACIHNgIIIAACfwJAAkAgBygCBCIFQQRPBEAgByAFQQRrIgE2AgQgByAHKAIAIgNBBGo2AgAgAUEESQRAIAJBADoAMyACQSU7ADEgAkEANgI0IAJBAToAMCACQTBqEMcLDAQLIAMoAAAhECAHIAVBCGsiATYCBCAHIANBCGo2AgACQCABQQRPBEAgAyoABCEcIAcgBUEMayIBNgIEIAcgA0EMajYCACABQQNLDQELIAJBADoAMyACQSU7ADEgAkEANgI0IAJBAToAMCACQTBqEMcLDAQLIAMoAAghESAHIAVBEGsiATYCBCAHIANBEGo2AgAgAkEJNgIMIAFBBEkNASADKAAMIRIgByAFQRRrIgE2AgQgByADQRRqNgIAIAFBBEkEQCACQQA6ADMgAkElOwAxIAJBADYCNCACQQE6ADAgAkEwahDHCwwECyADKAAQIRMgByAFQRhrIgE2AgQgByADQRhqNgIAAkAgAUEETwRAIAMqABQhHSAHIAVBHGsiATYCBCAHIANBHGo2AgAgAUEDSw0BCyACQQA6ADMgAkElOwAxIAJBADYCNCACQQE6ADAgAkEwahDHCwwECyADKAAYIRQgByAFQSBrIgE2AgQgByADQSBqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADKAAcIRUgByAFQSFrIgE2AgQgByADQSFqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADLQAgIRYgByAFQSJrIgE2AgQgByADQSJqNgIAIAFFBEAgAkKBygA3AzAgAkEwahDHCwwECyADLQAhIRcgByAFQSNrIgE2AgQgByADQSNqNgIAIAJBBTYCDCABRQRAIAJCgcoANwMwIAJBMGoQxwsMBAsgAy0AIiEYIAcgBUEkazYCBCAHIANBJGo2AgAgAy0AIyEZIAJBMGohASMAQRBrIgQkAAJAIAJBCGoiBSgCBCIDRQRAIAFBADYCAAwBCyAFIANBAWs2AgQCfwJAAkACQAJAAkAgBSgCACIJKAIEIgxBBE8EQCAJIAxBBGsiAzYCBCAJIAkoAgAiCkEEajYCACADQQRJDQEgCigAACEGIAkgDEEIayIDNgIEIAkgCkEIajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgCigABCEIIAkgDEEMayIDNgIEIAkgCkEMajYCACADQQRJDQIgCigACCENIAkgDEEQayIDNgIEIAkgCkEQajYCACADQQRJDQMgCigADCELIAkgDEEUayIDNgIEIAkgCkEUajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgCigAECEPIAkgDEEYayIDNgIEIAkgCkEYajYCACADQQRJDQQgCigAFCEOIAkgDEEcayIDNgIEIAkgCkEcajYCACADQQRJDQUgCigAGCEHIAkgDEEgayIDNgIEIAkgCkEgajYCACADQQRJBEAgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBwsgASAKKAAcNgIgIAEgBzYCHCABIA42AhggASAPNgIUIAEgCzYCECABIA02AgwgASAINgIIIAEgBjYCBCABQQE2AgAgCSAMQSRrNgIEIAkgCkEkajYCACABIAooACA2AiQMBwsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBQsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMBAsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAwsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAgsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsMAQsgBEEAOgALIARBJTsACSAEQQA2AgwgBEEBOgAIIARBCGoQxwsLIQMgAUECNgIAIAEgAzYCBAsgBEEQaiQAIAIoAjQiDyACKAIwIgdBAkYNAxogAkEQaiIDQRhqIAJB0ABqKQIANwMAIANBEGogAUEYaikCADcDACACQRhqIAFBEGopAgA3AwAgAiACKQI4NwMQIAdBAXFFDQIjAEGAAWsiBiQAQRghBwJAIAUoAgQiA0UEQEECIQgMAQsgBSADQQFrNgIEIAYgBSgCADYCICAGQQM2AiQgBkEoaiAGQSBqEKoCIAECfyAGLQBAIg1BA0YEQCAGKAIoDAELIA1BAkcEQCAGQcQAaiAGQSBqEKoCIAYtAFwiC0EDRgRAIAYoAkQMAgsCQAJAAkAgC0ECRwRAIAZB4ABqIAZBIGoQqgIgBi0AeCIIQQJrDgICAQMLQQEgBkH/AGpBhLzBABDNCAwECyAGKAJgDAMLQQIgBkH/AGpBhLzBABDNCAwCCyABIAYpAmA3AjggASAGLwB5OwBRIAEgBikCLDcCBCABQcgAaiAGQeAAaiIFQRBqKQIANwIAIAFBQGsgBUEIaikCADcCACABQdMAaiAGQfsAai0AADoAACABQQxqIAZBKGoiBUEMaikCADcCACABQRRqIAVBFGooAgA2AgAgBigCKCEHIAZBBGoiDkECaiAGQcEAaiIDQQJqLQAAOgAAIAZBF2ogBkHEAGoiBUEQaikCADcAACAGQQ9qIAVBCGopAgA3AAAgAUE3aiAGQd0AaiIFQQJqLQAAOgAAIAEgBS8AADsANSAGIAMvAAA7AQQgBiAGKQJENwAHIAEgDToAGCABIAc2AgAgASALOgA0IAEgBikBBDcAGSABQSFqIA5BCGopAQA3AAAgAUEpaiAOQRBqKQEANwAAIAFBMGogBkEbaigAADYAAEHQACEHDAILQQAgBkH/AGpBhLzBABDNCAs2AgBBAyEICyABIAdqIAg6AAAgBkGAAWokACACKAIwIg4gAi0ASCINQQNGDQMaIAJByAFqIgFBEGogAkHEAGooAgA2AgAgAUEIaiACQTxqKQIANwMAIAJBiAFqIgFBCGogAkHRAGopAAA3AwAgAUEQaiACQdkAaikAADcDACACQaABaiACQeEAaikAADcDACACQagBaiACQekAaikAADcDACACQbABaiACQfEAaikAADcDACACQbgBaiACQfkAaikAADcDACACQb8BaiACQYABaigAADYAACACIAIpAjQ3A8gBIAIgAikASTcDiAECQCANQQJHBEAgAkEwaiACQQhqEN8GIAItADBFDQEgAigCNAwFC0EHQZifwQBB8JfBABDNCAwECwJAIAItADEiAUECRwRAIwBBEGsiCCQAIAJBMGoiBQJ/AkAgAkEIaiILKAIEIgNFBEAgBUEDOgABDAELIAsgA0EBazYCBAJAIAUCfyALKAIAIgsoAgQiA0EDTQRAIAhCgcoANwMAIAgQxwsMAQsgCyADQQRrNgIEIAsgCygCACIDQQRqNgIAIAMoAAAiA0EDSQ0BIAhBAToAACAIIAOtNwMIIAhBuJ/BAEHwl8EAEI0JCzYCBEEBDAILIAUgAzoAAQtBAAs6AAAgCEEQaiQAIAItADBFDQEgAigCNAwFC0EIQZifwQBB8JfBABDNCAwECwJAIAItADEiB0EDRwRAIAJBMGohCCMAQRBrIgskAAJAIAJBCGoiAygCBCIFRQRAIAhCADcDCCAIQgA3AwAMAQsgAyAFQQFrNgIEIAMoAgAiAygCBCIFQQ9NBEAgC0KBygA3AwggC0EIahDHCyEFIAhCADcDCCAIQgI3AwAgCCAFNgIQDAELIAMgBUEQazYCBCADIAMoAgAiBUEQajYCACAFKQAAIRogCCAFKQAINwMYIAggGjcDECAIQgA3AwggCEIBNwMACyALQRBqJAAgAigCQCEFIAIpAzggAikDMCIaQgKFhEIAUg0BIAUMBQtBCUGYn8EAQfCXwQAQzQgMBAsgGqdBAXFFBEBBCkGYn8EAQfCXwQAQzQgMBAsgAkHMAGo1AgAhGiACKQJEIRsgACACKQMQNwI0IAAgAikDyAE3AlggACACKQOIATcAbSAAQcwAaiACQRBqIgNBGGopAwA3AgAgAEHEAGogA0EQaikDADcCACAAQTxqIANBCGopAwA3AgAgAEHgAGogAkHIAWoiA0EIaikDADcCACAAQegAaiADQRBqKAIANgIAIABB9QBqIAJBiAFqIgNBCGop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CSAJKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAFIAoLQQFxIgogC0VxRQRAIAEgCWogGKdB/wBxIg06AAAgCSABQQhrIAxxakEIaiANOgAAIAggCyAKazYCCCAIIAgoAgxBAWo2AgwgCSABQQR0ayIBQRBrIghBCGogBkGIA2opAgA3AgAgCCAGKQKAAzcCAAwBCyAGQQhqIAggCEEQahDPASAIIBYgCCgCACAIKAIEIBYQsgggBkGAA2oQxgghAQsgAUEIayEBIAcoAgghCAsCQAJAIAggASgCACIBSwRAIAcoAgQgAUHUAWxqIQEgACgCKCEHIAAoAiQhCCASLQAADQEgBiAGKgIQIho4AoADIAYgBioCFCIbjDgChAMgBiAbIAYpAxgiFae+IhyUIBogFUIgiKe+Ih2UkzgCjAMgBiAaIByMlCAbIB2UkzgCiAMgCCAGQYADaiAAKAIsIAAoAjAgAiADIAAoAjQiAigCACACKAIEIAQgBSAAKAI4KgIAIAEgBygCKBEUABoMAgsgASAIQaDjwQAQsAkACyAIIAZBEGogAiADIAAoAiwgACgCMCAEIAUgACgCNCICKAIAIAIoAgQgACgCOCoCACABIAcoAigRFAAaCyAGQZADaiQAC/sMAwd/DH0FfiMAQeAFayIGJAAgBCgCCCEJIARBADYCCCAEKAIEIQwCQCAJRQ0AIAlBA3EhByAJQQRPBEAgDEGcA2ohCCAJQXxxIQkDQCAIQfQCayILKAIABEAgC0EANgIACyAIQfgBayILKAIABEAgC0EANgIACyAIQfwAayILKAIABEAgC0EANgIACyAIKAIABEAgCEEANgIACyAIQfADaiEIIAkgCkEEaiIKRw0ACwsgB0UNACAKQfwAbCAMakEoaiEIA0AgCCgCAARAIAhBADYCAAsgCEH8AGohCCAHQQFrIgcNAAsLQ///f38hD0P//3//IRACQCABKAIIIghFBEBD//9//yERQ///f38hDgwBC0P//3//IRFD//9/fyEOAkACQCABKAIEIgcoAixB/////wNxIAcoAhRB/////wNxag4CAgABCyAHKgIQIREgByoCDCEQIAcqAgQhDiAHKgIAIQ8MAQsgByoCECINIAcqAigiESANIBFgGyERIAcqAgwiDSAHKgIkIg4gDSAOYBshECAHKgIEIg0gByoC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aiIIKQMAIQQgCSAAIAcgB0EIaigCACAIQQhqKAIASSADIARUIAMgBFEbIgwbIAlBCGooAgAgAEEIaigCAEkgCSkDACIDIAApAwAiBFQgAyAEURsiDhsiC0EIaigCACEQIAggByAAIA4bIAwbIg1BCGooAgAhEiALKQMAIQMgDSkDACEEIAJByABqIAcgCCAMGyIHQQhqKQMAIgY3AwAgAkFAayIIIAcpAwAiBTcDACACQdAAaiALIA0gECASSSADIARUIAMgBFEbIgcbIgwpAwA3AwAgAkHYAGogDEEIaikDADcDACACQegAaiANIAsgBxsiB0EIaikDADcDACACQeAAaiAHKQMANwMAIAJB8ABqIgcgACAJIA4bIgApAwA3AwAgAkH4AGoiCSAAQQhqKQMANwMAIAEgCCACIBEoAgAgBqdLIAIpAwAiAyAFViADIAVRGyIAGyILKQMANwMAIAFBCGogC0EIaikDADcDACABIAogByAJKAIAIA8oAgBJIAcpAwAiAyAKKQMAIgRUIAMgBFEbIgsbIgkpAwA3A3AgAUH4AGogCUEIaikDADcDACAIIABBBHRqIgkpAwAhAyACIABBAXNBBHRqIgIpAwAhBCABIAkgAiAJQQhqKAIAIAJBCGooAgBJIAMgBFQgAyAEURsiCBsiACkDADcDECABQRhqIABBCGopAwA3AwAgCiALQQR0IgprIQAgByAKakEQayIHKQMAIQMgASAAIAcgB0EIaigCACAAQQhqKAIASSAAKQMAIgQgA1YgAyAEURsiCxsiCikDADcDYCABQegAaiAKQQhqKQMANwMAIAkgCEEEdGoiCSkDACEDIAIgCEEBc0EEdGoiAikDACEEIAEgCSACIAlBCGooAgAgAkEIaigCAEkgAyAEVCADIARRGyIKGyIIKQMANwMgIAFBKGogCEEIaikDADcDACAAIAtBBHQiCGshACAHIAhqQRBrIgcpAwAhAyABIAAgByAHQQhqKAIAIABBCGooAgBJIAApAwAiBCADViADIARRGyIIGyILKQMANwNQIAFB2ABqIAtBCGopAwA3AwAgCSAKQQR0aiIJKQMAIQMgAiAKQQFzQQR0aiICKQMAIQQgASAJIAIgCUEIaigCACACQQhqKAIASSADIARUIAMgBFEbIgobIgspAwA3AzAgAUE4aiALQQhqKQMA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DGogBEEMaikCADcCACADQQRqIARBBGopAgA3AgAgA0E4aiAEQThqKAIANgIAIANBMGogBEEwaikCADcCACADQShqIARBKGopAgA3AgAgA0EgaiAEQSBqKQIANwIAIANB1ABqIARB1ABqKAIANgIAIANBzABqIARBzABqKQIANwIAIANBxABqIARBxABqKQIANwIAIANBPGogBEE8aikCADcCACADQdgAaiAEQdgAaikCADcCACADQeAAaiAEQeAAaikCADcCACADQegAaiAEQegAaikCADcCACADQfAAaiAEQfAAaigCADYCACAAQfAAaiEAIAdB8ABqIQcgAkEEayICDQALCyABIAUgBms2AgALIAkgCykDICIZIAspAzAiGiAKGzcCbCAJIBogGSAKGzcCZAsgC0HAAWokAAuVDAMDfwN+A30jAEGwAmsiCyQAIAsgCjoAHiALIAc4AhggCRDRBQJAAkAgCSgCACIKBEAgC0EQaiAKIAkoAgQoAhwRAAAgC0HgAGogCygCECIMIAsoAhQoAgwRAAAgCykDYEKfwsXrsLDU6op/hSALKQNoQr/TnKSbz4Hwi3+FhEIAUg0BIAwgDC0AGEF/c0EBcSIJOgAYIAsgCToAHyALQSBqIglBCGogAUEIaikCACIONwMAIAsgASkCADcDICALIAsqAiAiBzgCMCALIAsqAiQiEYw4AjQgCyARIA6nviISlCAHIA5CIIinviITlJM4AjwgCyAHIBKMlCARIBOUkzgCOCALQfgBaiAFIAkgBigClAERAQAgCyoCGCIHQwAAAABgRQ0CIAspA/gBIQ4gCyAHIAspA4ACIg+nvpIiETgCSCALIA6nviAHkyISOAJAIAsgByAPQiCIp76SIhM4AkwgCyAOQiCIp74gB5MiBzgCRCALQdgAaiAIQQhqIgEoAgA2AgAgAUEANgIAIAgpAgAhDiAIQoCAgIDAADcCACALIA43A1ACQCACIAQRBAAiDSgCCEUEQEEAIQlBACEKDAELAn8CQCARIA0oAgQiASkCACIOp75gRQ0AIBMgDkIgiKe+YEUNACASIAFBDGopAgAiDqe+X0UNACABIAcgDkIgiKe+Xw0BGgtBAAshCkEAIQkgASgCLEH/////A3FFDQAgESABQRhqIgQpAgAiDqe+YEUNACASIAFBJGopAgAiD6e+XyAH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IAAgGTgCACAAQRxqIAhBKGopAwA3AgAgAEEUaiAIQSBqKQMANwIAIABBDGogCEEYaikDADcCACAAQSdqIAhBDmotAAA6AAAMAQsgACAIKQMQNwIEIAAgCC8BDDsAJSAAIAs6ACQgACAZOAIAIABBHGogCEEoaikDADcCACAAQRRqIAhBIGopAwA3AgAgAEEMaiAIQRhqKQMANwIAIABBJ2ogCEEOai0AADoAAAsgCEHQAWokAAuMCwMJfwV+CH0jAEEQayIDJAACQCAAKAIgIgcgAU0NACAAKAIcIgggAUEDdGoiASgCACECIAFBADYCACACRQ0AIAEoAgQhBSAAIAAoAiRBAWsiATYCJCABRQRAIABBADYCFCAAQQA2AggMAQsgBUEBcyEEAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBAk8EQCAAKAIUIgYgBUEBdiIBTQ0BIAAoAggiBSABTQ0CIAAoAhAiCiABQQJ0aigCACECIAMgACgCBCIJIAFBMGxqIgA2AgggAyAAQRhqNgIMIANBCGogBEEBcUECdGooAgAiBCgCCCEAIAQoAhRB/////wNxQQFHDQQgACAHTw0DIAggAEEDdGoiACgCAEUNAyAAIAI2AgQMCgsgACgCCCIGRQ0EIAMgACgCBCIBNgIIIAMgAUEYaiICNgIMIANBCGogBEECdGoiBCgCACgCFEH/////A3FBAUYEQCAFQQFxRQRAIAEgAikCADcCACABQQhqIAJBCGopAgA3AgAgAUEQaiACQRBqKQIANwIAIAEoAiAiACAHTw0HIAggAEEDdGoiACgCAEEBRw0HIABBADYCBAsgAkIANwIAIAJBEGpCADcCACACQQhqQgA3AgAMDQsgAyACNgIMIAMgATYCCCAEKAIAKAIIIgIgBk8NBiABIAJBMGxqIgIpAgAhDCACQQhqKQIAIQsgAkEYaikCACENIAJBIGopAgAhDiACQShqKQIAIQ8gAUEQaiACQRBqKQIANwIAIAFBKGogDzcCACABQSBqIA43AgAgAUEYaiANNwIAIAFBCGogCzcCACABIAw3AgAgC6chAiABKAIUQf////8DcUEBRgRAIAIgB08NCCAIIAJBA3RqIgIoAgBFDQggAkEANgIEDAwLIAAoAhQiBiACSw0KIAIgBkH41MIAELAJAAsgASAGQajVwgAQsAkACyABIAVBuNXCABCwCQALQdjEwgBBD0HI1cIAEPgJAAsgACAGSQ0EIAAgBkHY1cIAELAJAAtBAEEAQbjUwgAQsAkAC0HYxMIAQQ9ByNTCABD4CQALIAIgBkHY1MIAELAJAAtB2MTCAEEPQejUwgAQ+AkACyAKIABBAnRqIAI2AgALAkACQCACQQF2IgEgBUkEQCADIAkgAUEwbGoiADYCCCADIABBGGo2AgwgBEEIaikCACELIAQpAgAhDCADQQhqIAJBAXFBAnRqKAIAIgBBEGogBEEQaikCADcCACAAQQhqIAs3AgAgACAMNwIAIAJBAkkNBQNAIAEgBk8NAyAKIAFBAnRqKAIAIgdBAXYiACAFTw0CIAkgAUEwbGoiAigCLCEIIAIoAhQhBCACKgIoIRAgAioCECERIAIqAiQhEiACKgIMIRMgAioCHCEUIAIqAgQhFSACKgIYIRYgAioCACEXIAMgCSAAQTBsaiICNgIIIAMgAkEYajYCDCADQQhqIAdBAXFBAnRqKAIAIgIgCEH/////A3EgBEH/////A3FqIAQgCHJBgICAgHxxcjYCFCACIBEgECAQIBFfGzgCECACIBMgEiASIBNfGzgCDCACIAE2AgggAiAVIBQgFCAVYBs4AgQgAiAXIBYgFiAXYBs4AgAgACEBIAdBAk8NAAsMBQsgASAFQejVwgAQsAkACyAAIAVBiNbCABCwCQALIAEgBkH41cIAELAJAAsgACgCECACQQJ0akEANgIACyABKAIgIQIgASgCLEH/////A3FBAUYEQAJAIAIgB08NACAIIAJBA3RqIgAoAgBFDQAgAEEBNgIEDAILQdjEwgBBD0GI1cIAEPgJAAsgAiAAKAIUIgFPBEAgAiABQZjVwgAQsAkACyAAKAIQIAJBAnRqQQE2AgALIANBEGokAAujDAEbfyMAQZABayIPJAACQAJAAkAgAEUNACAAQQhrIhMoAgBBAWohECATIBA2AgAgEEUNASAAKAIADQIgAEF/NgIAIA8gEzYCCCAPIAA2AgQgDyAAQQhqIh82AgAgAUUNACABQQhrIhQoAgBBAWohECAUIBA2AgAgEEUNASABKAIAIhBBf0YNAiABIBBBAWo2AgAgDyAUNgIUIA8gATYCECAPIAFBBGoiIDYCDCACRQ0AIAJBCGsiFSgCAEEBaiEQIBUgEDYCACAQRQ0BIAIoAgAiEEF/Rg0CIAIgEEEBajYCACAPIBU2AiAgDyACNgIcIA8gAkEEaiIhNgIYIANFDQAgA0EIayIWKAIAQQFqIRAgFiAQNgIAIBBFDQEgAygCAA0CIANBfzYCACAPIBY2AiwgDyADNgIoIA8gA0EEaiIiNgIkIARFDQAgBEEIayIXKAIAQQFqIRAgFyAQNgIAIBBFDQEgBCgCAA0CIARBfzYCACAPIBc2AjggDyAENgI0IA8gBEEIaiIjNgIwIAVFDQAgBUEIayIYKAIAQQFqIRAgGCAQNgIAIBBFDQEgBSgCAA0CIAVBfzYCACAPIBg2AkQgDyAFNgJAIA8gBUEEaiIkNgI8IAZFDQAgBkEQayIZKAIAQQFqIRAgGSAQNgIAIBBFDQEgBigCAA0CIAZBfzYCACAPIBk2AlAgDyAGNgJMIA8gBkEQaiIlNgJIIAdFDQAgB0EIayIaKAIAQQFqIRAgGiAQNgIAIBBFDQEgBygCAA0CIAdBfzYCACAPIBo2AlwgDyAHNgJYIA8gB0EEaiImNgJUIAhFDQAgCEEIayIbKAIAQQFqIRAgGyAQNgIAIBBFDQEgCCgCAA0CIAhBfzYCACAPIBs2AmggDyAINgJkIA8gCEEIaiInNgJgIAlFDQAgCUEIayIcKAIAQQFqIRAgHCAQNgIAIBBFDQEgCSgCAA0CIAlBfzYCACAPIBw2AnQgDyAJNgJwIA8gCUEIaiIQNgJsIApFDQAgCkEIayIdKAIAQQFqIRIgHSASNgIAIBJFDQEgCigCAA0CIApBfzYCACAPIB02AoABIA8gCjYCfCAPIApBBGo2AnggC0UNACALQQhrIh4oAgBBAWohEiAeIBI2AgAgEkUNASALKAIADQIgC0F/NgIAIA8gHjYCjAEgDyALNgKIASAPIAtBBGoiEjYChAEjAEEgayIRJAACQCASLQAgRQ0AIBFBCGogEigCECIoIBIoAhQiKRCAASARKAIIQQJGDQADQCARQQhqICggKRCAASARKAIIQQJHDQALCyARIA42AhAgESANNgIMIBEgDDYCCCAfICAgISAiICMgJCAlICYgJyAQIBFBCGpBhMXBACASQZzFwQAQIyARKAIIIgxBhAFPBEAgDBACCyARKAIMIgxBhAFPBEAgDBACCyARKAIQIgxBhAFPBEAgDBACCyARQSBqJAAgC0EANgIAIB4gHigCAEEBayILNgIAIAtFBEAgD0GMAWoQjgsLIApBADYCACAdIB0oAgBBAWsiCjYCACAKRQRAIA9BgAFqEMwLCyAJQQA2AgAgHCAcKAIAQQFrIgk2AgAgCUUEQCAPQfQAahCPCwsgCEEANgIAIBsgGygCAEEBayIINgIAIAhFBEAgD0HoAGoQkwsLIAdBADYCACAaIBooAgBBAWsiBzYCACAHRQRAIA9B3ABqEJILCyAGQQA2AgAgGSAZKAIAQQFrIgY2AgAgBkUEQCAPQdAAahCQCwsgBUEANgIAIBggGCgCAEEBayIFNgIAIAVFBEAgD0HEAGoQjQsLIARBADYCACAXIBcoAgBBAWsiBDYCACAERQRAIA9BOGoQlAsLIANBADYCACAWIBYoAgBBAWsiAzYCACADRQRAIA9BLGoQlgsLIAIgAigCAEEBazYCACAVIBUoAgBBAWsiAjYCACACRQRAIA9BIGoQzgsLIAEgASgCAEEBazYCACAUIBQoAgBBAWsiATYCACABRQRAIA9BFGoQzQsLIABBADYCACATIBMoAgBBAWsiADYCACAARQRAIA9BCGoQkQsLIA9BkAFqJAAPCxCvDQsACxCwDQALoQoDBn8CfhB9IwBBgAFrIggkACABKgIAIREgACoCBCEQIAEqAgQhFCAAKgIAIRIgCEIANwIAIAhBGGpCADcCACAIQRBqQgA3AgAgCEEIakIANwIAIAggEiAUlCAQIBGUkyIVjCIYOAIoIAggEiARlCAQIBSUkiIWjCIZOAIkIAIgCEEkaiICIAggAxEBACACIAZB4ABqIgxB3AD8CgAAQQAhAiAGQQA2AmAgBkHkAGohCQJAIAgoAhwiCkUNACAEIBWUIRUgBCAWlCEWIAEpAgAiDkIgiKe+IRogDqe+IRtBACEDIBEgACoCCCIcIBIgCCoCACITlCAQIAgqAgQiF5STkiIdlCAUIAAqAgwiHiAQIBOUIBIgF5SSkiIXlJIiEyAEkyIfIAVfBEAgCCkDACEOQQAQuwohACAJQgA3AgAgCUEIakIANwIAIAYgHzgChAEgBkEBNgJgIAYgACAIKAIQIgIgBxs2AowBIAYgAiAAIAcbNgKIASAGIB0gEyAblJO8rSAXIBMgGpSTvK1CIIaEIg8gDqe+IBaTvK0gDkIgiKe+IBWTvK1CIIaEIg4gBxs3AnwgBiAOIA8gBxs3AnRBASEDCyAKQQFGBEAgAyECDAELAkAgBSARIBwgEiAIKgIIIgWUIBAgCCoCDCIRlJOSIhOUIBQgHiAQIAWUIBIgEZSSkiIQlJIiBSAEkyIEYEUEQCADIQIMAQsgCCkDCCEOQQAQuwohCyAMIANBAWoiAjYCACAJIANBLGxqIgBCADcCACAAIAQ4AiAgAEEIakIANwIAIAAgCyAIKAIUIgMgBxs2AiggACADIAsgBxs2AiQgACATIAUgG5STvK0gECAFIBqUk7ytQiCGhCIPIA6nviAWk7ytIA5CIIinviAVk7ytQiCGhCIOIAcbNwIYIAAgDiAPIAcbNwIQCyAKQQJGDQBBAkECQYTXwQAQsAkACwJAIAdFBEAgBiAYOALIASAGIBk4AsQBIAYgASkCADcCvAEMAQsgBiAYOALAASAGIBk4ArwBIAYgASkCADcCxAELAkAgAkUNACAIKAIkIgdFDQAgBigCiAEhAyAIQShqIgAhAQJAIAdBLGwiCkEsayIHQSxuIgxBAXENACAIQdQAaiEBIAMgCCgCTEcNACAGKAKMASAIKAJQRw0AIAkgACkCADcCACAJQQhqIABBCGopAgA3AgALIAAgCmohCiAHQSxPBEAgBigCjAEhCwNAAkAgAyABQSRqKAIARw0AIAsgAUEoaigCAEcNACAJIAEpAgA3AgAgCUEIaiABQQhqKQIANwIACwJAIAMgAUHQAGooAgBHDQAgCyABQdQAaigCAEcNACAJIAFBLGoiDSkCADcCACAJQQhqIA1BCGopAgA3AgALIAogAUHYAGoiAUcNAAsLIAJBAUYNACAGQZABaiECIAYoArQBIQMCQCAMQQFxBEAgACEBDAELIAhB1ABqIQEgAyAIKAJMRw0AIAYoArgBIAgoAlBHDQAgAiAAKQIANwIAIAJBCGogAEEIaikCADcCAAsgB0EsSQ0AIAYoArgBIQADQAJAIAMgAUEkaigCAEcNACAAIAFBKGooAgBHDQAgAiABKQIANwIAIAJBCGogAUEIaikCADcCAAsCQCADIAFB0ABqKAIARw0AIAAgAUHUAGooAgBHDQAgAiABQSxqIgYpAgA3AgAgAkEIaiAGQQhqKQIANwIACyAKIAFB2ABqIgFHDQALCyAIQYABaiQAC9kJAxR9An4FfyMAQSBrIhskAAJAAkAgAyoCCCIGIAaUIAMqAgwiBiAGlJIiBkMAAAAAWw0AIAaRIg+LIgZDAACAf1wEQCAGQwAAADRfDQEgBiAGQwAAADSUXw0BCyABKgIQIhMgAykCCCIZp74gD5UiEIwiByAQIBCUIBlCIIinviAPlSIRIBGUkpEiBZUiBpQgASoCFCIUIBGMIgsgBZUiBZSSIQggC7ytQiCGIRkgB7ytIRogAUEQaiEdIAFBCGohHiADKgIEIQsgAyoCACEMAn8gASoCACIVIAaUIAEqAgQiFiAFlJIiByABKgIIIhcgBpQgASoCDCIYIAWUkiINXkUEQCAdIAggDV1FDQEaIB4MAQsgHSAHIAheRQ0AGiABCyEDIBkgGoQhGiACQgA3AmQgAkIANwIYIAIgBiABKgIYIhKUIAMpAgAiGae+kiIGIAyTOAIIIAIgBSASlCAZQiCIp76SIgUgC5M4AgwgAiAGvK0gBbytQiCGhDcCECAbIAIQ0gFD//9/fyEFQeQAIR8gGykDACEZIBsqAgQhCCAbKgIAIQdDAAAAACENAkACQANAIAggCJQgByAHlJIiBkMAAMgrXkUNASAIjCAGkSIGlSEIIAeMIAaVIQcCfiAFIAZfIhxFBEAgEyAHIAcgB5QgCCAIlJKRIgWVIgqUIBQgCCAFlSIFlJIhCSASIAWUAn8gFyAKlCAYIAWUkiIOIBUgCpQgFiAFlJIiBV1FBEAgHSAJIA5dRQ0BGiAeDAELIB0gBSAJXkUNABogAQspAgAiGUIgiKe+kiEFIBIgCpQgGae+kiIOvK0gBbytQiCGhAwBCyANQwAAAABeDQIgGae+IAySIg68rSAZQiCIp74gC5IiBbytQiCGhAshGQJAAkACQCAQIAeUIBEgCJSSIgpDAAAAAFsNACAKiyIJQwAAgH9cBEAgCUMAAAA0Xw0BIAkgCUMAAAA0lF8NAQsgByAOIAyTlCAIIAUgC5OUkiAKlSIJQwAAAABgRQ0AIApDAAAAAF0gCUMAAAAAXnENASAcRQ0CQQAhAwwFC0EAIQMgCkMAAKA1Xg0EIBwNBAwBCyAEIA0gCZIiDSAPlV0EQEEAIQMMBAsgCyARIAmUIgqSIQsgDCAQIAmUIgmSIQwgB7ytIAi8rUIghoQhGkP//39/IQYgAigCaCIcQQFqIgNFDQAgAiACKgIIIAmTOAIIIAIgAioCDCAKkzgCDCAcRQ0AIAIgAioCICAJkzgCICACIAIqAiQgCpM4AiQgA0ECRg0AIAIgAioCOCAJkzgCOCACIAIqAjwgCpM4AjwgA0EDRg0AQQNBA0H488IAELAJAAsgCCAFIAuTIgiUIAcgDiAMkyIHlJIiBbxB/////wdxQf////sHSwRAQfTxwgBBJ0Gw8sIAEPkKAAtBACEDIAYgBZIgBkO9G486lF8NAiAbQgA3AhggGyAZNwIQIBsgCDgCDCAbIAc4AgggAiAbQQhqIhwQ8AMaIBwgAhDSASACKAJoQQJHBEAgGykDCCIZQiCIp74hCCAZp74hByAGIQUgH0EBayIfDQEMAwsLIAVDAACgtV8NAQsgACAaNwIIIAAgDSAPlTgCBEEBIQMLIAAgAzYCAAwBCyAAQQA2AgALIBtBIGokAAvzDQMPfwF+AX0jAEGgBGsiAiQAIAAoAgAoAgAhDiAAKAIEIggoAgBBAUYEQCAIKAIEIgNB//8DcSEFQQEhByADQRB2IQMLIA5BIEkhCyAAKAIIIggoAgBBAUYEQCAIKQMIIhFCIIinIRBBASEEIBGnIQkLIA5BACALGyEGQQEhDQJAIAAoAgwiCCgCAEEBRwRAQQAhDQwBCyAIKQMIIhFCIIinIQogEachDAsgAiAAKAIUKAIAKQIANwMoIAIgACgCECgCACkCADcDICAAKAIYIQ4gACgCJCgCACELIAAoAigoAgAhCCAAKAIgKAIAIQ8gAiAAKAIcKAIANgJsIAJB4MDBADYCYCACIAE2AlwgAiAGNgJYIAIgCjYCVCACIAw2AlAgAiANNgJMIAIgEDYCSCACIAk2AkQgAiAENgJAIAIgBTYCPCACIAM2AjggAiAHNgI0IA8oAjwhASAPKAJAIQMgAiAINgJ0IAIgCzYCcCACIAM2AmggAiABIAMoAghBAWtBeHFqQQhqNgJkIAJB+ABqIQYgACgCLCoCACESIAAoAjAtAAAhC0EAIQNBACENQQAhByMAQUBqIgQkACACQTRqIgkoAjghCiAEQSBqIgUgAkEgaiIMQQhqIggpAgA3AwAgBCASOAIoIAQgDCkCADcDGAJAIAooAghFDQAgCigCBCIDKQIAIREgBCADQQxqKQIANwM4IAQgETcDMCAEQRBqIARBMGoiASAEQRhqIgAgEkEBEKEEIANBACAEKAIQQQFGGyEHIAMoAixB/////wNxRQ0AIAMpAhghESAEIANBJGopAgA3AzggBCARNwMwIARBCGogASAAIBJBARChBCADQRhqIQMgBCgCCEEBRiENCyAGIAQpAxg3ApABIAZBoAFqIARBKGooAgA2AgAgBkGYAWogBSkDADcCACAGIAk2AqQBIAYgBzYCjAEgBiAKNgKIASAGIA02AoQBIAYgAzYCBCAGQQA2AgAgBiALOgC8ASAGIBI4ArgBIAYgDCkCADcCqAEgBkGwAWogCCkCADcCACAEQUBrJAAgAkG4AmoiACAGQcAB/AoAACACQYwEaiEKIAJB4ANqIQsgAkHIA2ohDCAAQQRqIQEgAEGEAWohCAJAAkACQAJAA0AgAigCxAMiAEUEQCABIQUgCCEDIAIoArwDIgciAEEhTwRAIAIoAsACIQUgASEDIAIoArwCIQALIABFDQIgAyAAQQFrIgA2AgAgBSAAQQJ0aigCACEACyACQQA2AsQDIAAoAhRB/////wNxQQFHBEAgACgCCCIFIAIoAsADIgMoAggiAE8NBCADKAIEIAVBMGxqIgApAgAhESACIABBDGopAgA3A5AEIAIgETcDiAQgAkEYaiACQYgEaiAMIAIqAtgDQQEQoQQgAigCGEEBRgRAIAIgADYCxAMLIAApAhghESACIABBJGopAgA3A5AEIAIgETcDiAQgAkEQaiACQYgEaiAMIAIqAtgDQQEQoQQgAigCEEEBRw0BIABBGGohACACKALEAwRAAn8gAigCvAMiB0EhSQRAIAchBSABIQlBICEHIAgMAQsgAigCvAIhBSACKALAAiEJIAELIQMgBSAHRgRAIAJBuAJqEJMDIAIoArwCIQUgAigCwAIhCSABIQMLIAkgBUECdGogADYCACADIAMoAgBBAWo2AgAMAgsgAiAANgLEAwwBCyAAKAIIIgYgAigC3AMiBSgCQCIDKAIQTw0AIAMoAgwgBkGgAWxqIgAoAgBBAUcNACAFIAUoAjwgBiAAKAIEIgcgAEEQaiIDEO0DRQ0AIAJBiARqIgkgACgCMCAAKAI0IgAoAghBAWtBeHFqQQhqIAMgCyACKgLwAyACLQD0AyAAKAIcEQkAIAIoAogEIgVBA0YNACACQYAEaiIDIApBCGopAgA3AwAgAiAKKQIANwP4AyAOKAIAIQAgAkGBATYCnARBKEEEENQMIgRFDQQgBCAFNgIMIARBADYCCCAEQoGAgIAQNwIAIAQgAikD+AM3AhAgBCAHNgIkIAQgBjYCICAEQRhqIAMpAwA3AgAgAiAEQQhqEAU2AogEIAJBCGogACACQZwEaiAJEO0KIAIoAgwhAAJAAkAgAigCCEEBcUUEQCAAEAFBAEchBSAAQYMBSw0BDAILQQEhBSAAQYQBSQ0BCyAAEAILIAIoAogEIgBBhAFPBEAgABACCyACKAKcBCIAQYQBTwRAIAAQAgsgBQ0ACyACKAK8AyEHDAELIAJBADYCxAMLIAdBIU8EQCACKALAAiAHQQJ0QQQQnw0LIAJBoARqJAAPCyAFIABB6JbBABCwCQALQQRBKEHw+sMAKAIAIgBB7wcgABsRAAAAC5YKAw5/BH4CfSMAQbAEayIEJAAgAUGYAmohDiABQbgBaiEPIAFBBGohBiABQYQBaiEKIAFBtAFqIQ0gBEGEA2ohCyABKAK0AUEERwR/QQAFQQELIQIDQAJAAkACQAJAAkACQAJAIAJFBEAgBEGAA2ogDRDaASAEKAKAAyIDDQEgDUEENgIAQQEhAgwICyABKAIAQQJHBEACQAJAA0AgASgCjAEiAkUEQAJAIAooAgAiAkEhTwRAIAEoAgghByABKAIEIgVFDQQgBiEDIAUhAgwBCyAKIQMgBiEHIAJFDQQLIAMgAkEBayIDNgIAIAcgA0ECdGooAgAhAgsgAUEANgKMASACKAIUQf////8DcUEBRwRAIAIoAggiBSABKAKIASICKAIIIgNPDQcgAigCBCAFQTBsaiICQRhqIQggASoCnAEhFEEBIQMCQCABKgKYASIVIAIpAgAiEKe+YEUNACAUIBBCIIinvmBFDQAgASoCkAEgAkEMaikCACIQp75fRQ0AIAEqApQBIBBCIIinvl9FDQAgASACNgKMAUEAIQMLIBUgCCkCACIQp75gRQ0BIBQgEEIgiKe+YEUNASABKgKQASACQSRqKQIAIhCnvl9FDQEgASoClAEgEEIgiKe+X0UNASADRQRAAn8gCigCACIHQSFJBEAgByECIAYhBUEgIQcgCgwBCyABKAIEIQIgASgCCCEFIAYLIQMgAiAHRgRAIAEQlQMgASgCBCECIAEoAgghBSAGIQMLIAUgAkECdGogCDYCACADIAMoAgBBAWo2AgAMAgsgASAINgKMAQwBCwsgAigCCCIJIAEoAqABIgwoAlwiA08NBiAMKAJQIgMgCUsNBCAJIANB/KjDABCwCQALIAFBADYCjAEgByACQQJ0QQQQnw0LIAFBAjYCACAGIARBgANqQbAB/AoAAAsgASgCoANBBEYNBCAEQYADaiABQaADaiIBENoBIAQoAoADRQRAIAFBBDYCAAsgACAEKQKAAzcCACAAQRhqIARBgANqIgFBGGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBCGogAUEIaikCADcCAAwGCyAEQaACaiIGQRhqIAtBGGooAgAiATYCACAGQRBqIAtBEGopAgAiETcDACAGQQhqIAtBCGopAgAiEjcDACAEIAspAgAiEDcDoAIgAEEcaiABNgIAIABBFGogETcCACAAQQxqIBI3AgAgACAQNwIEIAAgAzYCAAwFCyAMKAJMIAlBA3RqKQIAIRMgDCgCWCEHIAEpAqQBIREgASkCrAEhEiAEQegAaiIDIARBoAJqQdwA/AoAACAEQQxqIgIgBEHEAWpB3AD8CgAAIAFBAzYCtAEgDyADQdwA/AoAACABQQM2ApQCIA4gAkHcAPwKAAAgASASpyICIBNCBIYiEKciCEEQaiIDIAIgA0gbIgU2ApwDIAEgEaciAyAIIAMgCEobIgM2ApgDIAEgCTYClAMgASAQQvD///+PfoM3AowDIAEgA60gEUIgiKciAiATQhyIp0FwcSIDIAIgA0obrUIghoQ3AvwCIAEgByAJQQh0ajYC+AIgASAMNgL0AiABIAWtIBJCIIinIgIgEEKAgICAgH6DQoCAgICAAnxCIIinIgMgAiADSButQiCGhDcChAMMAwsgBSADQejSwgAQsAkACyAJIANB7KjDABCwCQALIABBADYCAAwBC0EAIQIMAQsLIARBsARqJAAL+woCDX8DfiMAQfAAayICJAACQAJAAkAgASgCBCIERQRAIABBgICAgHg2AgAMAQsgASAEQQFrNgIEIAEoAgAhASACQQI2AhQgAiABNgIQIAJBQGsiAyACQRBqEJUCIAIoAkQiDCEBAkACQCACKAJAIghBgYCAgHhGDQAgAkEwaiIBIAJB0ABqKAIANgIAIAIgAikCSDcDKAJAAkAgCEGAgICAeEcEQCACQSBqIAEoAgA2AgAg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bGoiEUEEay0AACEYIBFBCGs1AgAhKiARQQxrKAIAIREgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogETYAACAKIAtBBGoiCzYCCCApQgF9ISsgCigCACALa0EHTQRAIAogC0EIQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogKjcAACAKIAtBCGoiDTYCCCApICuDISkgDSAKKAIARgRAIAogDUEBQQFBARDjBCAKKAIIIQ0LIAogDUEBaiILNgIIIAooAgQgDWogGEEBcToAACAPQQFrIg8NAAsMCQsgCigCACAKKAIIIgxrQQNNBEAgCiAMQQRBAUEBEOMEIAooAgghDAsgCigCBCAMakECNgAAIAogDEEEaiIMNgIIIA8tABghCyAMIAooAgBGBEAgCiAMQQFBAUEBEOMEIAooAgghDAsgCiAMQQFqIg02AgggCigCBCAMaiALOgAAIA8oAgAiECkDACEpIA8oAgwiD60hKiAKKAIAIA1rQQdNBEAgCiANQQhBAUEBEOMEIAooAgghDQsgCiANQQhqIgs2AgggCigCBCANaiAqNwAAIA9FDQggEEEIaiEMIClCf4VCgIGChIiQoMCAf4MhKQNAIClQBEADQCAQQYABayEQIAwpAwAhKSAMQQhqIQwgKUKAgYKEiJCgwIB/gyIpQoCBgoSIkKDAgH9RDQALIClCgIGChIiQoMCAf4UhKQsgECApeqdBAXRB8AFxayIRQQRrLQAAIRggEUEIazUCACEqIBFBDGsoAgAhDSARQRBrKAIAIREgCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogETYAACAKIAtBBGoiCzYCCCAKKAIAIAtrQQNNBEAgCiALQQRBAUEBEOMEIAooAgghCwsgCigCBCALaiANNgAAIAogC0EEaiILNgIIIClCAX0hKyAKKAIAIAtrQQdNBEAgCiALQQhBAUEBEOMEIAooAgghCwsgCigCBCALaiAqNwAAIAogC0EIaiINNgIIICkgK4MhKSANIAooAgBGBEAgCiANQQFBAUEBEOMEIAooAgghDQsgCiANQQFqIgs2AgggCigCBCANaiAYQQFxOgAAIA9BAWsiDw0ACwwICyAKKAIAIAooAggiDGtBA00EQCAKIAxBBEEBQQEQ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CygCBCAKaiApNwAAIAwEQCAMQaABbCEQQQAhDgNAAkACQAJAAkACQCAOIBFqIgsoAgBBAUYEQCASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANakEBNgAAIAogDUEEajYCCCALQQRqKAIAIQwgEigCGCIKKAIIIQ0gCigCACANa0EESQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWogDDYAACAKIA1BBGo2AgggC0GQAWotAAAhDCASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEajYCCCALQTBqIBJBGGoQJiIKDQggC0E4aigCAEEBaw4CAgMBCyASKAIYIgooAgghDSAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCigCBCANakEANgAAIAogDUEEajYCCCASKAIYIQogC0EEaigCAEEBRgRAIAtBCGooAgAhDCAKKAIIIgsgCigCAEYEQCAKIAtBAUEBQQEQ4wQgCigCCCELCyAKKAIEIAtqQQE6AAAgCiALQQFqIgs2AgggCigCACALa0EDTQRAIAogC0EEQQFBARDjBCAKKAIIIQsLIAooAgQgC2ogDDYAACAKIAtBBGo2AggMBQsgCigCCCILIAooAgBGBEAgCiALQQFBAUEBEOMEIAooAgghCwsgCigCBCALakEAOgAAIAogC0EBajYCCAwECyALQTxqKgIAISwgEigCGCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWpBADYAACAKIA1BBGoiDTYCCCAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCiANQQRqNgIIIAooAgQgDWogLDgAAAwCCyALQTxqKgIAISwgEigCGCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEQQFBARDjBCAKKAIIIQ0LIAooAgQgDWpBATYAACAKIA1BBGoiDTYCCCAKKAIAIA1rQQNNBEAgCiANQQRBAUEBEOMEIAooAgghDQsgCiANQQRqNgIIIAooAgQgDWogLDgAAAwBCyALQTxqKAIAIQwgEigCGCIKKAII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QRBGDQEgBEHMAGogBEEsaiAGIAwQtgEgBCgCTEEBRw0BIAACfiAEKgJYIhBDAAAAAF1FBEAgECARX0UNAyAEKQJQDAELIAoEQEMAAAAAIRBCAAwBCyARIAQqAmgiEGBFDQIgBCkCYAs3AgwgACAQOAIIIABBATYCACAAIAEgAkEIdHI2AgQMCQsgAUGAAkGsqcMAELAJAAtD//9/fyEDQ///f38hECAEIAg6AEggBCAJOgBAIAkgFUMAAAAAXXIEQEP//39/IBogGyAJGyAXkyAVlSIQIBBDAAAAAF0bIRALIAggEkMAAAAAXXIEQEP//39/IBwgHSAIGyAYkyASlSIDIANDAAAAAF0bIQMLIBAgEV4gAyARXnENBiADIBBdIgtBAnQiByAEQRBqciIBKAIAIQUgAQJ/IARBPGogC0EDdGotAARFBEAgBSAEQRhqIAdyKAIATA0IQX8MAQsgBSAEQSBqIAdyKAIAQQFrTg0HQQELIAVqNgIAIAQpAxAhHgwACwALIABBAzYCAAwFC0H2u8IAQRxBlLzCABD5CgALIABBAzYCAAwDCyACIAZB/KjDABCwCQALIAIgBkHsqMMAELAJAAsgAEEDNgIACyAEQfAAaiQAC4ILAgZ/AX4jAEGgBmsiAyQAIANBADYCECADQgA3AgggA0KAgICAwAA3AgAgA0H0A2oiBCADEFkgA0EANgKsBCADQgA3AqQEIANCgICAgMAANwKcBCADQbAEaiIFIANBnARqEFkgA0HkAGogBEEIaiIHKQIANwIAIANB7ABqIARBEGopAgA3AgAgA0H0AGogBEEYaikCADcCACADQfwAaiAEQSBqKQIANwIAIANBADYCWCADQgA3AlAgA0KAgICAwAA3AkggA0IENwJAIANCADcCOCADQgQ3AjAgA0IANwIoIANCBDcCICADQgA3AhggA0IENwIQIANCADcCCCADQoCAgICAAjcCACADIAMpAvQDNwJcIANBsAFqIAVBCGoiCCkCADcCACADQbgBaiAFQRBqKQIANwIAIANBwAFqIAVBGGopAgA3AgAgA0HIAWogBUEgaikCADcCACADQQA2AqQBIANCADcCnAEgA0KAgICAwAA3ApQBIANCgICAgHA3AowBIANCgICAgMAANwKEASADQgA3ApQCIANBAToAnQIgA0EANgKQAiADQoCAgIDAADcC0AEgA0IANwLYASADQgQ3AuABIANCADcC6AEgA0IENwLwASADQoCAgIDAADcC+AEgA0IANwKAAiADQgQ3AogCIAMgAykCsAQ3AqgBIANBgANqQQA2AgAgA0H4AmpCADcDACADQaACaiIGQSxqQQA2AgAgA0HEAmpCADcCACAGQRxqQgA3AgAgA0EBOgCcAiAFQQtqQgA3AAAgBEELakIANwAAIANCADcD8AIgA0GAgID8AzYCsAIgA0KAgID8AzcDoAIgA0IANwOoAiADQgA3ArQCIANCADcAswQgA0IANwD3AyADQQA6AIwDIANC////+wc3AoQDIANC////+////7//ADcD6AIgA0L////7BzcD4AIgA0KAgICA8P//v383A9gCIANC////+////7//ADcD0AIgBkH8AGogBUEPaigAADYAACADQZUDaiAIKQAANwAAIAMgAykAsAQ3AI0DIANBADoAqAMgA0L////7BzcDoAMgA0G4A2ogBEEPaigAADYAACADQbEDaiAHKQAANwAAIAMgAykA9AM3AKkDIANBgICA/AM2AtADIANBgAI7AcwDIANBADYCyAMgA0EAOgDEAyADQv////sHNwK8AyADQeQDakEAOgAAIANB3ANqQgA3AgAgA0IANwLUAyADQQxqQQMQgwIgA0EcakEDEIMCIANBLGpBAxCDAiADKAJEIgQgAygCPEYEQCADQTxqIARBAUEEQRAQmgUgAygCRCEECyADKAJAIARBBHRqIgVCADcCCCAFQoCAgIDAADcCACADIARBAWo2AkQgAyADKAKUAkEDaiIFNgKUAgJAIAMoAihBAksEQCADKAIgQQhqQc2Zs+4DNgIAIANB9ANqIANBoAJqIgQQ2wMgA0HQBGogBEHQAfwKAAAgA0HIBGogA0H8A2opAgAiCTcDACADIAk3A7gEIAMgAykC9AMiCTcDsAQgAyAJNwPABCADKAIIIgYgAygCAEYEQCADQdiCwgAQqAYgAygClAIhBQsgAygCBCAGQaACbGoiBCADQbAEakHwAfwKAAAgBEIANwP4ASAEQYACakIANwMAIARBiAJqQgA3AwAgBEGQAmpCADcDACAEQZgCakIANwMAIAQgAjYC9AEgBCABNgLwASADIAZBAWoiATYCCCADQdABaiABIAUQ7gMgAygCCEUNASAAIANBoAL8CgAAIANBoAZqJAAPCyADQQA2AsAEIANBATYCtAQgA0Hg7MEANgKwBCADQgQ3ArgEIANBsARqQejswQAQ3AsAC0EAQQBB6ILCABCwCQAL0gkCGn8CfiMAQTBrIg0kACANQQhqIAEQuQMgASgCMCIPQQN0IQMCQAJAAkACQAJAAkACQAJAIA9B/////wFLDQAgA0H8////B0sNACABKAIsIQQCQCADRQRAQQQhEAwBC0EEIQUgDyEWIANBBBDUDCIQRQ0BCyADBEAgECAEIAP8CgAACyABKAI8IhStQgx+IhynIQRBACEFIBxCIIinDQEgBEH8////B0sNASABKAI4IQMCQCAERQRAQQQhEQwBC0EEIQUgFCEXIARBBBDUDCIRRQ0CCyAEBEAgESADIAT8CgAAC0GAgICAeCEFAkAgASgCQEGAgICAeEYEQEGAgICAeCEVDAELIAEoAkgiA0ECdCECIANB/////wNLDQMgAkH8////B0sNAyABKAJEIQQCQCACRQRAQQQhBgwBC0EEIQcgAyEVIAJBBBDUDCIGRQ0ECyACBEAgBiAEIAL8CgAACyABKAJUIgRBAnQhAiAEQf////8DSw0EIAJB/P///wdLDQQgASgCUCEHAkAgAkUEQEEEIRIMAQtBBCEKIAQhGCACQQQQ1AwiEkUNBQsgAgRAIBIgByAC/AoAAAsgASgCYCIHQQR0IQIgB0H/////AEsNBSACQfz///8HSw0FIAEoAlwhCAJAIAJFBEBBBCEKDAELQQQhCyAHIRkgAkEEENQMIgpFDQYLIAIEQCAKIAggAvwKAAALIAatIAOtQiCGhCEcCyABKAJkQYCAgIB4RwRAIAEoAmwiC0ECdCEDQQAhAiALQf////8DSw0GIANB/P///wdLDQYgASgCaCEIAkAgA0UEQEEEIRNBACEFDAELQQQhAiALIQUgA0EEENQMIhNFDQcLIAMEQCATIAggA/wKAAALIAEoAngiA0ECdCECIANB/////wNLDQcgAkH8////B0sNByABKAJ0IQ4CQCACRQRAQQQhBkEAIQgMAQtBBCEMIAMhCCACQQQQ1AwiBkUNCAsgAgRAIAYgDiAC/AoAAAsgASgChAEiAkECdCEJIAJB/////wNLDQggCUH8////B0sNCCABKAKAASEaAkAgCUUEQEEEIQxBACEODAELQQQhGyACIQ4gCUEEENQMIgxFDQkLIAkEQCAMIBogCfwKAAALIBOtIAutQiCGhCEdCyAAIA0pAgg3AgAgACACNgKEASAAIAw2AoABIAAgDjYCfCAAIAM2AnggACAGNgJ0IAAgCDYCcCAAIB03AmggACAFNgJkIAAgBzYCYCAAIAo2AlwgACAZNgJYIAAgBDYCVCAAIBI2AlAgACAYNgJMIAAgHDcCRCAAIBU2AkAgACAUNgI8IAAgETYCOCAAIBc2AjQgACAPNgIwIAAgEDYCLCAAIBY2AiggACABLwGIATsBiAEgAEEIaiANQQhqIgFBCGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBGGogAUEYaikCADcCACAAQSBqIAFBIGopAgA3AgAgDUEwaiQADwsgBSADQZC/wgAQ+QsACyAFIARBkL/CABD5CwALIAcgAkGQv8IAEPkLAAsgCiACQZC/wgAQ+QsACyALIAJBkL/CABD5CwALIAIgA0GQv8IAEPkLAAsgDCACQZC/wgAQ+QsACyAbIAlBkL/CABD5CwAL2QsDDn8CfQN+IwBBoANrIgIkACAAKAIAKAIAIQQgACgCBCIGKAIAQQFGBEAgBigCBCIGQf//A3EhA0EBIQkgBkEQdiEFCyAEQSBJIQYgACgCCCIIKAIAQQFGBEAgCCkDCCISQiCIpyEKQQEhCyASpyEHCyAEQQAgBhshCEEBIQQCQCAAKAIMIgYoAgBBAUcEQEEAIQQMAQsgBikDCCISQiCIpyEMIBKnIQ0LIAAoAhgoAgAhDiAAKAIcKAIAIQ8gACgCFCgCACEGIAIgACgCECgCADYCQCACQfDBwQA2AjQgAiABNgIwIAIgCDYCLCACIAw2AiggAiANNgIkIAIgBDYCICACIAo2AhwgAiAHNgIYIAIgCzYCFCACIAM2AhAgAiAFNgIMIAIgCTYCCCAGKAI8IQMgBigCQCEBIAIgDzYCSCACIA42AkQgAiABNgI8IAIgAyABKAIIQQFrQXhxakEIajYCOCAAKAIgIQkgAiAAKAIkKAIAKQIANwPwASACQcwAaiEDQQAhBEEAIQAgAkHwAWoiCCIBKQIAIRIgASgCBCEGIAEoAgAhBQJAIAJBCGoiCigCOCIHKAIIRQ0AIAa+IRACf0EAIAW+IhEgBygCBCIBKQIAIhOnvl0NABpBACARIAFBDGopAgAiFKe+Xg0AGkEAQQAgASAQIBRCIIinvl4bIBAgE0IgiKe+XRsLIQAgASgCLEH/////A3FFDQAgASkCGCITp74gEV4NACABQSRqKQIAIhSnviARXQ0AIAFBGGohASAQIBRCIIinvl5FIBAgE0IgiKe+XUF/c3EhBAsgAyASNwKcASADIAo2ApgBIAMgADYCjAEgAyAHNgKIASADIAQ2AoQBIAMgATYCBCADQQA2AgAgAyAFrSAGrUIghoQ3ApABIAggA0GkAfwKAAAgAkGMA2ohCCACQfQBaiEBIAJB9AJqIQYCQAJAAkADQCACKAL8AiIARQRAIAEhBCAGIQMgAigC9AIiBSIAQSFPBEAgAigC+AEhBCABIQMgAigC9AEhAAsgAEUNAyADIABBAWsiADYCACAEIABBAnRqKAIAIQALIAJBADYC/AIgACgCFEH/////A3FBAUcEQCAAKAIIIgAgAigC+AIiBCgCCCIDTw0CQQEhAwJAIAIqAoADIhAgBCgCBCAAQTBsaiIAKQIAIhKnvl0NACAQIABBDGopAgAiE6e+Xg0AIAIqAoQDIhEgEkIgiKe+XQ0AIBEgE0IgiKe+Xg0AIAIgADYC/AJBACEDCyAQIAApAhgiEqe+XQ0BIBAgAEEkaikCACITp75eDQEgAioChAMiECASQiCIp75dDQEgECATQiCIp75eDQEgAEEYaiEAIANFBEACfyACKAL0AiIFQSFJBEAgBSEEIAEhB0EgIQUgBgwBCyACKAL0ASEEIAIoAvgBIQcgAQshAyAEIAVGBEAgAkHwAWoQkwMgAigC9AEhBCACKAL4ASEHIAEhAwsgByAEQQJ0aiAANgIAIAMgAygCAEEBajYCAAwCCyACIAA2AvwCDAELIAAoAggiAyACKAKIAyIEKAJAIgUoAhBPDQAgBSgCDCADQaABbGoiACgCAEEBRw0AIAQgBCgCPCADIAAoAgQiBCAAQRBqIgUQ7QNFDQAgACgCMCAAKAI0IgAoAghBAWtBeHFqQQhqIAUgCCAAKAJIEQUARQ0AIAkoAgAhACACQYEBNgKYAyACIAOtIAStQiCGhL8QADYCnAMgAiAAIAJBmANqIAJBnANqEO0KIAIoAgQhAAJAAkAgAigCAEEBcUUEQCAAEAFBAEchBCAAQYMBSw0BDAILQQEhBCAAQYQBSQ0BCyAAEAILIAIoApwDIgBBhAFPBEAgABACCyACKAKYAyIAQYQBTwRAIAAQAgsgBA0ACyACKAL0AiEFDAILIAAgA0HolsEAELAJAAsgAkEANgL8AgsgBUEhTwRAIAIoAvgBIAVBAnRBBBCfDQsgAkGgA2okAAugCQMWfwh9AX4jAEGwBmsiAyQAIAKnskMAAAA/kiAAKAIAIgYqAkAiGpQhGSABp7JDAAAAP5IgGpQhGiACQiCIp7JDAAAAP5IgBioCRCIblCEcIAFCIIinskMAAAA/kiAblCEbAkAgBigCCEUEQAwBCwJ/QQAgGSAGKAIEIgQpAgAiIae+YEUNABpBACAcICFCIIinvmBFDQAaIARBACAbIARBDGopAgAiIUIgiKe+XxtBACAaICGnvl8bCyEHIAQoAixB/////wNxRQ0AIBkgBEEYaiIIKQIAIiGnvmBFDQAgHCAhQiCIp75gRQ0AIBogBEEkaikCACIhp75fIBsgIUIgiKe+X3EhBQsgA0EENgKsAyADQQQ2AsABIAMgAjcCuAEgAyABNwKwASADIAY2AqwBIAMgHDgCqAEgAyAZOAKkASADIBs4AqABIAMgGjgCnAEgAyAHNgKYASADIAY2ApQBIAMgBTYCkAEgAyAINgIQIANBADYCDCADQZgFaiADQQxqEI4BIAMoApgFQQFGBEAgACgCKCIIQSVqIQogCEEEaiEHIAAoAgQiBEEYaiELIAAoAiQhDCADQYgGaiIFQSVqIQ0gBUEEaiEFIAAoAiAhDyAAKAIcIRAgACgCGCERIAAoAhQhEiAAKAIQIRMgACgCDCEUIAAoAgghFSADQdgFaiEAA0ACQCADLQC0BUEQRg0AIAYqAkAhHiAGKgJEIR0gAykCpAUhASADIAYpA0AiAqe+QwAAAD+UOAK4BSADIAJCIIinvkMAAAA/lDgCvAUgBCoCECEcIAQqAhQhGyAEKQIIIQIgBCoCACEZIAQqAgQhGiAAQQhqIAtBCGooAgA2AgAgACALKQIANwIAIAMgGjgCxAUgAyAZOALABSAZIB0gAUIgiKeyQwAAAD+SlCIdlCAaIB4gAaeyQwAAAD+SlCIflJIgAkIgiKe+IiCSIR4gHyAZlCAdIBqUkyACp74iH5IhHSADIBkgGiAclCAZIBuUkiAgkiAekyIglCAaIBkgHJQgGiAblJMgH5IgHZMiHJSTOALUBSADIBkgHJQgGiAglJI4AtAFIAMgHbytIB68rUIghoQ3AsgFIANBiAZqIBUgA0HABWogA0G4BWpBtOfCACAUIBMgEiARKgIAIBAqAgAgDy0AABCqASADLQCsBiIOQQVGDQAgA0HoBWoiCUEIaiIWIAVBCGopAgA3AwAgCUEQaiIXIAVBEGopAgA3AwAgCUEYaiIJIAVBGGopAgA3AwAgA0HmBWoiGCANQQJqLQAAOgAAIAMgBSkCADcD6AUgAyANLwAAOwHkBSAOQQRGDQAgAyoCiAYiGSAMKgIAXUUNACAMIBk4AgAgCCAZOAIAIAcgAykD6AU3AgAgCCAOOgAkIAogAy8B5AU7AAAgB0EIaiAWKQMANwIAIAdBEGogFykDADcCACAHQRhqIAkpAwA3AgAgCkECaiAYLQAAOgAACyADQZgFaiADQQxqEI4BIAMoApgFDQALCwJAIAMoAgxBAkYNACADKAKQASIAQSFJDQAgAygCFCAAQQJ0QQQQnw0LIANBsAZqJAAL9QkCD38BfiMAQeABayIPJAACQAJAAkAgAUUNACABQQhrIhcoAgBBAWohECAXIBA2AgAgEEUNASABKAIAIhBBf0YNAiABIBBBAWo2AgAgDyAXNgIIIA8gATYCBCAPIAFBCGoiGDYCACACRQ0AIAJBCGsiECgCAEEBaiERIBAgETYCACARRQ0BIAIoAgAiEUF/Rg0CIAIgEUEBajYCACAPIBA2AhQgDyACNgIQIA8gAkEEaiIZNgIMIANFDQAgA0EQayIRKAIAQQFqIRIgESASNgIAIBJFDQEgAygCACISQX9GDQIgAyASQQFqNgIAIA8gETYCICAPIAM2AhwgDyADQRBqIho2AhggBEUNACAEQQhrIhIoAgBBAWohEyASIBM2AgAgE0UNASAEKAIAIhNBf0YNAiAEIBNBAWo2AgAgDyASNgIsIA8gBDYCKCAPIARBBGoiGzYCJCAFRQ0AIAVBCGsiEygCAEEBaiEUIBMgFDYCACAURQ0BIAUoAgAiFEF/Rg0CIAUgFEEBajYCACAPIBM2AjggDyAFNgI0IA8gBUEEaiIcNgIwIAZFDQAgBkEIayIUKAIAQQFqIRUgFCAVNgIAIBVFDQEgBigCACIVQX9GDQIgBiAVQQFqNgIAIA8gFDYCRCAPIAY2AkAgDyAGQQRqIh02AjwgB0UNACAHQQhrIhUoAgBBAWohFiAVIBY2AgAgFkUNASAHKAIAIhZBf0YNAiAHIBZBAWo2AgAgDyAVNgJQIA8gBzYCTCAPIAdBBGoiFjYCSCAPIA42AlQgDyAJ/AM2AowBIA8gCUQAABAAAADwQWI2AogBIA8gCDYChAEgDyAWNgKAASAPIB02AnwgDyAcNgJ4IA8gGzYCdCAPIBo2AnAgDyAZNgJsIA8gGDYCaCAPIAs5A5gBIA8gCkEAR603A5ABIA8gDTkDqAEgDyAMQQBHrTcDoAEgDyAPQYABajYC2AEgDyAPQfwAajYC1AEgDyAPQfgAajYC0AEgDyAPQfQAajYCzAEgDyAPQfAAajYCyAEgDyAPQewAajYCxAEgDyAPQegAajYCwAEgDyAPQaABajYCvAEgDyAPQZABajYCuAEgDyAPQYgBajYCtAEgDyAPQYQBajYCsAECQCAOEARBAUYEQCAPIA9B1ABqNgLcASAPQdgAaiAPQbABaiAPQdwBahDhAgwBCyAPQdgAaiAPQbABakEAEOECCyAPKQNYIR4gDysDYCEJIAcgBygCAEEBazYCACAVIBUoAgBBAWsiBzYCACAHRQRAIA9B0ABqEI8KCyAGIAYoAgBBAWs2AgAgFCAUKAIAQQFrIgY2AgAgBkUEQCAPQcQAahDNCwsgBSAFKAIAQQFrNgIAIBMgEygCAEEBayIFNgIAIAVFBEAgD0E4ahDNCwsgBCAEKAIAQQFrNgIAIBIgEigCAEEBayIENgIAIARFBEAgD0EsahCSCwsgAyADKAIAQQFrNgIAIBEgESgCAEEBayIDNgIAIANFBEAgD0EgahCQCwsgAiACKAIAQQFrNgIAIBAgECgCAEEBayICNgIAIAJFBEAgD0EUahCNCwsgASABKAIAQQFrNgIAIBcgFygCAEEBayIBNgIAIAFFBEAgD0EIahCUCwsgACAePgIAIAAgCUQAAAAAAAAAACAepxs5AwggD0HgAWokAA8LEK8NCwALELANAAuGCQMNfwF+An0jAEGgB2siBCQAIAFBDGohDCABQcgDaiELIAFBLGohBiABQawBaiEJIAFB4AFqIQ0gAUHcAWohCAJ/IAEoAgBBAXEEQCABKAIEIQUgASgCCCEDQQAMAQtBAQshAgNAAkACQAJAAkAgAkUEQCADIAVHDQEgAUEANgIAQQEhAgwFCyABKAIoIgJBA0cEQAJAAkAgAQJ+AkAgCCgCAEEERwRAIARBBGogCBD6ASAEKAIEDQEgASgCKCECCyAIQQQ2AgAgAkECRwRAIAFBKGohDgJAAkADQCABKAK0ASICRQRAAkAgCSgCACICQSFPBEAgASgCMCEFIAEoAiwiB0UNBCAGIQMgByECDAELIAkhAyAGIQUgAkUNBAsgAyACQQFrIgM2AgAgBSADQQJ0aigCACECCyABQQA2ArQBIAIoAhRB/////wNxQQFHBEAgAigCCCIHIAEoArABIgIoAggiA08NCyACKAIEIAdBMGxqIgJBGGohCiABKgLEASEQQQEhAwJAIAEqAsABIhEgAikCACIPp75gRQ0AIBAgD0IgiKe+YEUNACABKgK4ASACQQxqKQIAIg+nvl9FDQAgASoCvAEgD0IgiKe+X0UNACABIAI2ArQBQQAhAwsgESAKKQIAIg+nvmBFDQEgECAPQiCIp75gRQ0BIAEqArgBIAJBJGopAgAiD6e+X0UNASABKgK8ASAPQiCIp75fRQ0BIANFBEACfyAJKAIAIgVBIUkEQCAFIQIgBiEHQSAhBSAJDAELIAEoAiwhAiABKAIwIQcgBgshAyACIAVGBEAgDhCTAyABKAIsIQIgASgCMCEHIAYhAwsgByACQQJ0aiAKNgIAIAMgAygCAEEBajYCAAwCCyABIAo2ArQBDAELIARBgAdqIgcgASgCyAEgAigCCBDXCSAEIAEpAswBNwOQByAEIAEpAtQBNwOYByAEQQRqIgMgByAEQZAHaiAEQZgHahC6BiAIIANB7AH8CgAAIARB9AZqIAgQ+gEgBCgC9AZFDQALIAQpAvgGDAQLIAFBADYCtAEgBSACQQJ0QQQQnw0LIAFBAjYCKCAGIARBBGpBsAH8CgAACyAIQQQ2AgAgDSAEQYwFakHoAfwKAAAgCygCAEEERg0DIARBBGogCxD6ASAEKAIEQQFHDQILIAQpAggLNwIMQQIhAyABQQI2AgggAUIBNwIAQQAhBQwFCyABQQQ2AsgDIAEoAighAyABQcwDaiAEQYwFakHoAfwKAAAgA0EDRg0AIANBAkYNACAJKAIAIgNBIUkNACABKAIwIANBAnRBBBCfDQsgAUEDNgIoIAYgBEEEakGIBfwKAAALIAEoAhRBAUcEf0EABSABKAIYIgYgASgCHEcEQEEBIQIgASAGQQFqNgIYIAEgBkECdGooAiAhAQwFCyABQQA2AhRBAAshAgwDC0EBIQIgASAFQQFqNgIEIAwgBUECdGooAgAhAQwCCyAHIANB6JbBABCwCQALQQAhAgwBCwsgACABNgIEIAAgAjYCACAEQaAHaiQAC9oJAQ9/IwBB4AFrIg8kAAJAAkACQCAARQ0AIABBCGsiFygCAEEBaiEQIBcgEDYCACAQRQ0BIAAoAgAiEEF/Rg0CIAAgEEEBajYCACAPIBc2AgggDyAANgIEIA8gAEEIaiIYNgIAIAFFDQAgAUEIayIQKAIAQQFqIREgECARNgIAIBFFDQEgASgCACIRQX9GDQIgASARQQFqNgIAIA8gEDYCFCAPIAE2AhAgDyABQQRqIhk2AgwgAkUNACACQRBrIhEoAgBBAWohEiARIBI2AgAgEkUNASACKAIAIhJBf0YNAiACIBJBAWo2AgAgDyARNgIgIA8gAjYCHCAPIAJBEGoiGjYCGCADRQ0AIANBCGsiEigCAEEBaiETIBIgEzYCACATRQ0BIAMoAgAiE0F/Rg0CIAMgE0EBajYCACAPIBI2AiwgDyADNgIoIA8gA0EEaiIbNgIkIARFDQAgBEEIayITKAIAQQFqIRQgEyAUNgIAIBRFDQEgBCgCACIUQX9GDQIgBCAUQQFqNgIAIA8gEzYCOCAPIAQ2AjQgDyAEQQRqIhw2AjAgBUUNACAFQQhrIhQoAgBBAWohFSAUIBU2AgAgFUUNASAFKAIAIhVBf0YNAiAFIBVBAWo2AgAgDyAUNgJEIA8gBTYCQCAPIAVBBGoiHTYCPCAGRQ0AIAZBCGsiFSgCAEEBaiEWIBUgFjYCACAWRQ0BIAYoAgAiFkF/Rg0CIAYgFkEBajYCACAPIBU2AlAgDyAGNgJMIA8gBkEEaiIWNgJIIA8gBzYCVCAPIA42AlggDyAJ/AM2AoQBIA8gCUQAABAAAADwQWI2AoABIA8gCDYCfCAPIBY2AnQgDyAdNgJwIA8gHDYCbCAPIBs2AmggDyAaNgJkIA8gGTYCYCAPIBg2AlwgDyAPQdQAajYCeCAPIAs5A5ABIA8gCkEAR603A4gBIA8gDTkDoAEgDyAMQQBHrTcDmAEgDyAPQfQAajYC2AEgDyAPQfAAajYC1AEgDyAPQewAajYC0AEgDyAPQfgAajYCzAEgDyAPQegAajYCyAEgDyAPQeQAajYCxAEgDyAPQeAAajYCwAEgDyAPQdwAajYCvAEgDyAPQZgBajYCuAEgDyAPQYgBajYCtAEgDyAPQYABajYCsAEgDyAPQfwAajYCrAECQCAOEARBAUYEQCAPIA9B2ABqNgLcASAPQawBaiAPQdwBahCmAgwBCyAPQawBakEAEKYCCyAGIAYoAgBBAWs2AgAgFSAVKAIAQQFrIgY2AgAgBkUEQCAPQdAAahCPCgsgBSAFKAIAQQFrNgIAIBQgFCgCAEEBayIFNgIAIAVFBEAgD0HEAGoQzQsLIAQgBCgCAEEBazYCACATIBMoAgBBAWsiBDYCACAERQRAIA9BOGoQzQsLIAMgAygCAEEBazYCACASIBIoAgBBAWsiAzYCACADRQRAIA9BLGoQkgsLIAIgAigCAEEBazYCACARIBEoAgBBAWsiAjYCACACRQRAIA9BIGoQkAsLIAEgASgCAEEBazYCACAQIBAoAgBBAWsiATYCACABRQRAIA9BFGoQjQsLIAAgACgCAEEBazYCACAXIBcoAgBBAWsiADYCACAARQRAIA9BCGoQlAsLIA9B4AFqJAAPCxCvDQsACxCwDQAL4wgBBH8gACgC4AQiAQRAIAAoAuQEIAFBAnRBBBCfDQsgACgC8AQhAyAAKAL0BCIEBEAgAyEBA0AgASgCACICBEAgAUEEaigCACACQQJ0QQQQnw0LIAFBDGohASAEQQFrIgQNAAsLIAAoAuwEIgEEQCADIAFBDGxBBBCfDQsgACgC/AQhAyAAKAKABSIEBEAgAyEBA0AgASgCACICBEAgAUEEaigCACACQQJ0QQQQnw0LIAFBDGohASAEQQFrIgQNAAsLIAAoAvgEIgEEQCADIAFBDGxBBBCfDQsgACgChAUiAQRAIAAoAogFIAFBBHRBBBCfDQsgACgCkAUiAQRAIAAoApQFIAFBFGxBBBCfDQsgACgCoAUhAyAAKAKkBSIEBEAgAyEBA0AgASgCACICBEAgAUEEaigCACACQQJ0QQQQnw0LIAFBEGooAgAiAgRAIAFBFGooAgAgAkECdEEEEJ8NCyABQRxqKAIAIgIEQCABQSBqKAIAIAJBAnRBBBCfDQsgAUEoaigCACICBEAgAUEsaigCACACQQJ0QQQQnw0LIAFBNGooAgAiAgRAIAFBOGooAgAgAkECdEEEEJ8NCyABQUBrKAIAIgIEQCABQcQAaigCACACQdwBbEEEEJ8NCyABQcwAaigCACICBEAgAUHQAGooAgAgAkHQAWxBBBCfDQsgAUHYAGooAgAiAgRAIAFB3ABqKAIAIAJB1ABsQQQQnw0LIAFB5ABqKAIAIgIEQCABQegAaigCACACQQZ0QQQQnw0LIAFB8ABqKAIAIgIEQCABQfQAaigCACACQQJ0QQQQnw0LIAFBgAFqKAIAIgIEQCABQYQBaigCACACQQJ0QQQQnw0LIAFBjAFqKAIAIgIEQCABQZABaigCACACQQJ0QQQQnw0LIAFBmAFqKAIAIgIEQCABQZwBaigCACACQQJ0QQQQnw0LIAFBpAFqKAIAIgIEQCABQagBaigCACACQQJ0QQQQnw0LIAFBsAFqKAIAIgIEQCABQbQBaigCACACQcgAbEEEEJ8NCyABQbwBaigCACICBEAgAUHAAWooAgAgAkHcAGxBBBCfDQsgAUHIAWooAgAiAgRAIAFBzAFqKAIAIAJBoAJsQRAQnw0LIAFB1AFqKAIAIgIEQCABQdgBaigCACACQcABbEEQEJ8NCyABQeABaigCACICBEAgAUHkAWooAgAgAkEMbEEEEJ8NCyABQewBaigCACICBEAgAUHwAWooAgAgAkEFdEEEEJ8NCyABQfgBaigCACICBEAgAUH8AWooAgAgAkEMbEEEEJ8NCyABQYQCaigCACICBEAgAUGIAmooAgAgAkECdEEEEJ8NCyABQZQCaigCACICBEAgAUGYAmooAgAgAkECdEEEEJ8NCyABQaQCaigCACICBEAgAUGoAmooAgAgAkEEdEEEEJ8NCyABQbACaiEBIARBAWsiBA0ACwsgACgCnAUiAARAIAMgAEGwAmxBBBCfDQsLxwgCD38BfSMAQSBrIgMkACADIAI2AgQgAyAAKAIMIgQ2AgACQAJAAkACQAJAAkACQAJAIAIgBEYEQCACIAAoAhBHDQEgACgCJCIFIAAoAiAiBksNCCAFBEAgACgCGCIHIAVBA3RqIQwgByEEA0AgBkEDdCIJIAdqIgggBCAEIAxGIg4bIg8oAgAiECACTw0EIA8oAgQiESACTw0EIAQgCWohCiAFQQFHQQN0IQsgECARRwRAIAEgEEECdGoiBCgCACEJIAQgASARQQJ0aiIEKAIANgIAIAQgCTYCAAsgCiAMIA4bIQwgCCAHIA4bIQcgCyAPaiEEIAVBAWsiBQ0ACwsgACgCBCENIAJBAWsiBkUNBCANQQhqIQogAUEIaiELIAJBAmshDCACQQJ0QQRqIQ5BACEAIAYhCQNAIAAgAkYNBAJAIAAiCEEBaiIAIAJGDQAgASAIQQJ0aioCACESIAYgCGtBAXEhD0EAIQcgCCAMRwRAIAlBfnEhECAKIQUgCyEEA0AgBCAEKgIAIBIgBSoCAJSTOAIAIARBBGsiESARKgIAIBIgBUEEayoCAJSTOAIAIAVBCGohBSAEQQhqIQQgECAHQQJqIgdHDQALCyAPRQ0AIAdBAnQiByAAQQJ0IgUgAWpqIgQgBCoCACASIA0gAiAIbEECdGogBWogB2oqAgCUkzgCAAsgCUEBayEJIAogDmohCiALQQRqIQsgACAGRw0ACyANIAIgBmxBAnRqIgAgBkECdGoqAgAiEkMAAAAAWw0HIAJFDQUMBgsgA0IANwIUIANCgYCAgMAANwIMIANB7PbBADYCCCADIANBBGogA0EIakH09sEAEKgLAAsgA0EANgIYIANBATYCDCADQbT3wQA2AgggA0IENwIQIANBCGpBvPfBABDcCwALQfz0wQBBPkG89cEAEPkKAAsgA0EANgIYIANBATYCDCADQeDswQA2AgggA0IENwIQIANBCGpB+OzBABDcCwALIA0gAiAGbEECdGoiACAGQQJ0aioCACISQwAAAABcDQEMAgsgASAGQQJ0aiIAIAAqAgAgEpU4AgAMAgsgAkECayEKQQAhCANAIAEgBkECdGoiBCoCACASlSESIAQgEjgCACAGRQ0BQQAhByAIIApHBEAgBkF+cSELIAAhBSABIQQDQCAEIAQqAgAgEiAFKgIAlJM4AgAgBEEEaiIJIAkqAgAgEiAFQQRqKgIAlJM4AgAgBUEIaiEFIARBCGohBCALIAdBAmoiB0cNAAsLIAZBAXEEQCAHQQJ0IgUgAWoiBCAEKgIAIBIgACAFaioCAJSTOAIACyAIQQFqIQggDSAGQQFrIgYgAmxBAnRqIQAgACAGQQJ0aioCACISQwAAAABcDQALCyADQSBqJAAPCyADQQA2AhggA0EBNgIMIANB4OzBADYCCCADQgQ3AhAgA0EIakHo7MEAENwLAAu+CQMDfwN+A30jAEGwAmsiCyQAIAsgCjoAHiALIAc4AhggCRDRBQJAAkAgCSgCACIKBEAgC0EQaiAKIAkoAgQoAhwRAAAgC0HgAGoiCSALKAIQIgogCygCFCgCDBEAACALKQNgQp/CxeuwsNTqin+FIAspA2hCv9OcpJvPgfCLf4WEQgBSDQEgCiAKLQAYQX9zQQFxIgw6ABggCyAMOgAfIAtBIGoiDEEIaiABQQhqKQIAIg43AwAgCyABKQIANwMgIAsgCyoCICIHOAIwIAsgCyoCJCIRjDgCNCALIBEgDqe+IhKUIAcgDkIgiKe+IhOUkzgCPCALIAcgEoyUIBEgE5STOAI4IAtB+AFqIAUgDCAGKAKUAREBACALKgIYIgdDAAAAAGBFDQIgCykD+AEhDiALIAcgCykDgAIiD6e+kjgCSCALIA6nviAHkzgCQCALIAcgD0IgiKe+kjgCTCALIA5CIIinviAHkzgCRCALQdgAaiAIQQhqIgEoAgA2AgAgAUEANgIAIAgpAgAhDiAIQoCAgIDAADcCACALIA43A1AgCSACIAQRBAAgC0FAaxDpBCALQQhqIAkQ4gIgCygCCEEBcQRAIAsoAgwhCQNAIAsgCTYC9AEgCyAGNgKgAiALIAU2ApwCIAtBrMjBADYClAIgCyAANgKQAiALIAg2AoQCIAsgCjYC+AEgCyALQSBqNgKoAiALIAtBGGo2AqQCIAsgC0EwajYCmAIgCyALQR5qNgKMAiALIAtBH2o2AogCIAsgC0HQAGo2AoACIAsgC0H0AWo2AvwBIAIgCSALQfgBakHM38EAIAMRAgAgCyALQeAAahDiAiALKAIEIQkgCygCAEEBcQ0ACwsgCygC5AEiAEEhTwRAIAsoAmggAEECdEEEEJ8NCyAKKAIMIgUEQCAKKAIEIQMgCigCACIAQQhqIQkgACkDAEJ/hUKAgYKEiJCgwIB/gyEOIAooAgghAiALLQAfIQQgACEIIAUhAQNAIA5QBEADQCAIQeAAayEIIAkpAwAhDiAJQQhqIQkgDkKAgYKEiJCgwIB/gyIOQoCBgoSIkKDAgH9RDQALIA5CgIGChIiQoMCAf4UhDgsgDkIBfSEPIAQgCCAOeqdBA3ZBdGxqIgxBBGstAABHBEBBgAEhBiAAIAxrQQxtIgwgAGoiDSkAACIQQgGGIBCDQoCBgoSIkKDAgH+DeqdBA3YgACAMQQhrIANxaiIMKQAAIhBCAYYgEINCgIGChIiQoMCAf4N5p0EDdmpBB00EQCAKIAJBAWoiAjYCCEH/ASEGCyANIAY6AAAgCiABQQFrIgE2AgwgDEEIaiAGOgAACyAOIA+DIQ4gBUEBayIFDQALCyALKAJUIQAgCygCWCIIBEAgAEHgAGohCQNAIAkoAgAEQCAJQQA2AgALIAlBIGsoAgAiAQRAIAlBHGsoAgAgAUEwbEEQEJ8NCyAJQdQBaiEJIAhBAWsiCA0ACwsgCygCUCIBBEAgACABQdQBbEEEEJ8NCyALQbACaiQADwtBrN/BABClDQALQbzfwQAQpQ0ACyALQQA2AnAgC0EBNgJkIAtBkMfBADYCYCALQgQ3AmggC0HgAGpBmMfBABDcCwALoggDEn0DfwJ+IwBBMGsiFiQAAkACfQJAIAEoAmRBAXEEQCABKAJ4IhcgAygCjAJPDQEgAygCiAIgF0EIdGoiAygCAEEBRw0BIAMoAgQgASgCfEcNASADKgJYIghDAAAAAF5FDQEgASoCdCEPIAEqAnAhECABKgJsIQogASoCaCEMIAIqAgAiBCADKgKoASADKQJ0IhmnvpSUIAMpAmgiGqe+kiEJIAMqAhQhBiADKgJwIAQgAyoCsAEgAyoChAGUlJIgBCAJIAmUIAQgAyoCrAEgGUIgiKe+lJQgGkIgiKe+kiINIA2UkpEiBSAFQwAAAABDAACAPyAElSAEi0MI5TweXxsgCJQiBCAEIAVeGyAEIARcG5RDAAAAAEMAAIA/IAWVIAWLQwjlPB5fG5QiEZQiBRC+ASEEIAwgAyoCECIIIAUQuwEiBZQgBiAElJIiB0MAAEBAIAggBJQgBiAFlJMiCyALlCAHIAeUkpNDAAAAP5QiDpQiB5QgCiALIA6UIguUkiESIAwgC5QgCiAHlJMhEyADKgIcIgwgCCADKgKUASIUlCAGIAMqApABIhWUkpIhCiADKgIYIg4gFSAIlCAUIAaUk5IhBiAFIA6UIAQgDJSSIAogDSARlJIgBSAGjJQgCiAElJOSkiAQIAeUIA8gC5SSkiENIA4gBJQgDCAFlJMgBiAJIBGUkiAKIAWUIAYgBJSTkpIgECALlCAPIAeUk5IhB0EBIRgMAQsgAioCHCEEIAIqAighBSAWQQhqIAEoAiAgASgCJCICKAIIQQFrQXhxakEIaiABIAIoApQBEQEAIAUgBJRDAAAAP5QgASoCNJIiBEMAAAAAYARAIAQgFikDECIZp76SIQUgFikDCCIap74gBJMhBiAEIBlCIIinvpIhCSAaQiCIp74gBJMMAgsMAgsgAioCHCEEIAIqAighBSAWQQhqIgIgASgCICABKAIkIgMoAghBAWtBeHFqQQhqIhcgASADKAKUASIDEQEAIAUgBJRDAAAAP5QgASoCNJIiBEMAAAAAYEUNASAEIBYpAxAiGae+kiEFIBYpAwgiGqe+IASTIQYgBCAZQiCIp76SIQkgGkIgiKe+IASTIgggGEUNABogFiANOAIUIBYgBzgCECAWIBI4AgwgFiATOAIIIBZBGGogFyACIAMRAQAgBSAEIBYpAyAiGae+kiIHIAUgB2AbIQUgBiAWKQMYIhqnviAEkyIHIAYgB18bIQYgCSAEIBlCIIinvpIiByAHIAlfGyEJIAggGkIgiKe+IASTIgQgBCAIYBsLIQggACAJOAIMIAAgBTgCCCAAIAg4AgQgACAGOAIAIBZBMGokAA8LIBZBADYCKCAWQQE2AhwgFkGQx8EANgIYIBZCBDcCICAWQRhqQZjHwQAQ3AsAC70KAwd/A30EfiMAQbABayILJAAgC0EoaiADIAQoArQBEQAAIAsoAiwhDSALKAIoIQwgC0EgaiAGIAcoArQBEQAAAkACQAJAAkACQCAMBEAgCygCICIQDQELIAtBGGogAyAEKAK4AREAACALKAIYIgxFDQEgC0GAAWogDCALKAIcIAEgAiAFIAYgByAIIAkgChBNIAstAKgBIgFBBEcEQCALQdAAaiALQaQBaigCADYCACALQcgAaiALQZwBaikCADcDACALQUBrIAtBlAFqKQIANwMAIAtBOGogC0GMAWopAgA3AwAgC0H2AGogC0GrAWotAAA6AAAgCyALKQKEATcDMCALIAsvAKkBOwF0CyAAIAspAzA3AgAgACABOgAkIAAgCy8BdDsAJSAAQSBqIAtBMGoiAUEgaigCADYCACAAQRhqIAFBGGopAwA3AgAgAEEQaiABQRBqKQMANwIAIABBCGogAUEIaikDADcCACAAQSdqIAtB9gBqLQAAOgAADAQLIAsoAiQhDiAKBH9BAAUgBygCrAEhCiAEKAKsASEPIAcoAqgB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TQRAIABBADYCFCABQQA2AgggB0EoaiIJIANBKGopAgA3AwAgB0EgaiIKIANBIGopAgA3AwAgB0EYaiIIIANBGGopAgA3AwAgB0EQaiIEIANBEGopAgA3AwAgB0EIaiICIANBCGopAgA3AwAgByADKQIANwMAIAEoAgBFBEAgAUGo0cIAEKsGCyAAQQxqIQYgASgCBCIDIAcpAwA3AgAgA0EIaiACKQMANwIAIANBEGogBCkDADcCACADQRhqIAgpAwA3AgAgA0EgaiAKKQMANwIAIANBKGogCSkDADcCACADIAMoAhQiAkH/////B0H/////AyACQf////97SxtxNgIUIAMoAiwiAkH/////A3EiBA0BDAULIAUgASgCCCIESwRAIAEoAgAgBCICayAFIAJrIglJBEAgASACIAlBMBDmBCABKAIIIQILIAEoAgQiCiACQTBsaiEGIAlBAk8EQCAFIARBf3NqQTBsIggEQCAGQQAgCPwLAAsgCiAEQVBsaiACIAVqQTBsakEwayEGIAIgCWpBAWshAgsgBkIANwIAIAZBKGpCADcCACAGQSBqQgA3AgAgBkEYakIANwIAIAZBEGpCADcCACAGQQhqQgA3AgAgAygCFCEGIAJBAWohBQsgAEEYaiEIIAEgBTYCCCAHQQE2AgAgAygCICEEAkAgBkH/////A3FBAUYEQCADQQhqKQIAIQwgAykCACELIAEoAgQiAkEQaiADQRBqKQIANwIAIAIgCzcCACACQQhqIAw3AgAgAkH/////B0H/////AyACKAIUIgJB/////3tLGyACcTYCFAwBCyAAIAEgCCAAKAIQIAAoAhQgAygCCCAHQQAQ1QEgACgCCEUNAgsCQCAAKAIEIgUoAixB/////wNxQQFHBEAgACABIAggACgCECAAKAIUIAQgB0EBENUBDAELIAEoAghFDQMgBUEgaikCACEMIAUpAhghCyABKAIEIgJBKGogBUEoaikCADcCACACQSBqIAw3AgAgAiALNwIYIAEoAghFDQQgASgCBCIEKAIsIgJB/////3tNBEAgBCACQf////8DcTYCLAwBCyAEIAJB/////wdxNgIsCyAAKAIIIgUgBygCACICTwRAIAAgAjYCCCACIQULIAEoAggiBCACTwRAIAEgAjYCCCACIQQLIAIgACgCFEsNBSAAIAI2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IAIqAggiFCAUlJIiFUMAAAAAXkUEQCACIAc2AgAgCiAINgIAQQIhCAwBCyAGIBMgFZEiE5W8rSAUIBOVvK1CIIaENwMoIAZBkANqIgdCADcDUCAHQgA3AxggB0EAOgBsIAdC////+wc3AmQgB0L////7////v/8ANwNIIAdC////+wc3A0AgB0KAgICA8P//v383AzggB0L////7////v/8ANwMwIAdCADcDCCAHQeAAakEANgIAIAdB2ABqQgA3AwAjAEEwayIIQR1qIgtBC2pCADcAACAIQQpqIgxBC2pCADcAACAHQSBqIhFCADcDACAHQShqQgA3AwAgByAGQShqKQIAIhKnIg02AhAgByANNgIAIAcgEkIgiKciDTYCFCAHIA02AgQgCEIANwAgIAhCADcADSAHQv////sHNwOAASAHQQA6AIgBIAdBBjYCqAEgB0GAAjsBrAEgB0L////7BzcCnAEgB0EAOgCkASAHQfwAaiALQQ9qKAAANgAAIAdB9QBqIAtBCGopAAA3AAAgByAIKQAdNwBtIAcgCCkACjcAiQEgB0GRAWogDEEIaikAADcAACAHQZgBaiAMQQ9qKAAANgAAIAZB0AFqIgsgB0EQaiINKQMANwMAIAYgCSkCACISNwOYAyAGIAYpA5ADNwPAASAGIBI3A8gBIAZBMGoiDCAGQbADakGNAfwKAAAgBi8BvgQhCSAGLQC9BCEIIBApAgAhEiADBEAgDSALKQMANwMAIAYgBikDyAE3A5gDIAYgBikDwAE3A5ADIAYgEjcDqAMgESAMQY0B/AoAACAGIAk7Ab4EIAYgCDoAvQQgBiAFOALMBCAGIAQ4AsgEIAcgBkHIBGopAgA3AzAgByAHLQCpAUEBcjoAqQEgBkHgAWoiAyAHQbAB/AoAACALIANBEGopAwA3AwAgBiAGKQPgATcDwAEgBiAGKQPoATcDyAEgBikD+AEhEiAMIANBIGpBjQH8CgAAIAYtAI0DIQggBi8BjgMhCQsgCigCACEDIAIgAigCAEEBazYCACAKIANBAWsiAjYCACACDQAgBkEkahDNCwsgASABKAIAQQFrNgIAIA8gDygCAEEBayIBNgIAIAFFBEAgBkEYahDNCwsgACAAKAIAQQFrNgIAIA4gDigCAEEBayIANgIAIABFBEAgBkEMahDNCwtBACECIAhB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IBlxaiASOgAAICEgEUFkbGohESAWQf8BRgRAICJB/wE6AAAgHyAUQQhrIBlxakH/AToAACARQRhqIBVBGGooAAA2AAAgEUEQaiAVQRBqKQAANwAAIBFBCGogFUEIaikAADcAACARIBUpAAA3AAAMAwsgESgAACESIBEgFSgAADYAACAVIBI2AAAgFSgABCESIBUgESgABDYABCARIBI2AAQgESgACCESIBEgFSgACDYACCAVIBI2AAggFSgADCESIBUgESgADDYADCARIBI2AAwgESgAECESIBEgFSgAEDYAECAVIBI2ABAgFSgAFCESIBUgESgAFDYAFCARIBI2ABQgESgAGCESIBEgFSgAGDYAGCAVIBI2ABgMAQsLICIgI0EZdiISOgAAIB8gFEEIayAZcWogEjoAAAsgEyAbSSIUIBNqIREgFA0ACwsgASAgIBprNgIIQYGAgIB4IRYLDAELENEKIBwoAgQhEyAcKAIAIRYLICYgFjYCACAmIBM2AgQgHEEgaiQACyABKAIAIhFBHGshEiABKAIEIhogEKdxIRYgEEIZiCIKQv8Ag0KBgoSIkKDAgAF+IQcgAikCCCEGIAIpAgAhBQNAAn8CQAJAAkAgESAWaikAACIJIAeFIgRCgYKEiJCgwIABfSAEQn+Fg0KAgYKEiJCgwIB/gyIEQgBSBEADQCAFIBJBACAEeqdBA3YgFmogGnFrIhRBHGxqIhMpAgCFIAYgEykCCIWEUA0CIARCAX0gBIMiBEIAUg0ACwsgCUKAgYKEiJCgwIB/gyEEICdFBEAgBFANAyAEeqdBA3YgFmogGnEhHgtBASAEIAlCAYaDUA0DGiARIB5qLAAAIhZBAE4EQCARIBEpAwBCgIGChIiQoMCAf4N6p0EDdiIeai0AACEWCyARIB5qIAqnQf8AcSITOgAAIBEgHkEIayAacWpBCGogEzoAACABIAEoAgggFkEBcWs2AgggASABKAIMQQFqNgIMIBEgHkFkbGpBHGsiASACKQIANwIAIAFBCGogAkEIaikCADcCACABQRBqIAMpAgA3AgAgAUEYaiADQQhqKAIANgIAIABBgICAgHg2AgAMAQsgACARIBRBHGxqQQxrIgEpAgA3AgAgASADKQIANwIAIABBCGogAUEIaiIAKAIANgIAIAAgA0EIaigCADYCAAsgJUEwaiQA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IAEoArABQQR0ayEEIANBAWshAkEAIAEoArwBIgUgAyADIAVIG2shByABKAKkASEDAkADQCACIAdqQX9GDQIgASACQQJqNgK4ASAEQf8BSw0BIAJBAWohAiADIARqIQUgBEEQaiEEIAUtAABBEEYNAAsMAgsgBEGAAkHoqcEAELAJAAsgAUEDNgJgIABBADYCAA8LIAAgBq0gAq1CIIaENwIEIABBATYCAAulBwMJfwp9BH4jAEHgAGsiAiQAIAJBNGoiA0IANwIAIANBCGoiBUIANwIAIAJBIGpCADcDACACQShqQgA3AwAgAkEwakEANgIAIAJBDmogAkHfAGotAAA6AAAgAiACKQI0NwMQIAIgAkE8aikCADcDGCACIAIvAF07AQwgASkDGCEXIAEpAxAhGCABKAI8IQYgAS0AViEHIAEqAighDCABKQMgIRUgASkDCCEWIAEqAgQhDSABKgIAIQ4gA0IANwIAIAVCADcCACABKgJEIQsCQAJAAkAgASgCQEUEQCALIAIqAjRcDQEgASoCSCACKgI4XA0BIAEqAkwgAioCPFwNASABKgJQIAIqAkBbDQIMAQsgC0MAAAAAWw0BC0EUQQQQ1AwiBEUNASAEIAFBQGsiAykCADcCACAEQRBqIANBEGooAgA2AgAgBEEIaiADQQhqKQIANwIACyABKgI4IRAgAS0AWSEFIAEtAFohCCABLQBVIQkgASoCLCERIAEqAjQhEiABKgIwIRMgAS0AVCEKQwAAgL8hCwJAIAEtAFdFBEBBACEDQwAAgL8hDwwBC0EBIQNDzczMPiEPQwAAAD8hCyABLQBYQQFHBEBBACEDDAELQwAAAEAhFEMAAAAAIQxCACEVCyAAIBg3AzAgACAMOAJgIAAgFTcDWCAAIBI4AlQgACATOAJQIAAgBToATSAAQQA6AEwgACAQOAJIIABC////+wc3A0AgAEL/////DzcDKCAAQn83AyAgACAWNwMYIAAgDTgCFCAAIA44AhAgACAWNwMIIAAgDTgCBCAAIA44AgAgACAXNwM4IABB9ABqQQA2AgAgAEHsAGpCADcCACAAQgA3AmQgACAROAJ4IABBADYCfCAAIAQ2AqQBIAAgCjoAqAEgACACKQMQNwOAASAAQYgBaiACKQMYNwMAIABBkAFqIAJBIGopAwA3AwAgAEGYAWogAkEo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viIMkiENIAogCZQgCyAIlJMgAae+IgqSIQsgAyAJIAggBCoCECIQlCAJIAQqAhQiEZSSIAySIA2TIgyUIAggCSAQlCAIIBGUkyAKkiALkyIKlJM4AkQgAyAJIAqUIAggDJSSOAJAIAMgC7ytIA28rUIghoQ3AjggACgCDCEEIAAoAhQqAgAhCCAAKAIQKgIAIQkgA0EANgJ8AkAgDiAPYEUEQCADQYgBaiAEIAcgDyADQQhqIAYgDiADQQRqIAkgCCADQfwAahBLIAMtAKwBIgBBBEYNASADIAMqAogBOAJUDAELIANB1ABqIAQgA0EMaiAOIANBBGogA0EwaiAPIANBCGogCSAIIANB/ABqEEsgAy0AeCEACyADKgJUIQggA0GwAWokAEP//39/IAggAEH/AXFBBEYbC5gJAwl/A34CfSMAQYADayIFJAACQAJAAkACQCAARQ0AIABBCGsiBygCAEEBaiEEIAcgBDYCACAERQ0BIAAoAgAiBEF/Rg0CIAAgBEEBajYCACAFIAc2AgggBSAANgIEIAUgAEEEaiIGNgIAIAFFDQAgAUEIayIIKAIAQQFqIQQgCCAENgIAIARFDQEgASgCACIEQX9GDQIgASAEQQFqNgIAIAUgCDYCFCAFIAE2AhAgBSABQQRqNgIMIAJFDQAgAkEIayIJKAIAQQFqIQQgCSAENgIAIARFDQEgAigCACIEQX9GDQIgAiAEQQFqNgIAIAUgCTYCICAFIAI2AhwgBSACQQRqIgo2AhggA0UNACADQQhrIgsoAgBBAWohBCALIAQ2AgAgBEUNASADKAIAIgRBf0YNAiADIARBAWo2AgAgBSALNgIsIAUgAzYCKCAFIANBBGo2AiQgAyoCBCEQIAMqAgghESAKKQIAIQ8gASkCBCENIAYpAgAhDiAFQdABaiIEQgA3A1AgBEIANwIUIARBADoAbCAEQv////sHNwJkIARC////+////7//ADcDSCAEQv////sHNwNAIARCgICAgPD//79/NwM4IARC////+////7//ADcDMCAEQYCAgPwDNgIQIARCADcDCCAEQoCAgPwDNwMAIARB4ABqQQA2AgAgBEHYAGpCADcDACMAQTBrIgZBHWoiCkELakIANwAAIAZBCmoiDEELakIANwAAIARBHGpCADcCACAEQSRqQgA3AgAgBEEsakEANgIAIAZCADcAICAGQgA3AA0gBEL////7BzcDgAEgBEEAOgCIASAEQQA6AKQBIARC////+wc3ApwBIARBgAI7AawBIARBBzYCqAEgBEH8AGogCkEPaigAADYAACAEQfUAaiAKQQhqKQAANwAAIAQgBikAHTcAbSAEIAYpAAo3AIkBIARBkQFqIAxBCGopAAA3AAAgBEGYAWogDEEPaigAADYAACAFIA43A9gBIAUgDTcD0AEgBSANNwPAASAFIA43A8gBIAVBMGogBUHwAWpBkAH8CgAAIAMgAygCAEEBazYCACALIAsoAgBBAWsiAzYCACADRQRAIAVBLGoQzQsLIAIgAigCAEEBazYCACAJIAkoAgBBAWsiAjYCACACRQRAIAVBIGoQzQsLIAEgASgCAEEBazYCACAIIAgoAgBBAWsiATYCACABRQRAIAVBFGoQzQsLIAAgACgCAEEBazYCACAHIAcoAgBBAWsiADYCACAARQRAIAVBCGoQzQsLIAVB5AFqIAUpA8gBNwIAIAUgBSkDwAE3AtwBQdABQRAQ1AwiAEUNAyAAQQA2AhAgAEKBgICAEDcDACAAIAUpAtABNwIUIAAgDzcDOCAAIBE4AjQgACAQOAIwIABBHGogBUHYAWopAgA3AgAgAEEkaiAFQeABaikCADcCACAAQSxqIAVB6AFqKAIANgIAIABBQGsgBUEwakGQAfwKAAAgBUGAA2okACAAQRBqDwsQrw0LAAsQsA0AC0EQQdABQfD6wwAoAgAiAEHvByAAGxEAAAAL2gYBCX8CQCACIAAoAggiBkkEQCAAKAIEIQcDQAJAIAMgBkkEQCAHIANBMGxqIgNBGGohCQJ/AkACQCAHIAJBMGxqIgIoAhRBgICAgHxxQYCAgIAERwRAQQAhBSADKAIUQYCAgIB8cUGAgICABEcNAQsgAiADEM8KIQUgAigCFEGAgICAfHFBgICAgARGDQELQQAgAygCLEGAgICAfHFBgICAgARHDQEaCyACIAkQzwoLIQggAkEYaiEKAn8CQAJAIAIoAixBgICAgHxxQYCAgIAERwRAQQAhCyADKAIUQYCAgIB8cUGAgICABEcNAQsgCiADEM8KIQsgAigCLEGAgICAfHFBgICAgARGDQELQQAgAygCLEGAgICAfHFBgICAgARHDQEaCyAKIAkQzwoLIQ0gBUUNASADKAIUQf////8DcSEFIAIoAhRB/////wNxQQFGBEAgBUEBRwRAIAcgBiABIAIgAygCCCAEELYDDAMLIAQgAigCCCADKAIIEMQBDAILIAIoAgghDCAFQQFHBEAgACABIAwgAygCCCAEEIACDAILIAcgBiABIAMgDCAEELYDDAELIAMgBkH00MEAELAJAAsCQCAIRQ0AIAMoAixB/////wNxIQUgAigCFEH/////A3FBAUYEQCAFQQFHBEAgByAGIAEgAiADKAIgIAQQtgMMAgsgBCACKAIIIAMoAiAQxAEMAQsgAigCCCEIIAVBAUcEQCAAIAEgCCADKAIgIAQQgAIMAQsgByAGIAEgCSAIIAQQtgMLAkAgC0UNACADKAIUQf////8DcSEFIAIoAixB/////wNxQQFGBEAgBUEBRwRAIAcgBiABIAogAygCCCAEELYDDAILIAQgAigCICADKAIIEMQBDAELIAIoAiAhCCAFQQFHBEAgACABIAggAygCCCAEEIACDAELIAcgBiABIAMgCCAEELYDCyANRQRADwsgAygCLEH/////A3EhBSACKAIsQf////8DcUEBRgRAIAVBAUcEQCAHIAYgASAKIAMoAiAgBBC2Aw8LIAQgAigCICADKAIgEMQBDwsgAigCICECIAVBAUYNAiADKAIgIQMgAiAGSQ0ACwsgAiAGQeTQwQAQsAkACyAHIAYgASAJIAIgBBC2Awv3CAINfwF+IAAoAgAhBgJAIAAoAgRBAWoiD0EDdiAPQQdxQQBHaiIHRQ0AIAdBAXEhDCAHQQFHBEAgB0H+////A3EhBQNAIAQgBmoiBykDACERIAcgEUJ/hUIHiEKBgoSIkKDAgAGDIBFC//79+/fv37//AIR8NwMAIAdBCGoiBykDACERIAcgEUJ/hUIHiEKBgoSIkKDAgAGDIBFC//79+/fv37//AIR8NwMAIARBEGohBCAFQQJrIgUNAAsLIAxFDQAgBCAGaiIHKQMAIREgByARQn+FQgeIQoGChIiQoMCAAYMgEUL//v379+/fv/8AhHw3AwALAn8CQCAPQQhPBEAgBiAPaiAGKQAANwAADAELIA8EQCAGQQhqIAYgD/wKAAALIA8NAEF/IQRBAAwBC0EBIQVBACEHA0AgByEGIAUhBwJAIAAoAgAiBSAGai0AAEGAAUcNACAFIAMg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k5QgEyALIA+TlF5FRg0AIAEgCiAMkyAFKgI4lCALIA2TIAUqAjyUXnMNACAAQoCAgICAgIDAPzcCDCAAQQA2AgggAEIBNwIADAELIAVBzABqIAVBCGogAiADIAQQ5wEgBUHQAGohBkP//39/IQoCf0EDIAUoAkwiB0EDRg0AGkEDIAUqAlQiC0P//39/XUUNABogBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCALIQogBwshASAFQcwAaiAJIAIgAyAEEOcBAkAgBSgCTCIHQQNGDQAgBSoCVCILIApdRQ0AIAVBQGsgBkEIaikCADcDACAFIAYpAgA3AzggByEBIAshCgsgBUHMAGogCCACIAMgBBDnAQJAIAUoAkwiAkEDRg0AIAUqAlQgCl1FDQAgBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCACIQELIAAgATYCACAAIAUpAzg3AgQgAEEMaiAFQUBrKQMANwIACyAFQeAAaiQAC9cEAQZ/IwBBQGoiAiQAIAICf0EAIAEoAgAiA0UNABogAiABKQIYNwIcIAIgASoCFDgCGCACIAEpAgw3AhAgAiABKQIENwIIQQEgA0EcbCIFQQRqIgRBIEYNABogAiABKQI0NwI4IAIgASoCMDgCNCACIAEpAig3AiwgAiABKQIgNwIkQQIgBEE8Rg0AGkHUs8IAEKENQdgAIQNBAyAEQdgARg0AGiAFQfAAayIEQRxuIQYgBEEcSQR/IAFB2ABqBSAGQQFqQf7///8BcSEHQQAhAwNAIAJBBGogA2oiBEHsAGogASADaiIFQewAaikCADcCACAEQegAaiAFQegAaioCADgCACAEQeAAaiAFQeAAaikCADcCACAEQdgAaiAFQdgAaikCADcCACAEQYgBaiAFQYgBaikCADcCACAEQYQBaiAFQYQBaioCADgCACAEQfwAaiAFQfwAaikCADcCACAEQfQAaiAFQfQAaikCADcCACADQThqIQMgB0ECayIHDQALIANB2ABqIgMgAWoLIQEgBkEBcUUEQCACQQRqIANqIgMgASkCFDcCFCADIAEqAhA4AhAgAyABKQIINwIIIAMgASkCADcCAAsgBkEEags2AgQgACACKQIENwIAIABBCGogAkEEaiIBQQhqKQIANwIAIABBEGogAUEQaikCADcCACAAQRhqIAFBGGopAgA3AgAgAEEgaiABQSBqKQIANwIAIABBKGogAUEoaikCADcCACAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKAIANgIAIAJBQGskAAuABQIGfwF+IwBBIGsiAyQAIAAoAlghCCAAKAJcIQcgAyABQoCAgIBwgyIJIAFCAX1C/////w+DhDcDGCADQQxqIAAgA0EYahCuAwJAAkACQCADKAIMQQFHDQAgByADKAIQIgRNDQEgAygCFCIFQYACTw0CIAggBEEIdGogBWoiBC0AACIFQRBGDQAgBCAFQf4BcSACQQFzcjoAAEEAQQIgAhshBgsgAyAJIAFCAXxC/////w+DhDcDGCADQQxqIAAgA0EYahCuAwJAAkACQCADKAIMRQ0AIAcgAygCECIETQ0BIAMoAhQiBUGAAk8NAiAIIARBCHRqIAVqIgQtAAAiBUEQRg0AIAJFBEAgBCAFQQJyOgAAIAZBAXIhBgwBCyAEIAVB/QFxOgAACyADIAFCgICAgBB9NwMYIANBDGogACADQRhqEK4DAkAgAygCDEEBRw0AIAcgAygCECIETQ0DIAMoAhQiBUH/AUsNBCAIIARBCHRqIAVqIgQtAAAiBUEQRg0AIAJFBEAgBCAFQQRyOgAAIAZBCHIhBgwBCyAEIAVB+wFxOgAACyADIAFCgICAgHCDIAFC/////w+DhEKAgICAEHw3AxggA0EMaiAAIANBGGoQrgMCQCADKAIMQQFHDQAgByADKAIQIgRNDQEgAygCFCIFQf8BSw0CIAggBEEIdGogBWoiAC0AACIEQRBGDQAgAkUEQCAAIARBCHI6AAAgBkEEciEGDAELIAAgBEH3AXE6AAALIANBIGokAEEQIAYgAhsPCyAEIAdB7KrDABCwCQALIAVBgAJB/KrDABCwCQALIAQgB0HMqsMAELAJAAsgBUGAAkHcqsMAELAJAAuMBQMOfwF+An0jAEGQAWsiAyQAIAEoAgAoAgAhBCABKAIEIgYoAgBBAUYEQCAGKAIEIgVB//8DcSEJIAVBEHYhCkEBIQULIARBIEkhB0EAIQYgASgCCCIIKAIAQQFGBEAgCCkDCCIRQiCIpyELIBGnIQxBASEGCyAEQQAgBxshCCABKAIMIgQoAgBBAUcEf0EABSAEKQMIIhFCIIinIQ0gEachDkEBCyEEIAEoAhgoAgAhDyABKAIcKAIAIRAgASgCFCgCACEHIAMgASgCECgCADYCOCADQfjAwQA2AiwgAyACNgIoIAMgCDYCJCADIA02AiAgAyAONgIcIAMgBDYCGCADIAs2AhQgAyAMNgIQIAMgBjYCDCADIAk2AgggAyAKNgIEIAMgBTYCACAHKAI8IQQgBygCQCECIAMgEDYCQCADIA82AjwgAyACNgI0IAMgBCACKAIIQQFrQXhxakEIajYCMCABKAIkKAIAIgIqAgAhEiACKgIEIRMgAyABKAIgKAIAKQIANwJMIAMgEzgCSCADIBI4AkQgASgCKCgCACECIAEoAiwoAgAiBCgCACEFIAQoAgQiBCgCCCEGIANBAToAjQEgAyABKAI0LQAAOgCMASADIAEoAjgqAgA4AogBIAMgASgCMCoCADgChAEgA0HUAGoiASADIANBxABqIAIgBSAGQQFrQXhxakEIaiAEIANBhAFqEFgCQCADLQCAAUEERwRAIAAgAykCXDcCCCAAIAMpAlQ3AgAgAEEQaiABQRBqKQIANwIAIABBGGogAUEYaikCADcCACAAQSBqIAFBIGopAgA3AgAgAEEoaiABQShqKQIANwIADAELIABBBDoALAsgA0GQAWokAAvoBAMHfwF+An0gAUEEaiEGIAFBhAFqIQcgAigCACEIAkACQANAIAEoAowBIgJFBEAgBiEEIAciAygCACICQSFPBEAgASgCCCEEIAYhAyABKAIEIQILIAJFDQMgAyACQQFrIgI2AgAgBCACQQJ0aigCACECCyABQQA2AowBIAIoAhRB/////wNxQQFHBEAgAigCCCIEIAEoAogBIgMoAggiAk8NAiADKAIEIARBMGxqIgJBGGohCSABKgKcASELQQEhAwJAIAEqApgBIgwgAikCACIKp75gRQ0AIAsgCkIgiKe+YEUNACABKgKQASACQQxqKQIAIgqnvl9FDQAgASoClAEgCkIgiKe+X0UNACABIAI2AowBQQAhAwsgDCAJKQIAIgqnvmBFDQEgCyAKQiCIp75gRQ0BIAEqApABIAJBJGopAgAiCqe+X0UNASABKgKUASAKQiCIp75fRQ0BIANFBEACfyAHKAIAIgVBIUkEQCAFIQIgBiEEQSAhBSAHDAELIAEoAgQhAiABKAIIIQQgBgshAyACIAVGBH8gARCUAyABKAIIIQQgBiEDIAEoAgQFIAILQQJ0IARqIAk2AgAgAyADKAIAQQFqNgIADAILIAEgCTYCjAEMAQsgAigCCCIFIAgoAkAiAygCEE8NACADKAIMIAVBoAFsaiIEKAIAQQFHDQAgCCAIKAI8IgJBiAJqKAIAIAJBjAJqKAIAIAUgBCgCBCIDIARBEGoiAhDTA0UNAAsgACAFrSADrUIghoQ3AgAgACACNgIIDwsgBCACQajHwQAQsAkACyABQQA2AowBIABBADYCCAvGBAEJfyMAQRBrIQMgASgCHCABKAIYa0EAIAEoAhQbIQkgASgCCCABKAIEa0EAIAEoAgAbIQgCfwJAIAEoAigiCkEDRwRAQQEhBUEBIQQgASgC3AEiBkEERwRAAn9BACAGQQNGDQAaQQAgASgCnAJFDQAaIAEoArgCIgQgASgCtAIiBmtBACAEIAZKGwshBAJAIAEoArwCQQNGDQAgASgC/AJFDQAgASgCmAMiAiABKAKUAyIGa0EAIAIgBkobIQILAn8CQCABKAKcA0UNACABKALAAyABKALEA04NAEEAIQIgA0EMagwBCyADIAIgBGoiAiAETzYCDCADQQhqCyACNgIAIAMoAgghAiADKAIMIQQLIAEoAsgDIgZBBEcEQAJ/QQAgBkEDRg0AGkEAIAEoAogERQ0AGiABKAKkBCIFIAEoAqAEIgZrQQAgBSAGShsLIQUCQCABKAKoBEEDRg0AIAEoAugERQ0AIAEoAoQFIgcgASgCgAUiBmtBACAGIAdIGyEHCwJ/AkAgASgCiAVFDQAgASgCrAUgASgCsAVODQBBACEBIANBDGoMAQsgAyAFIAUgB2oiAU02AgwgA0EIagsgATYCACADKAIIIQcgAygCDCEFCyAKQQJGIARxRQ0BIAVBAXFFDQEgAiACIAdqIgRLIQILIAggCWoiBSAISQ0AIAINACAEQQBIDQBBASAFIARBAXQgBWoiA00NARoLQQALIQEgACADNgIIIAAgATYCBCAAQX8gCCAJaiIAIAAgCEkbNgIAC5UFAQt/IwBBsAJrIgQkACABKAIQIgVBAXQhCSABKAIEIQsgASgCACEMIAUhByAFIAEoAggiAyAFayIGSwR/AkAgBUHmzJkDSwR/QQAFIAVBwAJsIQYgBCADBH8gBCADQaABbDYCmAEgBCABKAIMNgKQAUEQBUEACzYClAEgBEEQIAYgBEGQAWoQkQggBCgCAEEBRw0BIAQoAgghAyAEKAIECyADQcitwQAQ+QsACyAEKAIEIQMgASAJNgIIIAEgAzYCDCAFBSAGCyAJIAVrIgNBACADIAlNGyIDSQRAIAFBCGogBSADQRBBoAEQ4wQgASgCECEHCwJAIAVFDQAgASgCDCEGIAlBAWshDQJAIAVBAXFFBEAgBSEDDAELIAYgB0GgAWxqIgggCyAFQQFqIgMgBSANRiIKGzYCCCAIIAxBASAKGzYCBCAIQQA2AgAgB0EBaiEHCyAFQQFGDQAgAyAJa0EBaiEIIAYgB0GgAWxqIQYDQCAGQQA2AgAgBkGgAWpBADYCACAGQQRqQQEgDCAIGzYCACAGQQhqIANBAWoiCiALIAgbNgIAIAZBqAFqIAsgA0ECaiIDIAogDUYiChs2AgAgBkGkAWogDEEBIAobNgIAIAhBAmohCCAGQcACaiEGIAdBAmohByADIAlHDQALCyABIAU2AgQgAUEBNgIAIAEgBzYCECAEIAEgAhCUBCAEKAJkQQJHBEAgBEGQAWoiACAEQZAB/AoAACAAKAIgIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIABBIGoQtggLIAAoAihBAk8EQCAAKAIsQRBBBBCfDQtBvKzBAEE+IARBrwJqQayswQBB/KzBABDqCAALIAAgBCkDADcDACAEQbACaiQAC4YFAgl/AX4jAEFAaiIGJAACQAJAAkACQCAARQ0AIABBCGsiCygCAEEBaiEJIAsgCTYCACAJRQ0BIAAoAgANAiAAQX82AgAgBiALNgIIIAYgADYCBCAGIABBBGoiDTYCACACRQ0AIAJBEGsiCSgCAEEBaiEHIAkgBzYCACAHRQ0BIAIoAgAiB0F/Rg0CIAIgB0EBajYCACAGIAk2AhQgBiACNgIQIAYgAkEQaiIMNgIMIARFDQAgBEEIayIHKAIAQQFqIQggByAINgIAIAhFDQEgBCgCACIIQX9GDQIgBCAIQQFqNgIAIAYgBzYCICAGIAQ2AhwgBiAEQQRqIg42AhggBUUNACAFQQhrIggoAgBBAWohCiAIIAo2AgAgCkUNASAFKAIAIgpBf0YNAiAFIApBAWo2AgAgBiAINgIsIAYgBTYCKCAGIAVBBGoiCjYCJCAMIAO9Ig+nIA9CIIinEOUKIgwEfiAGIA4pAgA3AzggBkEwaiANIAEgDCAGQThqIAoQiQogBikDMAVCAAshDyAFIAUoAgBBAWs2AgAgCCAIKAIAQQFrIgU2AgAgBUUEQCAGQSxqEM0LCyAEIAQoAgBBAWs2AgAgByAHKAIAQQFrIgQ2AgAgBEUEQCAGQSBqEM0LCyACIAIoAgBBAWs2AgAgCSAJKAIAQQFrIgI2AgAgAkUEQCAGQRRqEJALCyAAQQA2AgAgCyALKAIAQQFrIgA2AgAgAEUEQCAGQQhqENALC0EUQQQQ1AwiAEUNAyAAIA83AgwgAEEANgIIIABCgYCAgBA3AgAgBkFAayQAIABBCGoPCxCvDQsACxCwDQALQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAAC+cEAwd9A38BfiMAQTBrIgQkACAAKAIEIgUoAgAhDiAFKAIEIg8oAgAhDQJAAkACQAJAAkACQCABBEAgBCABKgIAIgYgDSoCBCIHlCABKgIEIgogDSoCACIIlJM4AiQgBCAGIAiUIAogB5SSOAIgIAQgBiANKgIIIAEqAggiC5MiB5QgCiANKgIMIAFBDGoqAgAiDJMiCJSSvK0gBiAIlCAKIAeUk7ytQiCGhDcCKCAEQQxqIA4gBEEgaiACIAMgBSgCCCAFKAIMIAUoAhAqAgAQXSAEKAIMIgFBA0cNAQwFCyAEQSBqIgFBCGogDUEIaikCADcDACAEIA0pAgA3AyAgBEEMaiAOIAEgAiADIAUoAgggBSgCDCAFKAIQKgIAEF0gBCgCDCIBQQNGDQQgBCkCGCIQQiCIpyECIBCnIQND//9//yEJIAQqAhQhCCAEKgIQIQcgAUEBaw4CAQIDCyAEKQIYIhBCIIinIQIgEKchA0P//3//IQkgBCoCFCEIIAQqAhAhBwJAIAFBAWsOAgACAwsgCiAHlCEJIAsgBiAHlCAKIAiUk5IhByAMIAkgBiAIlJKSIQgLIA8oAgAiASoCACEGIAEqAgggBiADviIKlCABQQRqKgIAIgkgAr4iC5STkiAHkyIMIAyUIAFBDGoqAgAgBiALlCAJIAqUkpIgCJMiBiAGlJKRIQlBASEBDAELQ///f38hCUECIQELIAOtIAKtQiCGhCEQDAELQ///f38hCUECIQELIAAoAgAiACAQNwIQIAAgCDgCDCAAIAc4AgggACABNgIEIAAgCTgCACAEQTBqJAALrgQDBX0FfwJ+IwBBIGsiCCQAAkAgASgCCCIJBEBEAAAAAAAA8D8gCbijtiICIAEoAgQiBykCACIMQiCIp76UIQMgCUEDdCIKIAdqIQsgAiAMp76UIQQCQCAJQQFGDQAgCUEBcQR/IAdBCGoFIAQgAiAHKQIIIgynvpSSIQQgAyACIAxCIIinvpSSIQMgB0EQagshCSAKQRBGDQADQCAEIAIgCSkCACIMp76UkiACIAlBCGopAgAiDae+lJIhBCADIAIgDEIgiKe+lJIgAiANQiCIp76UkiEDIAsgCUEQaiIJRw0ACwsCQCAKQQhrIglBCHEEQEMAAAAAIQIMAQsgBCAHKgIAkyICIAKUIAMgB0EEaioCAJMiAiAClJIiAkMAAAAAIAJDAAAAAF4bIQIgB0EIaiEHCyAJBEADQCAEIAdBCGoqAgCTIgUgBZQgAyAHQQxqKgIAkyIFIAWUkiIFIAQgByoCAJMiBiAGlCADIAdBBGoqAgCTIgYgBpSSIgYgAiACIAZdGyICIAIgBV0bIQIgCyAHQRBqIgdHDQALCyABKgIYIgVDAAAAAGBFDQEgACACkSAFkjgCCCAAIAS8rSADvK1CIIaENwIAIAhBIGokAA8LIAhBADYCGCAIQQE2AgwgCEHAtMMANgIIIAhCBDcCECAIQQhqQci0wwAQ3AsACyAIQQA2AhggCEEBNgIMIAhBkMHCADYCCCAIQgQ3AhAgCEEIakH4tMMAENwLAAvDBAMEfwd9BH4jAEHgAGsiBSQAIAUgASkCACIQNwMwIAUgASkCECIRNwMoIAUgETcDICAFIAEpAggiEjcDGCAFIBI3AxAgBSAQNwMIAkACQCAERQ0AIBKnviILIBCnviIMkyACKQIAIhNCIIinviIJIAEqAgSTlCASQiCIp74iDSAQQiCIp74iDpMgE6e+IgogASoCAJOUXiEEIAQgEae+Ig8gC5MgCSABKgIMk5QgCiABKgIIkyARQiCIp74iCyANk5ReRUYNACAEIAkgASoCFJMgDCAPk5QgCiABKgIQkyAOIAuTlF5zDQAgAEKAgICAgICAwD83AgwgAEEANgIIIABCATcCAAwBCyAFQRhqIQcgBUHMAGogBUEIaiACIANBABDnASAFQdAAaiEGQ///f38hCQJ/QQMgBSgCTCIEQQNGDQAaQQMgBSoCVCIKQ///f39dRQ0AGiAFQUBrIAZBCGopAgA3AwAgBSAGKQIANwM4IAohCSAECyEBIAVBKGohCCAFQcwAaiAHIAIgA0EAEOcBAkAgBSgCTCIEQQNGDQAgBSoCVCIKIAldRQ0AIAVBQGsgBkEIaikCADcDACAFIAYpAgA3AzggBCEBIAohCQsgBUHMAGogCCACIANBABDnAQJAIAUoAkwiAkEDRg0AIAUqAlQgCV1FDQAgBUFAayAGQQhqKQIANwMAIAUgBikCADcDOCACIQELIAAgATYCACAAIAUpAzg3AgQgAEEMaiAFQUBrKQMANwIACyAFQeAAaiQAC+MHAgh/AX4jAEGAA2siAyQAAkACQAJAAkAgAEUNACAAQQhrIgUoAgBBAWohAiAFIAI2AgAgAkUNASAAKAIAIgJBf0YNAiAAIAJBAWo2AgAgAyAFNgIQIAMgADYCDCADIABBBGoiCTYCCCABRQ0AIAFBCGsiBigCAEEBaiECIAYgAjYCACACRQ0BIAEoAgAiAkF/Rg0CIAEgAkEBajYCACADIAY2AhwgAyABNgIYIAMgAUEEajYCFCADQdABaiICQgA3A1AgAkIANwIUIAJBADoAbCACQv////sHNwJkIAJC////+////7//ADcDSCACQv////sHNwNAIAJCgICAgPD//79/NwM4IAJC////+////7//ADcDMCACQYCAgPwDNgIQIAJCADcDCCACQoCAgPwDNwMAIAJB4ABqQQA2AgAgAkHYAGpCADcDACMAQTBrIgRBHWoiB0ELakIANwAAIARBCmoiCEELakIANwAAIAJBHGpCADcCACACQSRqQgA3AgAgAkEsakEANgIAIARCADcAICAEQgA3AA0gAkL////7BzcDgAEgAkEAOgCIASACQQA6AKQBIAJC////+wc3ApwBIAJBgAI7AawBIAJBAzYCqAEgAkH8AGogB0EPaigAADYAACACQfUAaiAHQQhqKQAANwAAIAIgBCkAHTcAbSACIAQpAAo3AIkBIAJBkQFqIAhBCGopAAA3AAAgAkGYAWogCEEPaigAADYAACADQcABaiACQRBqKQMANwMAIAMgCSkCACIKNwPYASADIAMpA9ABNwOwASADIAo3A7gBIANBIGogA0HwAWpBjQH8CgAAIAMvAf4CIQQgAy0A/QIhAiABIAEoAgBBAWs2AgAgASkC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IAAoAgxBAWo2AgwgBEEAIA5rIghBDGxqIgBBDGsgATYCACAAQQhrIAI2AgALIAQgCEEMbGpBBGsgAzgCACARQRBqJAAPC0EACyEQIBlBCGoiGSAFaiAKcSEFDAALAAutBwIIfwF+IwBBgANrIgQkAAJAAkACQAJAIAFFDQAgAUEIayIGKAIAQQFqIQMgBiADNgIAIANFDQEgASgCACIDQX9GDQIgASADQQFqNgIAIAQgBjYCECAEIAE2AgwgBCABQQRqIgo2AgggAkUNACACQQhrIgcoAgBBAWohAyAHIAM2AgAgA0UNASACKAIAIgNBf0YNAiACIANBAWo2AgAgBCAHNgIcIAQgAjYCGCAEIAJBBGo2AhQgBEHQAWoiA0IANwNQIANCADcCFCADQQA6AGwgA0L////7BzcCZCADQv////v///+//wA3A0ggA0L////7BzcDQCADQoCAgIDw//+/fzcDOCADIAA4AjQgA0GAgID8AzYCECADQgA3AwggA0KAgID8AzcDACADQeAAakEANgIAIANB2ABqQgA3AwAjAEEwayIFQR1qIghBC2pCADcAACAFQQpqIglBC2pCADcAACADQRxqQgA3AgAgA0EkakIANwIAIANBLGpCADcCACAFQgA3ACAgBUIANwANIANC////+wc3A4ABIANBADoAiAEgA0EAOgCkASADQv////sHNwKcASADQYCCgBg2AqgBIANBgAI7AawBIANB/ABqIAhBD2ooAAA2AAAgA0H1AGogCEEIaikAADcAACADIAUpAB03AG0gAyAFKQAKNwCJASADQZEBaiAJQQhqKQAANwAAIANBmAFqIAlBD2ooAAA2AAAgBEHAAWogA0EQaikDADcDACAEIAopAgAiCzcD2AEgBCAEKQPQATcDsAEgBCALNwO4ASAEQSBqIARB8AFqQZAB/AoAACACIAIoAgBBAWs2AgAgAikCBCELIAcgBygCAEEBayICNgIAIAJFBEAgBEEcahDNCwsgASABKAIAQQFrNgIAIAYgBigCAEEBayIBNgIAIAFFBEAgBEEQahDNCwsgBEHkAWogBCkDuAE3AgAgBEHQAWoiAkEcaiAEQcABaikDADcCACAEIAQpA7ABNwLcAUHQAUEQENQMIgFFDQMgAUEANgIQIAFCgYCAgBA3AwAgASAEKQLQATcCFCABIAs3AzggAUEcaiAEQdgBaikCADcCACABQSRqIAJBEGopAgA3AgAgAUEsaiAEQegBaikCADcCACABQTRqIARB8AFqKAIANgIAIAFBQGsgBEEgakGQAfwKAAAgBEGAA2okACABQRBqDwsQrw0LAAsQsA0AC0EQQdABQfD6wwAoAgAiAUHvByABGxEAAAALlQQCDn8BfSMAQSBrIgQkAEEEIQcCQCADKAIMIgVFBEBBACEDDAELIAMoAgAiCCADKAIIIgxGIQYgAygCBCINIAMoAhAiEEECdCIOaiIPIAggBhsiCUUEQEEAIQMMAQtBBCAFIAVBBE0bIgpBAnQhAwJAAkAgBUH/////A0sNACADQfz///8HSw0AIAkqAgAhEkEEIQsgA0EEENQMIgdFDQAgByASOAIAQQEhAyAEQQE2AhAgBCAHNgIMIAQgCjYCCCAFQQFrIhENAQwCCyALIANBjM7BABD5CwALIAggDmogDCAGGyELIA8gDSAGGyEIIAkgEUEAR0ECdGohBiAFQQJrIQVBBCEJAn8DQCAEKAIIIgogEEECdCIOIAhqIg8gBiAGIAtGIgwbIg1FDQEaIA0qAgAhEiAGIA5qIAsgDBshCyAPIAggDBshCCAFQQBHQQJ0IA1qIQYgAyAKRgRAIARBCGogAyAFQQFqQQRBBBCaBSAEKAIMIQcLIAcgCWogEjgCACAEIANBAWoiAzYCECAJQQRqIQkgBUEBayIFQX9HDQALIAQoAggLIQogBCgCDCEHCyABIAJsIANHBEAgBEEANgIYIARBATYCDCAEQZTIwQA2AgggBEIENwIQIARBCGpBnMjBABDcCwALIAAgAjYCECAAIAE2AgwgACADNgIIIAAgBzYCBCAAIAo2AgAgBEEgaiQAC7sEAgx/BX4jAEGQAWsiAiQAIAJBBGogAUHgAGoiAxC0AyABKAJgBEAgA0EANgIACyABKALQASEGIAEoAswBIQcgASkCxAEhDyABKQK8ASEQIAJB4ABqIgNBEGogAUEQaigCADYCACADQQhqIAFBCGopAgA3AwAgAiABKQIANwNgIAJB+ABqIgNBEGogAUEkaigCADYCACADQQhqIAFBHGopAgA3AwAgAiABKQIUNwN4IAEoAkgiA61CMH4iDqchBAJAIA5CIIinDQAgBEHw////B0sNACABKAJEIQggASkCUCEO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gICAgHhHDQILIABBgYCAgHg2AgAgACADNgIEDAILQQQgBkGkmMEAEPkLAAsgACAENgIIIAAgAzYCBCAAIAE2AgALIAJBIGokAAudBAEFfyMAQeAAayICJAACQAJAAkAgAARAIABBEGsiASgCACIEQQFqIQMgASADNgIAIANFDQEgACgCAA0CIAAoAswEIQMgAEECNgLMBCABIAQ2AgBBACEBIANBAkcEQCACQQhqIgFBEGoiBCAAQeAEaikDADcDACABQQhqIgUgAEHYBGopAwA3AwAgAiAAKQPQBDcDCCACQSBqIgFBPGogAEHIBGooAgA2AgAgAUE0aiAAQcAEaikCADcCACABQSxqIABBuARqKQIANwIAIAFBJGogAEGwBGopAgA3AgAgAUEcaiAAQagEaikCADcCACABQRRqIABBoARqKQIANwIAIAJBLGogAEGYBGopAgA3AgAgAiAAKQKQBDcCJEHoAEEIENQMIgBFDQQgAEEANgIIIABCgYCAgBA3AwAgACACKQIgNwIMIABBFGogAUEIaikCADcCACAAQRxqIAFBEGopAgA3AgAgAEEkaiACQThqKQIANwIAIABBLGogAkFAaykCADcCACAAQTRqIAJByABqKQIANwIAIABBPGogAkHQAGopAgA3AgAgAEHEAGogAkHYAGopAgA3AgAgACADNgJMIABB4ABqIAQpAwA3AwAgAEHYAGogBSkDADcDACAAIAIpAwg3A1AgAEEIaiEBCyACQeAAaiQAIAEPCxCvDQsACxCwDQALQQhB6ABB8PrDACgCACIAQe8HIAAbEQAAAAudBAEFfyMAQeAAayICJAACQAJAAkAgAARAIABBEGsiASgCACIEQQFqIQMgASADNgIAIANFDQEgACgCAA0CIAAoAqQFIQMgAEECNgKkBSABIAQ2AgBBACEBIANBAkcEQCACQQhqIgFBEGoiBCAAQbgFaikDADcDACABQQhqIgUgAEGwBWopAwA3AwAgAiAAKQOoBTcDCCACQSBqIgFBPGogAEGgBWooAgA2AgAgAUE0aiAAQZgFaikCADcCACABQSxqIABBkAVqKQIANwIAIAFBJGogAEGIBWopAgA3AgAgAUEcaiAAQYAFaikCADcCACABQRRqIABB+ARqKQIANwIAIAJBLGogAEHwBGopAgA3AgAgAiAAKQLoBDcC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AWoiBjYCECADQQhqIQMgBSAGRw0ACwsgACACKQIINwIAIABBCGogAkEQaigCADYCAAwDC0EEIAZBpJjBABD5CwALIAJCgcoANwMYIAJBGGoQxwsLIQEgAEGAgICAeDYCACAAIAE2AgQgAigCCCIARQ0AIAIoAgwgAEEDdEEEEJ8NCyACQSBqJAALngQDCH0CfgF/IwBBIGsiDiQAIA5BCGogAUEIaikCACINNwMAIA4gASkCACIMNwMAIA2nviIFIAynviIGkyEKIA1CIIinviIIIAxCIIinviIEkyELAkACQAJAAkAgAioCACAGkyAKlCACKgIEIASTIAuUkiIJQwAAAABfBEAgBCEIIAYhBQwBCyAKIAqUIAsgC5SSIgcgCV8NACAHQwAAAABbDQEgCyAJIAeVIgWUIASSIQggCiAFlCAGkiEFCyACKQIAIgynviAFkyIJIAmUIAxCIIinviAIkyIHIAeUkiIEQwAAgCheBEAgASoCECIGIASRIgRgIgEgA0EAR3FFBEAgACABOgAIIAAgByAElSAGlCAIkjgCBCAAIAkgBJUgBpQgBZI4AgAMBAsgACAMNwIAIABBAToACAwDCyADDQEgDkEUaiICIA4pAggiDKe+IA4qAgCTIgcgB5QgDEIgiKe+IA4qAgSTIgYgBpSSIgRDAACAKF4EfyACIAYgBJEiBJW8rSAHjCAElbytQiCGhDcCBEEBBUEACzYCAAJ9IA4oAhQEQCABKgIQIgQgDikCGCIMp76UIAWSIQUgBCAMQiCIp76UDAELIAVDAAAAAJIhBSABKgIQCyEEIABBAToACCAAIAW8rSAEIAiSvK1CIIaENwIADAILQZDowQBBHkGw6MEAEPkKAAsgACAMNwIAIABBAToACAsgDkEgaiQAC/gDAgZ/AX4jAEEgayICJAAgACgCWCEHIAAoAlwhBiACIAFCgICAgHCDIgggAUIBfEL/////D4OENwMYIAJBDGogACACQRhqEK4DAkACQCACKAIMQQFGBEAgAigCECIEIAZPDQEgAigCFCIFQYACTw0CIAcgBEEIdGogBWotAABBEEchAwsgAiAIIAFC/////w98Qv////8Pg4Q3AxggAkEMaiAAIAJBGGoQrgMCQAJAIAIoAgwEQCACKAIQIgQgBk8NASACKAIUIgVBgAJPDQIgAyADQQJyIAcg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CGogDCkDADcCACAAQbyIwwA2AgQgACACNgIAIANB0ABqJAAPCyAFIARBkL/CABD5CwALIAkgAkGQv8IAEPkLAAtBBEHAAEHw+sMAKAIAIgBB7wcgABsRAAAAC4wEAgd/AX0jAEEQayICJAACQAJAIAEoAgQiA0UEQCAAQQI2AgAMAQsgASADQQFrNgIEAkAgASgCACIBKAIEIgVFBEAgAkKBygA3AwggAkEIahDHCyEBDAELIAEgBUEBazYCBCABIAEoAgAiA0EBajYCAAJAAkACQAJAAkAgAy0AACIEDgIDAAELIAVBBUkNAyABIAVBBWsiBDYCBCABIANBBWo2AgAgBEEESQRAIAJBADoACyACQSU7AAkgAkEANgIMIAJBAToACCACQQhqEMcLIQEMBQsgAygAASEGIAEgBUEJayIENgIEIAEgA0EJajYCACAEQQRPBEAgAyoABSEJIAEgBUENayIENgIEIAEgA0ENajYCACAEQQNLDQILIAJBADoACyACQSU7AAkgAkEANgIMIAJBAToACCACQQhqEMcLIQEMBAtBDEEEENQMIgFFDQUgASAENgIEIAFBhICAgHg2AgAMAwsgAygACSEHIAEgBUERazYCBCABIANBEWo2AgAgAygADSEIQQEhBAsgACAINgIQIAAgBzYCDCAAIAk4AgggACAGNgIEIAAgBDYCAAwCCyACQQA6AAsgAkElOwAJIAJBADYCDCACQQE6AAggAkEIahDHCyEBCyAAQQM2AgAgACABNgIECyACQRBqJAAPC0EEQQxB8PrDACgCACIAQe8HIAAbEQAAAAusAwESfSAAIAIqAgwiBCABKgIEIgUgAioCACIGlCABKgIAIgcgAioCBCIIlJKSIgkgBCAIIAEqAggiDJQgBiABKgIMIguUkpIiBCAJIAIqAggiCiAHIAaUIAUgCJSTkiIPQwAAAACUIhKSIAQgCiAGIAyUIAggC5STkiIGQwAAAACUIhOSXhsiECADKgIMIgogBSADKgIAIg2UIAcgAyoCBCIOlJKSIgggCiALIA2UIAwgDpSSkiIKIAggAyoCCCIRIAcgDZQgBSAOlJOSIgVDAAAAAJQiFJIgCiARIAwgDZQgCyAOlJOSIgdDAAAAAJQiDJJeGyILIAsgEF8bOAIMIAAgDyAGIA8gCUMAAAAAlCILkiAGIARDAAAA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AkEEaq1CgICAgJArhDcDECACIAKtQoCAgICgK4Q3AwhBnLjCACgCACEAQZS4wgApAgAhCCACQgI3AlAgAkECNgJIIAJBhLjCADYCRCACQQo2AkAgAkHkt8IANgI8IAJBBDYCOCACIAg3AjAgAkIKNwIoIAJB5LfCADYCJCACQQA2AiAgAiAANgIcIAJBATYCGCACIAJBCGo2AkxByPrDACgCAEHItsMAQej6wwAoAgBBAkYiABsgAkEYakHM+sMAKAIAQbC2wwAgABsoAhARAAALIAUhAwsgAkHgAGokACADDwsgASADQZS3wgAQsAkACyABIANB9LbCABCwCQALIAEgA0GEt8IAELAJAAuRAwMGfQR/An4gACgCCCIHBEAgACgCBCIIKQIAIgtCIIinIQAgC6chCQJ/IAdBAUYEQCAJIQcgAAwBCyAHQQN0IQogAL4hASAJviECAn8gB0EBcQRAIAIhAyABIQUgCEEIagwBCyABIAgpAggiC0IgiKe+IgMgASADYBshBSABIAMgASADXxshASACIAunviIEIAIgBGAbIQMgAiAEIAIgBF8bIQIgCEEQagshACAKQRBHBEAgCCAKaiEJA0AgBSAAKQIAIgtCIIinviIEIAQgBV8bIgUgAEEIaikCACIMQiCIp74iBiAFIAZgGyEFIAEgBCABIARfGyIBIAYgASAGXxshASADIAunviIEIAMgBGAbIgMgDKe+IgYgAyAGYBshAyACIAQgAiAEXxsiAiAGIAIgBl8bIQIgCSAAQRBqIgBHDQALCyACvCEHIAO8IQkgBbwhACABvAshCCAJviAHvpNDAAAAP5QiASAAviAIvpNDAAAAP5QiAiABIAJfGw8LQajBwgBB0gBBjMLCABD4CQALxwMCAn8BfCMAQTBrIgMkAEGBASEEIAMgAigCAEEBcQR/IAIrAgQQAAVBgQELNgIQIAMgAigCDEEBcQR/IAIrAhAQAAVBgQELNgIUIAMgAisCIBAANgIcIAMgAisCKBAANgIgIAMgAUEEaiABIANBHGogA0EgahCpDCIENgIYIANBCGogA0EYaiABIANBEGogA0EUahDjCiADKAIMIQECQAJAAkACQCADKAIIQQFxRQRAIARBhAFPBEAgBBACCyADKAIgIgJBhAFPBEAgAhACCyADKAIcIgJBhAFPBEAgAhACCyAD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rUIwfiIOpyECAkACQAJAIA5CIIinDQAgAkH8////B0sNACABKAIEIQQCQCACRQRAQQQhCAwBC0EEIQYgCiELIAJBBBDUDCIIRQ0BCyACBEAgCCAEIAL8CgAACyABKAIUIgJBAnQhAyACQf////8DSw0BIANB/P///wdLDQEgASgCECEEAkAgA0UEQEEEIQlBACEGDAELQQQhByACIQYgA0EEENQMIglFDQILIAMEQCAJIAQgA/wKAAALIAEoAiAiBEEDdCEFIARB/////wFLDQIgBUH8////B0sNAiABKAIcIQwgASgCJCEDAkAgBUUEQEEEIQFBACEHDAELQQQhDSAEIQcgBUEEENQMIgFFDQMLIAUEQCABIAwgBfwKAAALIAAgAzYCJCAAIAQ2AiAgACABNgIcIAAgBzYCGCAAIAI2AhQgACAJNgIQIAAgBjYCDCAAIAo2AgggACAINgIEIAAgCzYCAA8LIAYgAkGQv8IAEPkLAAsgByADQZC/wgAQ+QsACyANIAVBkL/CABD5CwALngMCAX8CfSAAKgIEIQMgACoCACEEIAEoAgAiASgCCCECIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgI2AgggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogAzgAACABIAJBBGoiAjYCCCAAKgIMIQMgACoCCCEEIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgI2AgggASgCACACa0EDTQRAIAEgAkEEQQFBARDjBCABKAIIIQILIAEoAgQgAmogAzgAACABIAJBBGoiAjYCCCAAKgIUIQMgACoCECEEIAEoAgAgAmtBA00EQCABIAJBBEEBQQEQ4wQgASgCCCECCyABKAIEIAJqIAQ4AAAgASACQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEQQFBARDjBCABKAIIIQALIAEgAEEEajYCCCABKAIEIABqIAM4AABBAAueAwICfwJ9IAEqAgQhBCABKgIAIQUgACgCACICKAIIIQAgAigCACAAa0EDTQRAIAIgAEEEQQFBARDjBCACKAIIIQALIAIoAgQgAGogBTgAACAC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KQIUNwMAQcwAQQQQ1AwiAEUNBCAAIAM2AgwgAEEANgIIIABCgYCAgBA3AgAgACABKQMANwIQIABBGGogCSkDADcCACAAQSBqIAgpAwA3AgAgAEEoaiAHKQMANwIAIABBMGogBikDADcCACAAQThqIAUpAwA3AgAgAEFAayAEKQMANwIAIABByABqIAIoAgA2AgAgAEEIaiECCyABQUBrJAAgAg8LEK8NCwALELANAAtBBEHMAEHw+sMAKAIAIgBB7wcgABsRAAAAC7gDAQl/IwBBQGoiASQAAkACQAJAIAAEQCAAQRBrIgIoAgAiBEEBaiEDIAIgAzYCACADRQ0BIAAoAgANAiAAKALABSEDIABBgICAgHg2AsAFIAIgBDYCAEEAIQIgA0GAgICAeEcEQCABQThqIgIgAEH8BWopAgA3AwAgAUEwaiIEIABB9AVqKQIANwMAIAFBKGoiBSAAQewFaikCADcDACABQSBqIgYgAEHkBWopAgA3AwAgAUEYaiIHIABB3AVqKQIANwMAIAFBEGoiCCAAQdQFaikCADcDACABQQhqIgkgAEHMBWopAgA3AwAgASAAKQLEBTcDAEHQAEEEENQMIgBFDQQgACADNgIMIABBADYCCCAAQoGAgIAQNwIAIAAgASkDADcCECAAQRhqIAkpAwA3AgAgAEEgaiAIKQMANwIAIABBKGogBykDADcCACAAQTBqIAYpAwA3AgAgAEE4aiAFKQMANwIAIABBQGsgBCkDADcCACAAQcgAaiACKQMANwIAIABBCGohAgsgAUFAayQAIAIPCxCvDQsACxCwDQALQQRB0ABB8PrDACgCACIAQe8HIAAbEQAAAAuVAwEHfyMAQSBrIgQkACACIAAoAggiBUkEQCABQQxqIQYgACgCBCEHA0ACQCAHIAJBMGxqIgIoAhRB/////wNxQQFGBEAgBEEIaiIDQRBqIgggAkEQaikCADcDACADQQhqIgkgAkEIaikCADcDACAEIAIpAgA3AwggASgCFCIDIAEoAgxGBEAgBkGYzMIAEKwGCyABIANBAWo2AhQgASgCECADQRhsaiIDIAQpAwg3AgAgA0EIaiAJKQMANwIAIANBEGogCCkDADcCAAwBCyAAIAEgAigCCBDDAwsgAigCLEH/////A3FBAUYEQCAEQQhqIgBBEGoiBSACQShqKQIA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ByADKAIAIAJrQQNNBEAgAyACQQRBAUEBEOMEIAMoAgghAgsgAygCBCACaiAHOAAAIAMgAkEEaiICNgIIIAQqAiAhByADKAIAIAJrQQNNBEAgAyACQQRBAUEBEOMEIAMoAgghAgsgAyACQQRqNgIIIAMoAgQgAmogBzgAACABQdQAaiEGIAAoAgAiAygCCCECA0AgBSAGaiIEKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQRqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQhqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQQxqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRBqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRRqKgIAIQcgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBzgAACADIAJBBGoiAjYCCCAEQRhqLQAAIQQgAygCACACa0EDTQRAIAMgAkEEQQFBARDjBCADKAIIIQILIAMoAgQgAmogBDYAACADIAJBBGoiAjYCCCAFQRxqIgVB1ABHDQALIAEtAK0BIQQgACgCACICKAIIIQMgAyACKAIARgRAIAIgA0EBQQFBARDjBCACKAIIIQMLIAIgA0EBajYCCCACKAIEIANqIARBAXE6AAAgACgCACICKAIIIQMgAigCACADayEEAkACQAJAAkACQCABLQCsAUEBaw4CAQIAC0EAIQUgBEEESQ0CDAMLQQEhBSAEQQRJDQEMAgtBAiEFIARBA0sNAQsgAiADQQRBAUEBEOMEIAIoAgghAwsgAigCBCADaiAFNgAAIAIgA0EEajYCCCABKQMgIQggASkDKCEJIAAoAgAiACgCCCEBIAAoAgAgAWtBD00EQCAAIAFBEEEB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IAAgDSANIAYgAhsgBiAGXBsiBiAGIAcgBiAHXRsgByAHXBsgC5M4AgQgACADIAMgBCABGyAEIARcGyIDIAMgBSADIAVdGyAFIAVcGyALkzgCACARQSBqJAALuAICAn8BfiMAQdAAayICJAACQAJAAkAgAUUEQCAARQ0BIABBCGsiASgCAEEBRw0CIAJByABqIABBPGopAgA3AwAgAkFAayAAQTRqKQIANwMAIAJBOGogAEEsaikCADcDACACQTBqIABBJGopAgA3AwAgAkEoaiAAQRxqKQIANwMAIAJBIGogAEEUaikCADcDACACQRhqIABBDGopAgA3AwAgACkCBCEEIAFBADYCACACIAQ3AxACQCABQX9GDQAgAEEEayIDKAIAQQFrIQAgAyAANgIAIAANACABQcwAQQQQnw0LIAJBEGoQrwgMAwsgAEUNACAAQQhrIgAoAgBBAWshASAAIAE2AgAgAiAANgIMIAENAiACQQxqEJYLDAILEK8NAAtBuMLBAEE/EK4NAAsgAkHQAGokAAvMAgECfwJAAkACQAJ/AkBBFEEEENQMIgMEQCADIAEpAgA3AgAgA0EQaiABQRBqKAIANgIAIANBCGogAUEIaikCADcCACAAKAKkASIBRQRAIAAgACgCuAFBwAByIgQ2ArgBIABBuAFqDAMLIAEoAgAiBCADKAIARw0BAkAgBARAIAEqAgQgAyoCBFwNAwwBCyABKgIEIAMqAgRcDQIgASoCCCADKgIIXA0CIAEqAgwgAyoCDFwNAiABKgIQIAMqAhBcDQILIANBFEEEEJ8NDAMLQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAACyAAIAAoArgBQcAAciIENgK4ASABQRRBBBCfDSAAQbgBagshASAAIAM2AqQBIAJFDQAgAC0A4QFBAUYNACAALQDQAQ0BDAILDwsgASAEQQRyNgIACyAAQQA2AswBIABBADoA0AELmgIBA38gACgCCCIDIQICf0EBIAFBgAFJDQAaQQIgAUGAEEkNABpBA0EEIAFBgIAESRsLIgQgACgCACADa0sEfyAAIAMgBBDBBiAAKAIIBSACCyAAKAIEaiECAkACQCABQYABTwRAIAFBgBBJDQEgAUGAgARPBEAgAiABQT9xQYABcjoAAyACIAFBEnZB8AFyOgAAIAIgAUEGdkE/cUGAAXI6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NgIAIAMgCTYCjAcgAyAANgKIByADIABBBGo2AoQHIwBBwBNrIgIkACACIAE2AgAgAkEEaiEFAkACQCACKAIAIgcQGSIBQQBIDQACQCABRQRAQQEhBAwBC0EBIQYgAUEBENQMIgRFDQELEB8iChARIggQFyEGIAhBhAFPBEAgCBACCyAGIAcgBBAYIAZBhAFPBEAgBhACCyAKQYQBTwRAIAoQAgsgBSAHEBk2AgggBSAENgIEIAUgATYCAAwBCyAGIAFByLHCABD5CwALIAIoAgghBSACIAIoAgw2AvQLIAIgBTYC8AsgAkHQDGoiASACQfALaiIGECAgAigC0AwhBwJAAkAgAigCjBMiCkECRwRAIAJB0ARqIgRBBHIgAUEEckG4BvwKAAAgBEHoBmoiCCABQegGaikDADcDACAEQeAGaiILIAFB4AZqKQMANwMAIARB2AZqIgwgAUHYBmopAwA3AwAgBEHQBmoiDSABQdAGaikDADcDACAEQcgGaiIOIAFByAZqKQMANwMAIAIgAikDkBM3A5ALIAIgBzYC0AQgAkEQaiIFIARBwAT8CgAAIAIpA5AJIQ8gAkHQEGogAkGYCWpB2AD8CgAAIAYgAkHwCWpB2AD8CgAAIAJBgBJqIAJByApqQcQA/AoAACACQcALaiIEQShqIgcgCCkDADcDACAEQSBqIgggCykDADcDACAEQRhqIgsgDCkDADcDACAEQRBqIgQgDSkDADcDACACIA4pAwA3A8gLIAIgAikDkAs3A8ALIANB5AZqIAVBOGopAwA3AgAgA0HcBmogBUEwaikDADcCACADQdQGaiAFQShqKQMANwIAIANBzAZqIAVBIGopAwA3AgAgA0HEBmogBUEYaikDADcCACADQbwGaiAFQRBqKQMANwIAIANBtAZqIAIpAxg3AgAgAyACKQMQNwKsBiABQThqIAJBiAFqKQMANwMAIAFBMGogAkGAAWopAwA3AwAgAUEoaiACQfgAaikDADcDACABQSBqIAJB8ABqKQMANwMAIAFBGGogBUHYAGopAwA3AwAgAUEQaiACQeAAaikDADcDACACIAJB2ABqKQMANwPYDCACIAIpA1A3A9AMIAJBkA1qIAJBkAFqQaAB/AoAACACQbAOaiACQbACakGgAvwKAAAgAkGoEWogBkHYAPwKAAAgAyABQfQF/AoA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/sIAELAJAAsgCCABQei0wwAQsAkACyADQYABaiIBQRBqIgQgCkEQaikCADcDACABQQhqIgggCkEIaikCADcDACABQSBqIg0gCkEgaikCADcDACABQShqIgsgCkEoaikCADcDACADIAopAgA3A4ABIAMgCikCGDcDmAEgAygCDCIFIAMoAgRGBEAgA0EEakG408IAEKsGCyADKAIIIAVBMGxqIgEgAykDgAE3AgAgAUEgaiANKQMANwIAIAFBGGogA0GYAWopAwA3AgAgAUEQaiAEKQMANwIAIAFBCGogCCkDADcCACABQShqIAspAwA3AgAgAyAFQQFqNgIMIAMoAhgiASADKAIQRgRAIBFByNPCABDHBgsgAygCFCABQQJ0akEANgIAIAMgAUEBajYCGAJAIAMoAiQiBUUNACADKAIgIgEoAgBBAUcNACABQQA2AgQCQCAFQQFGDQAgASgCCEUNACABQQE2AgwMBAtB2MTCAEEPQejTwgAQ+AkAC0HYxMIAQQ9B2NPCABD4CQALIANBgAFqIgFBEGoiBCAKQRBqKQIANwMAIAFBCGoiCCAKQQhqKQIANwMAIAMgCikCADcDgAEgAygCDCIFIAMoAgRGBEAgA0EEakGI08IAEKsGCyADKAIIIAVBMGxqIgEgAykDgAE3AgAgAUIANwIYIAFBEGogBCkDADcCACABQQhqIAgpAwA3AgAgAUEgakIANwIAIAFBKGpCADcCACADIAVBAWo2AgwgAygCGCIBIAMoAhBGBEAgEUGY08IAEMcGCyADKAIUIAFBAnRqQQA2AgAgAyABQQFqNgIYAkAgAygCJEUNACADKAIgIgEoAgBBAUcNACABQQA2AgQMAgtB2MTCAEEPQajTwgAQ+AkACyADKAIEIAMoAgwiAWsgB0kEQCADQQRqIAEgB0EwEOYECyADKAIQIAMoAhgiAWsgB0kEQCADQRBqIAEgB0EEEOYEC0EAIQkgA0EANgIYIAMoAgwiBSADKAIERgRAIANBBGpB+NPCABCrBiADKAIYIQkLIAMoAgggBUEwbGoiAUIANwIAIAFBIGpCADcCACABQRhqQgA3AgAgAUEQakIANwIAIAFBCGpCADcCACABQShqQgA3AgAgAyAFQQFqNgIMIAMoAhAgCUYEQCARQYjUwgAQxwYLIAMoAhQgCUECdGpBADYCACAD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AUkNAQsgABACCyADKAIMIgBBhAFPBEAgABACCyADKAIIIgBBhAFPBEAgABACCyADQRBqJAAgAgutAgMDfwN9AX4jAEFAaiICJAAgAkEEaiIBQQE6ADggAUKAgICAoOH1kTw3AgAgAUKAgICAgICAwD83AiQgAULbn6T6s/vDpD83AiwgAUECNgIIIAFBl+7GxgM2AjQgAUKAgICA0Jmzpj43AhwgAioCOCEEIAIqAjQhBSACKgIwIQYgAi0APCEDIAIpAighB0HgAEEEENQMIgFFBEBBBEHgAEHw+sMAKAIAIgFB7wcgARsRAAAACyABQgA3AlAgAUKAgICAwAA3AkggASADOgBEIAEgBDgCQCABIAU4AjwgASAGOAI4IAEgBzcCMCABQQI2AiggAUECNgIUIAEgADgCECABQoCAgIAQNwIIIAFCgYCAgBA3AgAgAUHWAGpCADcBACACQUBrJAAgAUEIagumAQIDfwF+IwBBEGsiAyQAAkACQCAABEAgAEEIayIEKAIAQQFqIQUgBCAFNgIAIAVFDQEgACgCAA0CIABBfzYCACADIAQ2AgwgAyAANgIIIAMgAEEIaiIFNgIEIAUgAb0iBqcgBkIgiKcgAkEARxAnIABBADYCACAEIAQoAgBBAWsiADYCACAARQRAIANBDGoQjwsLIANBEGokAA8LEK8NCwALELANAAukAQEEfyAAKAIAIQIgACABEMcGAkAgACgCCCIEIAIgACgCDCIBa00NACAAKAIAIQUgASACIARrIgFrIQMCQCABIANLBEAgBSACayADTw0BCyAFIAFrIQIgAUECdCIBBEAgACgCBCIDIAJBAnRqIAMgBEECdGogAfwKAAALIAAgAjYCCA8LIANBAnQiAUUNACAAKAIEIgAgAkECdGogACAB/AoAAAsL0QEBAn0CQAJAAkAgASgCCEUNACABKAIEIgEoAixB/////wNxIAEoAhRB/////wNxag4CAAECCyAAQv////v///+/fzcCCCAAQv////v3//+//wA3AgAPCyAAIAEpAgw3AgggACABKQIANwIADwsgACABKgIQIgIgASoCKCIDIAIgA2AbOAIMIAAgASoCDCICIAEqAiQiAyACIANgGzgCCCAAIAEqAgQiAiABKgIcIgMgAiADXxs4AgQgACABKgIAIgIgASoCGCIDIAIgA18b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Awh/An0CfiMAQdAEayIEJAAjAEHgAWsiACQAIABBgICA+AM2AtgBIABCgICA/IOAgMA/NwKYASAAQgA3ApABIABCzZmz8oOAgMA/NwKIASAAQoCAgPyDgIDAPzcCgAEgAELNmbP2g4CAwD83AnggAEKAgICAgICAwD83AnAgAELNmbP2g4CAwD83AmggAEKAgNichICAwD83AmAgAELNmbP2g4CAwD83AlggAEKAgICAgICAgD83AlAgAELNmbP2g4CAwD83AkggAEKAgMCbhICAgD83AkAgAELNmbP2g4CAwD83AjggAEKAgMCPhICAwD83AjAgAEKas+b0g4CAwD83AiggAEKAgICNhICAwD83AiAgAELNmbP2g4CAwD83AhggAEKAgMCPhICAwD83AhAgAEKas+b0g4CAwD83AgggAEKAgKidhICAwD83AgAgAEKUgICA0AA3AtABIABBmrPm9AM2AtwBIABCgICA/IOAgMA/NwK4ASAAQoCAgICAgIDAPzcCsAEgAELNmbP2g4CAwD83AqgBIABCgIDAl4SAgMA/NwKgASAAQs2Zs/aDgIDAPzcCyAEgAEKAgOCXhICAwD83AsABIARBCGohBSMAQdAAayIBJAAgACgC0AEhBwJ+QfD+wwAoAgBBAUYEQEGA/8MAKQMAIQpB+P7DACkDAAwBCyABQUBrIQYjAEEQayICJAAgAkEAOgAPQQFBARDUDCIDRQRAQQFBAUHw+sMAKAIAIgBB7wcgABsRAAAACyAGIAJBD2qtNwMAIAYgA603AwggA0EBQQEQnw0gAkEQaiQAQfD+wwBCATcDAEGA/8MAIAEpA0giCjcDACABKQNACyELIAFBEGpB4NXBACkDADcDACABIAs3AxhB+P7DACALQgF8NwMAIAEgCjcDICABQdjVwQApAwA3AwggAUKAgID4g4CAgD83AiwgAUFAayEGIAFBLGohA0EgQQQQ1AwiAkUEQEEEQSBB8PrDACgCACIAQe8HIAAbEQAAAAsgBkEENgIIIAYgAjYCBCAGQQQ2AgAgAiADKQIAIgqnviIIIAiSIghDAAAAv5QiCTgCGCACIAhDAAAAP5QiCDgCECACIAg4AgggAiAJOAIAIAIgCkIgiKe+IgggCJIiCUMAAAA/lCIIOAIcIAIgCDgCFCACIAlDAAAAv5QiCDgCDCACIAg4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QYMBSwRAIAEQAgsgAkEANgIYIAJBATYCDCACQaSxwgA2AgggAkIENwIQIAJBCGpBrLHCABDcCwALIAEQByICEAhBAUcEQCABQYQBTwRAIAEQAgtB0PrDAC0AACEEQdD6wwBBAToAAEHU+sMAKAIAIQFB1PrDACACNgIAAkAgBEUNACABQYQBSQ0AIAEQAgsgA0EgaiQADAELIANBADYCGCADQQE2AgwgA0H4r8IANgIIIANCBDcCECADQQhqQYCwwgAQ3AsACwtB1PrDACgCABAJIgWdIgb8ByIKQugHgCEJIAUgBqFEAAAAAICELkGiIgVE////////3z8gBaagIgW9IgdCNIinQf8PcSIBQbIITQR8Qn9CgICAgICAgICAf0KAgICAgICAeCABQf8Ha62HIAFB/wdJGyIIIAhCf4UgB4NQGyAHg78FIAUL/AciCEKAlOvcA4AhByAIIAdCgJTr3AN+facgCiAJQugHfn2nQcCEPWxqIgFB/5Pr3ANLIQIgACABQYCU69wDayABIAIbNgIIIAAgAq0gByAJfHw3AwALcAIGfQF+IAAgAioCAIsiAyABKQIAIglCIIinviIElCACKgIEiyIFIAmnviIGlJIiByACKQIIIglCIIinviIIkjgCDCAAIAMgBpQgBSAElJIiAyAJp74iBJI4AgggACAIIAeTOAIEIAAgBCADkzgCAAuSAQIEfQF+IAEqAgwhBCABKgIIIQUgASoCBCEGIAEqAgAhByACKQIAIQhBEEEEENQMIgFFBEBBBEEQQfD6wwAoAgAiAEHvByAAGxEAAAALIAEgBSAIp74iBZQ4AgggASAHIAWUOAIAIAEgBCAIQiCIp74iBJQ4AgwgASAGIASUOAIEIABBzPrCADYCBCAAIAE2AgALfgECfyMAQSBrIgIkAAJAIAAoAhwiA0EBRiABQQBHcUUEQCABQQAgA0EBRxsiASADSQ0BCyACQQA2AhggAkEBNgIMIAJB3L/CADYCCCACQgQ3AhAgAkEIakHYmMMAENwLAAsgACgCFCABai0AACEAIAJBIGokACAAQX9zQQFxC2QBBH4gAkL/////D4MiAyABQv////8PgyIEfiEFIAAgBSADIAFCIIgiBn4gBCACQiCIIgJ+IgN8IgFCIIZ8IgQ3AwAgACAEIAVUrSACIAZ+IAEgA1StQiCGIAFC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ACgCACIBQe8HIAEbEQAAAAsgASAENgIMIAFBADYCCCABQoGAgIAQNwIAIAEgAzYCECACQRBqJAAgAUEIagtiAQN+IAAoAgAoAgApAwAgASgCACACQXRsaiIAQQxrKQIAhSIDQv////8PgyIEIABBBGs1AgBC3aHxywyFIgV+IANCIIgiA0K307CFDH6FIAMgBX4gBEK307CFDH6FQiCJhQthAQJ/IwBBgAFrIgIkACACQQA2AnwgAkICNwJ0IAJCgICAgBA3AmwgAkEUaiIDQQBB2AD8CwAgAkEIaiAAKAIEIAAoAgggAyABKQIAQQEQJSACLQAQIQAgAkGAAWokACAAC2gBAX8CQCACIAEoAlwiA0kEQCABKAJQIgMgAksNASACIANB/KjDABCwCQALIAIgA0HsqMMAELAJAAsgACACNgIMIAAgATYCACAAIAEoAkwgAkEDdGo2AgggACABKAJYIAJBCHRqNgIEC3QBAX9BHEEEENQMIgJFBEBBBEEcQfD6wwAoAgAiAEHvByAAGxEAAAALIAIgASkCADcCACACQRhqIAFBGGooAgA2AgAgAkEQaiABQRBqKQIANwIAIAJBCGogAUEIaikCADcCACAAQfSfwwA2AgQgACACNgIAC1wBAX8jAEEgayIAJAAgASgCBCECIAEoAgAhASAAQQI2AgQgAEHQl8EANgIAIABCATcCDCAAQqiXwYAwNwMYIAAgAEEYajYCCCABIAIgABDLAiEBIABBIGokACABC1wBAX8jAEEgayIAJAAgASgCBCECIAEoAgAhASAAQQE2AgQgAEGYqMEANgIAIABCATcCDCAAQoCowYAwNwMYIAAgAEEYajYCCCABIAIgABDLAiEBIABBIGokACABC7UBAQF/QcwAQQQQ1AwiAEUEQEEEQcwAQfD6wwAoAgAiAEHvByAAGxEAAAALIABBATYCSCAAQoGAgICAEDcCQCAAQoSAgIAQNwI4IABCgICAifTNxIE7NwIwIABCgICA/PPNxME6NwIoIABCgICA/IOAgMA/NwIgIABCgIDAj4SAibrJADcCGCAAQr+Gu8mDgIDQwAA3AhAgAEKAgICAkJGixDw3AgggAEKBgICAEDcCACAAQQhqC4QBAQF/QcwAQQQQ1AwiAEUEQEEEQcwAQfD6wwAoAgAiAEHvByAAGxEAAAALIABBADYC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ACIAQe8HIAAbEQAAAAsgASAGIASnvpQ4AgAgASAFIARCIIinvpQ4AgQgAEG058IANgIEIAAgATYCAAvMAQEHfSAAIAEqAhQiBiIEIAQgASoCDCIHIgIgAiABKgIEIgUiAyACIANeGyADIANcGyICIAIgBF0bIAIgAlwbOAIMIAAgASoCECIDIAMgASoCCCIEIAQgASoCACICIAIgBF0bIAIgAlwbIgggAyAIXhsgCCAIXBs4AgggACAFIAUgByAFIAddGyAHIAdcGyIFIAUgBiAFIAZdGyAGIAZcGzgCBCAAIAIgAiAEIAIgBF0bIAQgBFwbIgIgAiADIAIgA10bIAMgA1wbOAIAC1wBAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQQE2AhQgA0GI38MANgIQIANCATcCHCADIANBCGqtQoCAgICQggGENwMoIAMgA0EoajYCGCADQRBqIAIQ3AsAC1ABBX0gAioCACABKgIIkyIDIAEqAgAiBJQgAioCBCABKgIMkyIFIAEqAgQiBpSSIgcgB5QgBCAFlCADIAaUkyIDIAOUkiAAKgIAIgMgA5RfC1YCA30Bf0EBIQYgACoCBCIDIAEqAgSMlCABKgIAIAAqAgAiBJSTIgVDAAAAAF4Ef0EBBSAFIAQgASoCCJQgAyABKgIMlJKVIgNDAAAAAGAgAiADYHELC1cBAX8jAEEgayIDJAAgAyAAIAEQrAMgAkEYaiADQRhqKQIANwIAIAJBEGogA0EQaikCADcCACACQQhqIANBCGopAgA3AgAgAiADKQIANwIAIANBIGokAAtQAgF/An4jAEEgayICJAAgACkDACIDQj+HIQQgASADQgBZQQFBACADIASFIAR9IAJBDGoiABCJBCIBIABqQRQgAWsQkQIhACACQSBqJAAgAAtTACMAQSBrIgAkACAAQQE2AgQgAEH8z8EANgIAIABCATcCDCAAQuTPwYDQEzcDGCAAIABBGGo2AgggASgCACABKAIEIAAQywIhASAAQSBqJAAgAQtTACMAQSBrIgAkACAAQQE2AgQgAEH4vsIANgIAIABCATcCDCAAQuC+woDAKzcDGCAAIABBGGo2AgggASgCACABKAIEIAAQywIhASAAQSBqJAAgAQtQAgF9An4gACACKgIAIgMgASkCCCIEp76SOAIIIAAgASkCACIFp74gA5M4AgAgACACKgIEIgMgBEIgiKe+kjgCDCAAIAVCIIinviADkzgCBAtVAQJ/IwBB8ABrIgQkACAEQQA2AmwgBEICNwJkIARCgICAgBA3AlwgBEEEaiIFQQBB2AD8CwAgACABKAIEIAEoAgggBSACKQIAIAMQJSAEQfAAaiQAC08CBH0BfiADKgIAIgQgBJQgAyoCBCIFIAWUkpEhBiAAIAEqAgAiByAFIAaVlCACKQIIIghCIIinvpI4AgQgACAHIAQgBpWUIAinvpI4AgALUQEDfSACKgIAIgQgBJQgAioCBCIDIAOUkpEhBSAAIAEqAgQgAyAFlSIDmCADIAEqAggiA5SSOAIEIAAgASoCACAEIAWVIgSYIAQgA5SSOAIAC1kBBH0gACABKgJEIgIgASoCTCIEkkMAAAA/lDgCBCAAIAEqAkAiAyABKgJIIgWSQwAAAD+UOAIAIAAgBSADkyIDIAOUIAQgApMiAiAClJKRQwAAAD+UOAIIC1kBBH0gACABKgIsIgIgASoCNCIEkkMAAAA/lDgCBCAAIAEqAigiAyABKgIwIgWSQwAAAD+UOAIAIAAgBSADkyIDIAOUIAQgApMiAiAClJKRQwAAAD+UOAIIC7ABAQN/IAAoAgAiACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQAJAIABBCGooAgAiAUEQaigCACICRQ0AIAFBFGooAgAhAyACQQA6AAAgA0UNACACIANBARCfDQsCQCABQX9GDQAgASABKAIEIgJBAWs2AgQgAkEBRw0AIAFBGEEIEJ8NCwsCQCAAQX9GDQAgACAAKAIEIgFBAWs2AgQgAUEBRw0AIABBGEEEEJ8NCwtSAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIAQX9GDQIgACgCDCEAIAEgAzYCACAAQQJHDwsQrw0LAAsQsA0AC1IBA38CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKAIgIQAgASADNgIAIABBAkcPCxCvDQsACxCwDQALWQECfiAAKAIAKAIAKQMAIAEoAgAgAkF0bGpBDGspAgCFIgNCIIgiBEK307CFDH4gA0L/////D4MiA0LdofHLDH6FIARC3aHxywx+IANCt9OwhQx+hUIgiYULXAEBfyMAQTBrIgYkACAGQoCAgPwDNwIQIAYgBCkCADcCGCAGIAMqAmA4AiggBiAFKQIANwMgIAYgASACIAMgBkEQaiAGQSBqEOgCIAAgBikDADcCACAGQTBqJAALTwEBfwJAIAEgACgCTE8NACAAKAJIIAFBDGxqIgEoAgBBAUcNACABKAIEIAJHDQAgASgCCCIBIAAoAixPDQAgACgCKCABQfABbGohAwsgAwtUAQJ+IAEoAgAgAkF0bGpBDGsoAgAgACgCACgCACkDACIDp3OtIgRC3aHxywx+IANCIIgiA0K307CFDH6FIARCt9OwhQx+IANC3aHxywx+hUIgiYULYAEBfyMAQfAAayICJAAgAiABEM0BQfAAQQgQ1AwiAQRAIAEgAkHwAPwKAAAgAEHUlMMANgIEIAAgATYCACACQfAAaiQADwtBCEHwAEHw+sMAKAIAIgBB7wcgABsRAAAAC2IBAX0gAEIANwIAIABDAAAAAEMAAIA/IAIgASoCACICIAJD2w9JQJSUlCIDlSADQwAAAABbGzgCCCAAQwAAAABDAACAPyACIAKUQwAAAD+UIAOUIgKVIAJDAAAAAFsbOAIMC2YBAn8gASgCACECIAFBADYCAAJAIAIEQCABKAIEIQNBCEEEENQMIgFFDQEgASADNgIEIAEgAjYCACAAQcC+wwA2AgQgACABNgIADwsAC0EEQQhB8PrDACgCACIAQe8HIAAbEQAAAAtVAQJ/IAAoAgAiACgCDCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAQQxqELYICwJAIABBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEEUQQQQnw0LC44CAQR/IwBBEGsiAyQAIAMgACgCACICQQRqNgIMIwBBEGsiACQAIAEoAgBBmL7CAEEIIAEoAgQoAgwRBQAhBCAAQQA6AA0gACAEOgAMIAAgATYCCCAAQQhqQaC+wgBBBiACQfi9wgAQswRBpr7CAEEFIAJBCGpBiL7CABCzBEGrvsIAQQQgA0EMakHEvMIAELMEIQIgAC0ADSIEIAAtAAwiBXIhAQJAIARBAUcNACAFQQFxDQAgAigCACIBLQAKQYABcUUEQCABKAIAQYPiwwBBAiABKAIEKAIMEQUAIQEMAQsgASgCAEGC4sMAQQEgASgCBCgCDBEFACEBCyAAQRBqJAAgA0EQaiQAIAFBAXELVQECfSAAIAEqAgAiAyADlCABKgIEIgMgA5SSkTgCCCAAIAIqAgwgAioCAEMAAAAAlCIDIAIqAgRDAAAAAJQiBJKSOAIEIAAgAioCCCADIASTkjgCAAtSAQF/IAAoAgAiAEHIAGooAgAiAQRAIABBzABqKAIAIAFB0ABsQQQQnw0LAkAgAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQeAAQQQQnw0LC1ECA38BfQJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAqAjghBCABIAM2AgAgBA8LEK8NCwALELANAAtRAgN/AX0CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKgIIIQQgASADNgIAIAQPCxCvDQsACxCwDQALUQEDfwJAAkAgAARAIABBCGsiAigCACIEQQFqIQMgAiADNgIAIANFDQEgACgCAA0CIAAgATgCCCAAQQE2AgQgAiAENgIADwsQrw0LAAsQsA0AC08BA38CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAALQA8IQAgASADNgIAIAAPCxCvDQsACxCwDQALUQIDfwF9AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIAQX9GDQIgACoCMCEEIAEgAzYCACAEDwsQrw0LAAsQsA0AC1ECA38BfQJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAqAjQhBCABIAM2AgAgBA8LEK8NCwALELANAAtRAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIkIABBATYCICACIAQ2AgAPCxCvDQsACxCwDQALTwEDfwJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAtAFQhACABIAM2AgAgAA8LEK8NCwALELANAAtPAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIAQX9GDQIgACgCSCEAIAEgAzYCACAADwsQrw0LAAsQsA0AC1ECA38BfAJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAArAhQhBCABIAM2AgAgBA8LEK8NCwALELANAAtRAgN/AX0CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKgIsIQQgASADNgIAIAQPCxCvDQsACxCwDQALTwEDfwJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAoAjQhACABIAM2AgAgAA8LEK8NCwALELANAAtRAgN/AX0CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKgIEIQQgASADNgIAIAQPCxCvDQsACxCwDQALTwEDfwJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAoAjAhACABIAM2AgAgAA8LEK8NCwALELANAAtPAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIAQX9GDQIgACgCPCEAIAEgAzYCACAADwsQrw0LAAsQsA0AC08BA38CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKAJAIQAgASADNgIAIAAPCxCvDQsACxCwDQALUQIDfwF9AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIAQX9GDQIgACoCICEEIAEgAzYCACAEDwsQrw0LAAsQsA0AC1ABA38CQAJAIAAEQCAAQRBrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKAKkAiEAIAEgAzYCACAADwsQrw0LAAsQsA0AC08BA38CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKAIcIQAgASADNgIAIAAPCxCvDQsACxCwDQALTwEDfwJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAtAAwhACABIAM2AgAgAA8LEK8NCwALELANAAtRAgN/AXwCQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKwIYIQQgASADNgIAIAQPCxCvDQsACxCwDQALTwEDfwJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAtABQhACABIAM2AgAgAA8LEK8NCwALELANAAtPAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIAQX9GDQIgACgCBCEAIAEgAzYCACAADwsQrw0LAAsQsA0AC1ECA38BfAJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAArAgQhBCABIAM2AgAgBA8LEK8NCwALELANAAtRAgN/AX0CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKgIMIQQgASADNgIAIAQPCxCvDQsACxCwDQALUQIDfwF8AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIAQX9GDQIgACsCDCEEIAEgAzYCACAEDwsQrw0LAAsQsA0AC1ECA38BfQJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAqAiQhBCABIAM2AgAgBA8LEK8NCwALELANAAtRAgN/AX0CQAJAIAAEQCAAQQhrIgEoAgAiA0EBaiECIAEgAjYCACACRQ0BIAAoAgBBf0YNAiAAKgIoIQQgASADNgIAIAQPCxCvDQsACxCwDQALUAEDfwJAAkAgAARAIABBCGsiASgCACIDQQFqIQIgASACNgIAIAJFDQEgACgCAEF/Rg0CIAAtAOAEIQAgASADNgIAIAAPCxCvDQsACxCwDQALWQECfiAAKAIAKAIAKQMAIAEoAgAgAkEDdGtBCGspAgCFIgNCIIgiBEK307CFDH4gA0L/////D4MiA0LdofHLDH6FIARC3aHxywx+IANCt9OwhQx+hUIgiYULWQECfiAAKAIAKAIAKQMAIAEoAgAgAkEEdGtBEGspAgCFIgNCIIgiBEK307CFDH4gA0L/////D4MiA0LdofHLDH6FIARC3aHxywx+IANCt9OwhQx+hUIgiYULTQEEfSAAKgIAIAIqAgAgASoCCJMiAyABKgIAIgSUIAIqAgQgASoCDJMiBSABKgIEIgaUkpQgACoCBCAEIAWUIAMgBpSTlJJDAAAAAF8LZAEBf0EYQQQQ1AwiAkUEQEEEQRhB8PrDACgCACIAQe8HIAAbEQAAAAsgAiABKQIANwIAIAJBEGogAUEQaikCADcCACACQQhqIAFBCGopAgA3AgAgAEHQ4sIANgIEIAAgAjYCAAtkAQF/QRRBBBDUDCICRQRAQQRBFEHw+sMAKAIAIgBB7wcgABsRAAAACyACIAEpAgA3AgAgAkEQaiABQRBqKAIANgIAIAJBCGogAUEIaikCADcCACAAQbzdwgA2AgQgACACNgIAC1wBAX8jAEEQayICJAACfyAAKAIABEAgAiAANgIMIAFB4KfBAEHop8EAIAJBDGpB0KfBABDLBwwBCyABKAIAQb+nwQBBECABKAIEKAIMEQUACyEAIAJBEGokACAAC00BA38CQAJAIAAEQCAAQQhrIgIoAgAiBEEBaiEDIAIgAzYCACADRQ0BIAAoAgANAiAAIAFBAEc6ADwgAiAENgIADwsQrw0LAAsQsA0AC04BA38CQAJAIAAEQCAAQQhrIgIoAgAiBEEBaiEDIAIgAzYCACADRQ0BIAAoAgANAiAAIAFBAEc6AOAEIAIgBDYCAA8LEK8NCwALELANAAtcAQF/IwBBEGsiAiQAAn8gACgCAARAIAIgADYCDCABQcDPwQBByM/BACACQQxqQbDPwQAQywcMAQsgASgCAEGfz8EAQRAgASgCBCgCDBEFAAshACACQRBqJAAgAAtcAQF/IwBBEGsiAiQAAn8gACgCAARAIAIgADYCDCABQei9wgBB8L3CACACQQxqQdi9wgAQywcMAQsgASgCAEHHvcIAQRAgASgCBCgCDBEFAAshACACQRBqJAAgAAtOAQR9IAAgASkCCDcCCCAAIAIqAgwgASoCBCIDIAIqAgAiBJQgASoCACIFIAIqAgQiBpSSkjgCBCAAIAIqAgggBSAElCADIAaUk5I4AgALVQECfyMAQSBrIgEkACABIABBgICAgHxxIgI2AgQgAkUEQCABQSBqJAAgAEGAgICAfHIPCyABQQA2AghBACABQQRqQazywgAgAUEIakGwncMAEKALAAtOAQR9IAAgAS0ACDoACCAAIAIqAgwgASoCBCIDIAIqAgAiBJQgASoCACIFIAIqAgQiBpSSkjgCBCAAIAIqAgggBSAElCADIAaUk5I4AgALSQEDfUEAIQEgACAEKgIAIgYgBpQgBCoCBCIFIAWUkiIHQwAAgCheBH8gACAFIAeRIgWVOAIIIAAgBiAFlTgCBEEBBUEACzYCAAtIAQF/IAAoAgAgACgCCCIDayACSQRAIAAgAyACEOgEIAAoAgghAwsgAgRAIAAoAgQgA2ogASAC/AoAAAsgACACIANqNgIIQQALQAICfQF/AkAgASoCACIDIAAqAgAiAoxdDQAgAiADXQ0AIAEqAgQiAiAAKgIEIgNeRSACIAOMXUF/c3EhBAsgBAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAI4IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIADQIgAEECNgIMIAEgAzYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIwIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAI0IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayIBKAIAIgNBAWohAiABIAI2AgAgAkUNASAAKAIADQIgAEECNgIgIAEgAzYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIEIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIQIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIkIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIsIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgIwIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgI0IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgI8IAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABNgJAIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIgIAIgBDYCAA8LEK8NCwALELANAAtKAQN/AkACQCAABEAgAEEIayICKAIAIgRBAWohAyACIAM2AgAgA0UNASAAKAIADQIgACABOAIIIAIgBDYCAA8LEK8NCwALELANAAtFAQF/AkAgACoCACABKgIMX0UNACAAKgIEIAEqAhBfRQ0AIAAqAgwgASoCAGBFDQAgACoCECABKgIEYEUNAEEBIQILIAILOgEBfyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABBmLbDADYCCCAAQgQ3AhAgAEEIakGgtsMAENwLAAs6AQF/IwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGEwMMANgIIIABCBDcCECAAQQhqQYzAwwAQ3AsAC0gBAX8gACgCACAAKAIIIgNrIAJJBEAgACADIAIQwQYgACgCCCEDCyACBEAgACgCBCADaiABIAL8CgAACyAAIAIgA2o2AghBAAtVACABKAIAIAIoAgAgAygCACAEKAIAIAUoAgAQDyEBQeT6wwAoAgAhAkHg+sMAKAIAIQNB4PrDAEIANwIAIAAgAiABIANBAUYiARs2AgQgACABNgIAC0oBAX8jAEEQayIDJAAgAyABIAJBARCEASAAIAMpAgQ3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////////D4MgCkI0iKdB/w9xIgYbIgxCAYMhDSALUARAQQQgDlANARogBkGzCGshBkIBIQsgDVAMAQtCgICAgICAgCAgDEIBhiAMQoCAgICAgIAIUSIAGyEMQgJCASAAGyELQct3Qcx3IAAbIAZqIQYgDVALIQAgAyAGOwF4IAMgCzcDcCADQgE3A2ggAyAMNwNgIAMgADoAegJ/AkACQAJAAkACQCAAQQFNBEAgA0EgaiIGIANB4ABqIANBD2oQc0GO3sMAQQEgCkIAUyIAGyEFQY7ewwBBj97DACAAGyEHIApCP4inIQAgAygCIEUNASADQdgAaiAGQQhqKAIANgIAIAMgAykCIDcDUAwCCyAAQQJGDQNBASEGQY7ewwBBj97DACAKQgBTIgcbQY7ewwBBASAHGyAEGyEFIApCP4inIARyIQcgAEH/AXFBBEYNAiADQQM2AiggA0GT3sMANgIkIANBAjsBICADQSBqDAULIANB0ABqIANB4ABqIANBD2oQLAsgByAFIAQbIQUgACAEciEHIAMgAygCUCADKAJUIAMvAVhBACADQSBqEOIDIAMoAgQhBiADKAIADAMLIANBAjsBIAwBCyADQQM2AiggA0GQ3sMANgIkIANBAjsBIEEBIQVBACEHQQEhBiADQSBqDAELIANBATYCKCADQZbewwA2AiQgA0EgagshACADIAY2AlwgAyAANgJYIAMgBzYCVCADIAU2AlAgASADQdAAahDFAiEAIANBgAFqJAAgAA8LIAVBAEchCCABLwEOIQcjAEHwCGsiAiQAIA+9IQoCf0EDIA+ZRAAAAAAAAPB/YQ0AGkECIApCgICAgICAgPj/AIMiC0KAgICAgICA+P8AUQ0AGiAKQv////////8HgyIOQoCAgICAgIAIhCAKQgGGQv7///////8PgyAKQjSIp0H/D3EiBBsiDEIBgyENIAtQBEBBBCAOUA0BGiAEQbMIayEEQgEhCyANUAwBC0KAgICAgICAICAMQgGGIAxCgICAgICAgAhRIgAbIQxCAkIBIAAbIQtBy3dBzHcgABsgBGohBCANUAshACACIAQ7AegIIAIgCzcD4AggAkIBNwPYCCACIAw3A9AIIAIgADoA6ggCfwJAAkAgAEEBTQRAQXRBBSAEwSIAQQBIGyAAbCIFQcD9AEkNAUGd3sMAQSVBxN7D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kSAAKgIAkyIDIANDAAAAAF0bIAMgAhsLNgEBfyMAQRBrIgIkACACQQhqIAEQqAIgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACzYBAX8jAEEQayICJAAgAkEIaiABEIYDIAIoAgwhASAAIAIoAgg2AgAgACABNgIEIAJBEGokAAs2AQF/IwBBEGsiAiQAIAJBCGogARC+BCACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALNgEBfyMAQRBrIgIkACACQQhqIAEQ+QMgAigCDCEBIAAgAigCCDYCACAAIAE2AgQgAkEQaiQACzYBAX8jAEEQayICJAAgAkEIaiABEKYEIAIoAgwhASAAIAIoAgg2AgAgACABNgIEIAJBEGokAAs8AQF/IwBBEGsiAyQAIANB55bBADYCDCADIAA2AghBACADQQhqQfS5wwAgA0EMakH0ucMAIAEgAhDhAwALOQEBfyMAQRBrIgQkACAEIAE2AgwgBCAANgIIQQAgBEEIakGo4MMAIARBDGpBqODDACACIAMQ4QMACzgBAX8gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEOcKDwsgACABEMEIDwsgACABEMAICzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBEOcBIAMoAgwhACADQSBqJAAgAEEDRwswAQF/IwBBIGsiAyQAIANBDGogACABIAJBARCxAiADKAIMIQAgA0EgaiQAIABBA0cLSwEBf0EUQQQQ1AwiAEUEQEEEQRRB8PrDACgCACIAQe8HIAAbEQAAAAsgAEKAgID8AzcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqC0cBAX9BFEEEENQMIgBFBEBBBEEUQfD6wwAoAgAiAEHvByAAGxEAAAALIABCADcCDCAAQQA2AgggAEKBgICAEDcCACAAQQhqCzABAX8jAEEgayIDJAAgA0EMaiAAIAEgAkEBEOoBIAMoAgwhACADQSBqJAAgAEEDRwswAQF/IwBBIGsiAyQAIANBDGogACABIAJBARCUASADKAIMIQAgA0EgaiQAIABBA0cLLwEBfyMAQRBrIgMkACADQQhqIAAgASACQQEQciADKAIIIQAgA0EQaiQAIABBAUYLMAEBfyMAQSBrIgMkACADQQxqIAAgASACQQAQhQEgAygC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IgBBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEHQAUEQEJ8NCwswAQF/AkAgACgCACIAQX9GDQAgACAAKAIEQQFrIgE2AgQgAQ0AIABBwABBBBCfDQsLQAEBf0EMQQQQ1AwiAEUEQEEEQQxB8PrDACgCACIAQe8HIAAbEQAAAAsgAEEANgIIIABCgYCAgBA3AgAgAEEIagswAQF9QwAAAAAgACoCACABKgIAlCAAKgIEIAEqAgSUkiIDIANDAAAAAF0bIAMgAhsLKgEBfyMAQRBrIgIkACACQQRqIAAgAUEBEC0gAi0ADCEAIAJBEGokACAACyoBAX8jAEEQayICJAAgAkEEaiAAIAFBARApIAItAAwhACACQRBqJAAgAAsqAQF/IwBBEGsiAiQAIAJBBGogACABQQEQaSACLQAMIQAgAkEQaiQAIAALKgEBfyMAQRBrIgIkACACQQRqIAAgAUEBECogAi0ADCEAIAJBEGokACAACysCAX0BfiAAIAEqAgAiAyACKQIAIgSnvpQ4AgAgACADIARCIIinvpQ4AgQLKgEBfiAAIAEpAggiAqe+IAEqAgCTOAIAIAAgAkIgiKe+IAEqAgSTOAIECywBAX8jAEEQayICJAAgAiAAKAIANgIMIAJBDGogARD8AyEAIAJBEGokACAACyUAIAAgASoCACACKgIAmLytIAEqAgQgAioCBJi8rUIghoQ3AgALUQEBfyMAQRBrIgMkACADIAI2AgwgAyABNgIIIAMgADYCBCMAQRBrIgAkACAAIANBBGoiASkCADcCCCAAQQhqQYi/wwAgASgCCEEBQQAQlwcAC/wBAgJ/AX4jAEEQayICJAAgAkEBOwEMIAIgATYCCCACIAA2AgQjAEEQayIBJAAgAkEEaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCDCEDAkACQAJAAkAgAigCBA4CAAECCyADDQFBASECQQAhAwwCCyADDQAgAigCACICKAIEIQMgAigCACECDAELIABBgICAgHg2AgAgACABNgIMIABB7L7DACABKAIEIAEoAggiAC0ACCAALQAJEJcHAAsgACADNgIEIAAgAjYCACAAQdC+wwAgASgCBCABKAIIIgAtAAggAC0ACRCXBwALKAEBfyMAQSBrIgIkACACIAAgAUEBEJoBIAItAAghACACQSBqJAAgAAsoAQF/IwBBIGsiAiQAIAIgACABQQEQkgEgAi0ACCEAIAJBIGokACAACykAIABB/wFxIgBBEE0EQCAAQdeWwQBqLQAADwsgAEERQaSnwwAQsAkACyQBAX0gASoCACICIAKUIAEqAgQiAiAClJIgACoCACICIAKUXwsmAQF9IABCADcCACAAIAEqAgAiAiAClCABKgIEIgIgApSSkTgCCAsoAQF9IAAgASoCACICOAIMIAAgAjgCCCAAIAKMIgI4AgQgACACOAIACzMAIAEoAgAgACgCAC0AAEECdCIAQZyvwgBqKAIAIABBjK/CAGooAgAgASgCBCgCDBEFAAslACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAQgBSABKAIQER4ACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQEQIACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQERAACyMAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQESAACyQAIABFBEBBoLDCAEEyEK4NAAsgACACIAMgBCABKAIQEZ8BAAsjACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAQgASgCEBE4AAsiACAAIAEpAgA3AgggACABKgIEjDgCBCAAIAEqAgCMOAIACzEAIAJCgYCAgCw3AhggAkKAgICApICAgMAANwIQIAIgACkCCDcCCCACIAApAgA3AgALKAEBfyAAKAIAIgFBgICAgHhyQYCAgIB4RwRAIAAoAgQgAUEBEJ8NCwshACAARQRAQaCwwgBBMhCuDQALIAAgAiADIAEoAhARAQALHwAgACoCACABKgIAlCAAKgIEIAEqAgSUkkMAAAAAXwseAQJ9IAAqAgggACoCACIBIAAqAgQiAiABIAJfG5ILHQAgASgCAARAIABBwL7DADYCBCAAIAE2AgAPCwALJwEBfyAAKAIAIgIEQCABKAIAIAIgACgCBCABKAIEKAIMEQUADwsACyQAIAAtAABFBEAgAUGo5MMAQQUQpwIPCyABQa3kwwBBBBCnAgsfACAARQRAQaCwwgBBMhCuDQALIAAgAiABKAIQEQMACx0AIAAgASkCQDcCACAAQQhqIAFByABqKQIANwIACxwAIAAgASkCKDcCACAAQQhqIAFBMGopAgA3AgALKQAgACAALQAEIAFBLkZyOgAEIAAoAgAiACgCACABIAAoAgQoAhARAwAL2gkDD30KfwN+AkAgACEZIAIhDyABKAIsIRYgASgCMCEAIAEoAjghFCABKAI8IRUjAEEQayIYJAAgGEEEaiETIBQhAQJAIBVFDQAgASAVQQxsaiEbA0ACQAJAIAEoAgAiEiAASQRAIAFBBGooAgAiGiAATw0BIAFBCGooAgAiFyAASQ0CIBcgAEGcw8IAELAJAAsgEiAAQfzCwgAQsAkACyAaIABBjMPCABCwCQALIBYgEkEDdGoiEikCACEcIBIqAgAiAiAWIBdBA3RqIhcqAgAiA5MiBCAElCASKgIEIgYgFyoCBCIIkyIEIASUkpEhBCAXKQIAIR0gFiAaQQN0aiISKQIAIR4CQAJAAkAgEioCACIMIAKTIgIgApQgEioCBCIOIAaTIgIgApSSkSICIAMgDJMiAyADlCAIIA6TIgMgA5SSkSIGXkUEQCACIAReRQ0BIAYhAyACIQggBCECDAMLIAIgBF4NASAEIQMgAiEIIAYhAgwCCyAGIAQgBCAGXSISGyEDIAQgBiASGyEIDAELIAYgBCAEIAZdIhIbIQggAiEDIAQgBiASGyECCyAKQwAAAABDAAAAACADIAggApOSIAIgAyAIkyIEkiACIASTIAMgCCACkpKUlJQiAiACQwAAAABdGyACIAJcG5FDAACAPpQiAiAcQiCIp75Dq6qqPpQgHkIgiKe+Q6uqqj6UkiAdQiCIp75Dq6qqPpSSlJIhCiALIAIgHKe+Q6uqqj6UIB6nvkOrqqo+lJIgHae+Q6uqqj6UkpSSIQsgCSACkiEJIBsgAUEMaiIBRw0ACyAJQwAAAABbDQAgCiAJlSEKIAsgCZUhCwsgEyAKOAIIIBMgCzgCBCATIAk4AgAgGCkCCCEcAkACQAJAIBgqAgQiDkMAAAAAXARAIBUEQCAUIBVBDGxqIRIDQCAUKAIAIgEgAE8NAyAUQQRqKAIAIhUgAE8NBCAUQQhqKAIAIhMgAE8NBSAWIAFBA3RqIgEqAgAiBiAWIBNBA3RqIhMqAgAiCJMiAiAClCABKgIEIgkgEyoCBCIKkyICIAKUkpEhAwJAAkACQCAWIBVBA3RqIgEqAgAiAiAGkyILIAuUIhAgASoCBCIHIAmTIgwgDJQiEZKRIgUgCCACkyICIAKUIAogB5MiAiAClJKRIgReRQRAIAMgBV1FDQEgBCEHIAUhAiADIQUMAwsgAyAFXQ0BIAMhByAFIQIgBCEFDAILIAQgAyADIARdIgEbIQcgAyAEIAEbIQIMAQsgBCADIAMgBF0iARshAiAFIQcgAyAEIAEbIQULIA0gCCAGkyIDIAOUIBAgCyADlJKSIAogCZMiAyADlCARIAwgA5SSkpJDq6oqPpRDAAAAAEMAAAAAIAcgAiAFk5IgBSAHIAKTIgOSIAUgA5MgByACIAWSkpSUlCICIAJDAAAAAF0bIAIgAlwbkUMAAIA+lJSSIQ0gEiAUQQxqIhRHDQALC0MAAAAAQwAAgD8gDyANlCIClSACQwAAAABbGyEHQwAAAABDAACAPyAPIA6UIgKVIAJDAAAAAFsbIQULIBkgBzgCDCAZIAU4AgggGSAcNwIAIBhBEGokAAwDCyABIABBzMLCABCwCQALIBUgAEHcwsIAELAJAAsgEyAAQezCwgAQsAkACwsaAQF/IAAoAgAiAQRAIAAoAgQgAUEBEJ8NCwtSACAABEAgACABQfD6wwAoAgAiAEHvByAAGxEAAAALIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHYwMMANgIIIABCBDcCECAAQQhqIAIQ3AsACx8AIABBCGpB4KTBACkCADcCACAAQdikwQApAgA3AgALHwAgAEEIakHwpMEAKQIANwIAIABB6KTBACkCADcCAAsfACAAQQhqQYClwQApAgA3AgAgAEH4pMEAKQIANwIACx8AIABBCGpBgMrBACkCADcCACAAQfjJwQApAgA3AgALHwAgAEEIakGgysEAKQIANwIAIABBmMrBACkCADcCAAsfACAAQQhqQbDKwQApAgA3AgAgAEGoysEAKQIANwIACx8AIABBCGpBwMrBACkCADcCACAAQbjKwQApAgA3AgALHwAgAEEIakHQysEAKQIANwIAIABByMrBACkCADcCAAsfACAAQQhqQeDKwQApAgA3AgAgAEHYysEAKQIANwIACx0AIABBvOrBADYCBCAAIAE2AgAgACABKgIQOAIICx8AIABBCGpBjLTCACkCADcCACAAQYS0wgApAgA3AgALHwAgAEEIakGctMIAKQIANwIAIABBlLTCACkCADcCAAsfACAAQQhqQay0wgApAgA3AgAgAEGktMIAKQIANwIACx8AIABBCGpBvLTCACkCADcCACAAQbS0wgApAgA3AgALHwAgAEEIakHMtMIAKQIANwIAIABBxLTCACkCADcCAAsfACAAQQhqQdy0wgApAgA3AgAgAEHUtMIAKQIANwIACx8AIABBCGpB7LTCACkCADcCACAAQeS0wgApAgA3AgALHwAgAEEIakH8tMIAKQIANwIAIABB9LTCACkCADcCAAsfACAAQQhqQYy1wgApAgA3AgAgAEGEtcIAKQIANwIACx8AIABBCGpBnLXCACkCADcCACAAQZS1wgApAgA3AgALHwAgAEEIakGstcIAKQIANwIAIABBpLXCACkCADcCAAsfACAAQQhqQby1wgApAgA3AgAgAEG0tcIAKQIANwIACx8AIABBCGpBzLXCACkCADcCACAAQcS1wgApAgA3AgALHwAgAEEIakHctcIAKQIANwIAIABB1LXCACkCADcCAAsfACAAQQhqQey1wgApAgA3AgAgAEHktcIAKQIANwIACx8AIABBCGpB/LXCACkCADcCACAAQfS1wgApAgA3AgALHwAgAEEIakGMtsIAKQIANwIAIABBhLbCACkCADcCAAsfACAAQQhqQZy2wgApAgA3AgAgAEGUtsIAKQIANwIACx8AIABBCGpBrLbCACkCADcCACAAQaS2wgApAgA3AgALHwAgAEEIakG8tsIAKQIANwIAIABBtLbCACkCADcCAAsfACAAQQhqQcy2wgApAgA3AgAgAEHEtsIAKQIANwIACx8AIABBCGpB3LbCACkCADcCACAAQdS2wgApAgA3AgALHwAgAEEIakHstsIAKQIANwIAIABB5LbCACkCADcCAAsYAQJ9IAAqAgAiASAAKgIEIgIgASACXxsLHQAgAEGYg8MANgIEIAAgATYCACAAIAEqAhA4AggLoQQDDn0DfwN+IAIhCCABKgIAIgkgAUEQaiISKgIAIgqTIgIgApQgASoCBCILIBIqAgQiDJMiAiAClJKRIQQCQAJAAkAgAUEIaiITKgIAIgMgCZMiDSANlCIPIBMqAgQiBiALkyIOIA6UIhCSkSICIAogA5MiAyADlCAMIAaTIgMgA5SSkSIFXkUEQCACIAReRQ0BIAUhAyACIQYgBCECDAMLIAIgBF4NASAEIQMgAiEGIAUhAgwC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IAAgATYCAAsWAEHk+sMAIAA2AgBB4PrDAEEBNgIACxMAIABBhLnCADYCBCAAIAE2AgALEwAgAEGUucIANgIEIAAgATYCAAsTACAAQaS5wgA2AgQgACABNgIACxMAIABBtLnCADYCBCAAIAE2AgALEwAgAEHEucIANgIEIAAgATYCAAsTACAAQdS5wgA2AgQgACABNgIACxMAIABB5LnCADYCBCAAIAE2AgALEwAgAEH0ucIANgIEIAAgATYCAAsTACAAQYS6wgA2AgQgACABNgIACxMAIABBlLrCADYCBCAAIAE2AgALEwAgAEGkusIANgIEIAAgATYCAAsTACAAQbS6wgA2AgQgACABNgIACxMAIABBxLrCADYCBCAAIAE2AgALEwAgAEHUusIANgIEIAAgATYCAAsTACAAQeS6wgA2AgQgACABNgIACxMAIABB9LrCADYCBCAAIAE2AgALEwAgAEGEu8IANgIEIAAgATYCAAsTACAAQZS7wgA2AgQgACABNgIACxMAIABBpLvCADYCBCAAIAE2AgALEwAgAEG0u8IANgIEIAAgATYCAAsTACAAQcS7wgA2AgQgACABNgIACxMAIABB1LvCADYCBCAAIAE2AgALEwAgAEHku8IANgIEIAAgATYCAAsQACAAIAE2AgQgAEEDNgIACxAAIAAgATYCBCAAQQQ2AgALEAAgACABNgIEIABBAjYCAAsQACAAIAE2AgQgAEEBNgIACxAAIAAgATYCBCAAQQA2AgALIQAgAEL////39/////4ANwIIIABC////9/////9+NwIACxAAIABBADYCACAAIAE2AgQLEwAgAEGggsMANgIEIAAgATYCAAsTACAAQbyCwwA2AgQgACABNgIACxMAIABB/ILDADYCBCAAIAE2AgALEwAgAEG8g8MANgIEIAAgATYCAAsTACAAQfyDwwA2AgQgACABNgIACxAAIABBCjYCACAAIAE2AgQLEwAgAEGEh8MANgIEIAAgATYCAAsQACAAQQc2AgAgACABNgIECxMAIABBhIrDADYCBCAAIAE2AgALEAAgAEEGNgIAIAAgATYCBAsTACAAQYSNwwA2AgQgACABNgIACxAAIABBCTYCACAAIAE2AgQLEAAgAEELNgIAIAAgATYCBAsTACAAQYSQwwA2AgQgACABNgIACyEAIABC////9/f////+ADcCCCAAQv////f/////fjcCAAsUACAAQf////sHNgIIIABCADcCAAshACAAQv////f3/////gA3AgggAEL////3/////343AgALEAAgAEEINgIAIAAgATYCBAsQACAAQQU2AgAgACABNgIECxAAIABBDDYCACAAIAE2AgQLEwAgAEGItcMANgIEIAAgATYCAAsQACAAQQ02AgAgACABNgIECxMAIABBpLXDADYCBCAAIAE2AgALEAAgAEEONgIAIAAgATYCBAsTACAAQcC1wwA2AgQgACABNgIAC+kGARB/IAAoAgAhCCAAKAIEIQRBACEAIwBBEGsiCSQAQQEhDQJAIAEoAgAiCkEiIAEoAgQiDigCECIPEQMADQACQCAERQRAQQAhAQwBC0EAIARrIRAgCCEHIAQhBQNAIAUgB2ohEUEAIQECQAJAA0AgASAHaiIDLQAAIgZB/wBrQf8BcUGhAUkNASAGQSJGDQEgBkHcAEYNASAFIAFBAWoiAUcNAAsgAiAFaiECDAELIANBAWohByABIAJqIQUCfwJAIAMsAAAiBkEATgRAIAZB/wFxIQMMAQsgBy0AAEE/cSELIAZBH3EhDCADQQJqIQcgBkFfTQRAIAxBBnQgC3IhAwwBCyAHLQAAQT9xIAtBBnRyIQsgA0EDaiEHIAZBcEkEQCALIAxBDHRyIQMMAQsgBy0AACEGIANBBGohByAMQRJ0QYCA8ABxIAZBP3EgC0EGdHJyIgNBgIDEAEcNACAFDAELIAkgA0GBgAQQkwICQCAJLQANIAktAAxrQf8BcUEBRg0AAkACQAJAIAAgBUsNAAJAIABFDQAgACAETwRAIAAgBEcNAgwBCyAAIAhqLAAAQb9/TA0BCwJAIAVFDQAgBCAFTQRAIAUgEGpFDQEMAgsgAiAIaiABaiwAAEG/f0wNAQsgCiAAIAhqIAIgAGsgAWogDigCDCIAEQUARQ0BDAILIAggBCAAIAEgAmpBtOTDABDKDAALAkAgCS0ADSIFQYEBTwRAIAogCSgCACAPEQMADQIMAQsgCiAJLQAMIgYgCWogBSAGayAAEQUADQELAn9BASADQYABSQ0AGkECIANBgBBJDQAaQQNBBCADQYCABEkbCyACaiABaiEADAELDAULAn9BASADQYABSQ0AGkECIANBgBBJDQAaQQNBBCADQYCABEkbCyACaiABagshAiARIAdrIgUNAQsLAkAgACACSw0AQQAhAQJAIABFDQAgACAETwRAIAAhASAAIARHDQIMAQsgACEBIAAgCGosAABBv39MDQELIAJFBEBBACECDAILIAIgBE8EQCACIARGDQIgASEADAELIAIgCGosAABBv39KDQEgASEACyAIIAQgACACQcTkwwAQygwACyAKIAEgCGogAiABayAOKAIMEQUADQAgCkEiIA8RAwAhDQsgCUEQaiQAIA0LHAAgASgCACAAKAIAIAAoAgQgASgCBCgCDBEFAAsTACAAQcC+wwA2AgQgACABNgIACxEAIAEoAgAgASgCBCAAEMsCC2UBAX8CQCAAQQhrKAIEIgNBeHEhAgJAIAJBBEEIIANBA3EiAxsgAWpPBEAgA0EARyACIAFBJ2pLcQ0BIAAQrQIMAgtB1LrDAEEuQYS7wwAQ+QoAC0GUu8MAQS5BxLvDABD5CgALC+wBAgN9AX5BACEEAkAgAAJ+AkACQAJAAkACQCACQQFrDgIBBgALIAMgASgCFCICIAMbQQFrIQQgAiAETQ0CIAIgA00NASABKAIQIgEgA0EDdGoiAioCBCABIARBA3RqKQIAIghCIIinvpIhBSACKgIAIAinvpIiBiAGlCAFIAWUkpEhByAGIAeVvK0gBSAHlbytQiCGhAwECyABKAIUIgIgA0sNAiADIAJBnJfDABCwCQALIAMgAkGMl8MAELAJAAsgBCACQfyWwwAQsAkACyABKAIQIANBA3RqKQIACzcCBEEBIQQLIAAgBDYCAAsPAEHItsMAQS8gABDbCwALaQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQdj0wwA2AgggA0ICNwIUIAMgA0EEaq1CgICAgDCENwMoIAMgA61CgICAgDCENwMgIAMgA0EgajYCECADQQhqIAIQ3AsAC2kBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQI2AgwgA0H49MMANgIIIANCAjcCFCADIANBBGqtQoCAgIAwhDcDKCADIAOtQoCAgIAwhDcDICADIANBIGo2AhAgA0EIaiACENwLAAtpAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBrPXDADYCCCADQgI3AhQgAyADQQRqrUKAgICA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A0kNAwJ9IAUEQEMAAAAAIANBgICA6ABqIAJJDQEaCyAAIAGVixDXAwshAQJAAkACQCAEQQFrDgMBAgAECyABQy69uzOSQ9sPScCSIQAMBgsgAYwhAAwFC0PbD0lAIAFDLr27M5KTIQAMBAsgBEECdEHo+cMAaioCACEBCyABIQAMAgsgACABkiEADAELQ9sPyT8gAJghAAsgAAsHACAAKgIQCwcAIAAqAgALBwAgABC7AQsHACAAEL4BCwQAQQELBABBAQsHAEPbD8k/CwQAQQALBABBAwsHAEMAAAAACwQAQQQLBABBAgsEAEEACwQAQQALBAAgAAsHAEPbD0lACwQAQQoLBABBBwsEAEEGCwQAQQkLBABBCwsHAEP//39/CwQAQQgLBABBBQsEAEEMCwQAQQ0LBABBDgsHAEPbD0k/CwMAAQsDAAELAwABCwMAAQsLlPoDGwBBgIDAAAvdlwFjYXBhY2l0eSBvdmVyZmxvd05vIGVsZW1lbnQgYXQgaW5kZXgvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9jY2QvdG9pX2VudHJ5LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHkucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL3NvbHZlcl9ib2R5LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvcmlnaWRfYm9keS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy9hcnJheS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21hdHJpeC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21pbl9tYXgucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2JvcnJvdy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL21hdHJpeF92aWV3LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvY29uc3RydWN0aW9uX3ZpZXcucnMAbGlicmFyeS9jb3JlL3NyYy9udW0vZmx0MmRlYy9zdHJhdGVneS9ncmlzdS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9saW5hbGcvbHUucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL21wbWMvY29udGV4dC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3BhcnRpdGlvbmluZy9idmgvYnZoX3RyYXZlcnNlX2J2dHQucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL21wbWMvbGlzdC5ycwBsaWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3BhcnRpdGlvbmluZy9idmgvYnZoX2luc2VydC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3V0aWxzL3BvaW50X2Nsb3VkX3N1cHBvcnRfcG9pbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L3VuaXRfbXVsdGlib2R5X2pvaW50LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2pvaW50X2NvbnN0cmFpbnQvam9pbnRfdmVsb2NpdHlfY29uc3RyYWludC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvam9pbnRfY29uc3RyYWludC9nZW5lcmljX2pvaW50X2NvbnN0cmFpbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2NvbnRhY3RfY29uc3RyYWludC9nZW5lcmljX2NvbnRhY3RfY29uc3RyYWludC5ycwBsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2N1cnJlbnQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9wb2ludC9wb2ludF9zZWdtZW50LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvc2VnbWVudC5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF9yZWZpdC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X3NldC5ycwBidWlsZHMvcmFwaWVyMmQvLi4vLi4vc3JjL2R5bmFtaWNzL3JpZ2lkX2JvZHlfc2V0LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnRfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvbXVsdGlib2R5X2pvaW50X3NldC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9qb2ludC9pbXB1bHNlX2pvaW50L2ltcHVsc2Vfam9pbnRfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZHluYW1pY3MvaW1wdWxzZV9qb2ludF9zZXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvc29sdmVyL2pvaW50X2NvbnN0cmFpbnQvam9pbnRfY29uc3RyYWludHNfc2V0LnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9jb250YWN0X2NvbnN0cmFpbnQvY29udGFjdF9jb25zdHJhaW50c19zZXQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2RpeV9mbG9hdC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZGF0YS9tb2RpZmllZF9vYmplY3RzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2Uvb3BzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZS0xLjAuMjE5L3NyYy9kZS9pbXBscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsX3V0aWxzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvYm91bmRpbmdfdm9sdW1lL2FhYmJfdXRpbHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi91dGlscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy91dGlscy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc192b3hlbHMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS92b3hlbHMvdm94ZWxzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93ZWItdGltZS0xLjEuMC9zcmMvdGltZS9qcy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvdXNlcl9jaGFuZ2VzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwMC9zcmMvY29udmVydC9zbGljZXMucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9tdXRleC9ub190aHJlYWRzLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvYmxhcy5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9mZmkvY19zdHIucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvaXRlci90cmFpdHMvaXRlcmF0b3IucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL25hbGdlYnJhLTAuMzQuMS9zcmMvYmFzZS9kZWZhdWx0X2FsbG9jYXRvci5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvdmVsb2NpdHlfc29sdmVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2NjZC9jY2Rfc29sdmVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdXRpbHMvY2VudGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2NvbnRyb2wvY2hhcmFjdGVyX2NvbnRyb2xsZXIucnMAYnVpbGRzL3JhcGllcjJkLy4uLy4uL3NyYy9jb250cm9sL2NoYXJhY3Rlcl9jb250cm9sbGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L3N0ZC9zcmMvc3luYy9tcG1jL3dha2VyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZGVmYXVsdF9xdWVyeV9kaXNwYXRjaGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL2lzbGFuZF9tYW5hZ2VyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9qb2ludF9jb25zdHJhaW50L2dlbmVyaWNfam9pbnRfY29uc3RyYWludF9idWlsZGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9qb2ludF9jb25zdHJhaW50L2pvaW50X2NvbnN0cmFpbnRfYnVpbGRlci5ycwBidWlsZHMvcmFwaWVyMmQvLi4vLi4vc3JjL2dlb21ldHJ5L2NvbGxpZGVyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS1hYXJjaDY0LWFwcGxlLWRhcndpbi9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2NvcmUvc3JjL2NtcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2ludGVyc2VjdGlvbl90ZXN0L2ludGVyc2VjdGlvbl90ZXN0X3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvbm9ubGluZWFyX3NoYXBlX2Nhc3Qvbm9ubGluZWFyX3NoYXBlX2Nhc3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0L2NvbnRhY3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2Rpc3RhbmNlL2Rpc3RhbmNlX3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfaGFsZnNwYWNlX3N1cHBvcnRfbWFwLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdXRpbHMvdmVjX21hcC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy96ZXJvLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvdm94ZWxzL3ZveGVsc19lZGl0aW9uLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvZWRpdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL2NvbnN0cnVjdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9keW5hbWljcy9zb2x2ZXIvY29udGFjdF9jb25zdHJhaW50L2NvbnRhY3Rfd2l0aF9jb3Vsb21iX2ZyaWN0aW9uLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2R5bmFtaWNzL3NvbHZlci9jYXRlZ29yaXphdGlvbi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXNfY29udmV4X3BvbHlnb24ucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS9jb252ZXhfcG9seWdvbi5ycwBsaWJyYXJ5L2NvcmUvc3JjL251bS9mbHQyZGVjL3N0cmF0ZWd5L2RyYWdvbi5ycwBsaWJyYXJ5L2NvcmUvc3JjL251bS9iaWdudW0ucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19wZm1fcGZtLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY29udGFjdF9tYW5pZm9sZHMvY29udGFjdF9tYW5pZm9sZHNfaGFsZnNwYWNlX3BmbS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc19iYWxsLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfYmFsbF9iYWxsLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9iaW5jb2RlLTEuMy4zL3NyYy9pbnRlcm5hbC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3NoYXBlL3ZveGVscy92b3hlbHNfY2h1bmsucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9saW5rLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZ2prL2dqay5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9nZW9tZXRyeS9icm9hZF9waGFzZV9idmgucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS90cmltZXNoLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2dlb21ldHJ5L2ludGVyYWN0aW9uX2dyYXBoLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9yYXBpZXIyZC0wLjMwLjEvc3JjL2RhdGEvZ3JhcGgucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2VuYS0wLjE0LjMvc3JjL3VuZG9fbG9nLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvaW5kZXhpbmcucnMAbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfb3B0aW1pemUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF90cmF2ZXJzZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmFsZ2VicmEtMC4zNC4xL3NyYy9iYXNlL2NvbXBvbmVudHdpc2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZ2VvbWV0cnkvbmFycm93X3BoYXNlLnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvbmFycm93X3BoYXNlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvYm91bmRpbmdfdm9sdW1lL2JvdW5kaW5nX3NwaGVyZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3ZveGVsc19zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3RyaW1lc2hfc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9wb2ludC9wb2ludF9jb21wb3NpdGVfc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc192b3hlbHNfY29tcG9zaXRlX3NoYXBlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvY29udGFjdF9tYW5pZm9sZHMvY29udGFjdF9tYW5pZm9sZHNfY29tcG9zaXRlX3NoYXBlX2NvbXBvc2l0ZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX2NvbXBvc2l0ZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX3NoYXBlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvc2hhcmVkX3NoYXBlLnJzAGJ1aWxkcy9yYXBpZXIyZC8uLi8uLi9zcmMvZ2VvbWV0cnkvc2hhcGUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS92b3hlbHNfdG9fcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS9yb3VuZF9jb252ZXhfcG9seWdvbl90b19wb2x5bGluZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX3BvbHlsaW5lL2JhbGxfdG9fcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy90cmFuc2Zvcm1hdGlvbi90b19wb2x5bGluZS9jYXBzdWxlX3RvX3BvbHlsaW5lLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdHJhbnNmb3JtYXRpb24vdG9fcG9seWxpbmUvcm91bmRfY3Vib2lkX3RvX3BvbHlsaW5lLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvcG9seWxpbmUucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lLnJzAGxpYnJhcnkvc3RkL3NyYy9zeXMvcGFsL3dhc20vLi4vdW5zdXBwb3J0ZWQvdGltZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9jb3JlL3NyYy90aW1lLnJzAC9ydXN0Yy8xMTU5ZTc4YzQ3NDdiMDJlZjk5NmU1NTA4MmI3MDRjMDliOTcwNTg4L2xpYnJhcnkvY29yZS9zcmMvdGltZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NhcHN1bGVfY2Fwc3VsZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF90cmlhbmdsZS5ycwBsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2Jhc2UvdmVjX3N0b3JhZ2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9wYXJ0aXRpb25pbmcvYnZoL2J2aF90cmVlLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uYWxnZWJyYS0wLjM0LjEvc3JjL2xpbmFsZy9wZXJtdXRhdGlvbl9zZXF1ZW5jZS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9zaGFwZS92b3hlbHMvdm94ZWxzX25laWdoYm9yaG9vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZW5hLTAuMTQuMy9zcmMvdW5pZnkvbW9kLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTUuNC9zcmMvcmF3L21vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaGFzaGJyb3duLTAuMTYuMC9zcmMvcmF3L21vZC5ycwBsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2JpbmFyeV9oZWFwL21vZC5ycwBsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL21vZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5bmMvbXBtYy9tb2QucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0Yy8xMTU5ZTc4YzQ3NDdiMDJlZjk5NmU1NTA4MmI3MDRjMDliOTcwNTg4L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2ZsdDJkZWMvbW9kLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvY29tcG91bmQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lL2RlYnVnX3JlbmRlcl9iYWNrZW5kLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfYmlubmVkX2J1aWxkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcGFydGl0aW9uaW5nL2J2aC9idmhfcGxvY19idWlsZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L3JheS9yYXlfaGVpZ2h0ZmllbGQucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19jdWJvaWRfY3Vib2lkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvY3Vib2lkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvZmVhdHVyZV9pZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUtYWFyY2g2NC1hcHBsZS1kYXJ3aW4vbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvdmVjL3NwZWNfZnJvbV9pdGVyX25lc3RlZC5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXNfdHJpbWVzaDJkLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvcG9seWdvbmFsX2ZlYXR1cmUyZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMC9zcmMvZGxtYWxsb2MucnMAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzAGxpYnJhcnkvYWxsb2Mvc3JjL3N5bmMucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2FycmF5dmVjLTAuNy42L3NyYy9hcnJheXZlYy5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvZW5hLTAuMTQuMy9zcmMvc25hcHNob3RfdmVjLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9qcy1zeXMtMC4zLjc3L3NyYy9saWIucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL29uY2VfY2VsbC0xLjIxLjMvc3JjL2xpYi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc21hbGx2ZWMtMS4xNS4xL3NyYy9saWIucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3BhcnJ5MmQtMC4yNS4zL3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcmFwaWVyMmQtMC4zMC4xL3NyYy9kYXRhL2NvYXJlbmEucnMAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3JhcGllcjJkLTAuMzAuMS9zcmMvZGF0YS9hcmVuYS5ycwAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGFycnkyZC0wLjI1LjMvc3JjL3F1ZXJ5L2dqay92b3Jvbm9pX3NpbXBsZXgyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvc2hhcGUvaGVpZ2h0ZmllbGQyLnJzAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wYXJyeTJkLTAuMjUuMy9zcmMvcXVlcnkvZXBhL2VwYTIucnMAL1VzZXJzL3NlYmNyb3pldC8ucnVzdHVwL3Rvb2xjaGFpbnMvc3RhYmxlLWFhcmNoNjQtYXBwbGUtZGFyd2luL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvbnVtL2YzMi5ycwABAQECAQEBAgEBAQICAgIDAA0tEAB5AAAANQAAACwAAABDYW5ub3QgZGVzZXJpYWxpemUgY3VzdG9tIHNoYXBlLgAAAAAAAAAAAQAAAAQAAAACAAAAYW4gYXJyYXkgd2l0aCBubyBtb3JlIHRoYW4gIGl0ZW1zAAAArEsQABsAAADHSxAABgBB6JfBAAspAQAAAAUAAAAAAAAACAAAAAQAAAAGAAAAYSB0dXBsZSBvZiBzaXplIDIAQZyYwQALYQEAAAAHAAAAihEQAGMAAACVBAAAIgAAAIoREABjAAAAmAQAABwAAABzdHJ1Y3QgVHJpTWVzaCB3aXRoIDYgZWxlbWVudHMAAERMEAAeAAAAYSB0dXBsZSBvZiBzaXplIDMAQYiZwQALBQEAAAAIAEGYmcEACwUBAAAACABBqJnBAAsFAQAAAAgAQbiZwQALBQEAAAAIAEHImcEAC9UOAQAAAAgAAABzdHJ1Y3QgQ29tcG91bmQgd2l0aCA0IGVsZW1lbnRzANBMEAAfAAAAc3RydWN0IFBvbHlsaW5lIHdpdGggMyBlbGVtZW50cwD4TBAAHwAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMiBNEAAYAAAAc3RydWN0IENvbGxpZGVyIHdpdGggMTEgZWxlbWVudHNATRAAIAAAAHN0cnVjdCBWb3hlbHMgd2l0aCA2IGVsZW1lbnRzAAAAaE0QAB0AAABzdHJ1Y3QgSGVpZ2h0RmllbGQgd2l0aCA0IGVsZW1lbnRzAACQTRAAIgAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMTYAAAC8TRAAGQAAAHN0cnVjdCBUcmlNZXNoQ29ubmVjdGVkQ29tcG9uZW50cyB3aXRoIDMgZWxlbWVudHMAAADgTRAAMQAAAHN0cnVjdCBDb252ZXhQb2x5Z29uIHdpdGggMiBlbGVtZW50cxxOEAAkAAAAc3RydWN0IEdyYXBoIHdpdGggMiBlbGVtZW50c0hOEAAcAAAAc3RydWN0IExVIHdpdGggMiBlbGVtZW50cwAAAGxOEAAZAAAAc3RydWN0IElzbGFuZE1hbmFnZXIgd2l0aCA0IGVsZW1lbnRzkE4QACQAAABzdHJ1Y3QgQnZoTm9kZVdpZGUgd2l0aCAyIGVsZW1lbnRzAAC8ThAAIgAAAHN0cnVjdCBCcm9hZFBoYXNlQnZoIHdpdGggNCBlbGVtZW50c+hOEAAkAAAAc3RydWN0IENvbnRhY3RNYW5pZm9sZERhdGEgd2l0aCA3IGVsZW1lbnRzAAAUTxAAKgAAAHN0cnVjdCBKb2ludE1vdG9yIHdpdGggNyBlbGVtZW50cwAAAEhPEAAhAAAAc3RydWN0IEdlbmVyaWNKb2ludCB3aXRoIDExIGVsZW1lbnRzdE8QACQAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDOgTxAAGAAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgNMBPEAAYAAAAc3RydWN0IEludGVncmF0aW9uUGFyYW1ldGVycyB3aXRoIDE2IGVsZW1lbnRzAAAA4E8QAC0AAABzdHJ1Y3QgTXVsdGlib2R5IHdpdGggMTggZWxlbWVudHMAAAAYUBAAIQAAAHN0cnVjdCBJbnRlcmFjdGlvbkdyYXBoIHdpdGggMSBlbGVtZW50AABEUBAAJgAAAHN0cnVjdCBJbmRleFNlcXVlbmNlIHdpdGggMiBlbGVtZW50c3RQEAAkAAAAc3RydWN0IEltcHVsc2VKb2ludCB3aXRoIDUgZWxlbWVudHMAoFAQACMAAAB0dXBsZSBzdHJ1Y3QgTW9kaWZpZWRPYmplY3RzIHdpdGggMiBlbGVtZW50c8xQEAAsAAAAc3RydWN0IE11bHRpYm9keUpvaW50IHdpdGggNCBlbGVtZW50cwAAAABREAAlAAAAc3RydWN0IEltcHVsc2VKb2ludFNldCB3aXRoIDQgZWxlbWVudHMAADBREAAmAAAAc3RydWN0IE11bHRpYm9keUpvaW50U2V0IHdpdGggNCBlbGVtZW50c2BREAAoAAAAc3RydWN0IE11bHRpYm9keVdvcmtzcGFjZSB3aXRoIDIgZWxlbWVudHMAAACQURAAKQAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgOcRREAAYAAAAc3RydWN0IFRyaU1lc2hTaGFwZUNvbnRhY3RNYW5pZm9sZHNXb3Jrc3BhY2Ugd2l0aCAzIGVsZW1lbnRz5FEQADwAAABzdHJ1Y3QgQ29udGFjdE1hbmlmb2xkIHdpdGggOCBlbGVtZW50cwAAKFIQACYAAAACzmFV3zO2O/1hdzSajbdoytIBpCh1EK2Cy9Ehd1e2D3QIQmj6tqSxyfQ3YkazU/OxIRAAdgAAAIYAAAA6AAAAsSEQAHYAAAB+AAAAQQAAAIcaEAB3AAAAXAAAACsAAABjYW5ub3QgcmVjdXJzaXZlbHkgYWNxdWlyZSBtdXRleLhSEAAgAAAAfhYQAIEAAAATAAAACQAAAAAAAAAIAAAABAAAAAkAAAAAAAAAEAAAAAQAAAAKAAAAAAAA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\").buffer)}))}function Ug(){return function(){let I,g;try{const B=A.__wbindgen_add_to_stack_pointer(-16);A.version(B);var C=G().getInt32(B+0,!0),Q=G().getInt32(B+4,!0);return I=C,g=Q,D(C,Q)}finally{A.__wbindgen_add_to_stack_pointer(16),A.__wbindgen_export_1(I,g,1)}}()}function Rg(I){var g;g=I,A.reserve_memory(g)}Sg[\"-\".charCodeAt(0)]=62,Sg[\"_\".charCodeAt(0)]=63;var cg=Object.freeze({__proto__:null,version:Ug,reserveMemory:Rg,Vector2:ZA,VectorOps:OA,RotationOps:WA,get RigidBodyType(){return jA},RigidBody:QI,RigidBodyDesc:BI,RigidBodySet:iI,IntegrationParameters:DI,get JointType(){return xA},get MotorModel(){return XA},get JointAxesMask(){return mA},ImpulseJoint:oI,UnitImpulseJoint:wI,FixedImpulseJoint:GI,RopeImpulseJoint:KI,SpringImpulseJoint:hI,PrismaticImpulseJoint:NI,RevoluteImpulseJoint:SI,JointData:kI,ImpulseJointSet:yI,MultibodyJoint:sI,UnitMultibodyJoint:FI,FixedMultibodyJoint:aI,PrismaticMultibodyJoint:MI,RevoluteMultibodyJoint:JI,MultibodyJointSet:UI,get CoefficientCombineRule(){return vA},CCDSolver:RI,IslandManager:cI,BroadPhase:pI,NarrowPhase:nI,TempContactManifold:dI,Shape:fI,get ShapeType(){return PA},get TriMeshFlags(){return uA},Ball:TI,HalfSpace:ZI,Cuboid:OI,RoundCuboid:WI,Capsule:jI,Segment:xI,Triangle:XI,RoundTriangle:mI,Polyline:vI,Voxels:VI,TriMesh:PI,ConvexPolygon:uI,RoundConvexPolygon:zI,Heightfield:_I,get ActiveCollisionTypes(){return gI},Collider:og,get MassPropsMode(){return CI},ColliderDesc:wg,ColliderSet:Gg,get FeatureType(){return VA},Ray:YI,RayIntersection:LI,RayColliderIntersection:qI,RayColliderHit:tI,PointProjection:HI,PointColliderProjection:rI,ShapeCastHit:lI,ColliderShapeCastHit:eI,ShapeContact:bI,World:Eg,PhysicsPipeline:$I,SerializationPipeline:Ag,get ActiveEvents(){return _A},TempContactForceEvent:ig,EventQueue:Dg,get ActiveHooks(){return $A},get SolverFlags(){return AI},DebugRenderBuffers:Ig,DebugRenderPipeline:gg,get QueryFilterFlags(){return II},init:Jg,CharacterCollision:Cg,KinematicCharacterController:Qg,get PidAxesMask(){return zA},PidController:Bg});export{gI as ActiveCollisionTypes,_A as ActiveEvents,$A as ActiveHooks,TI as Ball,pI as BroadPhase,RI as CCDSolver,jI as Capsule,Cg as CharacterCollision,vA as CoefficientCombineRule,og as Collider,wg as ColliderDesc,Gg as ColliderSet,eI as ColliderShapeCastHit,uI as ConvexPolygon,OI as Cuboid,Ig as DebugRenderBuffers,gg as DebugRenderPipeline,Dg as EventQueue,VA as FeatureType,GI as FixedImpulseJoint,aI as FixedMultibodyJoint,ZI as HalfSpace,_I as Heightfield,oI as ImpulseJoint,yI as ImpulseJointSet,DI as IntegrationParameters,cI as IslandManager,mA as JointAxesMask,kI as JointData,xA as JointType,Qg as KinematicCharacterController,CI as MassPropsMode,XA as MotorModel,sI as MultibodyJoint,UI as MultibodyJointSet,nI as NarrowPhase,$I as PhysicsPipeline,zA as PidAxesMask,Bg as PidController,rI as PointColliderProjection,HI as PointProjection,vI as Polyline,NI as PrismaticImpulseJoint,MI as PrismaticMultibodyJoint,II as QueryFilterFlags,YI as Ray,tI as RayColliderHit,qI as RayColliderIntersection,LI as RayIntersection,SI as RevoluteImpulseJoint,JI as RevoluteMultibodyJoint,QI as RigidBody,BI as RigidBodyDesc,iI as RigidBodySet,jA as RigidBodyType,KI as RopeImpulseJoint,WA as RotationOps,zI as RoundConvexPolygon,WI as RoundCuboid,mI as RoundTriangle,xI as Segment,Ag as SerializationPipeline,fI as Shape,lI as ShapeCastHit,bI as ShapeContact,PA as ShapeType,AI as SolverFlags,hI as SpringImpulseJoint,ig as TempContactForceEvent,dI as TempContactManifold,PI as TriMesh,uA as TriMeshFlags,XI as Triangle,wI as UnitImpulseJoint,FI as UnitMultibodyJoint,ZA as Vector2,OA as VectorOps,VI as Voxels,Eg as World,cg as default,Jg as init,Rg as reserveMemory,Ug as version};\n//# sourceMappingURL=rapier.mjs.map\n","/**\n * A vertex in a circular doubly linked list representing a polygon ring.\n * `prev`/`next` are always linked (set immediately after {@link createNode}), so they're typed\n * non-null; `prevZ`/`nextZ` are the z-order list links and are null at the ends.\n *\n * @typedef {object} Node\n * @property {number} i vertex index in the coordinates array\n * @property {number} x vertex x coordinate\n * @property {number} y vertex y coordinate\n * @property {Node} prev previous vertex node in the polygon ring\n * @property {Node} next next vertex node in the polygon ring\n * @property {number} z z-order curve value; doubles as the owning block index during eliminateHoles\n * @property {Node | null} prevZ previous node in z-order\n * @property {Node | null} nextZ next node in z-order\n */\n\n// single-vertex holes to preserve through filterPoints (steiner points); kept off the Node\n// shape since they're rare — the empty-set fast path means non-steiner inputs pay nothing\n/** @type {Set} */\nconst steiners = new Set();\n\n// set by filterPoints whenever it removes at least one node; read by earcutLinked's stall\n// handler to decide whether another clip pass is worth attempting before the costlier stages\nlet filteredOut = false;\n\n/**\n * Triangulate a polygon given as a flat array of vertex coordinates.\n *\n * @param {ArrayLike} data flat array of vertex coordinates\n * @param {ArrayLike | null} [holeIndices] indices (in vertices, not coordinates) where each hole ring starts\n * @param {number} [dim=2] number of coordinates per vertex in `data`\n * @returns {number[]} triangles as triplets of vertex indices into `data`\n * @example earcut([10,0, 0,50, 60,60, 70,10]); // [1,0,3, 3,2,1]\n */\nexport default function earcut(data, holeIndices, dim = 2) {\n\n const hasHoles = holeIndices && holeIndices.length;\n const outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n if (steiners.size) steiners.clear();\n\n let outerNode = linkedList(data, 0, outerLen, dim, true);\n /** @type {number[]} */\n const triangles = [];\n\n if (!outerNode || outerNode.next === outerNode.prev) return triangles;\n\n let minX = 0, minY = 0, invSize = 0;\n\n if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n\n // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n if (data.length > 80 * dim) {\n minX = data[0];\n minY = data[1];\n let maxX = minX;\n let maxY = minY;\n\n for (let i = dim; i < outerLen; i += dim) {\n const x = data[i];\n const y = data[i + 1];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n }\n\n // minX, minY and invSize are later used to transform coords into integers for z-order calculation\n invSize = Math.max(maxX - minX, maxY - minY);\n invSize = invSize !== 0 ? 32767 / invSize : 0;\n }\n\n earcutLinked(outerNode, triangles, minX, minY, invSize);\n\n return triangles;\n}\n\n// create a circular doubly linked list from polygon points in the specified winding order\n/** @param {ArrayLike} data @param {number} start @param {number} end @param {number} dim @param {boolean} clockwise @returns {Node | null} */\nfunction linkedList(data, start, end, dim, clockwise) {\n /** @type {Node | null} */\n let last = null;\n\n if (clockwise === (signedArea(data, start, end, dim) > 0)) {\n for (let i = start; i < end; i += dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);\n } else {\n for (let i = end - dim; i >= start; i -= dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);\n }\n\n if (last && equals(last, last.next)) {\n removeNode(last);\n last = last.next;\n }\n\n return last;\n}\n\n// Remove collinear or coincident points; removability depends only on a node's immediate\n// neighbors, so we sweep forward and re-check the predecessor after each removal. With no `end`\n// we sweep the whole ring, lapping until nothing is removable (the fixpoint the clipper needs).\n// With an explicit `end` we heal only the dirty window around a bridge/diagonal cut, stopping at\n// `end` rather than lapping — O(window) instead of O(ring).\n/** @param {Node} start @param {Node} [end] @returns {Node} */\nfunction filterPoints(start, end = start) {\n const full = end === start;\n\n let p = start, again;\n do {\n again = false;\n if (p !== p.next && (steiners.size === 0 || !steiners.has(p)) &&\n (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n if (full || p === end) end = p.prev; // pull the stop bound back past the removal\n filteredOut = true;\n removeNode(p);\n p = p.prev; // re-check the predecessor\n again = true;\n } else if (full || p !== end) {\n p = p.next;\n again = !full; // local heal: keep looping until the sweep reaches end\n }\n } while (again || p !== end);\n\n return end;\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\n/** @param {Node} ear @param {number[]} triangles @param {number} minX @param {number} minY @param {number} invSize */\nfunction earcutLinked(ear, triangles, minX, minY, invSize) {\n // interlink polygon nodes in z-order\n if (invSize) indexCurve(ear, minX, minY, invSize);\n\n let stop = ear, cured = false;\n\n // iterate through ears, slicing them one by one\n while (ear.prev !== ear.next) {\n const prev = ear.prev;\n /** @type {Node} */\n const next = ear.next;\n\n if (area(prev, ear, next) < 0 && (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear))) {\n triangles.push(prev.i, ear.i, next.i); // cut off the triangle\n\n removeNode(ear);\n ear = next;\n stop = next;\n continue;\n }\n\n ear = next;\n\n // if we looped through the whole remaining polygon and can't find any more ears\n if (ear === stop) {\n // try filtering collinear/coincident points and slicing again — repeat as long as\n // filtering actually removes nodes, since each removal can expose new ears\n filteredOut = false;\n ear = filterPoints(ear);\n if (filteredOut) { stop = ear; continue; }\n\n // filtering is exhausted: cure small local self-intersections once, then retry\n if (!cured) {\n ear = cureLocalIntersections(ear, triangles);\n stop = ear;\n cured = true;\n continue;\n }\n\n // as a last resort, try splitting the remaining polygon into two\n splitEarcut(ear, triangles, minX, minY, invSize);\n break;\n }\n }\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\n/** @param {Node} ear @returns {boolean} */\nfunction isEar(ear) {\n // reflex check (area(a, b, c) >= 0) is hoisted into the earcutLinked caller to avoid non-inlined call here\n const a = ear.prev, b = ear, c = ear.next,\n ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y,\n x0 = Math.min(ax, bx, cx), // triangle bbox\n y0 = Math.min(ay, by, cy),\n x1 = Math.max(ax, bx, cx),\n y1 = Math.max(ay, by, cy);\n\n // make sure we don't have other points inside the potential ear\n let p = c.next;\n while (p !== a) {\n if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && !(ax === p.x && ay === p.y) &&\n pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;\n p = p.next;\n }\n return true;\n}\n\n/** @param {Node} ear @param {number} minX @param {number} minY @param {number} invSize @returns {boolean} */\nfunction isEarHashed(ear, minX, minY, invSize) {\n // reflex check is hoisted into the earcutLinked caller (see isEar)\n const a = ear.prev, b = ear, c = ear.next,\n ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y,\n x0 = Math.min(ax, bx, cx), // triangle bbox\n y0 = Math.min(ay, by, cy),\n x1 = Math.max(ax, bx, cx),\n y1 = Math.max(ay, by, cy),\n minZ = zOrder(x0, y0, minX, minY, invSize), // z-order range for the current triangle bbox;\n maxZ = zOrder(x1, y1, minX, minY, invSize);\n\n let p = ear.prevZ;\n while (p && p.z >= minZ) { // look for points inside the triangle in decreasing z-order\n if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== c && !(ax === p.x && ay === p.y) &&\n pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n }\n let n = ear.nextZ;\n while (n && n.z <= maxZ) { // look for points in increasing z-order\n if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== c && !(ax === n.x && ay === n.y) &&\n pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n return true;\n}\n\n// go through all polygon nodes and cure small local self-intersections\n/** @param {Node} start @param {number[]} triangles @returns {Node} */\nfunction cureLocalIntersections(start, triangles) {\n let p = start;\n let cured = false;\n do {\n const a = p.prev,\n b = p.next.next;\n\n if (intersects(a, p, p.next, b, false) && locallyInside(a, b) && locallyInside(b, a)) {\n\n triangles.push(a.i, p.i, b.i);\n\n // remove two nodes involved\n removeNode(p);\n removeNode(p.next);\n\n p = start = b;\n cured = true;\n }\n p = p.next;\n } while (p !== start);\n\n return cured ? filterPoints(p) : p;\n}\n\n// try splitting polygon into two and triangulate them independently\n/** @param {Node} start @param {number[]} triangles @param {number} minX @param {number} minY @param {number} invSize */\nfunction splitEarcut(start, triangles, minX, minY, invSize) {\n // look for a valid diagonal that divides the polygon into two\n let a = start;\n do {\n let b = a.next.next;\n while (b !== a.prev) {\n if (a.i !== b.i && isValidDiagonal(a, b)) {\n // split the polygon in two by the diagonal\n let c = splitPolygon(a, b);\n\n // filter colinear points around the cuts\n a = filterPoints(a, a.next);\n c = filterPoints(c, c.next);\n\n // run earcut on each half\n earcutLinked(a, triangles, minX, minY, invSize);\n earcutLinked(c, triangles, minX, minY, invSize);\n return;\n }\n b = b.next;\n }\n a = a.next;\n } while (a !== start);\n}\n\n// true only while eliminateHoles merges holes, so removeNode keeps the block index live (growBlock)\nlet indexActive = false;\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\n/** @param {ArrayLike} data @param {ArrayLike} holeIndices @param {Node} outerNode @param {number} dim @returns {Node} */\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n const queue = [];\n\n for (let i = 0, len = holeIndices.length; i < len; i++) {\n const start = holeIndices[i] * dim;\n const end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n const list = /** @type {Node} */ (linkedList(data, start, end, dim, false));\n if (list === list.next) steiners.add(list);\n queue.push(getLeftmost(list));\n }\n\n queue.sort(compareXYSlope);\n\n // block-bbox index for findHoleBridge, grown append-only as holes merge (see notes\n // above buildBlockIndex). Seed it with the outer ring, then append each merged hole.\n buildBlockIndex(data.length / dim, holeIndices.length);\n indexSegment(outerNode, outerNode);\n\n // process holes from left to right; indexActive lets removeNode keep block bboxes live as\n // filterPoints heals edges during merges (see growBlock)\n indexActive = true;\n for (let i = 0; i < queue.length; i++) {\n outerNode = eliminateHole(queue[i], outerNode);\n }\n indexActive = false;\n\n // collapse collinear/coincident points across the whole merged ring once before clipping\n return filterPoints(outerNode);\n}\n\n/** @param {Node} a @param {Node} b @returns {number} */\nfunction compareXYSlope(a, b) {\n // when the left-most point of 2 holes meet at a vertex, sort the holes counterclockwise so that when we find\n // the bridge to the outer shell is always the point that they meet at.\n return a.x - b.x || a.y - b.y ||\n (a.next.y - a.y) / (a.next.x - a.x) -\n (b.next.y - b.y) / (b.next.x - b.x);\n}\n\n// find a bridge between vertices that connects hole with an outer ring and link it\n/** @param {Node} hole @param {Node} outerNode @returns {Node} */\nfunction eliminateHole(hole, outerNode) {\n const bridge = findHoleBridge(hole, outerNode);\n if (!bridge) {\n return outerNode;\n }\n\n const bridgeReverse = splitPolygon(bridge, hole);\n\n // index the merged-in segment before filtering: in ring order the splice runs\n // bridge -> hole -> bridgeReverse -> bridge2 -> (bridge's old next), covering the\n // hole's edges and both new slit edges. filterPoints below only drops collinear /\n // coincident points, so these bboxes stay valid (conservative) supersets.\n const bridge2 = bridgeReverse.next;\n indexSegment(bridge, bridge2.next);\n\n // heal collinear/coincident points around the two new slit edges\n filterPoints(bridgeReverse, bridgeReverse.next);\n return filterPoints(bridge, bridge.next);\n}\n\n// Block-bbox index for findHoleBridge (issue #183): one [minX,minY,maxX,maxY] bbox per K\n// consecutive ring edges, in a flat Float64Array, so the leftward-ray scan can skip whole\n// blocks in O(1) instead of walking the entire merged ring. Grown append-only — the outer\n// ring seeds it, then each merged hole appends a segment (head node, stop node, K-blocks\n// over head..stop); independent segments, not a ring tiling, since splices land mid-ring.\n// Buffers are sized once from the input upper bound and reused across calls.\n//\n// filterPoints only drops collinear/coincident points, so a stale bbox stays a conservative\n// superset of its live edges (never a false skip); the scan skips dead nodes (p.prev.next !==\n// p) and lazily advances a dead stop. Blocks are scanned in append (not ring) order, so the\n// chosen bridge can differ from the un-indexed code — a different but equally valid result.\nconst K = 16; // edges per block\n\nlet blockBBox = new Float64Array(0); // [minX,minY,maxX,maxY] per block\nlet numBlocks = 0;\n/** @type {Node[]} */\nconst blockHead = []; // first node of each block's segment\n/** @type {Node[]} */\nconst blockStop = []; // node just past each block's segment (exclusive walk bound)\n\n/** @param {number} maxNodes @param {number} numHoles */\nfunction buildBlockIndex(maxNodes, numHoles) {\n // upper bound: every input node indexed once, +2 bridge nodes per hole, plus a partial\n // trailing block per appended segment (outer ring + one per hole)\n const maxBlocks = Math.ceil((maxNodes + 2 * numHoles) / K) + numHoles + 2;\n if (blockBBox.length < maxBlocks * 4) blockBBox = new Float64Array(maxBlocks * 4);\n numBlocks = 0;\n}\n\n// index the ring run head..stop (exclusive) as ceil(len / K) blocks; head === stop means\n// the whole ring. each block's bbox covers both endpoints of every edge it owns.\n/** @param {Node} head @param {Node} stop */\nfunction indexSegment(head, stop) {\n let p = head;\n do {\n const b = numBlocks++;\n blockHead[b] = p;\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n let k = 0;\n do {\n const c = p.next; // edge p->c; bbox must bound both endpoints\n p.z = b; // reuse z as the owning block during eliminateHoles (see growBlock)\n if (p.x < minX) minX = p.x; if (p.x > maxX) maxX = p.x;\n if (p.y < minY) minY = p.y; if (p.y > maxY) maxY = p.y;\n if (c.x < minX) minX = c.x; if (c.x > maxX) maxX = c.x;\n if (c.y < minY) minY = c.y; if (c.y > maxY) maxY = c.y;\n p = c;\n } while (++k < K && p !== stop);\n blockStop[b] = p;\n const g = b * 4;\n blockBBox[g] = minX; blockBBox[g + 1] = minY; blockBBox[g + 2] = maxX; blockBBox[g + 3] = maxY;\n } while (p !== stop);\n}\n\n// when filterPoints heals an edge head->tail (removing the collinear node between them), the\n// healed edge can extend past head's frozen block bbox if its old far endpoint lived in another\n// block; grow head's block bbox to cover tail so the leftward-ray prune can't false-skip it.\n/** @param {Node} head @param {Node} tail */\nfunction growBlock(head, tail) {\n const g = head.z * 4;\n if (tail.x < blockBBox[g]) blockBBox[g] = tail.x;\n if (tail.y < blockBBox[g + 1]) blockBBox[g + 1] = tail.y;\n if (tail.x > blockBBox[g + 2]) blockBBox[g + 2] = tail.x;\n if (tail.y > blockBBox[g + 3]) blockBBox[g + 3] = tail.y;\n}\n\n/** @param {number} b @returns {Node} */\nfunction liveBlockStop(b) {\n let stop = blockStop[b];\n while (stop.prev.next !== stop) stop = stop.next;\n blockStop[b] = stop;\n return stop;\n}\n\n// the block's head node can be removed by filterPoints during merges; advance it to the next\n// live node so the walk doesn't start on (and immediately terminate at) a dead node. For the\n// single full-ring seed block (head === stop) the same forward advance keeps them equal, so the\n// do-while still laps the whole ring instead of collapsing to an empty walk.\n/** @param {number} b @returns {Node} */\nfunction liveBlockHead(b) {\n let head = blockHead[b];\n while (head.prev.next !== head) head = head.next;\n blockHead[b] = head;\n return head;\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\n/** @param {Node} hole @param {Node} outerNode @returns {Node | null} */\nfunction findHoleBridge(hole, outerNode) {\n let p = outerNode;\n const hx = hole.x;\n const hy = hole.y;\n let qx = -Infinity;\n /** @type {Node | undefined} */\n let m;\n\n // find a segment intersected by a ray from the hole's leftmost point to the left;\n // segment's endpoint with lesser x will be potential connection point\n // unless they intersect at a vertex, then choose the vertex\n if (equals(hole, p)) return p;\n\n // scan blocks; skip any whose bbox can't hold a crossing that beats qx and lies left\n // of hx (the prune Morton order can't express — explicit per-axis [minY,maxY]/[minX,maxX])\n for (let b = 0, g = 0; b < numBlocks; b++, g += 4) {\n if (hy < blockBBox[g + 1] || hy > blockBBox[g + 3] || blockBBox[g] > hx || blockBBox[g + 2] <= qx) continue;\n\n // ensure the walk's exclusive bound is live so we don't overrun into other blocks\n const stop = liveBlockStop(b);\n\n p = liveBlockHead(b);\n do {\n if (p.prev.next === p) { // skip nodes removed by filterPoints (stale in the index)\n if (equals(hole, p.next)) return p.next;\n else if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n const x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n if (x <= hx && x > qx) {\n qx = x;\n m = p.x < p.next.x ? p : p.next;\n if (x === hx) return m; // hole touches outer segment; pick leftmost endpoint\n }\n }\n }\n p = p.next;\n } while (p !== stop);\n }\n\n if (!m) return null;\n\n // look for points inside the triangle of hole point, segment intersection and endpoint;\n // if there are no points found, we have a valid connection;\n // otherwise choose the point of the minimum angle with the ray as connection point\n\n const mx = m.x;\n const my = m.y;\n const tminY = Math.min(hy, my); // the triangle's y span; x span is [mx, hx]\n const tmaxY = Math.max(hy, my);\n let tanMin = Infinity;\n\n // scan the same blocks; skip any whose bbox can't overlap the triangle's [mx,hx]×[tminY,tmaxY] box\n for (let b = 0, g = 0; b < numBlocks; b++, g += 4) {\n if (blockBBox[g + 2] < mx || blockBBox[g] > hx || blockBBox[g + 3] < tminY || blockBBox[g + 1] > tmaxY) continue;\n\n const stop = liveBlockStop(b);\n\n p = liveBlockHead(b);\n do {\n if (p.prev.next === p && hx >= p.x && p.x >= mx && hx !== p.x && // skip dead nodes\n pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n\n const tan = Math.abs(hy - p.y) / (hx - p.x); // tangential\n\n // if hole point sits on p's horizontal edge (T-junction touch): the bridge runs\n // along that edge — locallyInside rejects it as collinear, but it's valid\n if ((locallyInside(p, hole) || (p.y === hy && p.next.y === hy && p.next.x > hx)) &&\n (tan < tanMin || (tan === tanMin && (p.x > m.x || (p.x === m.x && sectorContainsSector(m, p)))))) {\n m = p;\n tanMin = tan;\n }\n }\n\n p = p.next;\n } while (p !== stop);\n }\n\n return m;\n}\n\n// whether sector in vertex m contains sector in vertex p in the same coordinates\n/** @param {Node} m @param {Node} p @returns {boolean} */\nfunction sectorContainsSector(m, p) {\n return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;\n}\n\n// scratch buffers reused across calls and grown on demand: two node-ref arrays that\n// ping-pong during the radix passes, plus parallel z-value arrays so the passes read\n// z from contiguous memory instead of dereferencing each node. 256-entry histogram for\n// 8-bit digits; the small histogram keeps per-call setup cheap (most rings are short)\n/** @type {Node[]} */\nconst sortArr = [];\n/** @type {Node[]} */\nlet sortBuf = [];\nlet zArr = new Uint32Array(0);\nlet zBuf = new Uint32Array(0);\nconst counts = new Uint32Array(256);\n\n// interlink polygon nodes in z-order: collect into an array, sort by z, relink\n/** @param {Node} start @param {number} minX @param {number} minY @param {number} invSize */\nfunction indexCurve(start, minX, minY, invSize) {\n let p = start;\n let n = 0;\n do {\n // always (re)compute: z may still hold a block index left over from eliminateHoles\n p.z = zOrder(p.x, p.y, minX, minY, invSize);\n sortArr[n++] = p;\n p = p.next;\n } while (p !== start);\n\n sortNodes(n);\n\n /** @type {Node | null} */\n let prev = null;\n for (let i = 0; i < n; i++) {\n const node = sortArr[i];\n node.prevZ = prev;\n if (prev) prev.nextZ = node;\n prev = node;\n }\n /** @type {Node} */ (prev).nextZ = null;\n}\n\n// sort the first n nodes of sortArr by z, in place: insertion sort for small n (cheaper\n// than histogram setup), else LSD radix in four 8-bit passes (covering z's 30 bits)\n/** @param {number} n */\nfunction sortNodes(n) {\n if (n <= 32) {\n for (let i = 1; i < n; i++) {\n const node = sortArr[i], z = node.z;\n let j = i - 1;\n while (j >= 0 && sortArr[j].z > z) { sortArr[j + 1] = sortArr[j]; j--; }\n sortArr[j + 1] = node;\n }\n return;\n }\n\n if (zArr.length < n) {\n zArr = new Uint32Array(n);\n zBuf = new Uint32Array(n);\n sortBuf = new Array(n);\n }\n for (let i = 0; i < n; i++) zArr[i] = sortArr[i].z;\n\n // even pass count lands the sorted result back in sortArr\n radixPass(n, sortArr, zArr, sortBuf, zBuf, 0);\n radixPass(n, sortBuf, zBuf, sortArr, zArr, 8);\n radixPass(n, sortArr, zArr, sortBuf, zBuf, 16);\n radixPass(n, sortBuf, zBuf, sortArr, zArr, 24);\n}\n\n// one LSD radix pass: stably scatter the first n nodes (and their z) from src to dst,\n// bucketed by the 8-bit digit of z at the given bit shift\n/** @param {number} n @param {Node[]} src @param {Uint32Array} srcZ @param {Node[]} dst @param {Uint32Array} dstZ @param {number} shift */\nfunction radixPass(n, src, srcZ, dst, dstZ, shift) {\n counts.fill(0);\n for (let i = 0; i < n; i++) counts[(srcZ[i] >>> shift) & 0xff]++;\n // turn per-bucket counts into start offsets (prefix sum)\n let sum = 0;\n for (let b = 0; b < 256; b++) { const c = counts[b]; counts[b] = sum; sum += c; }\n for (let i = 0; i < n; i++) {\n const z = srcZ[i];\n const pos = counts[(z >>> shift) & 0xff]++;\n dst[pos] = src[i];\n dstZ[pos] = z;\n }\n}\n\n// z-order of a point given coords and inverse of the longer side of data bbox\n/** @param {number} x @param {number} y @param {number} minX @param {number} minY @param {number} invSize @returns {number} */\nfunction zOrder(x, y, minX, minY, invSize) {\n // coords are transformed into non-negative 15-bit integer range\n x = (x - minX) * invSize | 0;\n y = (y - minY) * invSize | 0;\n\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n// find the leftmost node of a polygon ring\n/** @param {Node} start @returns {Node} */\nfunction getLeftmost(start) {\n let p = start,\n leftmost = start;\n do {\n if (p.x < leftmost.x || (p.x === leftmost.x && p.y < leftmost.y)) leftmost = p;\n p = p.next;\n } while (p !== start);\n\n return leftmost;\n}\n\n// check if a point lies within a convex triangle\n/** @param {number} ax @param {number} ay @param {number} bx @param {number} by @param {number} cx @param {number} cy @param {number} px @param {number} py @returns {boolean} */\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {\n return (cx - px) * (ay - py) >= (ax - px) * (cy - py) &&\n (ax - px) * (by - py) >= (bx - px) * (ay - py) &&\n (bx - px) * (cy - py) >= (cx - px) * (by - py);\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\n/** @param {Node} a @param {Node} b @returns {boolean} true when the diagonal is valid */\nfunction isValidDiagonal(a, b) {\n const zeroLength = equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0; // degenerate case\n return a.next.i !== b.i && (zeroLength || locallyInside(a, b) && locallyInside(b, a) && // // locally visible\n (area(a.prev, a, b.prev) !== 0 || area(a, b.prev, b) !== 0)) && // no opposite-facing sectors\n !intersectsPolygon(a, b) && (zeroLength || middleInside(a, b)); // doesn't intersect other edges, diagonal inside polygon\n}\n\n// signed area of a triangle\n/** @param {Node} p @param {Node} q @param {Node} r @returns {number} */\nfunction area(p, q, r) {\n return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\n\n// check if two points are equal\n/** @param {Node} p1 @param {Node} p2 @returns {boolean} */\nfunction equals(p1, p2) {\n return p1.x === p2.x && p1.y === p2.y;\n}\n\n// check if two segments intersect; by default includes collinear boundary touches\n/** @param {Node} p1 @param {Node} q1 @param {Node} p2 @param {Node} q2 @param {boolean} [includeBoundary] @returns {boolean} */\nfunction intersects(p1, q1, p2, q2, includeBoundary = true) {\n const o1 = area(p1, q1, p2);\n const o2 = area(p1, q1, q2);\n const o3 = area(p2, q2, p1);\n const o4 = area(p2, q2, q1);\n\n if (((o1 > 0 && o2 < 0) || (o1 < 0 && o2 > 0)) && ((o3 > 0 && o4 < 0) || (o3 < 0 && o4 > 0))) return true;\n\n if (!includeBoundary) return false;\n\n if (o1 === 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1\n if (o2 === 0 && onSegment(p1, q2, q1)) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1\n if (o3 === 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2\n if (o4 === 0 && onSegment(p2, q1, q2)) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2\n\n return false;\n}\n\n// for collinear points p, q, r, check if point q lies on segment pr\n/** @param {Node} p @param {Node} q @param {Node} r @returns {boolean} */\nfunction onSegment(p, q, r) {\n return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);\n}\n\n// check if a polygon diagonal intersects any polygon segments\n/** @param {Node} a @param {Node} b @returns {boolean} */\nfunction intersectsPolygon(a, b) {\n // diagonal bbox; an edge whose bbox can't overlap it can't intersect it, so\n // skip the orientation test for those (the common case — the diagonal is short)\n const minX = Math.min(a.x, b.x);\n const maxX = Math.max(a.x, b.x);\n const minY = Math.min(a.y, b.y);\n const maxY = Math.max(a.y, b.y);\n\n let p = a;\n do {\n const n = p.next;\n if ((p.x > maxX && n.x > maxX) || (p.x < minX && n.x < minX) ||\n (p.y > maxY && n.y > maxY) || (p.y < minY && n.y < minY)) {\n p = n;\n continue;\n }\n if (p.i !== a.i && n.i !== a.i && p.i !== b.i && n.i !== b.i &&\n intersects(p, n, a, b)) return true;\n p = n;\n } while (p !== a);\n\n return false;\n}\n\n// check if a polygon diagonal is locally inside the polygon\n/** @param {Node} a @param {Node} b @returns {boolean} */\nfunction locallyInside(a, b) {\n return area(a.prev, a, a.next) < 0 ?\n area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :\n area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\n/** @param {Node} a @param {Node} b @returns {boolean} */\nfunction middleInside(a, b) {\n let p = a;\n let inside = false;\n const px = (a.x + b.x) / 2;\n const py = (a.y + b.y) / 2;\n do {\n const n = p.next;\n if (((p.y > py) !== (n.y > py)) && (px < (n.x - p.x) * (py - p.y) / (n.y - p.y) + p.x))\n inside = !inside;\n p = n;\n } while (p !== a);\n\n return inside;\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\n/** @param {Node} a @param {Node} b @returns {Node} */\nfunction splitPolygon(a, b) {\n const a2 = createNode(a.i, a.x, a.y),\n b2 = createNode(b.i, b.x, b.y),\n an = a.next,\n bp = b.prev;\n\n a.next = b;\n b.prev = a;\n\n a2.next = an;\n an.prev = a2;\n\n b2.next = a2;\n a2.prev = b2;\n\n bp.next = b2;\n b2.prev = bp;\n\n return b2;\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\n/** @param {number} i @param {number} x @param {number} y @param {Node | null} last @returns {Node} */\nfunction insertNode(i, x, y, last) {\n const p = createNode(i, x, y);\n\n if (!last) {\n p.prev = p;\n p.next = p;\n\n } else {\n p.next = last.next;\n p.prev = last;\n last.next.prev = p;\n last.next = p;\n }\n return p;\n}\n\n/** @param {Node} p */\nfunction removeNode(p) {\n p.next.prev = p.prev;\n p.prev.next = p.next;\n\n if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n\n // keep the hole-bridge index's block bboxes covering the healed prev->next edge\n if (indexActive) growBlock(p.prev, p.next);\n}\n\n/** @param {number} i @param {number} x @param {number} y @returns {Node} */\nfunction createNode(i, x, y) {\n // prev/next are assigned by the caller before any read, so the null init is cast away here\n return /** @type {Node} */ (/** @type {unknown} */ ({\n i, // vertex index in coordinates array\n x, y, // vertex coordinates\n prev: null, // previous and next vertex nodes in a polygon ring\n next: null,\n z: 0, // z-order curve value; doubles as owning block in the hole-bridge index during eliminateHoles\n prevZ: null, // previous and next nodes in z-order\n nextZ: null\n }));\n}\n\n/**\n * Return the relative difference between the polygon area and the area of its triangulation —\n * a value near 0 means a correct triangulation. Useful for verifying output in tests.\n *\n * @param {ArrayLike} data\n * @param {ArrayLike | null} holeIndices\n * @param {number} dim number of coordinates per vertex in `data`\n * @param {ArrayLike} triangles output of {@link earcut}\n * @returns {number}\n * @example deviation(data, holes, dim, earcut(data, holes, dim)); // ~0 if correct\n */\nexport function deviation(data, holeIndices, dim, triangles) {\n const hasHoles = holeIndices && holeIndices.length;\n const outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n\n let polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));\n if (hasHoles) {\n for (let i = 0, len = holeIndices.length; i < len; i++) {\n const start = holeIndices[i] * dim;\n const end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n polygonArea -= Math.abs(signedArea(data, start, end, dim));\n }\n }\n\n let trianglesArea = 0;\n for (let i = 0; i < triangles.length; i += 3) {\n const a = triangles[i] * dim;\n const b = triangles[i + 1] * dim;\n const c = triangles[i + 2] * dim;\n trianglesArea += Math.abs(\n (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -\n (data[a] - data[b]) * (data[c + 1] - data[a + 1]));\n }\n\n return polygonArea === 0 && trianglesArea === 0 ? 0 :\n Math.abs((trianglesArea - polygonArea) / polygonArea);\n}\n\n/** @param {ArrayLike} data @param {number} start @param {number} end @param {number} dim @returns {number} */\nfunction signedArea(data, start, end, dim) {\n let sum = 0;\n for (let i = start, j = end - dim; i < end; i += dim) {\n sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n j = i;\n }\n return sum;\n}\n\n/**\n * Turn a polygon in multi-dimensional array form (e.g. as in GeoJSON) into the flat form Earcut accepts.\n *\n * @param {ReadonlyArray>>} data array of rings; the first ring is the outer contour, the rest are holes\n * @returns {{vertices: number[], holes: number[], dimensions: number}}\n * @example const {vertices, holes, dimensions} = flatten(geojson.coordinates);\n */\nexport function flatten(data) {\n const vertices = [];\n const holes = [];\n const dimensions = data[0][0].length;\n let holeIndex = 0;\n let prevLen = 0;\n\n for (const ring of data) {\n for (const p of ring) {\n for (let d = 0; d < dimensions; d++) vertices.push(p[d]);\n }\n if (prevLen) {\n holeIndex += prevLen;\n holes.push(holeIndex);\n }\n prevLen = ring.length;\n }\n return {vertices, holes, dimensions};\n}\n\n// Reusable module-level scratch for refine():\n// he = twin half-edge of each edge, or -1 on the polygon boundary\n// hTable = open-addressing hash, slot -> half-edge index, valid iff hStamp[slot] === gen\n// edgeStamp = pending-in-stack flag, cleared when the edge is popped\n/** @type {Int32Array} */ let edgeStack;\n/** @type {Int32Array} */ let he;\n/** @type {Int32Array} */ let hTable;\n/** @type {Uint32Array} */ let hStamp;\n/** @type {Uint8Array} */ let edgeStamp;\nlet hMask = 0, gen = 0;\n\n/**\n * Refine a triangulation toward the constrained Delaunay triangulation by legalizing every\n * interior edge in place with Lawson flips — maximizing the minimum angle and removing most\n * slivers. An optional post-pass for {@link earcut} output, or any manifold triangle-index array\n * indexing into `coords`. Adapted from delaunator's edge legalization.\n *\n * Uses non-robust predicates: float input is fine, and the worst case is a not-quite-Delaunay\n * edge, never an invalid mesh.\n *\n * @param {number[]} triangles triangle indices, as returned by {@link earcut}; mutated in place\n * @param {ArrayLike} coords the flat vertex coordinates passed to {@link earcut}\n * @param {number} [dim=2] number of coordinates per vertex in `coords`\n * @example refine(earcut(data), data);\n */\nexport function refine(triangles, coords, dim = 2) {\n const t = triangles;\n const n = t.length;\n if (n < 6) return;\n ensureScratch(n);\n gen++; // bumping the generation logically empties the hash (no clearing)\n he.fill(-1, 0, n);\n\n // Build half-edge twins with an undirected-edge hash; consumed slots mark linked pairs. As each\n // pair is linked we seed the stack with one representative (s, the earlier-inserted edge) — this\n // fuses the initial \"push every interior edge\" pass into the build, saving a full O(n) scan.\n // edgeStamp is all-zero here (balanced push/pop leaves it clean) and each pair links once, so\n // the seed write needs no dedup guard.\n let i = 0;\n for (let e = 0; e < n; e++) {\n const a = t[e], b = t[nextHE(e)];\n const lo = a < b ? a : b, hi = a < b ? b : a;\n let h = (Math.imul(lo, 0x9e3779b1) ^ Math.imul(hi, 0x85ebca6b)) & hMask;\n while (hStamp[h] === gen) {\n const s = hTable[h];\n // s === -1 marks a consumed slot (a pair already linked) — skip past it\n if (s !== -1) {\n const sa = t[s], sb = t[nextHE(s)];\n if ((sa === lo && sb === hi) || (sa === hi && sb === lo)) {\n he[e] = s; he[s] = e; hTable[h] = -1; // link, then consume the slot\n edgeStamp[s] = 1; edgeStack[i++] = s; // seed the interior edge for the cascade\n break;\n }\n }\n h = (h + 1) & hMask;\n }\n if (hStamp[h] !== gen) { hTable[h] = e; hStamp[h] = gen; } // first occurrence: insert\n }\n\n while (i > 0) {\n const a = edgeStack[--i];\n edgeStamp[a] = 0;\n const b = he[a];\n if (b === -1) continue;\n\n const a0 = a - a % 3;\n const b0 = b - b % 3;\n const ar = a0 + (a + 2) % 3;\n const al = a0 + (a + 1) % 3;\n const bl = b0 + (b + 2) % 3;\n const br = b0 + (b + 1) % 3;\n const p0 = t[ar], pr = t[a], pl = t[al], p1 = t[bl];\n\n const x0 = coords[p0 * dim], y0 = coords[p0 * dim + 1];\n const xr = coords[pr * dim], yr = coords[pr * dim + 1];\n const xl = coords[pl * dim], yl = coords[pl * dim + 1];\n const x1 = coords[p1 * dim], y1 = coords[p1 * dim + 1];\n\n // Test inCircle first: most interior edges are already Delaunay (inCircle true → no flip),\n // so this short-circuits before the two convexity orients on the common path. The quad must\n // also be convex (both new triangles CCW) — flipping a reflex quad would push a triangle\n // outside the polygon. Boundary/hole edges need no guard — they self-protect via he === -1.\n if (!inCircle(x0, y0, xr, yr, xl, yl, x1, y1) &&\n orient(x0, y0, xr, yr, x1, y1) > 0 && orient(x0, y0, x1, y1, xl, yl) > 0) {\n t[a] = p1; t[b] = p0;\n const hbl = he[bl], har = he[ar];\n he[a] = hbl; if (hbl !== -1) he[hbl] = a;\n he[b] = har; if (har !== -1) he[har] = b;\n he[ar] = bl; he[bl] = ar;\n\n // re-check the quad's four outer edges; skip boundary edges (he === -1) and any\n // already queued (edgeStamp), which also keeps the stack bounded by n.\n if (hbl !== -1 && edgeStamp[a] === 0) { edgeStamp[a] = 1; edgeStack[i++] = a; }\n if (har !== -1 && edgeStamp[b] === 0) { edgeStamp[b] = 1; edgeStack[i++] = b; }\n if (he[al] !== -1 && edgeStamp[al] === 0) { edgeStamp[al] = 1; edgeStack[i++] = al; }\n if (he[br] !== -1 && edgeStamp[br] === 0) { edgeStamp[br] = 1; edgeStack[i++] = br; }\n }\n }\n}\n\n/** @param {number} ax @param {number} ay @param {number} bx @param {number} by @param {number} cx @param {number} cy */\nfunction orient(ax, ay, bx, by, cx, cy) {\n return (bx - ax) * (cy - ay) - (by - ay) * (cx - ax);\n}\n\n// Whether p is inside or exactly on the circumcircle of triangle (a, b, c). Sign is negated vs the\n// usual predicate to match earcut's CCW winding — the standard sign would build the anti-Delaunay\n// mesh. Cocircular quads are legal ties, so refine only flips when this returns false.\n/** @param {number} ax @param {number} ay @param {number} bx @param {number} by @param {number} cx @param {number} cy @param {number} px @param {number} py */\nfunction inCircle(ax, ay, bx, by, cx, cy, px, py) {\n const dx = ax - px, dy = ay - py, ex = bx - px, ey = by - py, fx = cx - px, fy = cy - py;\n const ap = dx * dx + dy * dy, bp = ex * ex + ey * ey, cp = fx * fx + fy * fy;\n // A near-cocircular quad is a legal Delaunay tie, but roundoff can flag both an edge and its\n // flip as illegal, cascading into an endless flip loop (#205) — so treat a determinant within\n // a small margin of zero as a tie. The determinant's worst-case roundoff error is provably\n // below 9e-16·(ap + bp + cp)² (Shewchuk-style bound), so the margin guarantees every executed\n // flip is illegal in exact arithmetic, and Lawson flipping always terminates.\n const s = ap + bp + cp;\n return dx * (ey * cp - bp * fy) - dy * (ex * cp - bp * fx) + ap * (ex * fy - ey * fx) <= 1e-13 * s * s;\n}\n\n/** @param {number} e */\nfunction nextHE(e) { // next half-edge within the same triangle\n return e - e % 3 + (e + 1) % 3;\n}\n\n// Grow the scratch arrays on demand (like earcut's z-order arrays). Allocating lazily here rather\n// than at module load lets the whole refine() block tree-shake away for callers who don't use it.\n/** @param {number} n */\nfunction ensureScratch(n) {\n // edgeStack holds at most one entry per half-edge (edgeStamp dedups), so n is a safe cap —\n // sizing it up front lets the cascade push without a bounds/grow check.\n if (!edgeStack || edgeStack.length < n) edgeStack = new Int32Array(n);\n if (!he || he.length < n) he = new Int32Array(n);\n if (!edgeStamp || edgeStamp.length < n) edgeStamp = new Uint8Array(n);\n let size = 1;\n while (size < n * 4) size <<= 1; // power-of-two table, load factor <= 0.25\n if (!hTable || hTable.length < size) { hTable = new Int32Array(size); hStamp = new Uint32Array(size); }\n hMask = size - 1;\n}\n","// src/tiny-inflate@1.0.3.esm.mjs\nvar TINF_OK = 0;\nvar TINF_DATA_ERROR = -3;\nfunction Tree() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n}\nfunction Data(source, dest) {\n this.source = source;\n this.sourceIndex = 0;\n this.tag = 0;\n this.bitcount = 0;\n this.dest = dest;\n this.destLen = 0;\n this.ltree = new Tree();\n this.dtree = new Tree();\n}\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n var i, sum;\n for (i = 0; i < delta; ++i) bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i) bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n var i;\n for (i = 0; i < 7; ++i) lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i) lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i) lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i) lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i) lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i) dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i) dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n var i, sum;\n for (i = 0; i < 16; ++i) t.table[i] = 0;\n for (i = 0; i < num; ++i) t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i]) t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n if (!d.bitcount--) {\n d.tag = d.source[d.sourceIndex++];\n d.bitcount = 7;\n }\n var bit = d.tag & 1;\n d.tag >>>= 1;\n return bit;\n}\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n var val = d.tag & 65535 >>> 16 - num;\n d.tag >>>= num;\n d.bitcount -= num;\n return val + base;\n}\nfunction tinf_decode_symbol(d, t) {\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n var sum = 0, cur = 0, len = 0;\n var tag = d.tag;\n do {\n cur = 2 * cur + (tag & 1);\n tag >>>= 1;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n d.tag = tag;\n d.bitcount -= len;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt) {\n var hlit, hdist, hclen;\n var i, num, length;\n hlit = tinf_read_bits(d, 5, 257);\n hdist = tinf_read_bits(d, 5, 1);\n hclen = tinf_read_bits(d, 4, 4);\n for (i = 0; i < 19; ++i) lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n var clen = tinf_read_bits(d, 3, 0);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n var sym = tinf_decode_symbol(d, code_tree);\n switch (sym) {\n case 16:\n var prev = lengths[num - 1];\n for (length = tinf_read_bits(d, 2, 3); length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n for (length = tinf_read_bits(d, 3, 3); length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n for (length = tinf_read_bits(d, 7, 11); length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nfunction tinf_inflate_block_data(d, lt, dt) {\n for (; ; ) {\n var sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest[d.destLen++] = sym;\n } else {\n var length, dist, offs2;\n var i;\n sym -= 257;\n length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n dist = tinf_decode_symbol(d, dt);\n offs2 = d.destLen - tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n for (i = offs2; i < offs2 + length; ++i) {\n d.dest[d.destLen++] = d.dest[i];\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n var length, invlength;\n var i;\n while (d.bitcount > 8) {\n d.sourceIndex--;\n d.bitcount -= 8;\n }\n length = d.source[d.sourceIndex + 1];\n length = 256 * length + d.source[d.sourceIndex];\n invlength = d.source[d.sourceIndex + 3];\n invlength = 256 * invlength + d.source[d.sourceIndex + 2];\n if (length !== (~invlength & 65535))\n return TINF_DATA_ERROR;\n d.sourceIndex += 4;\n for (i = length; i; --i)\n d.dest[d.destLen++] = d.source[d.sourceIndex++];\n d.bitcount = 0;\n return TINF_OK;\n}\nfunction tinf_uncompress(source, dest) {\n var d = new Data(source, dest);\n var bfinal, btype, res;\n do {\n bfinal = tinf_getbit(d);\n btype = tinf_read_bits(d, 2, 0);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = TINF_DATA_ERROR;\n }\n if (res !== TINF_OK)\n throw new Error(\"Data error\");\n } while (!bfinal);\n if (d.destLen < d.dest.length) {\n if (typeof d.dest.slice === \"function\")\n return d.dest.slice(0, d.destLen);\n else\n return d.dest.subarray(0, d.destLen);\n }\n return d.dest;\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/bbox.mjs\nfunction derive(v0, v1, v2, v3, t) {\n return Math.pow(1 - t, 3) * v0 + 3 * Math.pow(1 - t, 2) * t * v1 + 3 * (1 - t) * Math.pow(t, 2) * v2 + Math.pow(t, 3) * v3;\n}\nfunction BoundingBox() {\n this.x1 = Number.NaN;\n this.y1 = Number.NaN;\n this.x2 = Number.NaN;\n this.y2 = Number.NaN;\n}\nBoundingBox.prototype.isEmpty = function() {\n return isNaN(this.x1) || isNaN(this.y1) || isNaN(this.x2) || isNaN(this.y2);\n};\nBoundingBox.prototype.addPoint = function(x, y) {\n if (typeof x === \"number\") {\n if (isNaN(this.x1) || isNaN(this.x2)) {\n this.x1 = x;\n this.x2 = x;\n }\n if (x < this.x1) {\n this.x1 = x;\n }\n if (x > this.x2) {\n this.x2 = x;\n }\n }\n if (typeof y === \"number\") {\n if (isNaN(this.y1) || isNaN(this.y2)) {\n this.y1 = y;\n this.y2 = y;\n }\n if (y < this.y1) {\n this.y1 = y;\n }\n if (y > this.y2) {\n this.y2 = y;\n }\n }\n};\nBoundingBox.prototype.addX = function(x) {\n this.addPoint(x, null);\n};\nBoundingBox.prototype.addY = function(y) {\n this.addPoint(null, y);\n};\nBoundingBox.prototype.addBezier = function(x0, y0, x1, y1, x2, y2, x, y) {\n const p0 = [x0, y0];\n const p1 = [x1, y1];\n const p2 = [x2, y2];\n const p3 = [x, y];\n this.addPoint(x0, y0);\n this.addPoint(x, y);\n for (let i = 0; i <= 1; i++) {\n const b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n const a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n const c = 3 * p1[i] - 3 * p0[i];\n if (a === 0) {\n if (b === 0) continue;\n const t = -c / b;\n if (0 < t && t < 1) {\n if (i === 0) this.addX(derive(p0[i], p1[i], p2[i], p3[i], t));\n if (i === 1) this.addY(derive(p0[i], p1[i], p2[i], p3[i], t));\n }\n continue;\n }\n const b2ac = Math.pow(b, 2) - 4 * c * a;\n if (b2ac < 0) continue;\n const t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n if (0 < t1 && t1 < 1) {\n if (i === 0) this.addX(derive(p0[i], p1[i], p2[i], p3[i], t1));\n if (i === 1) this.addY(derive(p0[i], p1[i], p2[i], p3[i], t1));\n }\n const t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n if (0 < t2 && t2 < 1) {\n if (i === 0) this.addX(derive(p0[i], p1[i], p2[i], p3[i], t2));\n if (i === 1) this.addY(derive(p0[i], p1[i], p2[i], p3[i], t2));\n }\n }\n};\nBoundingBox.prototype.addQuad = function(x0, y0, x1, y1, x, y) {\n const cp1x = x0 + 2 / 3 * (x1 - x0);\n const cp1y = y0 + 2 / 3 * (y1 - y0);\n const cp2x = cp1x + 1 / 3 * (x - x0);\n const cp2y = cp1y + 1 / 3 * (y - y0);\n this.addBezier(x0, y0, cp1x, cp1y, cp2x, cp2y, x, y);\n};\nvar bbox_default = BoundingBox;\n\n// src/path.mjs\nfunction Path() {\n this.commands = [];\n this.fill = \"black\";\n this.stroke = null;\n this.strokeWidth = 1;\n}\nvar decimalRoundingCache = {};\nfunction roundDecimal(float, places) {\n const integerPart = Math.floor(float);\n const decimalPart = float - integerPart;\n if (!decimalRoundingCache[places]) {\n decimalRoundingCache[places] = {};\n }\n if (decimalRoundingCache[places][decimalPart] !== void 0) {\n const roundedDecimalPart2 = decimalRoundingCache[places][decimalPart];\n return integerPart + roundedDecimalPart2;\n }\n const roundedDecimalPart = +(Math.round(decimalPart + \"e+\" + places) + \"e-\" + places);\n decimalRoundingCache[places][decimalPart] = roundedDecimalPart;\n return integerPart + roundedDecimalPart;\n}\nfunction optimizeCommands(commands) {\n let subpaths = [[]];\n let startX = 0, startY = 0;\n for (let i = 0; i < commands.length; i += 1) {\n const subpath = subpaths[subpaths.length - 1];\n const cmd = commands[i];\n const firstCommand = subpath[0];\n const secondCommand = subpath[1];\n const previousCommand = subpath[subpath.length - 1];\n const nextCommand = commands[i + 1];\n subpath.push(cmd);\n if (cmd.type === \"M\") {\n startX = cmd.x;\n startY = cmd.y;\n } else if (cmd.type === \"L\" && (!nextCommand || nextCommand.type === \"Z\")) {\n if (!(Math.abs(cmd.x - startX) > 1 || Math.abs(cmd.y - startY) > 1)) {\n subpath.pop();\n }\n } else if (cmd.type === \"L\" && previousCommand && previousCommand.x === cmd.x && previousCommand.y === cmd.y) {\n subpath.pop();\n } else if (cmd.type === \"Z\") {\n if (firstCommand && secondCommand && previousCommand && firstCommand.type === \"M\" && secondCommand.type === \"L\" && previousCommand.type === \"L\" && previousCommand.x === firstCommand.x && previousCommand.y === firstCommand.y) {\n subpath.shift();\n subpath[0].type = \"M\";\n }\n if (i + 1 < commands.length) {\n subpaths.push([]);\n }\n }\n }\n commands = [].concat.apply([], subpaths);\n return commands;\n}\nfunction createSVGParsingOptions(options) {\n const defaultOptions = {\n decimalPlaces: 2,\n optimize: true,\n flipY: true,\n flipYBase: void 0,\n scale: 1,\n x: 0,\n y: 0\n };\n const newOptions = Object.assign({}, defaultOptions, options);\n return newOptions;\n}\nfunction createSVGOutputOptions(options) {\n if (parseInt(options) === options) {\n options = { decimalPlaces: options, flipY: false };\n }\n const defaultOptions = {\n decimalPlaces: 2,\n optimize: true,\n flipY: true,\n flipYBase: void 0\n };\n const newOptions = Object.assign({}, defaultOptions, options);\n return newOptions;\n}\nPath.prototype.fromSVG = function(pathData, options = {}) {\n if (typeof SVGPathElement !== \"undefined\" && pathData instanceof SVGPathElement) {\n pathData = pathData.getAttribute(\"d\");\n }\n options = createSVGParsingOptions(options);\n this.commands = [];\n const number = \"0123456789\";\n const supportedCommands = \"MmLlQqCcZzHhVv\";\n const unsupportedCommands = \"SsTtAa\";\n const sign = \"-+\";\n let command = {};\n let buffer = [\"\"];\n let isUnexpected = false;\n function parseBuffer2(buffer2) {\n return buffer2.filter((b) => b.length).map((b) => {\n let float = parseFloat(b);\n if (options.decimalPlaces || options.decimalPlaces === 0) {\n float = roundDecimal(float, options.decimalPlaces);\n }\n return float;\n });\n }\n function makeRelative(buffer2) {\n if (!this.commands.length) {\n return buffer2;\n }\n const lastCommand = this.commands[this.commands.length - 1];\n for (let i = 0; i < buffer2.length; i++) {\n buffer2[i] += lastCommand[i & 1 ? \"y\" : \"x\"];\n }\n return buffer2;\n }\n function applyCommand() {\n if (command.type === void 0) {\n return;\n }\n const commandType = command.type.toUpperCase();\n const relative = commandType !== \"Z\" && command.type.toUpperCase() !== command.type;\n let parsedBuffer = parseBuffer2(buffer);\n buffer = [\"\"];\n if (!parsedBuffer.length && commandType !== \"Z\") {\n return;\n }\n if (relative && commandType !== \"H\" && commandType !== \"V\") {\n parsedBuffer = makeRelative.apply(this, [parsedBuffer]);\n }\n const currentX = this.commands.length ? this.commands[this.commands.length - 1].x || 0 : 0;\n const currentY = this.commands.length ? this.commands[this.commands.length - 1].y || 0 : 0;\n switch (commandType) {\n case \"M\":\n this.moveTo(...parsedBuffer);\n break;\n case \"L\":\n this.lineTo(...parsedBuffer);\n break;\n case \"V\":\n for (let i = 0; i < parsedBuffer.length; i++) {\n let offset = 0;\n if (relative) {\n offset = this.commands.length ? this.commands[this.commands.length - 1].y || 0 : 0;\n }\n this.lineTo(currentX, parsedBuffer[i] + offset);\n }\n break;\n case \"H\":\n for (let i = 0; i < parsedBuffer.length; i++) {\n let offset = 0;\n if (relative) {\n offset = this.commands.length ? this.commands[this.commands.length - 1].x || 0 : 0;\n }\n this.lineTo(parsedBuffer[i] + offset, currentY);\n }\n break;\n case \"C\":\n this.bezierCurveTo(...parsedBuffer);\n break;\n case \"Q\":\n this.quadraticCurveTo(...parsedBuffer);\n break;\n case \"Z\":\n if (this.commands.length < 1 || this.commands[this.commands.length - 1].type !== \"Z\") {\n this.close();\n }\n break;\n }\n if (this.commands.length) {\n for (const prop in this.commands[this.commands.length - 1]) {\n if (this.commands[this.commands.length - 1][prop] === void 0) {\n this.commands[this.commands.length - 1][prop] = 0;\n }\n }\n }\n }\n for (let i = 0; i < pathData.length; i++) {\n const token = pathData.charAt(i);\n const lastBuffer = buffer[buffer.length - 1];\n if (number.indexOf(token) > -1) {\n buffer[buffer.length - 1] += token;\n } else if (sign.indexOf(token) > -1) {\n if (!command.type && !this.commands.length) {\n command.type = \"L\";\n }\n if (token === \"-\") {\n if (!command.type || lastBuffer.indexOf(\"-\") > 0) {\n isUnexpected = true;\n } else if (lastBuffer.length) {\n buffer.push(\"-\");\n } else {\n buffer[buffer.length - 1] = token;\n }\n } else {\n if (!command.type || lastBuffer.length > 0) {\n isUnexpected = true;\n } else {\n continue;\n }\n }\n } else if (supportedCommands.indexOf(token) > -1) {\n if (command.type) {\n applyCommand.apply(this);\n command = { type: token };\n } else {\n command.type = token;\n }\n } else if (unsupportedCommands.indexOf(token) > -1) {\n throw new Error(\"Unsupported path command: \" + token + \". Currently supported commands are \" + supportedCommands.split(\"\").join(\", \") + \".\");\n } else if (\" ,\t\\n\\r\\f\\v\".indexOf(token) > -1) {\n buffer.push(\"\");\n } else if (token === \".\") {\n if (!command.type || lastBuffer.indexOf(token) > -1) {\n isUnexpected = true;\n } else {\n buffer[buffer.length - 1] += token;\n }\n } else {\n isUnexpected = true;\n }\n if (isUnexpected) {\n throw new Error(\"Unexpected character: \" + token + \" at offset \" + i);\n }\n }\n applyCommand.apply(this);\n if (options.optimize) {\n this.commands = optimizeCommands(this.commands);\n }\n const flipY = options.flipY;\n let flipYBase = options.flipYBase;\n if (flipY === true && options.flipYBase === void 0) {\n const boundingBox = this.getBoundingBox();\n flipYBase = boundingBox.y1 + boundingBox.y2;\n }\n for (const i in this.commands) {\n const cmd = this.commands[i];\n for (const prop in cmd) {\n if ([\"x\", \"x1\", \"x2\"].includes(prop)) {\n this.commands[i][prop] = options.x + cmd[prop] * options.scale;\n } else if ([\"y\", \"y1\", \"y2\"].includes(prop)) {\n this.commands[i][prop] = options.y + (flipY ? flipYBase - cmd[prop] : cmd[prop]) * options.scale;\n }\n }\n }\n return this;\n};\nPath.fromSVG = function(path, options) {\n const newPath = new Path();\n return newPath.fromSVG(path, options);\n};\nPath.prototype.moveTo = function(x, y) {\n this.commands.push({\n type: \"M\",\n x,\n y\n });\n};\nPath.prototype.lineTo = function(x, y) {\n this.commands.push({\n type: \"L\",\n x,\n y\n });\n};\nPath.prototype.curveTo = Path.prototype.bezierCurveTo = function(x1, y1, x2, y2, x, y) {\n this.commands.push({\n type: \"C\",\n x1,\n y1,\n x2,\n y2,\n x,\n y\n });\n};\nPath.prototype.quadTo = Path.prototype.quadraticCurveTo = function(x1, y1, x, y) {\n this.commands.push({\n type: \"Q\",\n x1,\n y1,\n x,\n y\n });\n};\nPath.prototype.close = Path.prototype.closePath = function() {\n this.commands.push({\n type: \"Z\"\n });\n};\nPath.prototype.extend = function(pathOrCommands) {\n if (pathOrCommands.commands) {\n pathOrCommands = pathOrCommands.commands;\n } else if (pathOrCommands instanceof bbox_default) {\n const box = pathOrCommands;\n this.moveTo(box.x1, box.y1);\n this.lineTo(box.x2, box.y1);\n this.lineTo(box.x2, box.y2);\n this.lineTo(box.x1, box.y2);\n this.close();\n return;\n }\n Array.prototype.push.apply(this.commands, pathOrCommands);\n};\nPath.prototype.getBoundingBox = function() {\n const box = new bbox_default();\n let startX = 0;\n let startY = 0;\n let prevX = 0;\n let prevY = 0;\n for (let i = 0; i < this.commands.length; i++) {\n const cmd = this.commands[i];\n switch (cmd.type) {\n case \"M\":\n box.addPoint(cmd.x, cmd.y);\n startX = prevX = cmd.x;\n startY = prevY = cmd.y;\n break;\n case \"L\":\n box.addPoint(cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case \"Q\":\n box.addQuad(prevX, prevY, cmd.x1, cmd.y1, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case \"C\":\n box.addBezier(prevX, prevY, cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case \"Z\":\n prevX = startX;\n prevY = startY;\n break;\n default:\n throw new Error(\"Unexpected path command \" + cmd.type);\n }\n }\n if (box.isEmpty()) {\n box.addPoint(0, 0);\n }\n return box;\n};\nPath.prototype.draw = function(ctx) {\n const layers = this._layers;\n if (layers && layers.length) {\n for (let l = 0; l < layers.length; l++) {\n this.draw.call(layers[l], ctx);\n }\n return;\n }\n const image = this._image;\n if (image) {\n ctx.drawImage(image.image, image.x, image.y, image.width, image.height);\n return;\n }\n ctx.beginPath();\n for (let i = 0; i < this.commands.length; i += 1) {\n const cmd = this.commands[i];\n if (cmd.type === \"M\") {\n ctx.moveTo(cmd.x, cmd.y);\n } else if (cmd.type === \"L\") {\n ctx.lineTo(cmd.x, cmd.y);\n } else if (cmd.type === \"C\") {\n ctx.bezierCurveTo(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n } else if (cmd.type === \"Q\") {\n ctx.quadraticCurveTo(cmd.x1, cmd.y1, cmd.x, cmd.y);\n } else if (cmd.type === \"Z\" && this.stroke && this.strokeWidth) {\n ctx.closePath();\n }\n }\n if (this.fill) {\n ctx.fillStyle = this.fill;\n ctx.fill();\n }\n if (this.stroke) {\n ctx.strokeStyle = this.stroke;\n ctx.lineWidth = this.strokeWidth;\n ctx.stroke();\n }\n};\nPath.prototype.toPathData = function(options) {\n options = createSVGOutputOptions(options);\n function floatToString(v) {\n const rounded = roundDecimal(v, options.decimalPlaces);\n if (Math.round(v) === rounded) {\n return \"\" + rounded;\n } else {\n return rounded.toFixed(options.decimalPlaces);\n }\n }\n function packValues() {\n let s = \"\";\n for (let i = 0; i < arguments.length; i += 1) {\n const v = arguments[i];\n if (v >= 0 && i > 0) {\n s += \" \";\n }\n s += floatToString(v);\n }\n return s;\n }\n let commandsCopy = this.commands;\n if (options.optimize) {\n commandsCopy = JSON.parse(JSON.stringify(this.commands));\n commandsCopy = optimizeCommands(commandsCopy);\n }\n const flipY = options.flipY;\n let flipYBase = options.flipYBase;\n if (flipY === true && flipYBase === void 0) {\n const tempPath = new Path();\n tempPath.extend(commandsCopy);\n const boundingBox = tempPath.getBoundingBox();\n flipYBase = boundingBox.y1 + boundingBox.y2;\n }\n let d = \"\";\n for (let i = 0; i < commandsCopy.length; i += 1) {\n const cmd = commandsCopy[i];\n if (cmd.type === \"M\") {\n d += \"M\" + packValues(\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"L\") {\n d += \"L\" + packValues(\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"C\") {\n d += \"C\" + packValues(\n cmd.x1,\n flipY ? flipYBase - cmd.y1 : cmd.y1,\n cmd.x2,\n flipY ? flipYBase - cmd.y2 : cmd.y2,\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"Q\") {\n d += \"Q\" + packValues(\n cmd.x1,\n flipY ? flipYBase - cmd.y1 : cmd.y1,\n cmd.x,\n flipY ? flipYBase - cmd.y : cmd.y\n );\n } else if (cmd.type === \"Z\") {\n d += \"Z\";\n }\n }\n return d;\n};\nPath.prototype.toSVG = function(options, pathData) {\n if (this._layers && this._layers.length) {\n console.warn(\"toSVG() does not support colr font layers yet\");\n }\n if (this._image) {\n console.warn(\"toSVG() does not support SVG glyphs yet\");\n }\n if (!pathData) {\n pathData = this.toPathData(options);\n }\n let svg = '\";\n return svg;\n};\nPath.prototype.toDOMElement = function(options, pathData) {\n if (this._layers && this._layers.length) {\n console.warn(\"toDOMElement() does not support colr font layers yet\");\n }\n if (!pathData) {\n pathData = this.toPathData(options);\n }\n const newPath = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n newPath.setAttribute(\"d\", pathData);\n if (this.fill !== void 0 && this.fill !== \"black\") {\n if (this.fill === null) {\n newPath.setAttribute(\"fill\", \"none\");\n } else {\n newPath.setAttribute(\"fill\", this.fill);\n }\n }\n if (this.stroke) {\n newPath.setAttribute(\"stroke\", this.stroke);\n newPath.setAttribute(\"stroke-width\", this.strokeWidth);\n }\n return newPath;\n};\nvar path_default = Path;\n\n// src/check.mjs\nfunction fail(message) {\n throw new Error(message);\n}\nfunction argument(predicate, message) {\n if (!predicate) {\n fail(message);\n }\n}\nvar check_default = { fail, argument, assert: argument };\n\n// src/types.mjs\nvar LIMIT16 = 32768;\nvar LIMIT32 = 2147483648;\nvar MIN_16_16 = -(1 << 15);\nvar MAX_16_16 = (1 << 15) - 1 + 1 / (1 << 16);\nvar decode = {};\nvar encode = {};\nvar sizeOf = {};\nfunction constant(v) {\n return function() {\n return v;\n };\n}\nencode.BYTE = function(v) {\n check_default.argument(v >= 0 && v <= 255, \"Byte value should be between 0 and 255.\");\n return [v];\n};\nsizeOf.BYTE = constant(1);\nencode.CHAR = function(v) {\n return [v.charCodeAt(0)];\n};\nsizeOf.CHAR = constant(1);\nencode.CHARARRAY = function(v) {\n if (v === null || typeof v === \"undefined\") {\n v = \"\";\n console.warn(\"CHARARRAY with undefined or null value encountered and treated as an empty string. This is probably caused by a missing glyph name.\");\n }\n const b = [];\n for (let i = 0; i < v.length; i += 1) {\n b[i] = v.charCodeAt(i);\n }\n return b;\n};\nsizeOf.CHARARRAY = function(v) {\n if (typeof v === \"undefined\") {\n return 0;\n }\n return v.length;\n};\nencode.USHORT = function(v) {\n return [v >> 8 & 255, v & 255];\n};\nsizeOf.USHORT = constant(2);\nencode.SHORT = function(v) {\n if (v >= LIMIT16) {\n v = -(2 * LIMIT16 - v);\n }\n return [v >> 8 & 255, v & 255];\n};\nsizeOf.SHORT = constant(2);\nencode.UINT24 = function(v) {\n return [v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.UINT24 = constant(3);\nencode.ULONG = function(v) {\n return [v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.ULONG = constant(4);\nencode.LONG = function(v) {\n if (v >= LIMIT32) {\n v = -(2 * LIMIT32 - v);\n }\n return [v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.LONG = constant(4);\nencode.FLOAT = function(v) {\n if (v > MAX_16_16 || v < MIN_16_16) {\n throw new Error(`Value ${v} is outside the range of representable values in 16.16 format`);\n }\n const fixedValue = Math.round(v * (1 << 16)) << 0;\n return encode.ULONG(fixedValue);\n};\nsizeOf.FLOAT = sizeOf.ULONG;\nencode.FIXED = encode.ULONG;\nsizeOf.FIXED = sizeOf.ULONG;\nencode.FWORD = encode.SHORT;\nsizeOf.FWORD = sizeOf.SHORT;\nencode.UFWORD = encode.USHORT;\nsizeOf.UFWORD = sizeOf.USHORT;\nencode.F2DOT14 = function(v) {\n return encode.USHORT(v * 16384);\n};\nsizeOf.F2DOT14 = sizeOf.USHORT;\nencode.LONGDATETIME = function(v) {\n return [0, 0, 0, 0, v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.LONGDATETIME = constant(8);\nencode.TAG = function(v) {\n check_default.argument(v.length === 4, \"Tag should be exactly 4 ASCII characters.\");\n return [\n v.charCodeAt(0),\n v.charCodeAt(1),\n v.charCodeAt(2),\n v.charCodeAt(3)\n ];\n};\nsizeOf.TAG = constant(4);\nencode.Card8 = encode.BYTE;\nsizeOf.Card8 = sizeOf.BYTE;\nencode.Card16 = encode.USHORT;\nsizeOf.Card16 = sizeOf.USHORT;\nencode.OffSize = encode.BYTE;\nsizeOf.OffSize = sizeOf.BYTE;\nencode.SID = encode.USHORT;\nsizeOf.SID = sizeOf.USHORT;\nencode.NUMBER = function(v) {\n if (v >= -107 && v <= 107) {\n return [v + 139];\n } else if (v >= 108 && v <= 1131) {\n v = v - 108;\n return [(v >> 8) + 247, v & 255];\n } else if (v >= -1131 && v <= -108) {\n v = -v - 108;\n return [(v >> 8) + 251, v & 255];\n } else if (v >= -32768 && v <= 32767) {\n return encode.NUMBER16(v);\n } else {\n return encode.NUMBER32(v);\n }\n};\nsizeOf.NUMBER = function(v) {\n return encode.NUMBER(v).length;\n};\nencode.NUMBER16 = function(v) {\n return [28, v >> 8 & 255, v & 255];\n};\nsizeOf.NUMBER16 = constant(3);\nencode.NUMBER32 = function(v) {\n return [29, v >> 24 & 255, v >> 16 & 255, v >> 8 & 255, v & 255];\n};\nsizeOf.NUMBER32 = constant(5);\nencode.REAL = function(v) {\n let value = v.toString();\n const m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n if (m) {\n const epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(v * epsilon) / epsilon).toString();\n }\n let nibbles = \"\";\n for (let i = 0, ii = value.length; i < ii; i += 1) {\n const c = value[i];\n if (c === \"e\") {\n nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n } else if (c === \".\") {\n nibbles += \"a\";\n } else if (c === \"-\") {\n nibbles += \"e\";\n } else {\n nibbles += c;\n }\n }\n nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n const out = [30];\n for (let i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substr(i, 2), 16));\n }\n return out;\n};\nsizeOf.REAL = function(v) {\n return encode.REAL(v).length;\n};\nencode.NAME = encode.CHARARRAY;\nsizeOf.NAME = sizeOf.CHARARRAY;\nencode.STRING = encode.CHARARRAY;\nsizeOf.STRING = sizeOf.CHARARRAY;\ndecode.UTF8 = function(data, offset, numBytes) {\n const codePoints = [];\n const numChars = numBytes;\n for (let j = 0; j < numChars; j++, offset += 1) {\n codePoints[j] = data.getUint8(offset);\n }\n return String.fromCharCode.apply(null, codePoints);\n};\ndecode.UTF16 = function(data, offset, numBytes) {\n const codePoints = [];\n const numChars = numBytes / 2;\n for (let j = 0; j < numChars; j++, offset += 2) {\n codePoints[j] = data.getUint16(offset);\n }\n return String.fromCharCode.apply(null, codePoints);\n};\nencode.UTF16 = function(v) {\n const b = [];\n for (let i = 0; i < v.length; i += 1) {\n const codepoint = v.charCodeAt(i);\n b[b.length] = codepoint >> 8 & 255;\n b[b.length] = codepoint & 255;\n }\n return b;\n};\nsizeOf.UTF16 = function(v) {\n return v.length * 2;\n};\nvar eightBitMacEncodings = {\n \"x-mac-croatian\": (\n // Python: 'mac_croatian'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\u0160\\u2122\\xB4\\xA8\\u2260\\u017D\\xD8\\u221E\\xB1\\u2264\\u2265\\u2206\\xB5\\u2202\\u2211\\u220F\\u0161\\u222B\\xAA\\xBA\\u03A9\\u017E\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u0106\\xAB\\u010C\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u0110\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\uF8FF\\xA9\\u2044\\u20AC\\u2039\\u203A\\xC6\\xBB\\u2013\\xB7\\u201A\\u201E\\u2030\\xC2\\u0107\\xC1\\u010D\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\u0111\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u03C0\\xCB\\u02DA\\xB8\\xCA\\xE6\\u02C7\"\n ),\n \"x-mac-cyrillic\": (\n // Python: 'mac_cyrillic'\n \"\\u0410\\u0411\\u0412\\u0413\\u0414\\u0415\\u0416\\u0417\\u0418\\u0419\\u041A\\u041B\\u041C\\u041D\\u041E\\u041F\\u0420\\u0421\\u0422\\u0423\\u0424\\u0425\\u0426\\u0427\\u0428\\u0429\\u042A\\u042B\\u042C\\u042D\\u042E\\u042F\\u2020\\xB0\\u0490\\xA3\\xA7\\u2022\\xB6\\u0406\\xAE\\xA9\\u2122\\u0402\\u0452\\u2260\\u0403\\u0453\\u221E\\xB1\\u2264\\u2265\\u0456\\xB5\\u0491\\u0408\\u0404\\u0454\\u0407\\u0457\\u0409\\u0459\\u040A\\u045A\\u0458\\u0405\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\u040B\\u045B\\u040C\\u045C\\u0455\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u201E\\u040E\\u045E\\u040F\\u045F\\u2116\\u0401\\u0451\\u044F\\u0430\\u0431\\u0432\\u0433\\u0434\\u0435\\u0436\\u0437\\u0438\\u0439\\u043A\\u043B\\u043C\\u043D\\u043E\\u043F\\u0440\\u0441\\u0442\\u0443\\u0444\\u0445\\u0446\\u0447\\u0448\\u0449\\u044A\\u044B\\u044C\\u044D\\u044E\"\n ),\n \"x-mac-gaelic\": (\n // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/GAELIC.TXT\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u1E02\\xB1\\u2264\\u2265\\u1E03\\u010A\\u010B\\u1E0A\\u1E0B\\u1E1E\\u1E1F\\u0120\\u0121\\u1E40\\xE6\\xF8\\u1E41\\u1E56\\u1E57\\u027C\\u0192\\u017F\\u1E60\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\u1E61\\u1E9B\\xFF\\u0178\\u1E6A\\u20AC\\u2039\\u203A\\u0176\\u0177\\u1E6B\\xB7\\u1EF2\\u1EF3\\u204A\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\u2663\\xD2\\xDA\\xDB\\xD9\\u0131\\xDD\\xFD\\u0174\\u0175\\u1E84\\u1E85\\u1E80\\u1E81\\u1E82\\u1E83\"\n ),\n \"x-mac-greek\": (\n // Python: 'mac_greek'\n \"\\xC4\\xB9\\xB2\\xC9\\xB3\\xD6\\xDC\\u0385\\xE0\\xE2\\xE4\\u0384\\xA8\\xE7\\xE9\\xE8\\xEA\\xEB\\xA3\\u2122\\xEE\\xEF\\u2022\\xBD\\u2030\\xF4\\xF6\\xA6\\u20AC\\xF9\\xFB\\xFC\\u2020\\u0393\\u0394\\u0398\\u039B\\u039E\\u03A0\\xDF\\xAE\\xA9\\u03A3\\u03AA\\xA7\\u2260\\xB0\\xB7\\u0391\\xB1\\u2264\\u2265\\xA5\\u0392\\u0395\\u0396\\u0397\\u0399\\u039A\\u039C\\u03A6\\u03AB\\u03A8\\u03A9\\u03AC\\u039D\\xAC\\u039F\\u03A1\\u2248\\u03A4\\xAB\\xBB\\u2026\\xA0\\u03A5\\u03A7\\u0386\\u0388\\u0153\\u2013\\u2015\\u201C\\u201D\\u2018\\u2019\\xF7\\u0389\\u038A\\u038C\\u038E\\u03AD\\u03AE\\u03AF\\u03CC\\u038F\\u03CD\\u03B1\\u03B2\\u03C8\\u03B4\\u03B5\\u03C6\\u03B3\\u03B7\\u03B9\\u03BE\\u03BA\\u03BB\\u03BC\\u03BD\\u03BF\\u03C0\\u03CE\\u03C1\\u03C3\\u03C4\\u03B8\\u03C9\\u03C2\\u03C7\\u03C5\\u03B6\\u03CA\\u03CB\\u0390\\u03B0\\xAD\"\n ),\n \"x-mac-icelandic\": (\n // Python: 'mac_iceland'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\xDD\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\xE6\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u2044\\u20AC\\xD0\\xF0\\xDE\\xFE\\xFD\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n ),\n \"x-mac-inuit\": (\n // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/INUIT.TXT\n \"\\u1403\\u1404\\u1405\\u1406\\u140A\\u140B\\u1431\\u1432\\u1433\\u1434\\u1438\\u1439\\u1449\\u144E\\u144F\\u1450\\u1451\\u1455\\u1456\\u1466\\u146D\\u146E\\u146F\\u1470\\u1472\\u1473\\u1483\\u148B\\u148C\\u148D\\u148E\\u1490\\u1491\\xB0\\u14A1\\u14A5\\u14A6\\u2022\\xB6\\u14A7\\xAE\\xA9\\u2122\\u14A8\\u14AA\\u14AB\\u14BB\\u14C2\\u14C3\\u14C4\\u14C5\\u14C7\\u14C8\\u14D0\\u14EF\\u14F0\\u14F1\\u14F2\\u14F4\\u14F5\\u1505\\u14D5\\u14D6\\u14D7\\u14D8\\u14DA\\u14DB\\u14EA\\u1528\\u1529\\u152A\\u152B\\u152D\\u2026\\xA0\\u152E\\u153E\\u1555\\u1556\\u1557\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\u1558\\u1559\\u155A\\u155D\\u1546\\u1547\\u1548\\u1549\\u154B\\u154C\\u1550\\u157F\\u1580\\u1581\\u1582\\u1583\\u1584\\u1585\\u158F\\u1590\\u1591\\u1592\\u1593\\u1594\\u1595\\u1671\\u1672\\u1673\\u1674\\u1675\\u1676\\u1596\\u15A0\\u15A1\\u15A2\\u15A3\\u15A4\\u15A5\\u15A6\\u157C\\u0141\\u0142\"\n ),\n \"x-mac-ce\": (\n // Python: 'mac_latin2'\n \"\\xC4\\u0100\\u0101\\xC9\\u0104\\xD6\\xDC\\xE1\\u0105\\u010C\\xE4\\u010D\\u0106\\u0107\\xE9\\u0179\\u017A\\u010E\\xED\\u010F\\u0112\\u0113\\u0116\\xF3\\u0117\\xF4\\xF6\\xF5\\xFA\\u011A\\u011B\\xFC\\u2020\\xB0\\u0118\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\u0119\\xA8\\u2260\\u0123\\u012E\\u012F\\u012A\\u2264\\u2265\\u012B\\u0136\\u2202\\u2211\\u0142\\u013B\\u013C\\u013D\\u013E\\u0139\\u013A\\u0145\\u0146\\u0143\\xAC\\u221A\\u0144\\u0147\\u2206\\xAB\\xBB\\u2026\\xA0\\u0148\\u0150\\xD5\\u0151\\u014C\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\u014D\\u0154\\u0155\\u0158\\u2039\\u203A\\u0159\\u0156\\u0157\\u0160\\u201A\\u201E\\u0161\\u015A\\u015B\\xC1\\u0164\\u0165\\xCD\\u017D\\u017E\\u016A\\xD3\\xD4\\u016B\\u016E\\xDA\\u016F\\u0170\\u0171\\u0172\\u0173\\xDD\\xFD\\u0137\\u017B\\u0141\\u017C\\u0122\\u02C7\"\n ),\n macintosh: (\n // Python: 'mac_roman'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\xE6\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u2044\\u20AC\\u2039\\u203A\\uFB01\\uFB02\\u2021\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n ),\n \"x-mac-romanian\": (\n // Python: 'mac_romanian'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\u0102\\u0218\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\u0103\\u0219\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u2044\\u20AC\\u2039\\u203A\\u021A\\u021B\\u2021\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\u0131\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n ),\n \"x-mac-turkish\": (\n // Python: 'mac_turkish'\n \"\\xC4\\xC5\\xC7\\xC9\\xD1\\xD6\\xDC\\xE1\\xE0\\xE2\\xE4\\xE3\\xE5\\xE7\\xE9\\xE8\\xEA\\xEB\\xED\\xEC\\xEE\\xEF\\xF1\\xF3\\xF2\\xF4\\xF6\\xF5\\xFA\\xF9\\xFB\\xFC\\u2020\\xB0\\xA2\\xA3\\xA7\\u2022\\xB6\\xDF\\xAE\\xA9\\u2122\\xB4\\xA8\\u2260\\xC6\\xD8\\u221E\\xB1\\u2264\\u2265\\xA5\\xB5\\u2202\\u2211\\u220F\\u03C0\\u222B\\xAA\\xBA\\u03A9\\xE6\\xF8\\xBF\\xA1\\xAC\\u221A\\u0192\\u2248\\u2206\\xAB\\xBB\\u2026\\xA0\\xC0\\xC3\\xD5\\u0152\\u0153\\u2013\\u2014\\u201C\\u201D\\u2018\\u2019\\xF7\\u25CA\\xFF\\u0178\\u011E\\u011F\\u0130\\u0131\\u015E\\u015F\\u2021\\xB7\\u201A\\u201E\\u2030\\xC2\\xCA\\xC1\\xCB\\xC8\\xCD\\xCE\\xCF\\xCC\\xD3\\xD4\\uF8FF\\xD2\\xDA\\xDB\\xD9\\uF8A0\\u02C6\\u02DC\\xAF\\u02D8\\u02D9\\u02DA\\xB8\\u02DD\\u02DB\\u02C7\"\n )\n};\ndecode.MACSTRING = function(dataView, offset, dataLength, encoding) {\n const table = eightBitMacEncodings[encoding];\n if (table === void 0) {\n return void 0;\n }\n let result = \"\";\n for (let i = 0; i < dataLength; i++) {\n const c = dataView.getUint8(offset + i);\n if (c <= 127) {\n result += String.fromCharCode(c);\n } else {\n result += table[c & 127];\n }\n }\n return result;\n};\nvar macEncodingTableCache = typeof WeakMap === \"function\" && /* @__PURE__ */ new WeakMap();\nvar macEncodingCacheKeys;\nvar getMacEncodingTable = function(encoding) {\n if (!macEncodingCacheKeys) {\n macEncodingCacheKeys = {};\n for (let e in eightBitMacEncodings) {\n macEncodingCacheKeys[e] = new String(e);\n }\n }\n const cacheKey = macEncodingCacheKeys[encoding];\n if (cacheKey === void 0) {\n return void 0;\n }\n if (macEncodingTableCache) {\n const cachedTable = macEncodingTableCache.get(cacheKey);\n if (cachedTable !== void 0) {\n return cachedTable;\n }\n }\n const decodingTable = eightBitMacEncodings[encoding];\n if (decodingTable === void 0) {\n return void 0;\n }\n const encodingTable = {};\n for (let i = 0; i < decodingTable.length; i++) {\n encodingTable[decodingTable.charCodeAt(i)] = i + 128;\n }\n if (macEncodingTableCache) {\n macEncodingTableCache.set(cacheKey, encodingTable);\n }\n return encodingTable;\n};\nencode.MACSTRING = function(str, encoding) {\n const table = getMacEncodingTable(encoding);\n if (table === void 0) {\n return void 0;\n }\n const result = [];\n for (let i = 0; i < str.length; i++) {\n let c = str.charCodeAt(i);\n if (c >= 128) {\n c = table[c];\n if (c === void 0) {\n return void 0;\n }\n }\n result[i] = c;\n }\n return result;\n};\nsizeOf.MACSTRING = function(str, encoding) {\n const b = encode.MACSTRING(str, encoding);\n if (b !== void 0) {\n return b.length;\n } else {\n return 0;\n }\n};\nfunction isByteEncodable(value) {\n return value >= -128 && value <= 127;\n}\nfunction encodeVarDeltaRunAsZeroes(deltas, pos, result) {\n let runLength = 0;\n const numDeltas = deltas.length;\n while (pos < numDeltas && runLength < 64 && deltas[pos] === 0) {\n ++pos;\n ++runLength;\n }\n result.push(128 | runLength - 1);\n return pos;\n}\nfunction encodeVarDeltaRunAsBytes(deltas, offset, result) {\n let runLength = 0;\n const numDeltas = deltas.length;\n let pos = offset;\n while (pos < numDeltas && runLength < 64) {\n const value = deltas[pos];\n if (!isByteEncodable(value)) {\n break;\n }\n if (value === 0 && pos + 1 < numDeltas && deltas[pos + 1] === 0) {\n break;\n }\n ++pos;\n ++runLength;\n }\n result.push(runLength - 1);\n for (let i = offset; i < pos; ++i) {\n result.push(deltas[i] + 256 & 255);\n }\n return pos;\n}\nfunction encodeVarDeltaRunAsWords(deltas, offset, result) {\n let runLength = 0;\n const numDeltas = deltas.length;\n let pos = offset;\n while (pos < numDeltas && runLength < 64) {\n const value = deltas[pos];\n if (value === 0) {\n break;\n }\n if (isByteEncodable(value) && pos + 1 < numDeltas && isByteEncodable(deltas[pos + 1])) {\n break;\n }\n ++pos;\n ++runLength;\n }\n result.push(64 | runLength - 1);\n for (let i = offset; i < pos; ++i) {\n const val = deltas[i];\n result.push(val + 65536 >> 8 & 255, val + 256 & 255);\n }\n return pos;\n}\nencode.VARDELTAS = function(deltas) {\n let pos = 0;\n const result = [];\n while (pos < deltas.length) {\n const value = deltas[pos];\n if (value === 0) {\n pos = encodeVarDeltaRunAsZeroes(deltas, pos, result);\n } else if (value >= -128 && value <= 127) {\n pos = encodeVarDeltaRunAsBytes(deltas, pos, result);\n } else {\n pos = encodeVarDeltaRunAsWords(deltas, pos, result);\n }\n }\n return result;\n};\nencode.INDEX = function(l) {\n let offset = 1;\n const offsets = [offset];\n const data = [];\n for (let i = 0; i < l.length; i += 1) {\n const v = encode.OBJECT(l[i]);\n Array.prototype.push.apply(data, v);\n offset += v.length;\n offsets.push(offset);\n }\n if (data.length === 0) {\n return [0, 0];\n }\n const encodedOffsets = [];\n const offSize = 1 + Math.floor(Math.log(offset) / Math.log(2)) / 8 | 0;\n const offsetEncoder = [void 0, encode.BYTE, encode.USHORT, encode.UINT24, encode.ULONG][offSize];\n for (let i = 0; i < offsets.length; i += 1) {\n const encodedOffset = offsetEncoder(offsets[i]);\n Array.prototype.push.apply(encodedOffsets, encodedOffset);\n }\n return Array.prototype.concat(\n encode.Card16(l.length),\n encode.OffSize(offSize),\n encodedOffsets,\n data\n );\n};\nsizeOf.INDEX = function(v) {\n return encode.INDEX(v).length;\n};\nencode.DICT = function(m) {\n let d = [];\n const keys = Object.keys(m);\n const length = keys.length;\n for (let i = 0; i < length; i += 1) {\n const k = parseInt(keys[i], 0);\n const v = m[k];\n const enc1 = encode.OPERAND(v.value, v.type);\n const enc2 = encode.OPERATOR(k);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n for (let j = 0; j < enc2.length; j++) {\n d.push(enc2[j]);\n }\n }\n return d;\n};\nsizeOf.DICT = function(m) {\n return encode.DICT(m).length;\n};\nencode.OPERATOR = function(v) {\n if (v < 1200) {\n return [v];\n } else {\n return [12, v - 1200];\n }\n};\nencode.OPERAND = function(v, type) {\n let d = [];\n if (Array.isArray(type)) {\n for (let i = 0; i < type.length; i += 1) {\n check_default.argument(v.length === type.length, \"Not enough arguments given for type\" + type);\n const enc1 = encode.OPERAND(v[i], type[i]);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n }\n } else {\n if (type === \"SID\") {\n const enc1 = encode.NUMBER(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else if (type === \"offset\") {\n const enc1 = encode.NUMBER32(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else if (type === \"number\") {\n const enc1 = encode.NUMBER(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else if (type === \"real\") {\n const enc1 = encode.REAL(v);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n } else {\n throw new Error(\"Unknown operand type \" + type);\n }\n }\n return d;\n};\nencode.OP = encode.BYTE;\nsizeOf.OP = sizeOf.BYTE;\nvar wmm = typeof WeakMap === \"function\" && /* @__PURE__ */ new WeakMap();\nencode.CHARSTRING = function(ops) {\n if (wmm) {\n const cachedValue = wmm.get(ops);\n if (cachedValue !== void 0) {\n return cachedValue;\n }\n }\n let d = [];\n const length = ops.length;\n for (let i = 0; i < length; i += 1) {\n const op = ops[i];\n const enc1 = encode[op.type](op.value);\n for (let j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n }\n if (wmm) {\n wmm.set(ops, d);\n }\n return d;\n};\nsizeOf.CHARSTRING = function(ops) {\n return encode.CHARSTRING(ops).length;\n};\nencode.OBJECT = function(v) {\n const encodingFunction = encode[v.type];\n check_default.argument(encodingFunction !== void 0, \"No encoding function for type \" + v.type);\n return encodingFunction(v.value);\n};\nsizeOf.OBJECT = function(v) {\n const sizeOfFunction = sizeOf[v.type];\n check_default.argument(sizeOfFunction !== void 0, \"No sizeOf function for type \" + v.type);\n return sizeOfFunction(v.value);\n};\nencode.TABLE = function(table) {\n let d = [];\n const length = (table.fields || []).length;\n const subtables = [];\n const subtableOffsets = [];\n for (let i = 0; i < length; i += 1) {\n const field = table.fields[i];\n const encodingFunction = encode[field.type];\n check_default.argument(encodingFunction !== void 0, \"No encoding function for field type \" + field.type + \" (\" + field.name + \")\");\n let value = table[field.name];\n if (value === void 0) {\n value = field.value;\n }\n const bytes = encodingFunction(value);\n if (field.type === \"TABLE\") {\n if (value.fields !== null) {\n subtableOffsets.push(d.length);\n subtables.push(bytes);\n }\n d.push(...[0, 0]);\n } else {\n for (let j = 0; j < bytes.length; j++) {\n d.push(bytes[j]);\n }\n }\n }\n for (let i = 0; i < subtables.length; i += 1) {\n const o = subtableOffsets[i];\n const offset = d.length;\n check_default.argument(offset < 65536, \"Table \" + table.tableName + \" too big.\");\n d[o] = offset >> 8;\n d[o + 1] = offset & 255;\n for (let j = 0; j < subtables[i].length; j++) {\n d.push(subtables[i][j]);\n }\n }\n return d;\n};\nsizeOf.TABLE = function(table) {\n let numBytes = 0;\n const length = (table.fields || []).length;\n for (let i = 0; i < length; i += 1) {\n const field = table.fields[i];\n const sizeOfFunction = sizeOf[field.type];\n check_default.argument(sizeOfFunction !== void 0, \"No sizeOf function for field type \" + field.type + \" (\" + field.name + \")\");\n let value = table[field.name];\n if (value === void 0) {\n value = field.value;\n }\n numBytes += sizeOfFunction(value);\n if (field.type === \"TABLE\") {\n numBytes += 2;\n }\n }\n return numBytes;\n};\nencode.RECORD = encode.TABLE;\nsizeOf.RECORD = sizeOf.TABLE;\nencode.LITERAL = function(v) {\n return v;\n};\nsizeOf.LITERAL = function(v) {\n return v.length;\n};\n\n// src/table.mjs\nfunction Table(tableName, fields, options) {\n if (fields && fields.length) {\n for (let i = 0; i < fields.length; i += 1) {\n const field = fields[i];\n this[field.name] = field.value;\n }\n }\n this.tableName = tableName;\n this.fields = fields;\n if (options) {\n const optionKeys = Object.keys(options);\n for (let i = 0; i < optionKeys.length; i += 1) {\n const k = optionKeys[i];\n const v = options[k];\n if (this[k] !== void 0) {\n this[k] = v;\n }\n }\n }\n}\nTable.prototype.encode = function() {\n return encode.TABLE(this);\n};\nTable.prototype.sizeOf = function() {\n return sizeOf.TABLE(this);\n};\nfunction ushortList(itemName, list, count) {\n if (count === void 0) {\n count = list.length;\n }\n const fields = new Array(list.length + 1);\n fields[0] = { name: itemName + \"Count\", type: \"USHORT\", value: count };\n for (let i = 0; i < list.length; i++) {\n fields[i + 1] = { name: itemName + i, type: \"USHORT\", value: list[i] };\n }\n return fields;\n}\nfunction tableList(itemName, records, itemCallback) {\n const count = records.length;\n const fields = new Array(count + 1);\n fields[0] = { name: itemName + \"Count\", type: \"USHORT\", value: count };\n for (let i = 0; i < count; i++) {\n fields[i + 1] = { name: itemName + i, type: \"TABLE\", value: itemCallback(records[i], i) };\n }\n return fields;\n}\nfunction recordList(itemName, records, itemCallback) {\n const count = records.length;\n let fields = [];\n fields[0] = { name: itemName + \"Count\", type: \"USHORT\", value: count };\n for (let i = 0; i < count; i++) {\n fields = fields.concat(itemCallback(records[i], i));\n }\n return fields;\n}\nfunction Coverage(coverageTable) {\n if (coverageTable.format === 1) {\n Table.call(\n this,\n \"coverageTable\",\n [{ name: \"coverageFormat\", type: \"USHORT\", value: 1 }].concat(ushortList(\"glyph\", coverageTable.glyphs))\n );\n } else if (coverageTable.format === 2) {\n Table.call(\n this,\n \"coverageTable\",\n [{ name: \"coverageFormat\", type: \"USHORT\", value: 2 }].concat(recordList(\"rangeRecord\", coverageTable.ranges, function(RangeRecord, i) {\n return [\n { name: \"startGlyphID\" + i, type: \"USHORT\", value: RangeRecord.start },\n { name: \"endGlyphID\" + i, type: \"USHORT\", value: RangeRecord.end },\n { name: \"startCoverageIndex\" + i, type: \"USHORT\", value: RangeRecord.index }\n ];\n }))\n );\n } else {\n check_default.assert(false, \"Coverage format must be 1 or 2.\");\n }\n}\nCoverage.prototype = Object.create(Table.prototype);\nCoverage.prototype.constructor = Coverage;\nfunction ScriptList(scriptListTable) {\n Table.call(\n this,\n \"scriptListTable\",\n recordList(\"scriptRecord\", scriptListTable, function(scriptRecord, i) {\n const script = scriptRecord.script;\n let defaultLangSys = script.defaultLangSys;\n check_default.assert(!!defaultLangSys, \"Unable to write GSUB: script \" + scriptRecord.tag + \" has no default language system.\");\n return [\n { name: \"scriptTag\" + i, type: \"TAG\", value: scriptRecord.tag },\n { name: \"script\" + i, type: \"TABLE\", value: new Table(\"scriptTable\", [\n { name: \"defaultLangSys\", type: \"TABLE\", value: new Table(\"defaultLangSys\", [\n { name: \"lookupOrder\", type: \"USHORT\", value: 0 },\n { name: \"reqFeatureIndex\", type: \"USHORT\", value: defaultLangSys.reqFeatureIndex }\n ].concat(ushortList(\"featureIndex\", defaultLangSys.featureIndexes))) }\n ].concat(recordList(\"langSys\", script.langSysRecords, function(langSysRecord, i2) {\n const langSys = langSysRecord.langSys;\n return [\n { name: \"langSysTag\" + i2, type: \"TAG\", value: langSysRecord.tag },\n { name: \"langSys\" + i2, type: \"TABLE\", value: new Table(\"langSys\", [\n { name: \"lookupOrder\", type: \"USHORT\", value: 0 },\n { name: \"reqFeatureIndex\", type: \"USHORT\", value: langSys.reqFeatureIndex }\n ].concat(ushortList(\"featureIndex\", langSys.featureIndexes))) }\n ];\n }))) }\n ];\n })\n );\n}\nScriptList.prototype = Object.create(Table.prototype);\nScriptList.prototype.constructor = ScriptList;\nfunction FeatureList(featureListTable) {\n Table.call(\n this,\n \"featureListTable\",\n recordList(\"featureRecord\", featureListTable, function(featureRecord, i) {\n const feature = featureRecord.feature;\n return [\n { name: \"featureTag\" + i, type: \"TAG\", value: featureRecord.tag },\n { name: \"feature\" + i, type: \"TABLE\", value: new Table(\"featureTable\", [\n { name: \"featureParams\", type: \"USHORT\", value: feature.featureParams }\n ].concat(ushortList(\"lookupListIndex\", feature.lookupListIndexes))) }\n ];\n })\n );\n}\nFeatureList.prototype = Object.create(Table.prototype);\nFeatureList.prototype.constructor = FeatureList;\nfunction LookupList(lookupListTable, subtableMakers3) {\n Table.call(this, \"lookupListTable\", tableList(\"lookup\", lookupListTable, function(lookupTable) {\n let subtableCallback = subtableMakers3[lookupTable.lookupType];\n check_default.assert(!!subtableCallback, \"Unable to write GSUB lookup type \" + lookupTable.lookupType + \" tables.\");\n return new Table(\"lookupTable\", [\n { name: \"lookupType\", type: \"USHORT\", value: lookupTable.lookupType },\n { name: \"lookupFlag\", type: \"USHORT\", value: lookupTable.lookupFlag }\n ].concat(tableList(\"subtable\", lookupTable.subtables, subtableCallback)));\n }));\n}\nLookupList.prototype = Object.create(Table.prototype);\nLookupList.prototype.constructor = LookupList;\nfunction ClassDef(classDefTable) {\n if (classDefTable.format === 1) {\n Table.call(\n this,\n \"classDefTable\",\n [\n { name: \"classFormat\", type: \"USHORT\", value: 1 },\n { name: \"startGlyphID\", type: \"USHORT\", value: classDefTable.startGlyph }\n ].concat(ushortList(\"glyph\", classDefTable.classes))\n );\n } else if (classDefTable.format === 2) {\n Table.call(\n this,\n \"classDefTable\",\n [{ name: \"classFormat\", type: \"USHORT\", value: 2 }].concat(recordList(\"rangeRecord\", classDefTable.ranges, function(RangeRecord, i) {\n return [\n { name: \"startGlyphID\" + i, type: \"USHORT\", value: RangeRecord.start },\n { name: \"endGlyphID\" + i, type: \"USHORT\", value: RangeRecord.end },\n { name: \"class\" + i, type: \"USHORT\", value: RangeRecord.classId }\n ];\n }))\n );\n } else {\n check_default.assert(false, \"Class format must be 1 or 2.\");\n }\n}\nClassDef.prototype = Object.create(Table.prototype);\nClassDef.prototype.constructor = ClassDef;\nvar table_default = {\n Table,\n Record: Table,\n Coverage,\n ClassDef,\n ScriptList,\n FeatureList,\n LookupList,\n ushortList,\n tableList,\n recordList\n};\n\n// src/parse.mjs\nfunction getByte(dataView, offset) {\n return dataView.getUint8(offset);\n}\nfunction getUShort(dataView, offset) {\n return dataView.getUint16(offset, false);\n}\nfunction getShort(dataView, offset) {\n return dataView.getInt16(offset, false);\n}\nfunction getUInt24(dataView, offset) {\n return (dataView.getUint16(offset) << 8) + dataView.getUint8(offset + 2);\n}\nfunction getULong(dataView, offset) {\n return dataView.getUint32(offset, false);\n}\nfunction getLong(dataView, offset) {\n return dataView.getInt32(offset, false);\n}\nfunction getFixed(dataView, offset) {\n const decimal = dataView.getInt16(offset, false);\n const fraction = dataView.getUint16(offset + 2, false);\n return decimal + fraction / 65535;\n}\nfunction getTag(dataView, offset) {\n let tag = \"\";\n for (let i = offset; i < offset + 4; i += 1) {\n tag += String.fromCharCode(dataView.getInt8(i));\n }\n return tag;\n}\nfunction getOffset(dataView, offset, offSize) {\n let v = 0;\n for (let i = 0; i < offSize; i += 1) {\n v <<= 8;\n v += dataView.getUint8(offset + i);\n }\n return v;\n}\nfunction getBytes(dataView, startOffset, endOffset) {\n const bytes = [];\n for (let i = startOffset; i < endOffset; i += 1) {\n bytes.push(dataView.getUint8(i));\n }\n return bytes;\n}\nfunction bytesToString(bytes) {\n let s = \"\";\n for (let i = 0; i < bytes.length; i += 1) {\n s += String.fromCharCode(bytes[i]);\n }\n return s;\n}\nvar typeOffsets = {\n byte: 1,\n uShort: 2,\n f2dot14: 2,\n short: 2,\n uInt24: 3,\n uLong: 4,\n fixed: 4,\n longDateTime: 8,\n tag: 4\n};\nvar masks = {\n LONG_WORDS: 32768,\n WORD_DELTA_COUNT_MASK: 32767,\n SHARED_POINT_NUMBERS: 32768,\n COUNT_MASK: 4095,\n EMBEDDED_PEAK_TUPLE: 32768,\n INTERMEDIATE_REGION: 16384,\n PRIVATE_POINT_NUMBERS: 8192,\n TUPLE_INDEX_MASK: 4095,\n POINTS_ARE_WORDS: 128,\n POINT_RUN_COUNT_MASK: 127,\n DELTAS_ARE_ZERO: 128,\n DELTAS_ARE_WORDS: 64,\n DELTA_RUN_COUNT_MASK: 63,\n INNER_INDEX_BIT_COUNT_MASK: 15,\n MAP_ENTRY_SIZE_MASK: 48\n};\nfunction Parser(data, offset) {\n this.data = data;\n this.offset = offset;\n this.relativeOffset = 0;\n}\nParser.prototype.parseByte = function() {\n const v = this.data.getUint8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\nParser.prototype.parseChar = function() {\n const v = this.data.getInt8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\nParser.prototype.parseCard8 = Parser.prototype.parseByte;\nParser.prototype.parseUShort = function() {\n const v = this.data.getUint16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\nParser.prototype.parseCard16 = Parser.prototype.parseUShort;\nParser.prototype.parseSID = Parser.prototype.parseUShort;\nParser.prototype.parseOffset16 = Parser.prototype.parseUShort;\nParser.prototype.parseShort = function() {\n const v = this.data.getInt16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\nParser.prototype.parseF2Dot14 = function() {\n const v = this.data.getInt16(this.offset + this.relativeOffset) / 16384;\n this.relativeOffset += 2;\n return v;\n};\nParser.prototype.parseUInt24 = function() {\n const v = getUInt24(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 3;\n return v;\n};\nParser.prototype.parseULong = function() {\n const v = getULong(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\nParser.prototype.parseLong = function() {\n const v = getLong(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\nParser.prototype.parseOffset32 = Parser.prototype.parseULong;\nParser.prototype.parseFixed = function() {\n const v = getFixed(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\nParser.prototype.parseString = function(length) {\n const dataView = this.data;\n const offset = this.offset + this.relativeOffset;\n let string = \"\";\n this.relativeOffset += length;\n for (let i = 0; i < length; i++) {\n string += String.fromCharCode(dataView.getUint8(offset + i));\n }\n return string;\n};\nParser.prototype.parseTag = function() {\n return this.parseString(4);\n};\nParser.prototype.parseLongDateTime = function() {\n let v = getULong(this.data, this.offset + this.relativeOffset + 4);\n v -= 2082844800;\n this.relativeOffset += 8;\n return v;\n};\nParser.prototype.parseVersion = function(minorBase) {\n const major = getUShort(this.data, this.offset + this.relativeOffset);\n const minor = getUShort(this.data, this.offset + this.relativeOffset + 2);\n this.relativeOffset += 4;\n if (minorBase === void 0) minorBase = 4096;\n return major + minor / minorBase / 10;\n};\nParser.prototype.skip = function(type, amount) {\n if (amount === void 0) {\n amount = 1;\n }\n this.relativeOffset += typeOffsets[type] * amount;\n};\nParser.prototype.parseULongList = function(count) {\n if (count === void 0) {\n count = this.parseULong();\n }\n const offsets = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n offsets[i] = dataView.getUint32(offset);\n offset += 4;\n }\n this.relativeOffset += count * 4;\n return offsets;\n};\nParser.prototype.parseOffset16List = Parser.prototype.parseUShortList = function(count) {\n if (count === void 0) {\n count = this.parseUShort();\n }\n const offsets = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n offsets[i] = dataView.getUint16(offset);\n offset += 2;\n }\n this.relativeOffset += count * 2;\n return offsets;\n};\nParser.prototype.parseShortList = function(count) {\n const list = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n list[i] = dataView.getInt16(offset);\n offset += 2;\n }\n this.relativeOffset += count * 2;\n return list;\n};\nParser.prototype.parseByteList = function(count) {\n const list = new Array(count);\n const dataView = this.data;\n let offset = this.offset + this.relativeOffset;\n for (let i = 0; i < count; i++) {\n list[i] = dataView.getUint8(offset++);\n }\n this.relativeOffset += count;\n return list;\n};\nParser.prototype.parseList = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseUShort();\n }\n const list = new Array(count);\n for (let i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\nParser.prototype.parseList32 = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseULong();\n }\n const list = new Array(count);\n for (let i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\nParser.prototype.parseRecordList = function(count, recordDescription) {\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseUShort();\n }\n const records = new Array(count);\n const fields = Object.keys(recordDescription);\n for (let i = 0; i < count; i++) {\n const rec = {};\n for (let j = 0; j < fields.length; j++) {\n const fieldName = fields[j];\n const fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\nParser.prototype.parseRecordList32 = function(count, recordDescription) {\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseULong();\n }\n const records = new Array(count);\n const fields = Object.keys(recordDescription);\n for (let i = 0; i < count; i++) {\n const rec = {};\n for (let j = 0; j < fields.length; j++) {\n const fieldName = fields[j];\n const fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\nParser.prototype.parseTupleRecords = function(tupleCount, axisCount) {\n let tuples = [];\n for (let i = 0; i < tupleCount; i++) {\n let tuple = [];\n for (let axisIndex = 0; axisIndex < axisCount; axisIndex++) {\n tuple.push(this.parseF2Dot14());\n }\n tuples.push(tuple);\n }\n return tuples;\n};\nParser.prototype.parseStruct = function(description) {\n if (typeof description === \"function\") {\n return description.call(this);\n } else {\n const fields = Object.keys(description);\n const struct = {};\n for (let j = 0; j < fields.length; j++) {\n const fieldName = fields[j];\n const fieldType = description[fieldName];\n struct[fieldName] = fieldType.call(this);\n }\n return struct;\n }\n};\nParser.prototype.parseValueRecord = function(valueFormat) {\n if (valueFormat === void 0) {\n valueFormat = this.parseUShort();\n }\n if (valueFormat === 0) {\n return;\n }\n const valueRecord = {};\n if (valueFormat & 1) {\n valueRecord.xPlacement = this.parseShort();\n }\n if (valueFormat & 2) {\n valueRecord.yPlacement = this.parseShort();\n }\n if (valueFormat & 4) {\n valueRecord.xAdvance = this.parseShort();\n }\n if (valueFormat & 8) {\n valueRecord.yAdvance = this.parseShort();\n }\n if (valueFormat & 16) {\n valueRecord.xPlaDevice = void 0;\n this.parseShort();\n }\n if (valueFormat & 32) {\n valueRecord.yPlaDevice = void 0;\n this.parseShort();\n }\n if (valueFormat & 64) {\n valueRecord.xAdvDevice = void 0;\n this.parseShort();\n }\n if (valueFormat & 128) {\n valueRecord.yAdvDevice = void 0;\n this.parseShort();\n }\n return valueRecord;\n};\nParser.prototype.parseValueRecordList = function() {\n const valueFormat = this.parseUShort();\n const valueCount = this.parseUShort();\n const values = new Array(valueCount);\n for (let i = 0; i < valueCount; i++) {\n values[i] = this.parseValueRecord(valueFormat);\n }\n return values;\n};\nParser.prototype.parsePointer = function(description) {\n const structOffset = this.parseOffset16();\n if (structOffset > 0) {\n return new Parser(this.data, this.offset + structOffset).parseStruct(description);\n }\n return void 0;\n};\nParser.prototype.parsePointer32 = function(description) {\n const structOffset = this.parseOffset32();\n if (structOffset > 0) {\n return new Parser(this.data, this.offset + structOffset).parseStruct(description);\n }\n return void 0;\n};\nParser.prototype.parseListOfLists = function(itemCallback) {\n const offsets = this.parseOffset16List();\n const count = offsets.length;\n const relativeOffset = this.relativeOffset;\n const list = new Array(count);\n for (let i = 0; i < count; i++) {\n const start = offsets[i];\n if (start === 0) {\n list[i] = void 0;\n continue;\n }\n this.relativeOffset = start;\n if (itemCallback) {\n const subOffsets = this.parseOffset16List();\n const subList = new Array(subOffsets.length);\n for (let j = 0; j < subOffsets.length; j++) {\n this.relativeOffset = start + subOffsets[j];\n subList[j] = itemCallback.call(this);\n }\n list[i] = subList;\n } else {\n list[i] = this.parseUShortList();\n }\n }\n this.relativeOffset = relativeOffset;\n return list;\n};\nParser.prototype.parseCoverage = function() {\n const startOffset = this.offset + this.relativeOffset;\n const format = this.parseUShort();\n const count = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n glyphs: this.parseUShortList(count)\n };\n } else if (format === 2) {\n const ranges = new Array(count);\n for (let i = 0; i < count; i++) {\n ranges[i] = {\n start: this.parseUShort(),\n end: this.parseUShort(),\n index: this.parseUShort()\n };\n }\n return {\n format: 2,\n ranges\n };\n }\n throw new Error(\"0x\" + startOffset.toString(16) + \": Coverage format must be 1 or 2.\");\n};\nParser.prototype.parseClassDef = function() {\n const startOffset = this.offset + this.relativeOffset;\n const format = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n startGlyph: this.parseUShort(),\n classes: this.parseUShortList()\n };\n } else if (format === 2) {\n return {\n format: 2,\n ranges: this.parseRecordList({\n start: Parser.uShort,\n end: Parser.uShort,\n classId: Parser.uShort\n })\n };\n }\n console.warn(`0x${startOffset.toString(16)}: This font file uses an invalid ClassDef format of ${format}. It might be corrupted and should be reacquired if it doesn't display as intended.`);\n return {\n format\n };\n};\nParser.list = function(count, itemCallback) {\n return function() {\n return this.parseList(count, itemCallback);\n };\n};\nParser.list32 = function(count, itemCallback) {\n return function() {\n return this.parseList32(count, itemCallback);\n };\n};\nParser.recordList = function(count, recordDescription) {\n return function() {\n return this.parseRecordList(count, recordDescription);\n };\n};\nParser.recordList32 = function(count, recordDescription) {\n return function() {\n return this.parseRecordList32(count, recordDescription);\n };\n};\nParser.pointer = function(description) {\n return function() {\n return this.parsePointer(description);\n };\n};\nParser.pointer32 = function(description) {\n return function() {\n return this.parsePointer32(description);\n };\n};\nParser.tag = Parser.prototype.parseTag;\nParser.byte = Parser.prototype.parseByte;\nParser.uShort = Parser.offset16 = Parser.prototype.parseUShort;\nParser.uShortList = Parser.prototype.parseUShortList;\nParser.uInt24 = Parser.prototype.parseUInt24;\nParser.uLong = Parser.offset32 = Parser.prototype.parseULong;\nParser.uLongList = Parser.prototype.parseULongList;\nParser.fixed = Parser.prototype.parseFixed;\nParser.f2Dot14 = Parser.prototype.parseF2Dot14;\nParser.struct = Parser.prototype.parseStruct;\nParser.coverage = Parser.prototype.parseCoverage;\nParser.classDef = Parser.prototype.parseClassDef;\nvar langSysTable = {\n reserved: Parser.uShort,\n reqFeatureIndex: Parser.uShort,\n featureIndexes: Parser.uShortList\n};\nParser.prototype.parseScriptList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n script: Parser.pointer({\n defaultLangSys: Parser.pointer(langSysTable),\n langSysRecords: Parser.recordList({\n tag: Parser.tag,\n langSys: Parser.pointer(langSysTable)\n })\n })\n })) || [];\n};\nParser.prototype.parseFeatureList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n feature: Parser.pointer({\n featureParams: Parser.offset16,\n lookupListIndexes: Parser.uShortList\n })\n })) || [];\n};\nParser.prototype.parseLookupList = function(lookupTableParsers) {\n return this.parsePointer(Parser.list(Parser.pointer(function() {\n const lookupType = this.parseUShort();\n check_default.argument(1 <= lookupType && lookupType <= 9, \"GPOS/GSUB lookup type \" + lookupType + \" unknown.\");\n const lookupFlag = this.parseUShort();\n const useMarkFilteringSet = lookupFlag & 16;\n return {\n lookupType,\n lookupFlag,\n subtables: this.parseList(Parser.pointer(lookupTableParsers[lookupType])),\n markFilteringSet: useMarkFilteringSet ? this.parseUShort() : void 0\n };\n }))) || [];\n};\nParser.prototype.parseFeatureVariationsList = function() {\n return this.parsePointer32(function() {\n const majorVersion = this.parseUShort();\n const minorVersion = this.parseUShort();\n check_default.argument(majorVersion === 1 && minorVersion < 1, \"GPOS/GSUB feature variations table unknown.\");\n const featureVariations = this.parseRecordList32({\n conditionSetOffset: Parser.offset32,\n featureTableSubstitutionOffset: Parser.offset32\n });\n return featureVariations;\n }) || [];\n};\nParser.prototype.parseVariationStore = function() {\n const vsOffset = this.relativeOffset;\n const length = this.parseUShort();\n const variationStore = {\n itemVariationStore: this.parseItemVariationStore()\n };\n this.relativeOffset = vsOffset + length + 2;\n return variationStore;\n};\nParser.prototype.parseItemVariationStore = function() {\n const itemStoreOffset = this.relativeOffset;\n const iVStore = {\n format: this.parseUShort(),\n variationRegions: [],\n itemVariationSubtables: []\n };\n const variationRegionListOffset = this.parseOffset32();\n const itemVariationDataCount = this.parseUShort();\n const itemVariationDataOffsets = this.parseULongList(itemVariationDataCount);\n this.relativeOffset = itemStoreOffset + variationRegionListOffset;\n iVStore.variationRegions = this.parseVariationRegionList();\n for (let i = 0; i < itemVariationDataCount; i++) {\n const subtableOffset = itemVariationDataOffsets[i];\n this.relativeOffset = itemStoreOffset + subtableOffset;\n iVStore.itemVariationSubtables.push(this.parseItemVariationSubtable());\n }\n return iVStore;\n};\nParser.prototype.parseVariationRegionList = function() {\n const axisCount = this.parseUShort();\n const regionCount = this.parseUShort();\n return this.parseRecordList(regionCount, {\n regionAxes: Parser.recordList(axisCount, {\n startCoord: Parser.f2Dot14,\n peakCoord: Parser.f2Dot14,\n endCoord: Parser.f2Dot14\n })\n });\n};\nParser.prototype.parseItemVariationSubtable = function() {\n const itemCount = this.parseUShort();\n const wordDeltaCount = this.parseUShort();\n const regionIndexes = this.parseUShortList();\n const regionIndexCount = regionIndexes.length;\n const subtable = {\n regionIndexes,\n deltaSets: itemCount && regionIndexCount ? this.parseDeltaSets(itemCount, wordDeltaCount, regionIndexCount) : []\n };\n return subtable;\n};\nParser.prototype.parseDeltaSetIndexMap = function() {\n const format = this.parseByte();\n const entryFormat = this.parseByte();\n const map = [];\n let mapCount = 0;\n switch (format) {\n case 0:\n mapCount = this.parseUShort();\n break;\n case 1:\n mapCount = this.parseULong();\n break;\n default:\n console.error(`unsupported DeltaSetIndexMap format ${format}`);\n }\n if (!mapCount) return {\n format,\n entryFormat\n };\n const bitCount = (entryFormat & masks.INNER_INDEX_BIT_COUNT_MASK) + 1;\n const entrySize = ((entryFormat & masks.MAP_ENTRY_SIZE_MASK) >> 4) + 1;\n for (let n = 0; n < mapCount; n++) {\n let entry;\n if (entrySize === 1) {\n entry = this.parseByte();\n } else if (entrySize === 2) {\n entry = this.parseUShort();\n } else if (entrySize === 3) {\n entry = this.parseUInt24();\n } else if (entrySize === 4) {\n entry = this.parseULong();\n } else {\n throw new Error(`Invalid entry size of ${entrySize}`);\n }\n const outerIndex = entry >> bitCount;\n const innerIndex = entry & (1 << bitCount) - 1;\n map.push({ outerIndex, innerIndex });\n }\n return {\n format,\n entryFormat,\n map\n };\n};\nParser.prototype.parseDeltaSets = function(itemCount, wordDeltaCount, regionIndexCount) {\n const deltas = Array.from({ length: itemCount }, () => []);\n const longFlag = wordDeltaCount & masks.LONG_WORDS;\n const wordCount = wordDeltaCount & masks.WORD_DELTA_COUNT_MASK;\n if (wordCount > regionIndexCount) {\n throw Error(\"wordCount must be less than or equal to regionIndexCount\");\n }\n const wordParser = (longFlag ? this.parseLong : this.parseShort).bind(this);\n const restParser = (longFlag ? this.parseShort : this.parseChar).bind(this);\n for (let i = 0; i < itemCount; i++) {\n for (let j = 0; j < regionIndexCount; j++) {\n if (j < wordCount) {\n deltas[i].push(wordParser());\n } else {\n deltas[i].push(restParser());\n }\n }\n }\n return deltas;\n};\nParser.prototype.parseTupleVariationStoreList = function(axisCount, flavor, glyphs) {\n const glyphCount = this.parseUShort();\n const flags = this.parseUShort();\n const offsetSizeIs32Bit = flags & 1;\n const glyphVariationDataArrayOffset = this.parseOffset32();\n const parseOffset = (offsetSizeIs32Bit ? this.parseULong : this.parseUShort).bind(this);\n const glyphVariations = {};\n let currentOffset = parseOffset();\n if (!offsetSizeIs32Bit) currentOffset *= 2;\n let nextOffset;\n for (let i = 0; i < glyphCount; i++) {\n nextOffset = parseOffset();\n if (!offsetSizeIs32Bit) nextOffset *= 2;\n const length = nextOffset - currentOffset;\n glyphVariations[i] = length ? this.parseTupleVariationStore(\n glyphVariationDataArrayOffset + currentOffset,\n axisCount,\n flavor,\n glyphs,\n i\n ) : void 0;\n currentOffset = nextOffset;\n }\n return glyphVariations;\n};\nParser.prototype.parseTupleVariationStore = function(tableOffset, axisCount, flavor, glyphs, glyphIndex) {\n const relativeOffset = this.relativeOffset;\n this.relativeOffset = tableOffset;\n if (flavor === \"cvar\") {\n this.relativeOffset += 4;\n }\n const tupleVariationCount = this.parseUShort();\n const hasSharedPoints = !!(tupleVariationCount & masks.SHARED_POINT_NUMBERS);\n const count = tupleVariationCount & masks.COUNT_MASK;\n let dataOffset = this.parseOffset16();\n const headers = [];\n let sharedPoints = [];\n for (let h = 0; h < count; h++) {\n const headerData = this.parseTupleVariationHeader(axisCount, flavor);\n headers.push(headerData);\n }\n if (this.relativeOffset !== tableOffset + dataOffset) {\n console.warn(`Unexpected offset after parsing tuple variation headers! Expected ${tableOffset + dataOffset}, actually ${this.relativeOffset}`);\n this.relativeOffset = tableOffset + dataOffset;\n }\n if (hasSharedPoints) {\n sharedPoints = this.parsePackedPointNumbers();\n }\n let serializedDataOffset = this.relativeOffset;\n for (let h = 0; h < count; h++) {\n const header = headers[h];\n header.privatePoints = [];\n this.relativeOffset = serializedDataOffset;\n if (flavor === \"cvar\" && !header.peakTuple) {\n console.warn(\"An embedded peak tuple is required in TupleVariationHeaders for the cvar table.\");\n }\n if (header.flags.privatePointNumbers) {\n header.privatePoints = this.parsePackedPointNumbers();\n }\n delete header.flags;\n const deltasOffset = this.offset;\n const deltasRelativeOffset = this.relativeOffset;\n const defineDeltas = (propertyName) => {\n let _deltas = void 0;\n let _deltasY = void 0;\n const parseDeltas = () => {\n let pointsCount = 0;\n if (flavor === \"gvar\") {\n pointsCount = header.privatePoints.length || sharedPoints.length;\n if (!pointsCount) {\n const glyph = glyphs.get(glyphIndex);\n glyph.path;\n pointsCount = glyph.points.length;\n pointsCount += 4;\n }\n } else if (flavor === \"cvar\") {\n pointsCount = glyphs.length;\n }\n this.offset = deltasOffset;\n this.relativeOffset = deltasRelativeOffset;\n _deltas = this.parsePackedDeltas(pointsCount);\n if (flavor === \"gvar\") {\n _deltasY = this.parsePackedDeltas(pointsCount);\n }\n };\n return {\n configurable: true,\n get: function() {\n if (_deltas === void 0) parseDeltas();\n return propertyName === \"deltasY\" ? _deltasY : _deltas;\n },\n set: function(deltas) {\n if (_deltas === void 0) parseDeltas();\n if (propertyName === \"deltasY\") {\n _deltasY = deltas;\n } else {\n _deltas = deltas;\n }\n }\n };\n };\n Object.defineProperty(header, \"deltas\", defineDeltas.call(this, \"deltas\"));\n if (flavor === \"gvar\") {\n Object.defineProperty(header, \"deltasY\", defineDeltas.call(this, \"deltasY\"));\n }\n serializedDataOffset += header.variationDataSize;\n delete header.variationDataSize;\n }\n this.relativeOffset = relativeOffset;\n const result = {\n headers\n };\n result.sharedPoints = sharedPoints;\n return result;\n};\nParser.prototype.parseTupleVariationHeader = function(axisCount, flavor) {\n const variationDataSize = this.parseUShort();\n const tupleIndex = this.parseUShort();\n const embeddedPeakTuple = !!(tupleIndex & masks.EMBEDDED_PEAK_TUPLE);\n const intermediateRegion = !!(tupleIndex & masks.INTERMEDIATE_REGION);\n const privatePointNumbers = !!(tupleIndex & masks.PRIVATE_POINT_NUMBERS);\n const sharedTupleRecordsIndex = embeddedPeakTuple ? void 0 : tupleIndex & masks.TUPLE_INDEX_MASK;\n const peakTuple = embeddedPeakTuple ? this.parseTupleRecords(1, axisCount)[0] : void 0;\n const intermediateStartTuple = intermediateRegion ? this.parseTupleRecords(1, axisCount)[0] : void 0;\n const intermediateEndTuple = intermediateRegion ? this.parseTupleRecords(1, axisCount)[0] : void 0;\n const result = {\n variationDataSize,\n peakTuple,\n intermediateStartTuple,\n intermediateEndTuple,\n flags: {\n embeddedPeakTuple,\n intermediateRegion,\n privatePointNumbers\n }\n };\n if (flavor === \"gvar\") {\n result.sharedTupleRecordsIndex = sharedTupleRecordsIndex;\n }\n return result;\n};\nParser.prototype.parsePackedPointNumbers = function() {\n const countByte1 = this.parseByte();\n const points = [];\n let totalPointCount = countByte1;\n if (countByte1 >= 128) {\n const countByte2 = this.parseByte();\n totalPointCount = (countByte1 & masks.POINT_RUN_COUNT_MASK) << 8 | countByte2;\n }\n let lastPoint = 0;\n while (points.length < totalPointCount) {\n const controlByte = this.parseByte();\n const numbersAre16Bit = !!(controlByte & masks.POINTS_ARE_WORDS);\n let runCount = (controlByte & masks.POINT_RUN_COUNT_MASK) + 1;\n for (let i = 0; i < runCount && points.length < totalPointCount; i++) {\n let pointDelta;\n if (numbersAre16Bit) {\n pointDelta = this.parseUShort();\n } else {\n pointDelta = this.parseByte();\n }\n lastPoint = lastPoint + pointDelta;\n points.push(lastPoint);\n }\n }\n return points;\n};\nParser.prototype.parsePackedDeltas = function(expectedCount) {\n const deltas = [];\n while (deltas.length < expectedCount) {\n const controlByte = this.parseByte();\n const zeroData = !!(controlByte & masks.DELTAS_ARE_ZERO);\n const deltaWords = !!(controlByte & masks.DELTAS_ARE_WORDS);\n const runCount = (controlByte & masks.DELTA_RUN_COUNT_MASK) + 1;\n for (let i = 0; i < runCount && deltas.length < expectedCount; i++) {\n if (zeroData) {\n deltas.push(0);\n } else if (deltaWords) {\n deltas.push(this.parseShort());\n } else {\n deltas.push(this.parseChar());\n }\n }\n }\n return deltas;\n};\nvar parse_default = {\n getByte,\n getCard8: getByte,\n getUShort,\n getCard16: getUShort,\n getShort,\n getUInt24,\n getULong,\n getFixed,\n getTag,\n getOffset,\n getBytes,\n bytesToString,\n Parser\n};\n\n// src/tables/name.mjs\nvar nameTableNames = [\n \"copyright\",\n // 0\n \"fontFamily\",\n // 1\n \"fontSubfamily\",\n // 2\n \"uniqueID\",\n // 3\n \"fullName\",\n // 4\n \"version\",\n // 5\n \"postScriptName\",\n // 6\n \"trademark\",\n // 7\n \"manufacturer\",\n // 8\n \"designer\",\n // 9\n \"description\",\n // 10\n \"manufacturerURL\",\n // 11\n \"designerURL\",\n // 12\n \"license\",\n // 13\n \"licenseURL\",\n // 14\n \"reserved\",\n // 15\n \"preferredFamily\",\n // 16\n \"preferredSubfamily\",\n // 17\n \"compatibleFullName\",\n // 18\n \"sampleText\",\n // 19\n \"postScriptFindFontName\",\n // 20\n \"wwsFamily\",\n // 21\n \"wwsSubfamily\"\n // 22\n];\nvar macLanguages = {\n 0: \"en\",\n 1: \"fr\",\n 2: \"de\",\n 3: \"it\",\n 4: \"nl\",\n 5: \"sv\",\n 6: \"es\",\n 7: \"da\",\n 8: \"pt\",\n 9: \"no\",\n 10: \"he\",\n 11: \"ja\",\n 12: \"ar\",\n 13: \"fi\",\n 14: \"el\",\n 15: \"is\",\n 16: \"mt\",\n 17: \"tr\",\n 18: \"hr\",\n 19: \"zh-Hant\",\n 20: \"ur\",\n 21: \"hi\",\n 22: \"th\",\n 23: \"ko\",\n 24: \"lt\",\n 25: \"pl\",\n 26: \"hu\",\n 27: \"es\",\n 28: \"lv\",\n 29: \"se\",\n 30: \"fo\",\n 31: \"fa\",\n 32: \"ru\",\n 33: \"zh\",\n 34: \"nl-BE\",\n 35: \"ga\",\n 36: \"sq\",\n 37: \"ro\",\n 38: \"cz\",\n 39: \"sk\",\n 40: \"si\",\n 41: \"yi\",\n 42: \"sr\",\n 43: \"mk\",\n 44: \"bg\",\n 45: \"uk\",\n 46: \"be\",\n 47: \"uz\",\n 48: \"kk\",\n 49: \"az-Cyrl\",\n 50: \"az-Arab\",\n 51: \"hy\",\n 52: \"ka\",\n 53: \"mo\",\n 54: \"ky\",\n 55: \"tg\",\n 56: \"tk\",\n 57: \"mn-CN\",\n 58: \"mn\",\n 59: \"ps\",\n 60: \"ks\",\n 61: \"ku\",\n 62: \"sd\",\n 63: \"bo\",\n 64: \"ne\",\n 65: \"sa\",\n 66: \"mr\",\n 67: \"bn\",\n 68: \"as\",\n 69: \"gu\",\n 70: \"pa\",\n 71: \"or\",\n 72: \"ml\",\n 73: \"kn\",\n 74: \"ta\",\n 75: \"te\",\n 76: \"si\",\n 77: \"my\",\n 78: \"km\",\n 79: \"lo\",\n 80: \"vi\",\n 81: \"id\",\n 82: \"tl\",\n 83: \"ms\",\n 84: \"ms-Arab\",\n 85: \"am\",\n 86: \"ti\",\n 87: \"om\",\n 88: \"so\",\n 89: \"sw\",\n 90: \"rw\",\n 91: \"rn\",\n 92: \"ny\",\n 93: \"mg\",\n 94: \"eo\",\n 128: \"cy\",\n 129: \"eu\",\n 130: \"ca\",\n 131: \"la\",\n 132: \"qu\",\n 133: \"gn\",\n 134: \"ay\",\n 135: \"tt\",\n 136: \"ug\",\n 137: \"dz\",\n 138: \"jv\",\n 139: \"su\",\n 140: \"gl\",\n 141: \"af\",\n 142: \"br\",\n 143: \"iu\",\n 144: \"gd\",\n 145: \"gv\",\n 146: \"ga\",\n 147: \"to\",\n 148: \"el-polyton\",\n 149: \"kl\",\n 150: \"az\",\n 151: \"nn\"\n};\nvar macLanguageToScript = {\n 0: 0,\n // langEnglish → smRoman\n 1: 0,\n // langFrench → smRoman\n 2: 0,\n // langGerman → smRoman\n 3: 0,\n // langItalian → smRoman\n 4: 0,\n // langDutch → smRoman\n 5: 0,\n // langSwedish → smRoman\n 6: 0,\n // langSpanish → smRoman\n 7: 0,\n // langDanish → smRoman\n 8: 0,\n // langPortuguese → smRoman\n 9: 0,\n // langNorwegian → smRoman\n 10: 5,\n // langHebrew → smHebrew\n 11: 1,\n // langJapanese → smJapanese\n 12: 4,\n // langArabic → smArabic\n 13: 0,\n // langFinnish → smRoman\n 14: 6,\n // langGreek → smGreek\n 15: 0,\n // langIcelandic → smRoman (modified)\n 16: 0,\n // langMaltese → smRoman\n 17: 0,\n // langTurkish → smRoman (modified)\n 18: 0,\n // langCroatian → smRoman (modified)\n 19: 2,\n // langTradChinese → smTradChinese\n 20: 4,\n // langUrdu → smArabic\n 21: 9,\n // langHindi → smDevanagari\n 22: 21,\n // langThai → smThai\n 23: 3,\n // langKorean → smKorean\n 24: 29,\n // langLithuanian → smCentralEuroRoman\n 25: 29,\n // langPolish → smCentralEuroRoman\n 26: 29,\n // langHungarian → smCentralEuroRoman\n 27: 29,\n // langEstonian → smCentralEuroRoman\n 28: 29,\n // langLatvian → smCentralEuroRoman\n 29: 0,\n // langSami → smRoman\n 30: 0,\n // langFaroese → smRoman (modified)\n 31: 4,\n // langFarsi → smArabic (modified)\n 32: 7,\n // langRussian → smCyrillic\n 33: 25,\n // langSimpChinese → smSimpChinese\n 34: 0,\n // langFlemish → smRoman\n 35: 0,\n // langIrishGaelic → smRoman (modified)\n 36: 0,\n // langAlbanian → smRoman\n 37: 0,\n // langRomanian → smRoman (modified)\n 38: 29,\n // langCzech → smCentralEuroRoman\n 39: 29,\n // langSlovak → smCentralEuroRoman\n 40: 0,\n // langSlovenian → smRoman (modified)\n 41: 5,\n // langYiddish → smHebrew\n 42: 7,\n // langSerbian → smCyrillic\n 43: 7,\n // langMacedonian → smCyrillic\n 44: 7,\n // langBulgarian → smCyrillic\n 45: 7,\n // langUkrainian → smCyrillic (modified)\n 46: 7,\n // langByelorussian → smCyrillic\n 47: 7,\n // langUzbek → smCyrillic\n 48: 7,\n // langKazakh → smCyrillic\n 49: 7,\n // langAzerbaijani → smCyrillic\n 50: 4,\n // langAzerbaijanAr → smArabic\n 51: 24,\n // langArmenian → smArmenian\n 52: 23,\n // langGeorgian → smGeorgian\n 53: 7,\n // langMoldavian → smCyrillic\n 54: 7,\n // langKirghiz → smCyrillic\n 55: 7,\n // langTajiki → smCyrillic\n 56: 7,\n // langTurkmen → smCyrillic\n 57: 27,\n // langMongolian → smMongolian\n 58: 7,\n // langMongolianCyr → smCyrillic\n 59: 4,\n // langPashto → smArabic\n 60: 4,\n // langKurdish → smArabic\n 61: 4,\n // langKashmiri → smArabic\n 62: 4,\n // langSindhi → smArabic\n 63: 26,\n // langTibetan → smTibetan\n 64: 9,\n // langNepali → smDevanagari\n 65: 9,\n // langSanskrit → smDevanagari\n 66: 9,\n // langMarathi → smDevanagari\n 67: 13,\n // langBengali → smBengali\n 68: 13,\n // langAssamese → smBengali\n 69: 11,\n // langGujarati → smGujarati\n 70: 10,\n // langPunjabi → smGurmukhi\n 71: 12,\n // langOriya → smOriya\n 72: 17,\n // langMalayalam → smMalayalam\n 73: 16,\n // langKannada → smKannada\n 74: 14,\n // langTamil → smTamil\n 75: 15,\n // langTelugu → smTelugu\n 76: 18,\n // langSinhalese → smSinhalese\n 77: 19,\n // langBurmese → smBurmese\n 78: 20,\n // langKhmer → smKhmer\n 79: 22,\n // langLao → smLao\n 80: 30,\n // langVietnamese → smVietnamese\n 81: 0,\n // langIndonesian → smRoman\n 82: 0,\n // langTagalog → smRoman\n 83: 0,\n // langMalayRoman → smRoman\n 84: 4,\n // langMalayArabic → smArabic\n 85: 28,\n // langAmharic → smEthiopic\n 86: 28,\n // langTigrinya → smEthiopic\n 87: 28,\n // langOromo → smEthiopic\n 88: 0,\n // langSomali → smRoman\n 89: 0,\n // langSwahili → smRoman\n 90: 0,\n // langKinyarwanda → smRoman\n 91: 0,\n // langRundi → smRoman\n 92: 0,\n // langNyanja → smRoman\n 93: 0,\n // langMalagasy → smRoman\n 94: 0,\n // langEsperanto → smRoman\n 128: 0,\n // langWelsh → smRoman (modified)\n 129: 0,\n // langBasque → smRoman\n 130: 0,\n // langCatalan → smRoman\n 131: 0,\n // langLatin → smRoman\n 132: 0,\n // langQuechua → smRoman\n 133: 0,\n // langGuarani → smRoman\n 134: 0,\n // langAymara → smRoman\n 135: 7,\n // langTatar → smCyrillic\n 136: 4,\n // langUighur → smArabic\n 137: 26,\n // langDzongkha → smTibetan\n 138: 0,\n // langJavaneseRom → smRoman\n 139: 0,\n // langSundaneseRom → smRoman\n 140: 0,\n // langGalician → smRoman\n 141: 0,\n // langAfrikaans → smRoman\n 142: 0,\n // langBreton → smRoman (modified)\n 143: 28,\n // langInuktitut → smEthiopic (modified)\n 144: 0,\n // langScottishGaelic → smRoman (modified)\n 145: 0,\n // langManxGaelic → smRoman (modified)\n 146: 0,\n // langIrishGaelicScript → smRoman (modified)\n 147: 0,\n // langTongan → smRoman\n 148: 6,\n // langGreekAncient → smRoman\n 149: 0,\n // langGreenlandic → smRoman\n 150: 0,\n // langAzerbaijanRoman → smRoman\n 151: 0\n // langNynorsk → smRoman\n};\nvar windowsLanguages = {\n 1078: \"af\",\n 1052: \"sq\",\n 1156: \"gsw\",\n 1118: \"am\",\n 5121: \"ar-DZ\",\n 15361: \"ar-BH\",\n 3073: \"ar\",\n 2049: \"ar-IQ\",\n 11265: \"ar-JO\",\n 13313: \"ar-KW\",\n 12289: \"ar-LB\",\n 4097: \"ar-LY\",\n 6145: \"ary\",\n 8193: \"ar-OM\",\n 16385: \"ar-QA\",\n 1025: \"ar-SA\",\n 10241: \"ar-SY\",\n 7169: \"aeb\",\n 14337: \"ar-AE\",\n 9217: \"ar-YE\",\n 1067: \"hy\",\n 1101: \"as\",\n 2092: \"az-Cyrl\",\n 1068: \"az\",\n 1133: \"ba\",\n 1069: \"eu\",\n 1059: \"be\",\n 2117: \"bn\",\n 1093: \"bn-IN\",\n 8218: \"bs-Cyrl\",\n 5146: \"bs\",\n 1150: \"br\",\n 1026: \"bg\",\n 1027: \"ca\",\n 3076: \"zh-HK\",\n 5124: \"zh-MO\",\n 2052: \"zh\",\n 4100: \"zh-SG\",\n 1028: \"zh-TW\",\n 1155: \"co\",\n 1050: \"hr\",\n 4122: \"hr-BA\",\n 1029: \"cs\",\n 1030: \"da\",\n 1164: \"prs\",\n 1125: \"dv\",\n 2067: \"nl-BE\",\n 1043: \"nl\",\n 3081: \"en-AU\",\n 10249: \"en-BZ\",\n 4105: \"en-CA\",\n 9225: \"en-029\",\n 16393: \"en-IN\",\n 6153: \"en-IE\",\n 8201: \"en-JM\",\n 17417: \"en-MY\",\n 5129: \"en-NZ\",\n 13321: \"en-PH\",\n 18441: \"en-SG\",\n 7177: \"en-ZA\",\n 11273: \"en-TT\",\n 2057: \"en-GB\",\n 1033: \"en\",\n 12297: \"en-ZW\",\n 1061: \"et\",\n 1080: \"fo\",\n 1124: \"fil\",\n 1035: \"fi\",\n 2060: \"fr-BE\",\n 3084: \"fr-CA\",\n 1036: \"fr\",\n 5132: \"fr-LU\",\n 6156: \"fr-MC\",\n 4108: \"fr-CH\",\n 1122: \"fy\",\n 1110: \"gl\",\n 1079: \"ka\",\n 3079: \"de-AT\",\n 1031: \"de\",\n 5127: \"de-LI\",\n 4103: \"de-LU\",\n 2055: \"de-CH\",\n 1032: \"el\",\n 1135: \"kl\",\n 1095: \"gu\",\n 1128: \"ha\",\n 1037: \"he\",\n 1081: \"hi\",\n 1038: \"hu\",\n 1039: \"is\",\n 1136: \"ig\",\n 1057: \"id\",\n 1117: \"iu\",\n 2141: \"iu-Latn\",\n 2108: \"ga\",\n 1076: \"xh\",\n 1077: \"zu\",\n 1040: \"it\",\n 2064: \"it-CH\",\n 1041: \"ja\",\n 1099: \"kn\",\n 1087: \"kk\",\n 1107: \"km\",\n 1158: \"quc\",\n 1159: \"rw\",\n 1089: \"sw\",\n 1111: \"kok\",\n 1042: \"ko\",\n 1088: \"ky\",\n 1108: \"lo\",\n 1062: \"lv\",\n 1063: \"lt\",\n 2094: \"dsb\",\n 1134: \"lb\",\n 1071: \"mk\",\n 2110: \"ms-BN\",\n 1086: \"ms\",\n 1100: \"ml\",\n 1082: \"mt\",\n 1153: \"mi\",\n 1146: \"arn\",\n 1102: \"mr\",\n 1148: \"moh\",\n 1104: \"mn\",\n 2128: \"mn-CN\",\n 1121: \"ne\",\n 1044: \"nb\",\n 2068: \"nn\",\n 1154: \"oc\",\n 1096: \"or\",\n 1123: \"ps\",\n 1045: \"pl\",\n 1046: \"pt\",\n 2070: \"pt-PT\",\n 1094: \"pa\",\n 1131: \"qu-BO\",\n 2155: \"qu-EC\",\n 3179: \"qu\",\n 1048: \"ro\",\n 1047: \"rm\",\n 1049: \"ru\",\n 9275: \"smn\",\n 4155: \"smj-NO\",\n 5179: \"smj\",\n 3131: \"se-FI\",\n 1083: \"se\",\n 2107: \"se-SE\",\n 8251: \"sms\",\n 6203: \"sma-NO\",\n 7227: \"sms\",\n 1103: \"sa\",\n 7194: \"sr-Cyrl-BA\",\n 3098: \"sr\",\n 6170: \"sr-Latn-BA\",\n 2074: \"sr-Latn\",\n 1132: \"nso\",\n 1074: \"tn\",\n 1115: \"si\",\n 1051: \"sk\",\n 1060: \"sl\",\n 11274: \"es-AR\",\n 16394: \"es-BO\",\n 13322: \"es-CL\",\n 9226: \"es-CO\",\n 5130: \"es-CR\",\n 7178: \"es-DO\",\n 12298: \"es-EC\",\n 17418: \"es-SV\",\n 4106: \"es-GT\",\n 18442: \"es-HN\",\n 2058: \"es-MX\",\n 19466: \"es-NI\",\n 6154: \"es-PA\",\n 15370: \"es-PY\",\n 10250: \"es-PE\",\n 20490: \"es-PR\",\n // Microsoft has defined two different language codes for\n // “Spanish with modern sorting” and “Spanish with traditional\n // sorting”. This makes sense for collation APIs, and it would be\n // possible to express this in BCP 47 language tags via Unicode\n // extensions (eg., es-u-co-trad is Spanish with traditional\n // sorting). However, for storing names in fonts, the distinction\n // does not make sense, so we give “es” in both cases.\n 3082: \"es\",\n 1034: \"es\",\n 21514: \"es-US\",\n 14346: \"es-UY\",\n 8202: \"es-VE\",\n 2077: \"sv-FI\",\n 1053: \"sv\",\n 1114: \"syr\",\n 1064: \"tg\",\n 2143: \"tzm\",\n 1097: \"ta\",\n 1092: \"tt\",\n 1098: \"te\",\n 1054: \"th\",\n 1105: \"bo\",\n 1055: \"tr\",\n 1090: \"tk\",\n 1152: \"ug\",\n 1058: \"uk\",\n 1070: \"hsb\",\n 1056: \"ur\",\n 2115: \"uz-Cyrl\",\n 1091: \"uz\",\n 1066: \"vi\",\n 1106: \"cy\",\n 1160: \"wo\",\n 1157: \"sah\",\n 1144: \"ii\",\n 1130: \"yo\"\n};\nfunction getLanguageCode(platformID, languageID, ltag) {\n switch (platformID) {\n case 0:\n if (languageID === 65535) {\n return \"und\";\n } else if (ltag) {\n return ltag[languageID];\n }\n break;\n case 1:\n return macLanguages[languageID];\n case 3:\n return windowsLanguages[languageID];\n }\n return void 0;\n}\nvar utf16 = \"utf-16\";\nvar macScriptEncodings = {\n 0: \"macintosh\",\n // smRoman\n 1: \"x-mac-japanese\",\n // smJapanese\n 2: \"x-mac-chinesetrad\",\n // smTradChinese\n 3: \"x-mac-korean\",\n // smKorean\n 6: \"x-mac-greek\",\n // smGreek\n 7: \"x-mac-cyrillic\",\n // smCyrillic\n 9: \"x-mac-devanagai\",\n // smDevanagari\n 10: \"x-mac-gurmukhi\",\n // smGurmukhi\n 11: \"x-mac-gujarati\",\n // smGujarati\n 12: \"x-mac-oriya\",\n // smOriya\n 13: \"x-mac-bengali\",\n // smBengali\n 14: \"x-mac-tamil\",\n // smTamil\n 15: \"x-mac-telugu\",\n // smTelugu\n 16: \"x-mac-kannada\",\n // smKannada\n 17: \"x-mac-malayalam\",\n // smMalayalam\n 18: \"x-mac-sinhalese\",\n // smSinhalese\n 19: \"x-mac-burmese\",\n // smBurmese\n 20: \"x-mac-khmer\",\n // smKhmer\n 21: \"x-mac-thai\",\n // smThai\n 22: \"x-mac-lao\",\n // smLao\n 23: \"x-mac-georgian\",\n // smGeorgian\n 24: \"x-mac-armenian\",\n // smArmenian\n 25: \"x-mac-chinesesimp\",\n // smSimpChinese\n 26: \"x-mac-tibetan\",\n // smTibetan\n 27: \"x-mac-mongolian\",\n // smMongolian\n 28: \"x-mac-ethiopic\",\n // smEthiopic\n 29: \"x-mac-ce\",\n // smCentralEuroRoman\n 30: \"x-mac-vietnamese\",\n // smVietnamese\n 31: \"x-mac-extarabic\"\n // smExtArabic\n};\nvar macLanguageEncodings = {\n 15: \"x-mac-icelandic\",\n // langIcelandic\n 17: \"x-mac-turkish\",\n // langTurkish\n 18: \"x-mac-croatian\",\n // langCroatian\n 24: \"x-mac-ce\",\n // langLithuanian\n 25: \"x-mac-ce\",\n // langPolish\n 26: \"x-mac-ce\",\n // langHungarian\n 27: \"x-mac-ce\",\n // langEstonian\n 28: \"x-mac-ce\",\n // langLatvian\n 30: \"x-mac-icelandic\",\n // langFaroese\n 37: \"x-mac-romanian\",\n // langRomanian\n 38: \"x-mac-ce\",\n // langCzech\n 39: \"x-mac-ce\",\n // langSlovak\n 40: \"x-mac-ce\",\n // langSlovenian\n 143: \"x-mac-inuit\",\n // langInuktitut\n 146: \"x-mac-gaelic\"\n // langIrishGaelicScript\n};\nfunction getEncoding(platformID, encodingID, languageID) {\n switch (platformID) {\n case 0:\n return utf16;\n case 1:\n return macLanguageEncodings[languageID] || macScriptEncodings[encodingID];\n case 3:\n if (encodingID === 1 || encodingID === 10) {\n return utf16;\n }\n break;\n }\n return void 0;\n}\nvar platforms = {\n 0: \"unicode\",\n 1: \"macintosh\",\n 2: \"reserved\",\n 3: \"windows\"\n};\nfunction getPlatform(platformID) {\n return platforms[platformID];\n}\nfunction parseNameTable(data, start, ltag) {\n const name = {};\n const p = new parse_default.Parser(data, start);\n const format = p.parseUShort();\n const count = p.parseUShort();\n const stringOffset = p.offset + p.parseUShort();\n for (let i = 0; i < count; i++) {\n const platformID = p.parseUShort();\n const encodingID = p.parseUShort();\n const languageID = p.parseUShort();\n const nameID = p.parseUShort();\n const property = nameTableNames[nameID] || nameID;\n const byteLength = p.parseUShort();\n const offset = p.parseUShort();\n const language = getLanguageCode(platformID, languageID, ltag);\n const encoding = getEncoding(platformID, encodingID, languageID);\n const platformName = getPlatform(platformID);\n if (encoding !== void 0 && language !== void 0 && platformName !== void 0) {\n let text;\n if (encoding === utf16) {\n text = decode.UTF16(data, stringOffset + offset, byteLength);\n } else {\n text = decode.MACSTRING(data, stringOffset + offset, byteLength, encoding);\n }\n if (text) {\n let platform = name[platformName];\n if (platform === void 0) {\n platform = name[platformName] = {};\n }\n let translations = platform[property];\n if (translations === void 0) {\n translations = platform[property] = {};\n }\n translations[language] = text;\n }\n }\n }\n if (format === 1) {\n p.parseUShort();\n }\n return name;\n}\nfunction reverseDict(dict) {\n const result = {};\n for (let key in dict) {\n result[dict[key]] = parseInt(key);\n }\n return result;\n}\nfunction makeNameRecord(platformID, encodingID, languageID, nameID, length, offset) {\n return new table_default.Record(\"NameRecord\", [\n { name: \"platformID\", type: \"USHORT\", value: platformID },\n { name: \"encodingID\", type: \"USHORT\", value: encodingID },\n { name: \"languageID\", type: \"USHORT\", value: languageID },\n { name: \"nameID\", type: \"USHORT\", value: nameID },\n { name: \"length\", type: \"USHORT\", value: length },\n { name: \"offset\", type: \"USHORT\", value: offset }\n ]);\n}\nfunction findSubArray(needle, haystack) {\n const needleLength = needle.length;\n const limit = haystack.length - needleLength + 1;\n loop:\n for (let pos = 0; pos < limit; pos++) {\n for (; pos < limit; pos++) {\n for (let k = 0; k < needleLength; k++) {\n if (haystack[pos + k] !== needle[k]) {\n continue loop;\n }\n }\n return pos;\n }\n }\n return -1;\n}\nfunction addStringToPool(s, pool) {\n let offset = findSubArray(s, pool);\n if (offset < 0) {\n offset = pool.length;\n let i = 0;\n const len = s.length;\n for (; i < len; ++i) {\n pool.push(s[i]);\n }\n }\n return offset;\n}\nfunction makeNameTable(names, ltag) {\n const platformNameIds = reverseDict(platforms);\n const macLanguageIds = reverseDict(macLanguages);\n const windowsLanguageIds = reverseDict(windowsLanguages);\n const nameRecords = [];\n const stringPool = [];\n for (let platform in names) {\n let nameID;\n const nameIDs = [];\n const namesWithNumericKeys = {};\n const nameTableIds = reverseDict(nameTableNames);\n const platformID = platformNameIds[platform];\n for (let key in names[platform]) {\n let id = nameTableIds[key];\n if (id === void 0) {\n id = key;\n }\n nameID = parseInt(id);\n if (isNaN(nameID)) {\n throw new Error('Name table entry \"' + key + '\" does not exist, see nameTableNames for complete list.');\n }\n namesWithNumericKeys[nameID] = names[platform][key];\n nameIDs.push(nameID);\n }\n for (let i = 0; i < nameIDs.length; i++) {\n nameID = nameIDs[i];\n const translations = namesWithNumericKeys[nameID];\n for (let lang in translations) {\n const text = translations[lang];\n if (platformID === 1 || platformID === 0) {\n let macLanguage = macLanguageIds[lang];\n let macScript = macLanguageToScript[macLanguage];\n const macEncoding = getEncoding(platformID, macScript, macLanguage);\n let macName = encode.MACSTRING(text, macEncoding);\n if (platformID === 0) {\n macLanguage = ltag.indexOf(lang);\n if (macLanguage < 0) {\n macLanguage = ltag.length;\n ltag.push(lang);\n }\n macScript = 4;\n macName = encode.UTF16(text);\n }\n if (macName !== void 0) {\n const macNameOffset = addStringToPool(macName, stringPool);\n nameRecords.push(makeNameRecord(\n platformID,\n macScript,\n macLanguage,\n nameID,\n macName.length,\n macNameOffset\n ));\n }\n }\n if (platformID === 3) {\n const winLanguage = windowsLanguageIds[lang];\n if (winLanguage !== void 0) {\n const winName = encode.UTF16(text);\n const winNameOffset = addStringToPool(winName, stringPool);\n nameRecords.push(makeNameRecord(\n 3,\n 1,\n winLanguage,\n nameID,\n winName.length,\n winNameOffset\n ));\n }\n }\n }\n }\n }\n nameRecords.sort(function(a, b) {\n return a.platformID - b.platformID || a.encodingID - b.encodingID || a.languageID - b.languageID || a.nameID - b.nameID;\n });\n const t = new table_default.Table(\"name\", [\n { name: \"format\", type: \"USHORT\", value: 0 },\n { name: \"count\", type: \"USHORT\", value: nameRecords.length },\n { name: \"stringOffset\", type: \"USHORT\", value: 6 + nameRecords.length * 12 }\n ]);\n for (let r = 0; r < nameRecords.length; r++) {\n t.fields.push({ name: \"record_\" + r, type: \"RECORD\", value: nameRecords[r] });\n }\n t.fields.push({ name: \"strings\", type: \"LITERAL\", value: stringPool });\n return t;\n}\nfunction getNameByID(names, nameID, allowedStandardIDs = []) {\n if (nameID < 256 && nameID in nameTableNames) {\n if (allowedStandardIDs.length && !allowedStandardIDs.includes(parseInt(nameID))) {\n return void 0;\n }\n nameID = nameTableNames[nameID];\n }\n for (let platform in names) {\n for (let nameKey in names[platform]) {\n if (nameKey === nameID || parseInt(nameKey) === nameID) {\n return names[platform][nameKey];\n }\n }\n }\n return void 0;\n}\nvar name_default = { parse: parseNameTable, make: makeNameTable, getNameByID };\n\n// src/tables/cmap.mjs\nfunction parseCmapTableFormat0(cmap, p, platformID, encodingID) {\n cmap.length = p.parseUShort();\n cmap.language = p.parseUShort() - 1;\n const indexMap = p.parseByteList(cmap.length);\n const glyphIndexMap = Object.assign({}, indexMap);\n const encoding = getEncoding(platformID, encodingID, cmap.language);\n const decodingTable = eightBitMacEncodings[encoding];\n for (let i = 0; i < decodingTable.length; i++) {\n glyphIndexMap[decodingTable.charCodeAt(i)] = indexMap[128 + i];\n }\n cmap.glyphIndexMap = glyphIndexMap;\n}\nfunction parseCmapTableFormat12or13(cmap, p, format) {\n p.parseUShort();\n cmap.length = p.parseULong();\n cmap.language = p.parseULong();\n let groupCount;\n cmap.groupCount = groupCount = p.parseULong();\n cmap.glyphIndexMap = {};\n for (let i = 0; i < groupCount; i += 1) {\n const startCharCode = p.parseULong();\n const endCharCode = p.parseULong();\n let startGlyphId = p.parseULong();\n for (let c = startCharCode; c <= endCharCode; c += 1) {\n cmap.glyphIndexMap[c] = startGlyphId;\n if (format === 12) {\n startGlyphId++;\n }\n }\n }\n}\nfunction parseCmapTableFormat4(cmap, p, data, start, offset) {\n cmap.length = p.parseUShort();\n cmap.language = p.parseUShort();\n let segCount;\n cmap.segCount = segCount = p.parseUShort() >> 1;\n p.skip(\"uShort\", 3);\n cmap.glyphIndexMap = {};\n const endCountParser = new parse_default.Parser(data, start + offset + 14);\n const startCountParser = new parse_default.Parser(data, start + offset + 16 + segCount * 2);\n const idDeltaParser = new parse_default.Parser(data, start + offset + 16 + segCount * 4);\n const idRangeOffsetParser = new parse_default.Parser(data, start + offset + 16 + segCount * 6);\n let glyphIndexOffset = start + offset + 16 + segCount * 8;\n for (let i = 0; i < segCount - 1; i += 1) {\n let glyphIndex;\n const endCount = endCountParser.parseUShort();\n const startCount = startCountParser.parseUShort();\n const idDelta = idDeltaParser.parseShort();\n const idRangeOffset = idRangeOffsetParser.parseUShort();\n for (let c = startCount; c <= endCount; c += 1) {\n if (idRangeOffset !== 0) {\n glyphIndexOffset = idRangeOffsetParser.offset + idRangeOffsetParser.relativeOffset - 2;\n glyphIndexOffset += idRangeOffset;\n glyphIndexOffset += (c - startCount) * 2;\n glyphIndex = parse_default.getUShort(data, glyphIndexOffset);\n if (glyphIndex !== 0) {\n glyphIndex = glyphIndex + idDelta & 65535;\n }\n } else {\n glyphIndex = c + idDelta & 65535;\n }\n cmap.glyphIndexMap[c] = glyphIndex;\n }\n }\n}\nfunction parseCmapTableFormat14(cmap, p) {\n const varSelectorList = {};\n p.skip(\"uLong\");\n const numVarSelectorRecords = p.parseULong();\n for (let i = 0; i < numVarSelectorRecords; i += 1) {\n const varSelector = p.parseUInt24();\n const varSelectorRecord = {\n varSelector\n };\n const defaultUVSOffset = p.parseOffset32();\n const nonDefaultUVSOffset = p.parseOffset32();\n const currentOffset = p.relativeOffset;\n if (defaultUVSOffset) {\n p.relativeOffset = defaultUVSOffset;\n varSelectorRecord.defaultUVS = p.parseStruct({\n ranges: function() {\n return p.parseRecordList32({\n startUnicodeValue: p.parseUInt24,\n additionalCount: p.parseByte\n });\n }\n });\n }\n if (nonDefaultUVSOffset) {\n p.relativeOffset = nonDefaultUVSOffset;\n varSelectorRecord.nonDefaultUVS = p.parseStruct({\n uvsMappings: function() {\n const map = {};\n const list = p.parseRecordList32({\n unicodeValue: p.parseUInt24,\n glyphID: p.parseUShort\n });\n for (let i2 = 0; i2 < list.length; i2 += 1) {\n map[list[i2].unicodeValue] = list[i2];\n }\n return map;\n }\n });\n }\n varSelectorList[varSelector] = varSelectorRecord;\n p.relativeOffset = currentOffset;\n }\n cmap.varSelectorList = varSelectorList;\n}\nfunction parseCmapTable(data, start) {\n const cmap = {};\n cmap.version = parse_default.getUShort(data, start);\n check_default.argument(cmap.version === 0, \"cmap table version should be 0.\");\n cmap.numTables = parse_default.getUShort(data, start + 2);\n let format14Parser = null;\n let format14offset = -1;\n let offset = -1;\n let platformId = null;\n let encodingId = null;\n const platform0Encodings = [0, 1, 2, 3, 4, 6];\n const platform3Encodings = [0, 1, 10];\n for (let i = cmap.numTables - 1; i >= 0; i -= 1) {\n platformId = parse_default.getUShort(data, start + 4 + i * 8);\n encodingId = parse_default.getUShort(data, start + 4 + i * 8 + 2);\n if (platformId === 3 && platform3Encodings.includes(encodingId) || platformId === 0 && platform0Encodings.includes(encodingId) || platformId === 1 && encodingId === 0) {\n if (offset > 0) continue;\n offset = parse_default.getULong(data, start + 4 + i * 8 + 4);\n if (format14Parser) {\n break;\n }\n } else if (platformId === 0 && encodingId === 5) {\n format14offset = parse_default.getULong(data, start + 4 + i * 8 + 4);\n format14Parser = new parse_default.Parser(data, start + format14offset);\n if (format14Parser.parseUShort() !== 14) {\n format14offset = -1;\n format14Parser = null;\n } else if (offset > 0) {\n break;\n }\n }\n }\n if (offset === -1) {\n throw new Error(\"No valid cmap sub-tables found.\");\n }\n const p = new parse_default.Parser(data, start + offset);\n cmap.format = p.parseUShort();\n if (cmap.format === 0) {\n parseCmapTableFormat0(cmap, p, platformId, encodingId);\n } else if (cmap.format === 12 || cmap.format === 13) {\n parseCmapTableFormat12or13(cmap, p, cmap.format);\n } else if (cmap.format === 4) {\n parseCmapTableFormat4(cmap, p, data, start, offset);\n } else {\n throw new Error(\n \"Only format 0 (platformId 1, encodingId 0), 4, 12 and 14 cmap tables are supported (found format \" + cmap.format + \", platformId \" + platformId + \", encodingId \" + encodingId + \").\"\n );\n }\n if (format14Parser) {\n parseCmapTableFormat14(cmap, format14Parser);\n }\n return cmap;\n}\nfunction addSegment(t, code, glyphIndex) {\n t.segments.push({\n end: code,\n start: code,\n delta: -(code - glyphIndex),\n offset: 0,\n glyphIndex\n });\n}\nfunction addTerminatorSegment(t) {\n t.segments.push({\n end: 65535,\n start: 65535,\n delta: 1,\n offset: 0\n });\n}\nfunction mergeSegments(segments) {\n if (segments.length === 0) return segments;\n const merged = [segments[0]];\n for (let i = 1; i < segments.length; i++) {\n const prev = merged[merged.length - 1];\n const curr = segments[i];\n if (prev.end + 1 === curr.start && prev.delta === curr.delta && curr.end !== 65535) {\n prev.end = curr.end;\n } else {\n merged.push(curr);\n }\n }\n return merged;\n}\nfunction makeCmapTable(glyphs) {\n let isPlan0Only = true;\n let i;\n for (i = glyphs.length - 1; i > 0; i -= 1) {\n const g = glyphs.get(i);\n if (g.unicode > 65535) {\n isPlan0Only = false;\n break;\n }\n }\n let cmapTable = [\n { name: \"version\", type: \"USHORT\", value: 0 },\n { name: \"numTables\", type: \"USHORT\", value: isPlan0Only ? 1 : 2 },\n // CMAP 4 header\n { name: \"platformID\", type: \"USHORT\", value: 3 },\n { name: \"encodingID\", type: \"USHORT\", value: 1 },\n { name: \"offset\", type: \"ULONG\", value: isPlan0Only ? 12 : 12 + 8 }\n ];\n if (!isPlan0Only)\n cmapTable.push(...[\n // CMAP 12 header\n { name: \"cmap12PlatformID\", type: \"USHORT\", value: 3 },\n // We encode only for PlatformID = 3 (Windows) because it is supported everywhere\n { name: \"cmap12EncodingID\", type: \"USHORT\", value: 10 },\n { name: \"cmap12Offset\", type: \"ULONG\", value: 0 }\n ]);\n cmapTable.push(...[\n // CMAP 4 Subtable\n { name: \"format\", type: \"USHORT\", value: 4 },\n { name: \"cmap4Length\", type: \"USHORT\", value: 0 },\n { name: \"language\", type: \"USHORT\", value: 0 },\n { name: \"segCountX2\", type: \"USHORT\", value: 0 },\n { name: \"searchRange\", type: \"USHORT\", value: 0 },\n { name: \"entrySelector\", type: \"USHORT\", value: 0 },\n { name: \"rangeShift\", type: \"USHORT\", value: 0 }\n ]);\n const t = new table_default.Table(\"cmap\", cmapTable);\n t.segments = [];\n for (i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n for (let j = 0; j < glyph.unicodes.length; j += 1) {\n addSegment(t, glyph.unicodes[j], i);\n }\n }\n t.segments.sort(function(a, b) {\n return a.start - b.start;\n });\n t.segments = mergeSegments(t.segments);\n addTerminatorSegment(t);\n const segCount = t.segments.length;\n let segCountToRemove = 0;\n let endCounts = [];\n let startCounts = [];\n let idDeltas = [];\n let idRangeOffsets = [];\n let glyphIds = [];\n let cmap12Groups = [];\n for (i = 0; i < segCount; i += 1) {\n const segment = t.segments[i];\n if (segment.end <= 65535 && segment.start <= 65535) {\n endCounts.push({ name: \"end_\" + i, type: \"USHORT\", value: segment.end });\n startCounts.push({ name: \"start_\" + i, type: \"USHORT\", value: segment.start });\n idDeltas.push({ name: \"idDelta_\" + i, type: \"SHORT\", value: segment.delta });\n idRangeOffsets.push({ name: \"idRangeOffset_\" + i, type: \"USHORT\", value: segment.offset });\n if (segment.glyphId !== void 0) {\n glyphIds.push({ name: \"glyph_\" + i, type: \"USHORT\", value: segment.glyphId });\n }\n } else {\n segCountToRemove += 1;\n }\n if (!isPlan0Only && segment.glyphIndex !== void 0) {\n cmap12Groups.push({ name: \"cmap12Start_\" + i, type: \"ULONG\", value: segment.start });\n cmap12Groups.push({ name: \"cmap12End_\" + i, type: \"ULONG\", value: segment.end });\n cmap12Groups.push({ name: \"cmap12Glyph_\" + i, type: \"ULONG\", value: segment.glyphIndex });\n }\n }\n t.segCountX2 = (segCount - segCountToRemove) * 2;\n t.searchRange = Math.pow(2, Math.floor(Math.log(segCount - segCountToRemove) / Math.log(2))) * 2;\n t.entrySelector = Math.log(t.searchRange / 2) / Math.log(2);\n t.rangeShift = t.segCountX2 - t.searchRange;\n for (let i2 = 0; i2 < endCounts.length; i2++) {\n t.fields.push(endCounts[i2]);\n }\n t.fields.push({ name: \"reservedPad\", type: \"USHORT\", value: 0 });\n for (let i2 = 0; i2 < startCounts.length; i2++) {\n t.fields.push(startCounts[i2]);\n }\n for (let i2 = 0; i2 < idDeltas.length; i2++) {\n t.fields.push(idDeltas[i2]);\n }\n for (let i2 = 0; i2 < idRangeOffsets.length; i2++) {\n t.fields.push(idRangeOffsets[i2]);\n }\n for (let i2 = 0; i2 < glyphIds.length; i2++) {\n t.fields.push(glyphIds[i2]);\n }\n t.cmap4Length = 14 + // Subtable header\n endCounts.length * 2 + 2 + // reservedPad\n startCounts.length * 2 + idDeltas.length * 2 + idRangeOffsets.length * 2 + glyphIds.length * 2;\n if (!isPlan0Only) {\n const cmap12Length = 16 + // Subtable header\n cmap12Groups.length * 4;\n t.cmap12Offset = 12 + 2 * 2 + 4 + t.cmap4Length;\n t.fields.push(...[\n { name: \"cmap12Format\", type: \"USHORT\", value: 12 },\n { name: \"cmap12Reserved\", type: \"USHORT\", value: 0 },\n { name: \"cmap12Length\", type: \"ULONG\", value: cmap12Length },\n { name: \"cmap12Language\", type: \"ULONG\", value: 0 },\n { name: \"cmap12nGroups\", type: \"ULONG\", value: cmap12Groups.length / 3 }\n ]);\n for (let i2 = 0; i2 < cmap12Groups.length; i2++) {\n t.fields.push(cmap12Groups[i2]);\n }\n }\n return t;\n}\nvar cmap_default = { parse: parseCmapTable, make: makeCmapTable };\n\n// src/encoding.mjs\nvar cffStandardStrings = [\n \".notdef\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quoteright\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"quoteleft\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"exclamdown\",\n \"cent\",\n \"sterling\",\n \"fraction\",\n \"yen\",\n \"florin\",\n \"section\",\n \"currency\",\n \"quotesingle\",\n \"quotedblleft\",\n \"guillemotleft\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"endash\",\n \"dagger\",\n \"daggerdbl\",\n \"periodcentered\",\n \"paragraph\",\n \"bullet\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"quotedblright\",\n \"guillemotright\",\n \"ellipsis\",\n \"perthousand\",\n \"questiondown\",\n \"grave\",\n \"acute\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"dieresis\",\n \"ring\",\n \"cedilla\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"emdash\",\n \"AE\",\n \"ordfeminine\",\n \"Lslash\",\n \"Oslash\",\n \"OE\",\n \"ordmasculine\",\n \"ae\",\n \"dotlessi\",\n \"lslash\",\n \"oslash\",\n \"oe\",\n \"germandbls\",\n \"onesuperior\",\n \"logicalnot\",\n \"mu\",\n \"trademark\",\n \"Eth\",\n \"onehalf\",\n \"plusminus\",\n \"Thorn\",\n \"onequarter\",\n \"divide\",\n \"brokenbar\",\n \"degree\",\n \"thorn\",\n \"threequarters\",\n \"twosuperior\",\n \"registered\",\n \"minus\",\n \"eth\",\n \"multiply\",\n \"threesuperior\",\n \"copyright\",\n \"Aacute\",\n \"Acircumflex\",\n \"Adieresis\",\n \"Agrave\",\n \"Aring\",\n \"Atilde\",\n \"Ccedilla\",\n \"Eacute\",\n \"Ecircumflex\",\n \"Edieresis\",\n \"Egrave\",\n \"Iacute\",\n \"Icircumflex\",\n \"Idieresis\",\n \"Igrave\",\n \"Ntilde\",\n \"Oacute\",\n \"Ocircumflex\",\n \"Odieresis\",\n \"Ograve\",\n \"Otilde\",\n \"Scaron\",\n \"Uacute\",\n \"Ucircumflex\",\n \"Udieresis\",\n \"Ugrave\",\n \"Yacute\",\n \"Ydieresis\",\n \"Zcaron\",\n \"aacute\",\n \"acircumflex\",\n \"adieresis\",\n \"agrave\",\n \"aring\",\n \"atilde\",\n \"ccedilla\",\n \"eacute\",\n \"ecircumflex\",\n \"edieresis\",\n \"egrave\",\n \"iacute\",\n \"icircumflex\",\n \"idieresis\",\n \"igrave\",\n \"ntilde\",\n \"oacute\",\n \"ocircumflex\",\n \"odieresis\",\n \"ograve\",\n \"otilde\",\n \"scaron\",\n \"uacute\",\n \"ucircumflex\",\n \"udieresis\",\n \"ugrave\",\n \"yacute\",\n \"ydieresis\",\n \"zcaron\",\n \"exclamsmall\",\n \"Hungarumlautsmall\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"ampersandsmall\",\n \"Acutesmall\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"266 ff\",\n \"onedotenleader\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"questionsmall\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"isuperior\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"ff\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"parenrightinferior\",\n \"Circumflexsmall\",\n \"hyphensuperior\",\n \"Gravesmall\",\n \"Asmall\",\n \"Bsmall\",\n \"Csmall\",\n \"Dsmall\",\n \"Esmall\",\n \"Fsmall\",\n \"Gsmall\",\n \"Hsmall\",\n \"Ismall\",\n \"Jsmall\",\n \"Ksmall\",\n \"Lsmall\",\n \"Msmall\",\n \"Nsmall\",\n \"Osmall\",\n \"Psmall\",\n \"Qsmall\",\n \"Rsmall\",\n \"Ssmall\",\n \"Tsmall\",\n \"Usmall\",\n \"Vsmall\",\n \"Wsmall\",\n \"Xsmall\",\n \"Ysmall\",\n \"Zsmall\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"Tildesmall\",\n \"exclamdownsmall\",\n \"centoldstyle\",\n \"Lslashsmall\",\n \"Scaronsmall\",\n \"Zcaronsmall\",\n \"Dieresissmall\",\n \"Brevesmall\",\n \"Caronsmall\",\n \"Dotaccentsmall\",\n \"Macronsmall\",\n \"figuredash\",\n \"hypheninferior\",\n \"Ogoneksmall\",\n \"Ringsmall\",\n \"Cedillasmall\",\n \"questiondownsmall\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"zerosuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\",\n \"Agravesmall\",\n \"Aacutesmall\",\n \"Acircumflexsmall\",\n \"Atildesmall\",\n \"Adieresissmall\",\n \"Aringsmall\",\n \"AEsmall\",\n \"Ccedillasmall\",\n \"Egravesmall\",\n \"Eacutesmall\",\n \"Ecircumflexsmall\",\n \"Edieresissmall\",\n \"Igravesmall\",\n \"Iacutesmall\",\n \"Icircumflexsmall\",\n \"Idieresissmall\",\n \"Ethsmall\",\n \"Ntildesmall\",\n \"Ogravesmall\",\n \"Oacutesmall\",\n \"Ocircumflexsmall\",\n \"Otildesmall\",\n \"Odieresissmall\",\n \"OEsmall\",\n \"Oslashsmall\",\n \"Ugravesmall\",\n \"Uacutesmall\",\n \"Ucircumflexsmall\",\n \"Udieresissmall\",\n \"Yacutesmall\",\n \"Thornsmall\",\n \"Ydieresissmall\",\n \"001.000\",\n \"001.001\",\n \"001.002\",\n \"001.003\",\n \"Black\",\n \"Bold\",\n \"Book\",\n \"Light\",\n \"Medium\",\n \"Regular\",\n \"Roman\",\n \"Semibold\"\n];\nvar cffISOAdobeStrings = [\n \".notdef\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quoteright\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"quoteleft\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"exclamdown\",\n \"cent\",\n \"sterling\",\n \"fraction\",\n \"yen\",\n \"florin\",\n \"section\",\n \"currency\",\n \"quotesingle\",\n \"quotedblleft\",\n \"guillemotleft\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"endash\",\n \"dagger\",\n \"daggerdbl\",\n \"periodcentered\",\n \"paragraph\",\n \"bullet\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"quotedblright\",\n \"guillemotright\",\n \"ellipsis\",\n \"perthousand\",\n \"questiondown\",\n \"grave\",\n \"acute\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"dieresis\",\n \"ring\",\n \"cedilla\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"emdash\",\n \"AE\",\n \"ordfeminine\",\n \"Lslash\",\n \"Oslash\",\n \"OE\",\n \"ordmasculine\",\n \"ae\",\n \"dotlessi\",\n \"lslash\",\n \"oslash\",\n \"oe\",\n \"germandbls\",\n \"onesuperior\",\n \"logicalnot\",\n \"mu\",\n \"trademark\",\n \"Eth\",\n \"onehalf\",\n \"plusminus\",\n \"Thorn\",\n \"onequarter\",\n \"divide\",\n \"brokenbar\",\n \"degree\",\n \"thorn\",\n \"threequarters\",\n \"twosuperior\",\n \"registered\",\n \"minus\",\n \"eth\",\n \"multiply\",\n \"threesuperior\",\n \"copyright\",\n \"Aacute\",\n \"Acircumflex\",\n \"Adieresis\",\n \"Agrave\",\n \"Aring\",\n \"Atilde\",\n \"Ccedilla\",\n \"Eacute\",\n \"Ecircumflex\",\n \"Edieresis\",\n \"Egrave\",\n \"Iacute\",\n \"Icircumflex\",\n \"Idieresis\",\n \"Igrave\",\n \"Ntilde\",\n \"Oacute\",\n \"Ocircumflex\",\n \"Odieresis\",\n \"Ograve\",\n \"Otilde\",\n \"Scaron\",\n \"Uacute\",\n \"Ucircumflex\",\n \"Udieresis\",\n \"Ugrave\",\n \"Yacute\",\n \"Ydieresis\",\n \"Zcaron\",\n \"aacute\",\n \"acircumflex\",\n \"adieresis\",\n \"agrave\",\n \"aring\",\n \"atilde\",\n \"ccedilla\",\n \"eacute\",\n \"ecircumflex\",\n \"edieresis\",\n \"egrave\",\n \"iacute\",\n \"icircumflex\",\n \"idieresis\",\n \"igrave\",\n \"ntilde\",\n \"oacute\",\n \"ocircumflex\",\n \"odieresis\",\n \"ograve\",\n \"otilde\",\n \"scaron\",\n \"uacute\",\n \"ucircumflex\",\n \"udieresis\",\n \"ugrave\",\n \"yacute\",\n \"ydieresis\",\n \"zcaron\"\n];\nvar cffIExpertStrings = [\n \".notdef\",\n \"space\",\n \"exclamsmall\",\n \"Hungarumlautsmall\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"ampersandsmall\",\n \"Acutesmall\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"twodotenleader\",\n \"onedotenleader\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"fraction\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"colon\",\n \"semicolon\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"questionsmall\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"isuperior\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"ff\",\n \"fi\",\n \"fl\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"parenrightinferior\",\n \"Circumflexsmall\",\n \"hyphensuperior\",\n \"Gravesmall\",\n \"Asmall\",\n \"Bsmall\",\n \"Csmall\",\n \"Dsmall\",\n \"Esmall\",\n \"Fsmall\",\n \"Gsmall\",\n \"Hsmall\",\n \"Ismall\",\n \"Jsmall\",\n \"Ksmall\",\n \"Lsmall\",\n \"Msmall\",\n \"Nsmall\",\n \"Osmall\",\n \"Psmall\",\n \"Qsmall\",\n \"Rsmall\",\n \"Ssmall\",\n \"Tsmall\",\n \"Usmall\",\n \"Vsmall\",\n \"Wsmall\",\n \"Xsmall\",\n \"Ysmall\",\n \"Zsmall\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"Tildesmall\",\n \"exclamdownsmall\",\n \"centoldstyle\",\n \"Lslashsmall\",\n \"Scaronsmall\",\n \"Zcaronsmall\",\n \"Dieresissmall\",\n \"Brevesmall\",\n \"Caronsmall\",\n \"Dotaccentsmall\",\n \"Macronsmall\",\n \"figuredash\",\n \"hypheninferior\",\n \"Ogoneksmall\",\n \"Ringsmall\",\n \"Cedillasmall\",\n \"onequarter\",\n \"onehalf\",\n \"threequarters\",\n \"questiondownsmall\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"zerosuperior\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\",\n \"Agravesmall\",\n \"Aacutesmall\",\n \"Acircumflexsmall\",\n \"Atildesmall\",\n \"Adieresissmall\",\n \"Aringsmall\",\n \"AEsmall\",\n \"Ccedillasmall\",\n \"Egravesmall\",\n \"Eacutesmall\",\n \"Ecircumflexsmall\",\n \"Edieresissmall\",\n \"Igravesmall\",\n \"Iacutesmall\",\n \"Icircumflexsmall\",\n \"Idieresissmall\",\n \"Ethsmall\",\n \"Ntildesmall\",\n \"Ogravesmall\",\n \"Oacutesmall\",\n \"Ocircumflexsmall\",\n \"Otildesmall\",\n \"Odieresissmall\",\n \"OEsmall\",\n \"Oslashsmall\",\n \"Ugravesmall\",\n \"Uacutesmall\",\n \"Ucircumflexsmall\",\n \"Udieresissmall\",\n \"Yacutesmall\",\n \"Thornsmall\",\n \"Ydieresissmall\"\n];\nvar cffExpertSubsetStrings = [\n \".notdef\",\n \"space\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"twodotenleader\",\n \"onedotenleader\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"fraction\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"colon\",\n \"semicolon\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"isuperior\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"ff\",\n \"fi\",\n \"fl\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"parenrightinferior\",\n \"hyphensuperior\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"centoldstyle\",\n \"figuredash\",\n \"hypheninferior\",\n \"onequarter\",\n \"onehalf\",\n \"threequarters\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"zerosuperior\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\"\n];\nvar cffStandardEncoding = [\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quoteright\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"quoteleft\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"exclamdown\",\n \"cent\",\n \"sterling\",\n \"fraction\",\n \"yen\",\n \"florin\",\n \"section\",\n \"currency\",\n \"quotesingle\",\n \"quotedblleft\",\n \"guillemotleft\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"\",\n \"endash\",\n \"dagger\",\n \"daggerdbl\",\n \"periodcentered\",\n \"\",\n \"paragraph\",\n \"bullet\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"quotedblright\",\n \"guillemotright\",\n \"ellipsis\",\n \"perthousand\",\n \"\",\n \"questiondown\",\n \"\",\n \"grave\",\n \"acute\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"dieresis\",\n \"\",\n \"ring\",\n \"cedilla\",\n \"\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"emdash\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"AE\",\n \"\",\n \"ordfeminine\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"Lslash\",\n \"Oslash\",\n \"OE\",\n \"ordmasculine\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"ae\",\n \"\",\n \"\",\n \"\",\n \"dotlessi\",\n \"\",\n \"\",\n \"lslash\",\n \"oslash\",\n \"oe\",\n \"germandbls\"\n];\nvar cffExpertEncoding = [\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"space\",\n \"exclamsmall\",\n \"Hungarumlautsmall\",\n \"\",\n \"dollaroldstyle\",\n \"dollarsuperior\",\n \"ampersandsmall\",\n \"Acutesmall\",\n \"parenleftsuperior\",\n \"parenrightsuperior\",\n \"twodotenleader\",\n \"onedotenleader\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"fraction\",\n \"zerooldstyle\",\n \"oneoldstyle\",\n \"twooldstyle\",\n \"threeoldstyle\",\n \"fouroldstyle\",\n \"fiveoldstyle\",\n \"sixoldstyle\",\n \"sevenoldstyle\",\n \"eightoldstyle\",\n \"nineoldstyle\",\n \"colon\",\n \"semicolon\",\n \"commasuperior\",\n \"threequartersemdash\",\n \"periodsuperior\",\n \"questionsmall\",\n \"\",\n \"asuperior\",\n \"bsuperior\",\n \"centsuperior\",\n \"dsuperior\",\n \"esuperior\",\n \"\",\n \"\",\n \"isuperior\",\n \"\",\n \"\",\n \"lsuperior\",\n \"msuperior\",\n \"nsuperior\",\n \"osuperior\",\n \"\",\n \"\",\n \"rsuperior\",\n \"ssuperior\",\n \"tsuperior\",\n \"\",\n \"ff\",\n \"fi\",\n \"fl\",\n \"ffi\",\n \"ffl\",\n \"parenleftinferior\",\n \"\",\n \"parenrightinferior\",\n \"Circumflexsmall\",\n \"hyphensuperior\",\n \"Gravesmall\",\n \"Asmall\",\n \"Bsmall\",\n \"Csmall\",\n \"Dsmall\",\n \"Esmall\",\n \"Fsmall\",\n \"Gsmall\",\n \"Hsmall\",\n \"Ismall\",\n \"Jsmall\",\n \"Ksmall\",\n \"Lsmall\",\n \"Msmall\",\n \"Nsmall\",\n \"Osmall\",\n \"Psmall\",\n \"Qsmall\",\n \"Rsmall\",\n \"Ssmall\",\n \"Tsmall\",\n \"Usmall\",\n \"Vsmall\",\n \"Wsmall\",\n \"Xsmall\",\n \"Ysmall\",\n \"Zsmall\",\n \"colonmonetary\",\n \"onefitted\",\n \"rupiah\",\n \"Tildesmall\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"\",\n \"exclamdownsmall\",\n \"centoldstyle\",\n \"Lslashsmall\",\n \"\",\n \"\",\n \"Scaronsmall\",\n \"Zcaronsmall\",\n \"Dieresissmall\",\n \"Brevesmall\",\n \"Caronsmall\",\n \"\",\n \"Dotaccentsmall\",\n \"\",\n \"\",\n \"Macronsmall\",\n \"\",\n \"\",\n \"figuredash\",\n \"hypheninferior\",\n \"\",\n \"\",\n \"Ogoneksmall\",\n \"Ringsmall\",\n \"Cedillasmall\",\n \"\",\n \"\",\n \"\",\n \"onequarter\",\n \"onehalf\",\n \"threequarters\",\n \"questiondownsmall\",\n \"oneeighth\",\n \"threeeighths\",\n \"fiveeighths\",\n \"seveneighths\",\n \"onethird\",\n \"twothirds\",\n \"\",\n \"\",\n \"zerosuperior\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"foursuperior\",\n \"fivesuperior\",\n \"sixsuperior\",\n \"sevensuperior\",\n \"eightsuperior\",\n \"ninesuperior\",\n \"zeroinferior\",\n \"oneinferior\",\n \"twoinferior\",\n \"threeinferior\",\n \"fourinferior\",\n \"fiveinferior\",\n \"sixinferior\",\n \"seveninferior\",\n \"eightinferior\",\n \"nineinferior\",\n \"centinferior\",\n \"dollarinferior\",\n \"periodinferior\",\n \"commainferior\",\n \"Agravesmall\",\n \"Aacutesmall\",\n \"Acircumflexsmall\",\n \"Atildesmall\",\n \"Adieresissmall\",\n \"Aringsmall\",\n \"AEsmall\",\n \"Ccedillasmall\",\n \"Egravesmall\",\n \"Eacutesmall\",\n \"Ecircumflexsmall\",\n \"Edieresissmall\",\n \"Igravesmall\",\n \"Iacutesmall\",\n \"Icircumflexsmall\",\n \"Idieresissmall\",\n \"Ethsmall\",\n \"Ntildesmall\",\n \"Ogravesmall\",\n \"Oacutesmall\",\n \"Ocircumflexsmall\",\n \"Otildesmall\",\n \"Odieresissmall\",\n \"OEsmall\",\n \"Oslashsmall\",\n \"Ugravesmall\",\n \"Uacutesmall\",\n \"Ucircumflexsmall\",\n \"Udieresissmall\",\n \"Yacutesmall\",\n \"Thornsmall\",\n \"Ydieresissmall\"\n];\nvar standardNames = [\n \".notdef\",\n \".null\",\n \"nonmarkingreturn\",\n \"space\",\n \"exclam\",\n \"quotedbl\",\n \"numbersign\",\n \"dollar\",\n \"percent\",\n \"ampersand\",\n \"quotesingle\",\n \"parenleft\",\n \"parenright\",\n \"asterisk\",\n \"plus\",\n \"comma\",\n \"hyphen\",\n \"period\",\n \"slash\",\n \"zero\",\n \"one\",\n \"two\",\n \"three\",\n \"four\",\n \"five\",\n \"six\",\n \"seven\",\n \"eight\",\n \"nine\",\n \"colon\",\n \"semicolon\",\n \"less\",\n \"equal\",\n \"greater\",\n \"question\",\n \"at\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"bracketleft\",\n \"backslash\",\n \"bracketright\",\n \"asciicircum\",\n \"underscore\",\n \"grave\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"braceleft\",\n \"bar\",\n \"braceright\",\n \"asciitilde\",\n \"Adieresis\",\n \"Aring\",\n \"Ccedilla\",\n \"Eacute\",\n \"Ntilde\",\n \"Odieresis\",\n \"Udieresis\",\n \"aacute\",\n \"agrave\",\n \"acircumflex\",\n \"adieresis\",\n \"atilde\",\n \"aring\",\n \"ccedilla\",\n \"eacute\",\n \"egrave\",\n \"ecircumflex\",\n \"edieresis\",\n \"iacute\",\n \"igrave\",\n \"icircumflex\",\n \"idieresis\",\n \"ntilde\",\n \"oacute\",\n \"ograve\",\n \"ocircumflex\",\n \"odieresis\",\n \"otilde\",\n \"uacute\",\n \"ugrave\",\n \"ucircumflex\",\n \"udieresis\",\n \"dagger\",\n \"degree\",\n \"cent\",\n \"sterling\",\n \"section\",\n \"bullet\",\n \"paragraph\",\n \"germandbls\",\n \"registered\",\n \"copyright\",\n \"trademark\",\n \"acute\",\n \"dieresis\",\n \"notequal\",\n \"AE\",\n \"Oslash\",\n \"infinity\",\n \"plusminus\",\n \"lessequal\",\n \"greaterequal\",\n \"yen\",\n \"mu\",\n \"partialdiff\",\n \"summation\",\n \"product\",\n \"pi\",\n \"integral\",\n \"ordfeminine\",\n \"ordmasculine\",\n \"Omega\",\n \"ae\",\n \"oslash\",\n \"questiondown\",\n \"exclamdown\",\n \"logicalnot\",\n \"radical\",\n \"florin\",\n \"approxequal\",\n \"Delta\",\n \"guillemotleft\",\n \"guillemotright\",\n \"ellipsis\",\n \"nonbreakingspace\",\n \"Agrave\",\n \"Atilde\",\n \"Otilde\",\n \"OE\",\n \"oe\",\n \"endash\",\n \"emdash\",\n \"quotedblleft\",\n \"quotedblright\",\n \"quoteleft\",\n \"quoteright\",\n \"divide\",\n \"lozenge\",\n \"ydieresis\",\n \"Ydieresis\",\n \"fraction\",\n \"currency\",\n \"guilsinglleft\",\n \"guilsinglright\",\n \"fi\",\n \"fl\",\n \"daggerdbl\",\n \"periodcentered\",\n \"quotesinglbase\",\n \"quotedblbase\",\n \"perthousand\",\n \"Acircumflex\",\n \"Ecircumflex\",\n \"Aacute\",\n \"Edieresis\",\n \"Egrave\",\n \"Iacute\",\n \"Icircumflex\",\n \"Idieresis\",\n \"Igrave\",\n \"Oacute\",\n \"Ocircumflex\",\n \"apple\",\n \"Ograve\",\n \"Uacute\",\n \"Ucircumflex\",\n \"Ugrave\",\n \"dotlessi\",\n \"circumflex\",\n \"tilde\",\n \"macron\",\n \"breve\",\n \"dotaccent\",\n \"ring\",\n \"cedilla\",\n \"hungarumlaut\",\n \"ogonek\",\n \"caron\",\n \"Lslash\",\n \"lslash\",\n \"Scaron\",\n \"scaron\",\n \"Zcaron\",\n \"zcaron\",\n \"brokenbar\",\n \"Eth\",\n \"eth\",\n \"Yacute\",\n \"yacute\",\n \"Thorn\",\n \"thorn\",\n \"minus\",\n \"multiply\",\n \"onesuperior\",\n \"twosuperior\",\n \"threesuperior\",\n \"onehalf\",\n \"onequarter\",\n \"threequarters\",\n \"franc\",\n \"Gbreve\",\n \"gbreve\",\n \"Idotaccent\",\n \"Scedilla\",\n \"scedilla\",\n \"Cacute\",\n \"cacute\",\n \"Ccaron\",\n \"ccaron\",\n \"dcroat\"\n];\nfunction DefaultEncoding(font) {\n this.font = font;\n}\nDefaultEncoding.prototype.charToGlyphIndex = function(c) {\n const code = c.codePointAt(0);\n const glyphs = this.font.glyphs;\n if (glyphs) {\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n for (let j = 0; j < glyph.unicodes.length; j += 1) {\n if (glyph.unicodes[j] === code) {\n return i;\n }\n }\n }\n }\n return null;\n};\nfunction CmapEncoding(cmap) {\n this.cmap = cmap;\n}\nCmapEncoding.prototype.charToGlyphIndex = function(c) {\n return this.cmap.glyphIndexMap[c.codePointAt(0)] || 0;\n};\nfunction CffEncoding(encoding, charset) {\n this.encoding = encoding;\n this.charset = charset;\n}\nCffEncoding.prototype.charToGlyphIndex = function(s) {\n const code = s.codePointAt(0);\n const charName = this.encoding[code];\n return this.charset.indexOf(charName);\n};\nfunction GlyphNames(post) {\n switch (post.version) {\n case 1:\n this.names = standardNames.slice();\n break;\n case 2:\n this.names = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n if (post.glyphNameIndex[i] < standardNames.length) {\n this.names[i] = standardNames[post.glyphNameIndex[i]];\n } else {\n this.names[i] = post.names[post.glyphNameIndex[i] - standardNames.length];\n }\n }\n break;\n case 2.5:\n this.names = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n this.names[i] = standardNames[i + post.glyphNameIndex[i]];\n }\n break;\n case 3:\n this.names = [];\n break;\n default:\n this.names = [];\n break;\n }\n}\nGlyphNames.prototype.nameToGlyphIndex = function(name) {\n return this.names.indexOf(name);\n};\nGlyphNames.prototype.glyphIndexToName = function(gid) {\n return this.names[gid];\n};\nfunction addGlyphNamesAll(font) {\n let glyph;\n const glyphIndexMap = font.tables.cmap.glyphIndexMap;\n const charCodes = Object.keys(glyphIndexMap);\n for (let i = 0; i < charCodes.length; i += 1) {\n const c = charCodes[i];\n const glyphIndex = glyphIndexMap[c];\n glyph = font.glyphs.get(glyphIndex);\n glyph.addUnicode(parseInt(c));\n }\n for (let i = 0; i < font.glyphs.length; i += 1) {\n glyph = font.glyphs.get(i);\n if (font.cffEncoding) {\n glyph.name = font.cffEncoding.charset[i];\n } else if (font.glyphNames.names) {\n glyph.name = font.glyphNames.glyphIndexToName(i);\n }\n }\n}\nfunction addGlyphNamesToUnicodeMap(font) {\n font._IndexToUnicodeMap = {};\n const glyphIndexMap = font.tables.cmap.glyphIndexMap;\n const charCodes = Object.keys(glyphIndexMap);\n for (let i = 0; i < charCodes.length; i += 1) {\n const c = charCodes[i];\n let glyphIndex = glyphIndexMap[c];\n if (font._IndexToUnicodeMap[glyphIndex] === void 0) {\n font._IndexToUnicodeMap[glyphIndex] = {\n unicodes: [parseInt(c)]\n };\n } else {\n font._IndexToUnicodeMap[glyphIndex].unicodes.push(parseInt(c));\n }\n }\n}\nfunction addGlyphNames(font, opt) {\n if (opt.lowMemory) {\n addGlyphNamesToUnicodeMap(font);\n } else {\n addGlyphNamesAll(font);\n }\n}\n\n// src/draw.mjs\nfunction line(ctx, x1, y1, x2, y2) {\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n}\nvar draw_default = { line };\n\n// src/tables/cpal.mjs\nfunction parseCpalTable(data, start) {\n const p = new Parser(data, start);\n const version = p.parseShort();\n if (version !== 0) {\n console.warn(\"Only CPALv0 is currently fully supported.\");\n }\n const numPaletteEntries = p.parseShort();\n const numPalettes = p.parseShort();\n const numColorRecords = p.parseShort();\n const colorRecordsArrayOffset = p.parseOffset32();\n const colorRecordIndices = p.parseUShortList(numPalettes);\n p.relativeOffset = colorRecordsArrayOffset;\n const colorRecords = p.parseULongList(numColorRecords);\n p.relativeOffset = colorRecordsArrayOffset;\n return {\n version,\n numPaletteEntries,\n colorRecords,\n colorRecordIndices\n };\n}\nfunction makeCpalTable({ version = 0, numPaletteEntries = 0, colorRecords = [], colorRecordIndices = [0] }) {\n check_default.argument(version === 0, \"Only CPALv0 are supported.\");\n check_default.argument(colorRecords.length, \"No colorRecords given.\");\n check_default.argument(colorRecordIndices.length, \"No colorRecordIndices given.\");\n if (colorRecordIndices.length > 1) {\n check_default.argument(numPaletteEntries, \"Can't infer numPaletteEntries on multiple colorRecordIndices\");\n }\n return new table_default.Table(\"CPAL\", [\n { name: \"version\", type: \"USHORT\", value: version },\n { name: \"numPaletteEntries\", type: \"USHORT\", value: numPaletteEntries || colorRecords.length },\n { name: \"numPalettes\", type: \"USHORT\", value: colorRecordIndices.length },\n { name: \"numColorRecords\", type: \"USHORT\", value: colorRecords.length },\n { name: \"colorRecordsArrayOffset\", type: \"ULONG\", value: 12 + 2 * colorRecordIndices.length },\n ...colorRecordIndices.map((palette, i) => ({ name: \"colorRecordIndices_\" + i, type: \"USHORT\", value: palette })),\n ...colorRecords.map((color, i) => ({ name: \"colorRecords_\" + i, type: \"ULONG\", value: color }))\n ]);\n}\nfunction parseCPALColor(bgra) {\n var b = (bgra & 4278190080) >> 24;\n var g = (bgra & 16711680) >> 16;\n var r = (bgra & 65280) >> 8;\n var a = bgra & 255;\n b = b + 256 & 255;\n g = g + 256 & 255;\n r = r + 256 & 255;\n a = (a + 256 & 255) / 255;\n return { b, g, r, a };\n}\nfunction getPaletteColor(font, index, palette = 0, colorFormat = \"hexa\") {\n if (index == 65535) {\n return \"currentColor\";\n }\n const cpalTable = font && font.tables && font.tables.cpal;\n if (!cpalTable) return \"currentColor\";\n if (palette > cpalTable.colorRecordIndices.length - 1) {\n throw new Error(`Palette index out of range (colorRecordIndices.length: ${cpalTable.colorRecordIndices.length}, index: ${index})`);\n }\n if (index > cpalTable.numPaletteEntries) {\n throw new Error(`Color index out of range (numPaletteEntries: ${cpalTable.numPaletteEntries}, index: ${index})`);\n }\n const lookupIndex = cpalTable.colorRecordIndices[palette] + index;\n if (lookupIndex > cpalTable.colorRecords) {\n throw new Error(`Color index out of range (colorRecords.length: ${cpalTable.colorRecords.length}, lookupIndex: ${lookupIndex})`);\n }\n const color = parseCPALColor(cpalTable.colorRecords[lookupIndex]);\n if (colorFormat === \"bgra\") {\n return color;\n }\n return formatColor(color, colorFormat);\n}\nfunction toHex(d) {\n return (\"0\" + parseInt(d).toString(16)).slice(-2);\n}\nfunction rgbToHSL(bgra) {\n const r = bgra.r / 255;\n const g = bgra.g / 255;\n const b = bgra.b / 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h * 360,\n s: s * 100,\n l: l * 100\n };\n}\nfunction hslToRGB(hsla) {\n let { h, s, l, a } = hsla;\n h = h % 360;\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, g = 0, b = 0;\n if (0 <= h && h < 60) {\n r = c;\n g = x;\n b = 0;\n } else if (60 <= h && h < 120) {\n r = x;\n g = c;\n b = 0;\n } else if (120 <= h && h < 180) {\n r = 0;\n g = c;\n b = x;\n } else if (180 <= h && h < 240) {\n r = 0;\n g = x;\n b = c;\n } else if (240 <= h && h < 300) {\n r = x;\n g = 0;\n b = c;\n } else if (300 <= h && h <= 360) {\n r = c;\n g = 0;\n b = x;\n }\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n a\n };\n}\nfunction bgraToRaw(color) {\n return parseInt(`0x${toHex(color.b)}${toHex(color.g)}${toHex(color.r)}${toHex(color.a * 255)}`, 16);\n}\nfunction parseColor(color, targetFormat = \"hexa\") {\n const returnRaw = targetFormat == \"raw\" || targetFormat == \"cpal\";\n const isRaw = Number.isInteger(color);\n let validFormat = true;\n if (isRaw && returnRaw || color === \"currentColor\") {\n return color;\n } else if (typeof color === \"object\") {\n if (targetFormat == \"bgra\") {\n return color;\n }\n if (returnRaw) {\n return bgraToRaw(color);\n }\n } else if (!isRaw && /^#([a-f0-9]{3}|[a-f0-9]{4}|[a-f0-9]{6}|[a-f0-9]{8})$/i.test(color.trim())) {\n color = color.trim().substring(1);\n switch (color.length) {\n case 3:\n color = {\n r: parseInt(color[0].repeat(2), 16),\n g: parseInt(color[1].repeat(2), 16),\n b: parseInt(color[2].repeat(2), 16),\n a: 1\n };\n break;\n case 4:\n color = {\n r: parseInt(color[0].repeat(2), 16),\n g: parseInt(color[1].repeat(2), 16),\n b: parseInt(color[2].repeat(2), 16),\n a: parseInt(color[3].repeat(2), 16) / 255\n };\n break;\n case 6:\n color = {\n r: parseInt(color[0] + color[1], 16),\n g: parseInt(color[2] + color[3], 16),\n b: parseInt(color[4] + color[5], 16),\n a: 1\n };\n break;\n case 8:\n color = {\n r: parseInt(color[0] + color[1], 16),\n g: parseInt(color[2] + color[3], 16),\n b: parseInt(color[4] + color[5], 16),\n a: parseInt(color[6] + color[7], 16) / 255\n };\n break;\n }\n if (targetFormat == \"bgra\") {\n return color;\n }\n } else if (typeof document !== \"undefined\" && /^[a-z]+$/i.test(color)) {\n const ctx = document.createElement(\"canvas\").getContext(\"2d\");\n ctx.fillStyle = color;\n const detectedColor = formatColor(ctx.fillStyle, \"hexa\");\n if (detectedColor === \"#000000ff\" && color.toLowerCase() !== \"black\") {\n validFormat = false;\n } else {\n color = detectedColor;\n }\n } else {\n color = color.trim();\n const rgbaRegex = /rgba?\\(\\s*(?:(\\d*\\.\\d+)(%?)|(\\d+)(%?))\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)(%?)|(\\d+)(%?))\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)(%?)|(\\d+)(%?))\\s*(?:(?:,|\\s|\\/)\\s*(?:(0*(?:\\.\\d+)?()|0*1(?:\\.0+)?())|(?:\\.\\d+)|(\\d+)(%)|(\\d*\\.\\d+)(%)))?\\s*\\)/;\n if (rgbaRegex.test(color)) {\n const matches = color.match(rgbaRegex).filter((i) => typeof i !== \"undefined\");\n color = {\n r: Math.round(parseFloat(matches[1]) / (matches[2] ? 100 / 255 : 1)),\n g: Math.round(parseFloat(matches[3]) / (matches[4] ? 100 / 255 : 1)),\n b: Math.round(parseFloat(matches[5]) / (matches[6] ? 100 / 255 : 1)),\n a: !matches[7] ? 1 : parseFloat(matches[7]) / (matches[8] ? 100 : 1)\n };\n } else {\n const hslaRegex = /hsla?\\(\\s*(?:(\\d*\\.\\d+|\\d+)(deg|turn|))\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)%?|(\\d+)%?)\\s*(?:,|\\s*)\\s*(?:(\\d*\\.\\d+)%?|(\\d+)%?)\\s*(?:(?:,|\\s|\\/)\\s*(?:(0*(?:\\.\\d+)?()|0*1(?:\\.0+)?())|(?:\\.\\d+)|(\\d+)(%)|(\\d*\\.\\d+)(%)))?\\s*\\)/;\n if (hslaRegex.test(color)) {\n const matches = color.match(hslaRegex).filter((i) => typeof i !== \"undefined\");\n color = hslToRGB({\n h: parseFloat(matches[1]) * (matches[2] === \"turn\" ? 360 : 1),\n s: parseFloat(matches[3]),\n l: parseFloat(matches[4]),\n a: !matches[5] ? 1 : parseFloat(matches[5]) / (matches[6] ? 100 : 1)\n });\n } else {\n validFormat = false;\n }\n }\n }\n if (!validFormat) {\n throw new Error(`Invalid color format: ${color}`);\n }\n return formatColor(color, targetFormat);\n}\nfunction formatColor(bgra, format = \"hexa\") {\n if (bgra === \"currentColor\") return bgra;\n if (Number.isInteger(bgra)) {\n if (format == \"raw\" || format == \"cpal\") {\n return bgra;\n }\n bgra = parseCPALColor(bgra);\n } else if (typeof bgra !== \"object\") {\n bgra = parseColor(bgra, \"bgra\");\n }\n let hsl = [\"hsl\", \"hsla\"].includes(format) ? rgbToHSL(bgra) : null;\n switch (format) {\n case \"rgba\":\n return `rgba(${bgra.r}, ${bgra.g}, ${bgra.b}, ${parseFloat(bgra.a.toFixed(3))})`;\n case \"rgb\":\n return `rgb(${bgra.r}, ${bgra.g}, ${bgra.b})`;\n case \"hex\":\n case \"hex6\":\n case \"hex-6\":\n return `#${toHex(bgra.r)}${toHex(bgra.g)}${toHex(bgra.b)}`;\n case \"hexa\":\n case \"hex8\":\n case \"hex-8\":\n return `#${toHex(bgra.r)}${toHex(bgra.g)}${toHex(bgra.b)}${toHex(bgra.a * 255)}`;\n case \"hsl\":\n return `hsl(${hsl.h.toFixed(2)}, ${hsl.s.toFixed(2)}%, ${hsl.l.toFixed(2)}%)`;\n case \"hsla\":\n return `hsla(${hsl.h.toFixed(2)}, ${hsl.s.toFixed(2)}%, ${hsl.l.toFixed(2)}%, ${parseFloat(bgra.a.toFixed(3))})`;\n case \"bgra\":\n return bgra;\n case \"raw\":\n case \"cpal\":\n return bgraToRaw(bgra);\n default:\n throw new Error(\"Unknown color format: \" + format);\n }\n}\nvar cpal_default = { parse: parseCpalTable, make: makeCpalTable, getPaletteColor, parseColor, formatColor };\n\n// src/glyph.mjs\nfunction getPathDefinition(glyph, path) {\n let _path = path || new path_default();\n return {\n configurable: true,\n get: function() {\n if (typeof _path === \"function\") {\n _path = _path();\n }\n return _path;\n },\n set: function(p) {\n _path = p;\n }\n };\n}\nfunction Glyph(options) {\n this.bindConstructorValues(options);\n}\nGlyph.prototype.bindConstructorValues = function(options) {\n this.index = options.index || 0;\n if (options.name === \".notdef\") {\n options.unicode = void 0;\n } else if (options.name === \".null\") {\n options.unicode = 0;\n }\n if (options.unicode === 0 && options.name !== \".null\") {\n throw new Error('The unicode value \"0\" is reserved for the glyph name \".null\" and cannot be used by any other glyph.');\n }\n this.name = options.name || null;\n this.unicode = options.unicode;\n this.unicodes = options.unicodes || (options.unicode !== void 0 ? [options.unicode] : []);\n if (\"xMin\" in options) {\n this.xMin = options.xMin;\n }\n if (\"yMin\" in options) {\n this.yMin = options.yMin;\n }\n if (\"xMax\" in options) {\n this.xMax = options.xMax;\n }\n if (\"yMax\" in options) {\n this.yMax = options.yMax;\n }\n if (\"advanceWidth\" in options) {\n this.advanceWidth = options.advanceWidth;\n }\n if (\"leftSideBearing\" in options) {\n this.leftSideBearing = options.leftSideBearing;\n }\n if (\"points\" in options) {\n this.points = options.points;\n }\n Object.defineProperty(this, \"path\", getPathDefinition(this, options.path));\n};\nGlyph.prototype.addUnicode = function(unicode) {\n if (this.unicodes.length === 0) {\n this.unicode = unicode;\n }\n this.unicodes.push(unicode);\n};\nGlyph.prototype.getBoundingBox = function() {\n return this.path.getBoundingBox();\n};\nGlyph.prototype.getPath = function(x, y, fontSize, options, font) {\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 72;\n options = Object.assign({}, font && font.defaultRenderOptions, options);\n let commands;\n let hPoints;\n let xScale = options.xScale;\n let yScale = options.yScale;\n const scale = 1 / (this.path.unitsPerEm || 1e3) * fontSize;\n let useGlyph = this;\n if (font && font.variation) {\n useGlyph = font.variation.getTransform(this, options.variation);\n commands = useGlyph.path.commands;\n }\n if (options.hinting && font && font.hinting) {\n hPoints = useGlyph.path && font.hinting.exec(useGlyph, fontSize, options);\n }\n if (hPoints) {\n commands = font.hinting.getCommands(hPoints);\n x = Math.round(x);\n y = Math.round(y);\n xScale = yScale = 1;\n } else {\n commands = useGlyph.path.commands;\n if (xScale === void 0) xScale = scale;\n if (yScale === void 0) yScale = scale;\n }\n const p = new path_default();\n if (options.drawSVG) {\n const svgImage = this.getSvgImage(font);\n if (svgImage) {\n const layer = new path_default();\n layer._image = {\n image: svgImage.image,\n x: x + svgImage.leftSideBearing * scale,\n y: y - svgImage.baseline * scale,\n width: svgImage.image.width * scale,\n height: svgImage.image.height * scale\n };\n p._layers = [layer];\n return p;\n }\n }\n if (options.drawLayers) {\n const layers = this.getLayers(font);\n if (layers && layers.length) {\n p._layers = [];\n for (let i = 0; i < layers.length; i += 1) {\n const layer = layers[i];\n let color = getPaletteColor(font, layer.paletteIndex, options.usePalette);\n if (color === \"currentColor\") {\n color = options.fill || \"black\";\n } else {\n color = formatColor(color, options.colorFormat || \"rgba\");\n }\n options = Object.assign({}, options, { fill: color });\n p._layers.push(this.getPath.call(layer.glyph, x, y, fontSize, options, font));\n }\n return p;\n }\n }\n p.fill = options.fill || this.path.fill;\n p.stroke = this.path.stroke;\n p.strokeWidth = this.path.strokeWidth * scale;\n for (let i = 0; i < commands.length; i += 1) {\n const cmd = commands[i];\n if (cmd.type === \"M\") {\n p.moveTo(x + cmd.x * xScale, y + -cmd.y * yScale);\n } else if (cmd.type === \"L\") {\n p.lineTo(x + cmd.x * xScale, y + -cmd.y * yScale);\n } else if (cmd.type === \"Q\") {\n p.quadraticCurveTo(\n x + cmd.x1 * xScale,\n y + -cmd.y1 * yScale,\n x + cmd.x * xScale,\n y + -cmd.y * yScale\n );\n } else if (cmd.type === \"C\") {\n p.curveTo(\n x + cmd.x1 * xScale,\n y + -cmd.y1 * yScale,\n x + cmd.x2 * xScale,\n y + -cmd.y2 * yScale,\n x + cmd.x * xScale,\n y + -cmd.y * yScale\n );\n } else if (cmd.type === \"Z\" && p.stroke && p.strokeWidth) {\n p.closePath();\n }\n }\n return p;\n};\nGlyph.prototype.getLayers = function(font) {\n if (!font) {\n throw new Error(\"The font object is required to read the colr/cpal tables in order to get the layers.\");\n }\n return font.layers.get(this.index);\n};\nGlyph.prototype.getSvgImage = function(font) {\n if (!font) {\n throw new Error(\"The font object is required to read the svg table in order to get the image.\");\n }\n return font.svgImages.get(this.index);\n};\nGlyph.prototype.getContours = function(transformedPoints = null) {\n if (this.points === void 0 && !transformedPoints) {\n return [];\n }\n const contours = [];\n let currentContour = [];\n let points = transformedPoints ? transformedPoints : this.points;\n for (let i = 0; i < points.length; i += 1) {\n const pt = points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n check_default.argument(currentContour.length === 0, \"There are still points left in the current contour.\");\n return contours;\n};\nGlyph.prototype.getMetrics = function() {\n const commands = this.path.commands;\n const xCoords = [];\n const yCoords = [];\n for (let i = 0; i < commands.length; i += 1) {\n const cmd = commands[i];\n if (cmd.type !== \"Z\") {\n xCoords.push(cmd.x);\n yCoords.push(cmd.y);\n }\n if (cmd.type === \"Q\" || cmd.type === \"C\") {\n xCoords.push(cmd.x1);\n yCoords.push(cmd.y1);\n }\n if (cmd.type === \"C\") {\n xCoords.push(cmd.x2);\n yCoords.push(cmd.y2);\n }\n }\n const metrics = {\n xMin: Math.min.apply(null, xCoords),\n yMin: Math.min.apply(null, yCoords),\n xMax: Math.max.apply(null, xCoords),\n yMax: Math.max.apply(null, yCoords),\n leftSideBearing: this.leftSideBearing\n };\n if (!isFinite(metrics.xMin)) {\n metrics.xMin = 0;\n }\n if (!isFinite(metrics.xMax)) {\n metrics.xMax = this.advanceWidth;\n }\n if (!isFinite(metrics.yMin)) {\n metrics.yMin = 0;\n }\n if (!isFinite(metrics.yMax)) {\n metrics.yMax = 0;\n }\n metrics.rightSideBearing = this.advanceWidth - metrics.leftSideBearing - (metrics.xMax - metrics.xMin);\n return metrics;\n};\nGlyph.prototype.draw = function(ctx, x, y, fontSize, options, font) {\n options = Object.assign({}, font && font.defaultRenderOptions, options);\n const path = this.getPath(x, y, fontSize, options, font);\n path.draw(ctx);\n};\nGlyph.prototype.drawPoints = function(ctx, x, y, fontSize, options, font) {\n options = Object.assign({}, font && font.defaultRenderOptions, options);\n if (options.drawLayers) {\n const layers = this.getLayers(font);\n if (layers && layers.length) {\n for (let l = 0; l < layers.length; l += 1) {\n if (layers[l].glyph.index !== this.index) {\n this.drawPoints.call(layers[l].glyph, ctx, x, y, fontSize);\n }\n }\n return;\n }\n }\n function drawCircles(l, x2, y2, scale2) {\n ctx.beginPath();\n for (let j = 0; j < l.length; j += 1) {\n ctx.moveTo(x2 + l[j].x * scale2, y2 + l[j].y * scale2);\n ctx.arc(x2 + l[j].x * scale2, y2 + l[j].y * scale2, 2, 0, Math.PI * 2, false);\n }\n ctx.fill();\n }\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 24;\n const scale = 1 / this.path.unitsPerEm * fontSize;\n const blueCircles = [];\n const redCircles = [];\n const path = this.path;\n let commands = path.commands;\n if (font && font.variation) {\n commands = font.variation.getTransform(this, options.variation).path.commands;\n }\n for (let i = 0; i < commands.length; i += 1) {\n const cmd = commands[i];\n if (cmd.x !== void 0) {\n blueCircles.push({ x: cmd.x, y: -cmd.y });\n }\n if (cmd.x1 !== void 0) {\n redCircles.push({ x: cmd.x1, y: -cmd.y1 });\n }\n if (cmd.x2 !== void 0) {\n redCircles.push({ x: cmd.x2, y: -cmd.y2 });\n }\n }\n ctx.fillStyle = \"blue\";\n drawCircles(blueCircles, x, y, scale);\n ctx.fillStyle = \"red\";\n drawCircles(redCircles, x, y, scale);\n};\nGlyph.prototype.drawMetrics = function(ctx, x, y, fontSize) {\n let scale;\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 24;\n scale = 1 / this.path.unitsPerEm * fontSize;\n ctx.lineWidth = 1;\n ctx.strokeStyle = \"black\";\n draw_default.line(ctx, x, -1e4, x, 1e4);\n draw_default.line(ctx, -1e4, y, 1e4, y);\n const xMin = this.xMin || 0;\n let yMin = this.yMin || 0;\n const xMax = this.xMax || 0;\n let yMax = this.yMax || 0;\n const advanceWidth = this.advanceWidth || 0;\n ctx.strokeStyle = \"blue\";\n draw_default.line(ctx, x + xMin * scale, -1e4, x + xMin * scale, 1e4);\n draw_default.line(ctx, x + xMax * scale, -1e4, x + xMax * scale, 1e4);\n draw_default.line(ctx, -1e4, y + -yMin * scale, 1e4, y + -yMin * scale);\n draw_default.line(ctx, -1e4, y + -yMax * scale, 1e4, y + -yMax * scale);\n ctx.strokeStyle = \"green\";\n draw_default.line(ctx, x + advanceWidth * scale, -1e4, x + advanceWidth * scale, 1e4);\n};\nGlyph.prototype.toPathData = function(options, font) {\n options = Object.assign({}, { variation: font && font.defaultRenderOptions.variation }, options);\n let useGlyph = this;\n if (font && font.variation) {\n useGlyph = font.variation.getTransform(this, options.variation);\n }\n let usePath = useGlyph.points && options.pointsTransform ? options.pointsTransform(useGlyph.points) : useGlyph.path;\n if (options.pathTransform) {\n usePath = options.pathTransform(usePath);\n }\n return usePath.toPathData(options);\n};\nGlyph.prototype.fromSVG = function(pathData, options = {}) {\n return this.path.fromSVG(pathData, options);\n};\nGlyph.prototype.toSVG = function(options, font) {\n const pathData = this.toPathData.apply(this, [options, font]);\n return this.path.toSVG(options, pathData);\n};\nGlyph.prototype.toDOMElement = function(options, font) {\n options = Object.assign({}, { variation: font && font.defaultRenderOptions.variation }, options);\n let usePath = this.path;\n if (font && font.variation) {\n usePath = font.variation.getTransform(this, options.variation).path;\n }\n return usePath.toDOMElement(options);\n};\nvar glyph_default = Glyph;\n\n// src/glyphset.mjs\nfunction defineDependentProperty(glyph, externalName, internalName) {\n Object.defineProperty(glyph, externalName, {\n get: function() {\n typeof glyph[internalName] === \"undefined\" && glyph.path;\n return glyph[internalName];\n },\n set: function(newValue) {\n glyph[internalName] = newValue;\n },\n enumerable: true,\n configurable: true\n });\n}\nfunction GlyphSet(font, glyphs) {\n this.font = font;\n this.glyphs = {};\n if (Array.isArray(glyphs)) {\n for (let i = 0; i < glyphs.length; i++) {\n const glyph = glyphs[i];\n glyph.path.unitsPerEm = font.unitsPerEm;\n this.glyphs[i] = glyph;\n }\n }\n this.length = glyphs && glyphs.length || 0;\n}\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n GlyphSet.prototype[Symbol.iterator] = function() {\n let n = -1;\n return {\n next: function() {\n n++;\n const done = n >= this.length - 1;\n return { value: this.get(n), done };\n }.bind(this)\n };\n };\n}\nGlyphSet.prototype.get = function(index) {\n if (this.font._push && this.glyphs[index] === void 0) {\n this.font._push(index);\n if (typeof this.glyphs[index] === \"function\") {\n this.glyphs[index] = this.glyphs[index]();\n }\n let glyph = this.glyphs[index];\n let unicodeObj = this.font._IndexToUnicodeMap[index];\n if (unicodeObj) {\n for (let j = 0; j < unicodeObj.unicodes.length; j++)\n glyph.addUnicode(unicodeObj.unicodes[j]);\n }\n if (this.font.cffEncoding) {\n glyph.name = this.font.cffEncoding.charset[index];\n } else if (this.font.glyphNames.names) {\n glyph.name = this.font.glyphNames.glyphIndexToName(index);\n }\n this.glyphs[index].advanceWidth = this.font._hmtxTableData[index].advanceWidth;\n this.glyphs[index].leftSideBearing = this.font._hmtxTableData[index].leftSideBearing;\n } else {\n if (typeof this.glyphs[index] === \"function\") {\n this.glyphs[index] = this.glyphs[index]();\n }\n }\n return this.glyphs[index];\n};\nGlyphSet.prototype.push = function(index, loader) {\n this.glyphs[index] = loader;\n this.length++;\n};\nfunction glyphLoader(font, index) {\n return new glyph_default({ index, font });\n}\nfunction ttfGlyphLoader(font, index, parseGlyph2, data, position, buildPath2) {\n return function() {\n const glyph = new glyph_default({ index, font });\n glyph.path = function() {\n parseGlyph2(glyph, data, position);\n const path = buildPath2(font.glyphs, glyph);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n defineDependentProperty(glyph, \"numberOfContours\", \"_numberOfContours\");\n defineDependentProperty(glyph, \"xMin\", \"_xMin\");\n defineDependentProperty(glyph, \"xMax\", \"_xMax\");\n defineDependentProperty(glyph, \"yMin\", \"_yMin\");\n defineDependentProperty(glyph, \"yMax\", \"_yMax\");\n defineDependentProperty(glyph, \"points\", \"_points\");\n return glyph;\n };\n}\nfunction cffGlyphLoader(font, index, parseCFFCharstring2, charstring, version) {\n return function() {\n const glyph = new glyph_default({ index, font });\n glyph.path = function() {\n const path = parseCFFCharstring2(font, glyph, charstring, version);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n return glyph;\n };\n}\nvar glyphset_default = { GlyphSet, glyphLoader, ttfGlyphLoader, cffGlyphLoader };\n\n// src/tables/cff.mjs\nfunction equals(a, b) {\n if (a === b) {\n return true;\n } else if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i += 1) {\n if (!equals(a[i], b[i])) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n}\nvar MAX_CALL_DEPTH = 10;\nfunction calcCFFSubroutineBias(subrs) {\n let bias;\n if (subrs.length < 1240) {\n bias = 107;\n } else if (subrs.length < 33900) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n return bias;\n}\nfunction parseCFFIndex(data, start, conversionFn, version) {\n const offsets = [];\n const objects = [];\n const count = version > 1 ? parse_default.getULong(data, start) : parse_default.getCard16(data, start);\n const countLength = version > 1 ? 4 : 2;\n let objectOffset;\n let endOffset;\n if (count !== 0) {\n const offsetSize = parse_default.getByte(data, start + countLength);\n objectOffset = start + (count + 1) * offsetSize + countLength;\n let pos = start + countLength + 1;\n for (let i = 0; i < count + 1; i += 1) {\n offsets.push(parse_default.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + countLength;\n }\n for (let i = 0; i < offsets.length - 1; i += 1) {\n let value = parse_default.getBytes(data, objectOffset + offsets[i], objectOffset + offsets[i + 1]);\n if (conversionFn) {\n value = conversionFn(value, data, start, version);\n }\n objects.push(value);\n }\n return { objects, startOffset: start, endOffset };\n}\nfunction parseCFFIndexLowMemory(data, start, version) {\n const offsets = [];\n const count = version > 1 ? parse_default.getULong(data, start) : parse_default.getCard16(data, start);\n const countLength = version > 1 ? 4 : 2;\n let objectOffset;\n let endOffset;\n if (count !== 0) {\n const offsetSize = parse_default.getByte(data, start + countLength);\n objectOffset = start + (count + 1) * offsetSize + countLength;\n let pos = start + countLength + 1;\n for (let i = 0; i < count + 1; i += 1) {\n offsets.push(parse_default.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + countLength;\n }\n return { offsets, startOffset: start, endOffset };\n}\nfunction getCffIndexObject(i, offsets, data, start, conversionFn, version) {\n const count = version > 1 ? parse_default.getULong(data, start) : parse_default.getCard16(data, start);\n const countLength = version > 1 ? 4 : 2;\n let objectOffset = 0;\n if (count !== 0) {\n const offsetSize = parse_default.getByte(data, start + countLength);\n objectOffset = start + (count + 1) * offsetSize + countLength;\n }\n let value = parse_default.getBytes(data, objectOffset + offsets[i], objectOffset + offsets[i + 1]);\n if (conversionFn) {\n value = conversionFn(value);\n }\n return value;\n}\nfunction parseFloatOperand(parser) {\n let s = \"\";\n const eof = 15;\n const lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n for (; ; ) {\n const b = parser.parseByte();\n const n1 = b >> 4;\n const n2 = b & 15;\n if (n1 === eof) {\n break;\n }\n s += lookup[n1];\n if (n2 === eof) {\n break;\n }\n s += lookup[n2];\n }\n return parseFloat(s);\n}\nfunction parseOperand(parser, b0) {\n let b1;\n let b2;\n let b3;\n let b4;\n if (b0 === 28) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n return b1 << 8 | b2;\n }\n if (b0 === 29) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n b3 = parser.parseByte();\n b4 = parser.parseByte();\n return b1 << 24 | b2 << 16 | b3 << 8 | b4;\n }\n if (b0 === 30) {\n return parseFloatOperand(parser);\n }\n if (b0 >= 32 && b0 <= 246) {\n return b0 - 139;\n }\n if (b0 >= 247 && b0 <= 250) {\n b1 = parser.parseByte();\n return (b0 - 247) * 256 + b1 + 108;\n }\n if (b0 >= 251 && b0 <= 254) {\n b1 = parser.parseByte();\n return -(b0 - 251) * 256 - b1 - 108;\n }\n throw new Error(\"Invalid b0 \" + b0);\n}\nfunction entriesToObject(entries) {\n const o = {};\n for (let i = 0; i < entries.length; i += 1) {\n const key = entries[i][0];\n const values = entries[i][1];\n let value;\n if (values.length === 1) {\n value = values[0];\n } else {\n value = values;\n }\n if (Object.prototype.hasOwnProperty.call(o, key) && !isNaN(o[key])) {\n throw new Error(\"Object \" + o + \" already has key \" + key);\n }\n o[key] = value;\n }\n return o;\n}\nfunction parseCFFDict(data, start, size, version) {\n start = start !== void 0 ? start : 0;\n const parser = new parse_default.Parser(data, start);\n const entries = [];\n let operands = [];\n size = size !== void 0 ? size : data.byteLength;\n let operandsStart = version < 2 ? 22 : 28;\n while (parser.relativeOffset < size) {\n let op = parser.parseByte();\n if (op < operandsStart) {\n if (op === 12) {\n op = 1200 + parser.parseByte();\n }\n if (version > 1 && op === 23) {\n parseBlend(operands);\n continue;\n }\n entries.push([op, operands]);\n operands = [];\n } else {\n operands.push(parseOperand(parser, op, version));\n }\n }\n return entriesToObject(entries);\n}\nfunction getCFFString(strings, index) {\n if (index <= 390) {\n index = cffStandardStrings[index];\n } else if (strings) {\n index = strings[index - 391];\n } else {\n index = void 0;\n }\n return index;\n}\nfunction interpretDict(dict, meta, strings) {\n const newDict = {};\n let value;\n for (let i = 0; i < meta.length; i += 1) {\n const m = meta[i];\n if (Array.isArray(m.type)) {\n const values = [];\n values.length = m.type.length;\n for (let j = 0; j < m.type.length; j++) {\n value = dict[m.op] !== void 0 ? dict[m.op][j] : void 0;\n if (value === void 0) {\n value = m.value !== void 0 && m.value[j] !== void 0 ? m.value[j] : null;\n }\n if (m.type[j] === \"SID\") {\n value = getCFFString(strings, value);\n }\n values[j] = value;\n }\n newDict[m.name] = values;\n } else {\n value = dict[m.op];\n if (value === void 0) {\n value = m.value !== void 0 ? m.value : null;\n }\n if (m.type === \"SID\") {\n value = getCFFString(strings, value);\n }\n newDict[m.name] = value;\n }\n }\n return newDict;\n}\nfunction parseCFFHeader(data, start) {\n const header = {};\n header.formatMajor = parse_default.getCard8(data, start);\n header.formatMinor = parse_default.getCard8(data, start + 1);\n if (header.formatMajor > 2) {\n throw new Error(`Unsupported CFF table version ${header.formatMajor}.${header.formatMinor}`);\n }\n header.size = parse_default.getCard8(data, start + 2);\n if (header.formatMajor < 2) {\n header.offsetSize = parse_default.getCard8(data, start + 3);\n header.startOffset = start;\n header.endOffset = start + 4;\n } else {\n header.topDictLength = parse_default.getCard16(data, start + 3);\n header.endOffset = start + 8;\n }\n return header;\n}\nvar TOP_DICT_META = [\n { name: \"version\", op: 0, type: \"SID\" },\n { name: \"notice\", op: 1, type: \"SID\" },\n { name: \"copyright\", op: 1200, type: \"SID\" },\n { name: \"fullName\", op: 2, type: \"SID\" },\n { name: \"familyName\", op: 3, type: \"SID\" },\n { name: \"weight\", op: 4, type: \"SID\" },\n { name: \"isFixedPitch\", op: 1201, type: \"number\", value: 0 },\n { name: \"italicAngle\", op: 1202, type: \"number\", value: 0 },\n { name: \"underlinePosition\", op: 1203, type: \"number\", value: -100 },\n { name: \"underlineThickness\", op: 1204, type: \"number\", value: 50 },\n { name: \"paintType\", op: 1205, type: \"number\", value: 0 },\n { name: \"charstringType\", op: 1206, type: \"number\", value: 2 },\n {\n name: \"fontMatrix\",\n op: 1207,\n type: [\"real\", \"real\", \"real\", \"real\", \"real\", \"real\"],\n value: [1e-3, 0, 0, 1e-3, 0, 0]\n },\n { name: \"uniqueId\", op: 13, type: \"number\" },\n { name: \"fontBBox\", op: 5, type: [\"number\", \"number\", \"number\", \"number\"], value: [0, 0, 0, 0] },\n { name: \"strokeWidth\", op: 1208, type: \"number\", value: 0 },\n { name: \"xuid\", op: 14, type: [], value: null },\n { name: \"charset\", op: 15, type: \"offset\", value: 0 },\n { name: \"encoding\", op: 16, type: \"offset\", value: 0 },\n { name: \"charStrings\", op: 17, type: \"offset\", value: 0 },\n { name: \"private\", op: 18, type: [\"number\", \"offset\"], value: [0, 0] },\n { name: \"ros\", op: 1230, type: [\"SID\", \"SID\", \"number\"] },\n { name: \"cidFontVersion\", op: 1231, type: \"number\", value: 0 },\n { name: \"cidFontRevision\", op: 1232, type: \"number\", value: 0 },\n { name: \"cidFontType\", op: 1233, type: \"number\", value: 0 },\n { name: \"cidCount\", op: 1234, type: \"number\", value: 8720 },\n { name: \"uidBase\", op: 1235, type: \"number\" },\n { name: \"fdArray\", op: 1236, type: \"offset\" },\n { name: \"fdSelect\", op: 1237, type: \"offset\" },\n { name: \"fontName\", op: 1238, type: \"SID\" }\n];\nvar TOP_DICT_META_CFF2 = [\n {\n name: \"fontMatrix\",\n op: 1207,\n type: [\"real\", \"real\", \"real\", \"real\", \"real\", \"real\"],\n value: [1e-3, 0, 0, 1e-3, 0, 0]\n },\n { name: \"charStrings\", op: 17, type: \"offset\" },\n { name: \"fdArray\", op: 1236, type: \"offset\" },\n { name: \"fdSelect\", op: 1237, type: \"offset\" },\n { name: \"vstore\", op: 24, type: \"offset\" }\n];\nvar PRIVATE_DICT_META = [\n { name: \"subrs\", op: 19, type: \"offset\", value: 0 },\n { name: \"defaultWidthX\", op: 20, type: \"number\", value: 0 },\n { name: \"nominalWidthX\", op: 21, type: \"number\", value: 0 }\n];\nvar PRIVATE_DICT_META_CFF2 = [\n { name: \"blueValues\", op: 6, type: \"delta\" },\n { name: \"otherBlues\", op: 7, type: \"delta\" },\n { name: \"familyBlues\", op: 7, type: \"delta\" },\n { name: \"familyBlues\", op: 8, type: \"delta\" },\n { name: \"familyOtherBlues\", op: 9, type: \"delta\" },\n { name: \"blueScale\", op: 1209, type: \"number\", value: 0.039625 },\n { name: \"blueShift\", op: 1210, type: \"number\", value: 7 },\n { name: \"blueFuzz\", op: 1211, type: \"number\", value: 1 },\n { name: \"stdHW\", op: 10, type: \"number\" },\n { name: \"stdVW\", op: 11, type: \"number\" },\n { name: \"stemSnapH\", op: 1212, type: \"number\" },\n { name: \"stemSnapV\", op: 1213, type: \"number\" },\n { name: \"languageGroup\", op: 1217, type: \"number\", value: 0 },\n { name: \"expansionFactor\", op: 1218, type: \"number\", value: 0.06 },\n { name: \"vsindex\", op: 22, type: \"number\", value: 0 },\n { name: \"subrs\", op: 19, type: \"offset\" }\n];\nvar FONT_DICT_META = [\n { name: \"private\", op: 18, type: [\"number\", \"offset\"], value: [0, 0] }\n];\nfunction parseCFFTopDict(data, start, strings, version) {\n const dict = parseCFFDict(data, start, data.byteLength, version);\n return interpretDict(dict, version > 1 ? TOP_DICT_META_CFF2 : TOP_DICT_META, strings);\n}\nfunction parseCFFPrivateDict(data, start, size, strings, version) {\n const dict = parseCFFDict(data, start, size, version);\n return interpretDict(dict, version > 1 ? PRIVATE_DICT_META_CFF2 : PRIVATE_DICT_META, strings);\n}\nfunction parseFontDict(data, start, version) {\n const dict = parseCFFDict(data, start, void 0, version);\n return interpretDict(dict, FONT_DICT_META);\n}\nfunction gatherCFF2FontDicts(data, start, fdArray) {\n const fontDictArray = [];\n for (let i = 0; i < fdArray.length; i++) {\n const fontDictData = new DataView(new Uint8Array(fdArray[i]).buffer);\n const fontDict = parseFontDict(fontDictData, 0, 2);\n const privateSize = fontDict.private[0];\n const privateOffset = fontDict.private[1];\n if (privateSize !== 0 && privateOffset !== 0) {\n const privateDict = parseCFFPrivateDict(data, privateOffset + start, privateSize, [], 2);\n if (privateDict.subrs) {\n const subrOffset = privateOffset + privateDict.subrs;\n const subrIndex = parseCFFIndex(data, subrOffset + start, void 0, 2);\n fontDict._subrs = subrIndex.objects;\n fontDict._subrsBias = calcCFFSubroutineBias(fontDict._subrs);\n }\n fontDict._privateDict = privateDict;\n }\n fontDictArray.push(fontDict);\n }\n return fontDictArray;\n}\nfunction gatherCFFTopDicts(data, start, cffIndex, strings, version) {\n const topDictArray = [];\n for (let iTopDict = 0; iTopDict < cffIndex.length; iTopDict += 1) {\n const topDictData = new DataView(new Uint8Array(cffIndex[iTopDict]).buffer);\n const topDict = parseCFFTopDict(topDictData, 0, strings, version);\n topDict._subrs = [];\n topDict._subrsBias = 0;\n topDict._defaultWidthX = 0;\n topDict._nominalWidthX = 0;\n const privateSize = version < 2 ? topDict.private[0] : 0;\n const privateOffset = version < 2 ? topDict.private[1] : 0;\n if (privateSize !== 0 && privateOffset !== 0) {\n const privateDict = parseCFFPrivateDict(data, privateOffset + start, privateSize, strings, version);\n topDict._defaultWidthX = privateDict.defaultWidthX;\n topDict._nominalWidthX = privateDict.nominalWidthX;\n if (privateDict.subrs !== 0) {\n const subrOffset = privateOffset + privateDict.subrs;\n const subrIndex = parseCFFIndex(data, subrOffset + start, void 0, version);\n topDict._subrs = subrIndex.objects;\n topDict._subrsBias = calcCFFSubroutineBias(topDict._subrs);\n }\n topDict._privateDict = privateDict;\n }\n topDictArray.push(topDict);\n }\n return topDictArray;\n}\nfunction parseCFFCharset(data, start, nGlyphs, strings, isCIDFont) {\n let sid;\n let count;\n const parser = new parse_default.Parser(data, start);\n nGlyphs -= 1;\n const charset = [\".notdef\"];\n const format = parser.parseCard8();\n if (format === 0) {\n for (let i = 0; i < nGlyphs; i += 1) {\n sid = parser.parseSID();\n if (isCIDFont) {\n charset.push(sid);\n } else {\n charset.push(getCFFString(strings, sid) || sid);\n }\n }\n } else if (format === 1) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard8();\n for (let i = 0; i <= count; i += 1) {\n if (isCIDFont) {\n charset.push(\"cid\" + (\"00000\" + sid).slice(-5));\n } else {\n charset.push(getCFFString(strings, sid) || sid);\n }\n sid += 1;\n }\n }\n } else if (format === 2) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard16();\n for (let i = 0; i <= count; i += 1) {\n if (isCIDFont) {\n charset.push(\"cid\" + (\"00000\" + sid).slice(-5));\n } else {\n charset.push(getCFFString(strings, sid) || sid);\n }\n sid += 1;\n }\n }\n } else {\n throw new Error(\"Unknown charset format \" + format);\n }\n return charset;\n}\nfunction parseCFFEncoding(data, start) {\n let code;\n const encoding = {};\n const parser = new parse_default.Parser(data, start);\n const format = parser.parseCard8();\n if (format === 0) {\n const nCodes = parser.parseCard8();\n for (let i = 0; i < nCodes; i += 1) {\n code = parser.parseCard8();\n encoding[code] = i;\n }\n } else if (format === 1) {\n const nRanges = parser.parseCard8();\n code = 1;\n for (let i = 0; i < nRanges; i += 1) {\n const first = parser.parseCard8();\n const nLeft = parser.parseCard8();\n for (let j = first; j <= first + nLeft; j += 1) {\n encoding[j] = code;\n code += 1;\n }\n }\n } else {\n throw new Error(\"Unknown encoding format \" + format);\n }\n return encoding;\n}\nfunction parseBlend(operands) {\n let numberOfBlends = operands.pop();\n while (operands.length > numberOfBlends) {\n operands.pop();\n }\n}\nfunction applyPaintType(font, path) {\n const paintType = font.tables.cff && font.tables.cff.topDict && font.tables.cff.topDict.paintType || 0;\n if (paintType === 2) {\n path.fill = null;\n path.stroke = \"black\";\n path.strokeWidth = font.tables.cff.topDict.strokeWidth || 0;\n }\n return paintType;\n}\nfunction parseCFFCharstring(font, glyph, code, version, coords) {\n let c1x;\n let c1y;\n let c2x;\n let c2y;\n const p = new path_default();\n const stack = [];\n let nStems = 0;\n let haveWidth = false;\n let open = false;\n let x = 0;\n let y = 0;\n let subrs;\n let subrsBias;\n let defaultWidthX;\n let nominalWidthX;\n let vsindex = 0;\n let vstore = [];\n let blendVector;\n let callDepth = 0;\n const cffTable = font.tables.cff2 || font.tables.cff;\n defaultWidthX = cffTable.topDict._defaultWidthX;\n nominalWidthX = cffTable.topDict._nominalWidthX;\n coords = coords || font.variation && font.variation.get();\n if (!glyph.getBlendPath) {\n glyph.getBlendPath = function(variationCoords) {\n return parseCFFCharstring(font, glyph, code, version, variationCoords);\n };\n }\n if (font.isCIDFont || version > 1) {\n const fdIndex = cffTable.topDict._fdSelect ? cffTable.topDict._fdSelect[glyph.index] : 0;\n const fdDict = cffTable.topDict._fdArray[fdIndex];\n subrs = fdDict._subrs;\n subrsBias = fdDict._subrsBias;\n if (version > 1) {\n vstore = cffTable.topDict._vstore.itemVariationStore;\n vsindex = fdDict._privateDict.vsindex;\n } else {\n defaultWidthX = fdDict._defaultWidthX;\n nominalWidthX = fdDict._nominalWidthX;\n }\n } else {\n subrs = cffTable.topDict._subrs;\n subrsBias = cffTable.topDict._subrsBias;\n }\n const paintType = applyPaintType(font, p);\n let width = defaultWidthX;\n function newContour(x2, y2) {\n if (open && paintType !== 2) {\n p.closePath();\n }\n p.moveTo(x2, y2);\n open = true;\n }\n function parseStems() {\n let hasWidthArg;\n hasWidthArg = (stack.length & 1) !== 0;\n if (hasWidthArg && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n }\n nStems += stack.length >> 1;\n stack.length = 0;\n haveWidth = true;\n }\n function parse(code2) {\n let b1;\n let b2;\n let b3;\n let b4;\n let codeIndex;\n let subrCode;\n let jpx;\n let jpy;\n let c3x;\n let c3y;\n let c4x;\n let c4y;\n let i = 0;\n while (i < code2.length) {\n let v = code2[i];\n i += 1;\n switch (v) {\n case 1:\n parseStems();\n break;\n case 3:\n parseStems();\n break;\n case 4:\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n y += stack.pop();\n newContour(x, y);\n break;\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n break;\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n y += stack.shift();\n p.lineTo(x, y);\n }\n break;\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n x += stack.shift();\n p.lineTo(x, y);\n }\n break;\n case 8:\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 10:\n codeIndex = stack.pop() + subrsBias;\n subrCode = subrs[codeIndex];\n if (subrCode) {\n if (callDepth >= MAX_CALL_DEPTH) {\n console.warn(\"CFF charstring subroutine call depth exceeded, skipping callsubr\");\n break;\n }\n callDepth++;\n parse(subrCode);\n callDepth--;\n }\n break;\n case 11:\n if (version > 1) {\n console.error(\"CFF CharString operator return (11) is not supported in CFF2\");\n break;\n }\n return;\n case 12:\n v = code2[i];\n i += 1;\n switch (v) {\n case 35:\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y + stack.shift();\n c3x = jpx + stack.shift();\n c3y = jpy + stack.shift();\n c4x = c3x + stack.shift();\n c4y = c3y + stack.shift();\n x = c4x + stack.shift();\n y = c4y + stack.shift();\n stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 34:\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y;\n c3x = jpx + stack.shift();\n c3y = c2y;\n c4x = c3x + stack.shift();\n c4y = y;\n x = c4x + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 36:\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y;\n c3x = jpx + stack.shift();\n c3y = c2y;\n c4x = c3x + stack.shift();\n c4y = c3y + stack.shift();\n x = c4x + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 37:\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n jpx = c2x + stack.shift();\n jpy = c2y + stack.shift();\n c3x = jpx + stack.shift();\n c3y = jpy + stack.shift();\n c4x = c3x + stack.shift();\n c4y = c3y + stack.shift();\n if (Math.abs(c4x - x) > Math.abs(c4y - y)) {\n x = c4x + stack.shift();\n } else {\n y = c4y + stack.shift();\n }\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n default:\n console.log(\"Glyph \" + glyph.index + \": unknown operator 1200\" + v);\n stack.length = 0;\n }\n break;\n case 14:\n if (version > 1) {\n console.error(\"CFF CharString operator endchar (14) is not supported in CFF2\");\n break;\n }\n if (stack.length >= 4) {\n const acharName = cffStandardEncoding[stack.pop()];\n const bcharName = cffStandardEncoding[stack.pop()];\n const ady = stack.pop();\n const adx = stack.pop();\n if (acharName && bcharName) {\n glyph.isComposite = true;\n glyph.components = [];\n const acharGlyphIndex = font.cffEncoding.charset.indexOf(acharName);\n const bcharGlyphIndex = font.cffEncoding.charset.indexOf(bcharName);\n glyph.components.push({\n glyphIndex: bcharGlyphIndex,\n dx: 0,\n dy: 0\n });\n glyph.components.push({\n glyphIndex: acharGlyphIndex,\n dx: adx,\n dy: ady\n });\n p.extend(font.glyphs.get(bcharGlyphIndex).path);\n const acharGlyph = font.glyphs.get(acharGlyphIndex);\n const shiftedCommands = JSON.parse(JSON.stringify(acharGlyph.path.commands));\n for (let i2 = 0; i2 < shiftedCommands.length; i2 += 1) {\n const cmd = shiftedCommands[i2];\n if (cmd.type !== \"Z\") {\n cmd.x += adx;\n cmd.y += ady;\n }\n if (cmd.type === \"Q\" || cmd.type === \"C\") {\n cmd.x1 += adx;\n cmd.y1 += ady;\n }\n if (cmd.type === \"C\") {\n cmd.x2 += adx;\n cmd.y2 += ady;\n }\n }\n p.extend(shiftedCommands);\n }\n } else if (stack.length > 0 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n if (open && paintType !== 2) {\n p.closePath();\n open = false;\n }\n break;\n case 15:\n if (version < 2) {\n console.error(\"CFF2 CharString operator vsindex (15) is not supported in CFF\");\n break;\n }\n vsindex = stack.pop();\n break;\n case 16:\n if (version < 2) {\n console.error(\"CFF2 CharString operator blend (16) is not supported in CFF\");\n break;\n }\n if (!blendVector) {\n blendVector = font.variation && coords && font.variation.process.getBlendVector(vstore, vsindex, coords);\n }\n var n = stack.pop();\n var axisCount = blendVector ? blendVector.length : vstore.itemVariationSubtables[vsindex].regionIndexes.length;\n var deltaSetCount = n * axisCount;\n var delta = stack.length - deltaSetCount;\n var deltaSetIndex = delta - n;\n if (blendVector) {\n for (let i2 = 0; i2 < n; i2++) {\n var sum = stack[deltaSetIndex + i2];\n for (let j = 0; j < axisCount; j++) {\n sum += blendVector[j] * stack[delta++];\n }\n stack[deltaSetIndex + i2] = sum;\n }\n }\n while (deltaSetCount--) {\n stack.pop();\n }\n break;\n case 18:\n parseStems();\n break;\n case 19:\n // hintmask\n case 20:\n parseStems();\n i += nStems + 7 >> 3;\n break;\n case 21:\n if (stack.length > 2 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n y += stack.pop();\n x += stack.pop();\n newContour(x, y);\n break;\n case 22:\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n x += stack.pop();\n newContour(x, y);\n break;\n case 23:\n parseStems();\n break;\n case 24:\n while (stack.length > 2) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n break;\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n break;\n case 26:\n if (stack.length & 1) {\n x += stack.shift();\n }\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x;\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 27:\n if (stack.length & 1) {\n y += stack.shift();\n }\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y;\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 28:\n b1 = code2[i];\n b2 = code2[i + 1];\n stack.push((b1 << 24 | b2 << 16) >> 16);\n i += 2;\n break;\n case 29:\n codeIndex = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[codeIndex];\n if (subrCode) {\n if (callDepth >= MAX_CALL_DEPTH) {\n console.warn(\"CFF charstring subroutine call depth exceeded, skipping callgsubr\");\n break;\n }\n callDepth++;\n parse(subrCode);\n callDepth--;\n }\n break;\n case 30:\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n case 31:\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n break;\n default:\n if (v < 32) {\n console.log(\"Glyph \" + glyph.index + \": unknown operator \" + v);\n } else if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n b1 = code2[i];\n i += 1;\n stack.push((v - 247) * 256 + b1 + 108);\n } else if (v < 255) {\n b1 = code2[i];\n i += 1;\n stack.push(-(v - 251) * 256 - b1 - 108);\n } else {\n b1 = code2[i];\n b2 = code2[i + 1];\n b3 = code2[i + 2];\n b4 = code2[i + 3];\n i += 4;\n stack.push((b1 << 24 | b2 << 16 | b3 << 8 | b4) / 65536);\n }\n }\n }\n }\n parse(code);\n if (font.variation && coords) {\n p.commands = p.commands.map((c) => {\n const keys = Object.keys(c);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key === \"type\") continue;\n c[key] = Math.round(c[key]);\n }\n return c;\n });\n }\n if (haveWidth) {\n glyph.advanceWidth = width;\n }\n return p;\n}\nfunction parseCFFFDSelect(data, start, nGlyphs, fdArrayCount, version) {\n const fdSelect = [];\n let fdIndex;\n const parser = new parse_default.Parser(data, start);\n const format = parser.parseCard8();\n if (format === 0) {\n for (let iGid = 0; iGid < nGlyphs; iGid++) {\n fdIndex = parser.parseCard8();\n if (fdIndex >= fdArrayCount) {\n throw new Error(\"CFF table CID Font FDSelect has bad FD index value \" + fdIndex + \" (FD count \" + fdArrayCount + \")\");\n }\n fdSelect.push(fdIndex);\n }\n } else if (format === 3 || version > 1 && format === 4) {\n const nRanges = format === 4 ? parser.parseULong() : parser.parseCard16();\n let first = format === 4 ? parser.parseULong() : parser.parseCard16();\n if (first !== 0) {\n throw new Error(`CFF Table CID Font FDSelect format ${format} range has bad initial GID ${first}`);\n }\n let next;\n for (let iRange = 0; iRange < nRanges; iRange++) {\n fdIndex = format === 4 ? parser.parseUShort() : parser.parseCard8();\n next = format === 4 ? parser.parseULong() : parser.parseCard16();\n if (fdIndex >= fdArrayCount) {\n throw new Error(\"CFF table CID Font FDSelect has bad FD index value \" + fdIndex + \" (FD count \" + fdArrayCount + \")\");\n }\n if (next > nGlyphs) {\n throw new Error(`CFF Table CID Font FDSelect format ${version} range has bad GID ${next}`);\n }\n for (; first < next; first++) {\n fdSelect.push(fdIndex);\n }\n first = next;\n }\n if (next !== nGlyphs) {\n throw new Error(\"CFF Table CID Font FDSelect format 3 range has bad final (Sentinal) GID \" + next);\n }\n } else {\n throw new Error(\"CFF Table CID Font FDSelect table has unsupported format \" + format);\n }\n return fdSelect;\n}\nfunction parseCFFTable(data, start, font, opt) {\n let resultTable;\n const header = parseCFFHeader(data, start);\n if (header.formatMajor === 2) {\n resultTable = font.tables.cff2 = {};\n } else {\n resultTable = font.tables.cff = {};\n }\n const nameIndex = header.formatMajor > 1 ? null : parseCFFIndex(data, header.endOffset, parse_default.bytesToString);\n const topDictIndex = header.formatMajor > 1 ? null : parseCFFIndex(data, nameIndex.endOffset);\n const stringIndex = header.formatMajor > 1 ? null : parseCFFIndex(data, topDictIndex.endOffset, parse_default.bytesToString);\n const globalSubrIndex = parseCFFIndex(data, header.formatMajor > 1 ? start + header.size + header.topDictLength : stringIndex.endOffset, void 0, header.formatMajor);\n font.gsubrs = globalSubrIndex.objects;\n font.gsubrsBias = calcCFFSubroutineBias(font.gsubrs);\n let topDict;\n if (header.formatMajor > 1) {\n const topDictOffset = start + header.size;\n const topDictData = parse_default.getBytes(data, topDictOffset, topDictOffset + header.topDictLength);\n topDict = gatherCFFTopDicts(data, 0, [topDictData], void 0, header.formatMajor)[0];\n } else {\n const topDictArray = gatherCFFTopDicts(data, start, topDictIndex.objects, stringIndex.objects, header.formatMajor);\n if (topDictArray.length !== 1) {\n throw new Error(\"CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = \" + topDictArray.length);\n }\n topDict = topDictArray[0];\n }\n resultTable.topDict = topDict;\n if (topDict._privateDict) {\n font.defaultWidthX = topDict._privateDict.defaultWidthX;\n font.nominalWidthX = topDict._privateDict.nominalWidthX;\n }\n if (header.formatMajor < 2 && topDict.ros[0] !== void 0 && topDict.ros[1] !== void 0) {\n font.isCIDFont = true;\n }\n if (header.formatMajor > 1) {\n let fdArrayIndexOffset = topDict.fdArray;\n let fdSelectOffset = topDict.fdSelect;\n if (!fdArrayIndexOffset) {\n throw new Error(\"This is a CFF2 font, but FDArray information is missing\");\n }\n const fdArrayIndex = parseCFFIndex(data, start + fdArrayIndexOffset, null, header.formatMajor);\n const fdArray = gatherCFF2FontDicts(data, start, fdArrayIndex.objects);\n topDict._fdArray = fdArray;\n if (fdSelectOffset) {\n topDict._fdSelect = parseCFFFDSelect(data, start + fdSelectOffset, font.numGlyphs, fdArray.length, header.formatMajor);\n }\n } else if (font.isCIDFont) {\n let fdArrayOffset = topDict.fdArray;\n let fdSelectOffset = topDict.fdSelect;\n if (fdArrayOffset === 0 || fdSelectOffset === 0) {\n throw new Error(\"Font is marked as a CID font, but FDArray and/or FDSelect information is missing\");\n }\n fdArrayOffset += start;\n const fdArrayIndex = parseCFFIndex(data, fdArrayOffset);\n const fdArray = gatherCFFTopDicts(data, start, fdArrayIndex.objects, stringIndex.objects, header.formatMajor);\n topDict._fdArray = fdArray;\n fdSelectOffset += start;\n topDict._fdSelect = parseCFFFDSelect(data, fdSelectOffset, font.numGlyphs, fdArray.length, header.formatMajor);\n }\n if (header.formatMajor < 2) {\n const privateDictOffset = start + topDict.private[1];\n const privateDict = parseCFFPrivateDict(data, privateDictOffset, topDict.private[0], stringIndex.objects, header.formatMajor);\n font.defaultWidthX = privateDict.defaultWidthX;\n font.nominalWidthX = privateDict.nominalWidthX;\n if (privateDict.subrs !== 0) {\n const subrOffset = privateDictOffset + privateDict.subrs;\n const subrIndex = parseCFFIndex(data, subrOffset);\n font.subrs = subrIndex.objects;\n font.subrsBias = calcCFFSubroutineBias(font.subrs);\n } else {\n font.subrs = [];\n font.subrsBias = 0;\n }\n }\n let charStringsIndex;\n if (opt.lowMemory) {\n charStringsIndex = parseCFFIndexLowMemory(data, start + topDict.charStrings, header.formatMajor);\n font.nGlyphs = charStringsIndex.offsets.length - (header.formatMajor > 1 ? 1 : 0);\n } else {\n charStringsIndex = parseCFFIndex(data, start + topDict.charStrings, null, header.formatMajor);\n font.nGlyphs = charStringsIndex.objects.length;\n }\n if (header.formatMajor > 1 && font.tables.maxp && font.nGlyphs !== font.tables.maxp.numGlyphs) {\n console.error(`Glyph count in the CFF2 table (${font.nGlyphs}) must correspond to the glyph count in the maxp table (${font.tables.maxp.numGlyphs})`);\n }\n if (header.formatMajor < 2) {\n let charset = [];\n let encoding = [];\n if (topDict.charset === 0) {\n charset = cffISOAdobeStrings;\n } else if (topDict.charset === 1) {\n charset = cffIExpertStrings;\n } else if (topDict.charset === 2) {\n charset = cffExpertSubsetStrings;\n } else {\n charset = parseCFFCharset(data, start + topDict.charset, font.nGlyphs, stringIndex.objects, font.isCIDFont);\n }\n if (topDict.encoding === 0) {\n encoding = cffStandardEncoding;\n } else if (topDict.encoding === 1) {\n encoding = cffExpertEncoding;\n } else {\n encoding = parseCFFEncoding(data, start + topDict.encoding);\n }\n font.cffEncoding = new CffEncoding(encoding, charset);\n font.encoding = font.encoding || font.cffEncoding;\n }\n font.glyphs = new glyphset_default.GlyphSet(font);\n if (opt.lowMemory) {\n font._push = function(i) {\n const charString = getCffIndexObject(i, charStringsIndex.offsets, data, start + topDict.charStrings, void 0, header.formatMajor);\n font.glyphs.push(i, glyphset_default.cffGlyphLoader(font, i, parseCFFCharstring, charString, header.formatMajor));\n };\n } else {\n for (let i = 0; i < font.nGlyphs; i += 1) {\n const charString = charStringsIndex.objects[i];\n font.glyphs.push(i, glyphset_default.cffGlyphLoader(font, i, parseCFFCharstring, charString, header.formatMajor));\n }\n }\n if (topDict.vstore) {\n const p = new parse_default.Parser(data, start + topDict.vstore);\n topDict._vstore = p.parseVariationStore();\n }\n}\nfunction encodeString(s, strings) {\n let sid;\n let i = cffStandardStrings.indexOf(s);\n if (i >= 0) {\n sid = i;\n }\n i = strings.indexOf(s);\n if (i >= 0) {\n sid = i + cffStandardStrings.length;\n } else {\n sid = cffStandardStrings.length + strings.length;\n strings.push(s);\n }\n return sid;\n}\nfunction makeHeader() {\n return new table_default.Record(\"Header\", [\n { name: \"major\", type: \"Card8\", value: 1 },\n { name: \"minor\", type: \"Card8\", value: 0 },\n { name: \"hdrSize\", type: \"Card8\", value: 4 },\n { name: \"major\", type: \"Card8\", value: 1 }\n ]);\n}\nfunction makeNameIndex(fontNames) {\n const t = new table_default.Record(\"Name INDEX\", [\n { name: \"names\", type: \"INDEX\", value: [] }\n ]);\n t.names = [];\n for (let i = 0; i < fontNames.length; i += 1) {\n t.names.push({ name: \"name_\" + i, type: \"NAME\", value: fontNames[i] });\n }\n return t;\n}\nfunction makeDict(meta, attrs, strings) {\n const m = {};\n for (let i = 0; i < meta.length; i += 1) {\n const entry = meta[i];\n let value = attrs[entry.name];\n if (value !== void 0 && !equals(value, entry.value)) {\n if (entry.type === \"SID\") {\n value = encodeString(value, strings);\n }\n m[entry.op] = { name: entry.name, type: entry.type, value };\n }\n }\n return m;\n}\nfunction makeTopDict(attrs, strings, version) {\n const t = new table_default.Record(\"Top DICT\", [\n { name: \"dict\", type: \"DICT\", value: {} }\n ]);\n t.dict = makeDict(version > 1 ? TOP_DICT_META_CFF2 : TOP_DICT_META, attrs, strings);\n return t;\n}\nfunction makeTopDictIndex(topDict) {\n const t = new table_default.Record(\"Top DICT INDEX\", [\n { name: \"topDicts\", type: \"INDEX\", value: [] }\n ]);\n t.topDicts = [{ name: \"topDict_0\", type: \"TABLE\", value: topDict }];\n return t;\n}\nfunction makeStringIndex(strings) {\n const t = new table_default.Record(\"String INDEX\", [\n { name: \"strings\", type: \"INDEX\", value: [] }\n ]);\n t.strings = [];\n for (let i = 0; i < strings.length; i += 1) {\n t.strings.push({ name: \"string_\" + i, type: \"STRING\", value: strings[i] });\n }\n return t;\n}\nfunction makeGlobalSubrIndex() {\n return new table_default.Record(\"Global Subr INDEX\", [\n { name: \"subrs\", type: \"INDEX\", value: [] }\n ]);\n}\nfunction makeCharsets(glyphNames, strings) {\n const t = new table_default.Record(\"Charsets\", [\n { name: \"format\", type: \"Card8\", value: 0 }\n ]);\n for (let i = 0; i < glyphNames.length; i += 1) {\n const glyphName = glyphNames[i];\n const glyphSID = encodeString(glyphName, strings);\n t.fields.push({ name: \"glyph_\" + i, type: \"SID\", value: glyphSID });\n }\n return t;\n}\nfunction glyphToOps(glyph, version) {\n const ops = [];\n const path = glyph.path;\n if (version < 2) {\n ops.push({ name: \"width\", type: \"NUMBER\", value: glyph.advanceWidth });\n }\n let x = 0;\n let y = 0;\n for (let i = 0; i < path.commands.length; i += 1) {\n let dx;\n let dy;\n let cmd = path.commands[i];\n if (cmd.type === \"Q\") {\n const _13 = 1 / 3;\n const _23 = 2 / 3;\n cmd = {\n type: \"C\",\n x: cmd.x,\n y: cmd.y,\n x1: Math.round(_13 * x + _23 * cmd.x1),\n y1: Math.round(_13 * y + _23 * cmd.y1),\n x2: Math.round(_13 * cmd.x + _23 * cmd.x1),\n y2: Math.round(_13 * cmd.y + _23 * cmd.y1)\n };\n }\n if (cmd.type === \"M\") {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({ name: \"dx\", type: \"NUMBER\", value: dx });\n ops.push({ name: \"dy\", type: \"NUMBER\", value: dy });\n ops.push({ name: \"rmoveto\", type: \"OP\", value: 21 });\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === \"L\") {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({ name: \"dx\", type: \"NUMBER\", value: dx });\n ops.push({ name: \"dy\", type: \"NUMBER\", value: dy });\n ops.push({ name: \"rlineto\", type: \"OP\", value: 5 });\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === \"C\") {\n const dx1 = Math.round(cmd.x1 - x);\n const dy1 = Math.round(cmd.y1 - y);\n const dx2 = Math.round(cmd.x2 - cmd.x1);\n const dy2 = Math.round(cmd.y2 - cmd.y1);\n dx = Math.round(cmd.x - cmd.x2);\n dy = Math.round(cmd.y - cmd.y2);\n ops.push({ name: \"dx1\", type: \"NUMBER\", value: dx1 });\n ops.push({ name: \"dy1\", type: \"NUMBER\", value: dy1 });\n ops.push({ name: \"dx2\", type: \"NUMBER\", value: dx2 });\n ops.push({ name: \"dy2\", type: \"NUMBER\", value: dy2 });\n ops.push({ name: \"dx\", type: \"NUMBER\", value: dx });\n ops.push({ name: \"dy\", type: \"NUMBER\", value: dy });\n ops.push({ name: \"rrcurveto\", type: \"OP\", value: 8 });\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n }\n }\n if (version < 2) {\n ops.push({ name: \"endchar\", type: \"OP\", value: 14 });\n }\n return ops;\n}\nfunction makeCharStringsIndex(glyphs, version) {\n const t = new table_default.Record(\"CharStrings INDEX\", [\n { name: \"charStrings\", type: \"INDEX\", value: [] }\n ]);\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n const ops = glyphToOps(glyph, version);\n t.charStrings.push({ name: glyph.name, type: \"CHARSTRING\", value: ops });\n }\n return t;\n}\nfunction makePrivateDict(attrs, strings, version) {\n const t = new table_default.Record(\"Private DICT\", [\n { name: \"dict\", type: \"DICT\", value: {} }\n ]);\n t.dict = makeDict(version > 1 ? PRIVATE_DICT_META_CFF2 : PRIVATE_DICT_META, attrs, strings);\n return t;\n}\nfunction makeCFFTable(glyphs, options) {\n const cffVersion = 1;\n const t = new table_default.Table(\"CFF \", [\n { name: \"header\", type: \"RECORD\" },\n { name: \"nameIndex\", type: \"RECORD\" },\n { name: \"topDictIndex\", type: \"RECORD\" },\n { name: \"stringIndex\", type: \"RECORD\" },\n { name: \"globalSubrIndex\", type: \"RECORD\" },\n { name: \"charsets\", type: \"RECORD\" },\n { name: \"charStringsIndex\", type: \"RECORD\" },\n { name: \"privateDict\", type: \"RECORD\" }\n ]);\n const fontScale = 1 / options.unitsPerEm;\n const attrs = {\n version: options.version,\n fullName: options.fullName,\n familyName: options.familyName,\n weight: options.weightName,\n fontBBox: options.fontBBox || [0, 0, 0, 0],\n fontMatrix: [fontScale, 0, 0, fontScale, 0, 0],\n charset: 999,\n encoding: 0,\n charStrings: 999,\n private: [0, 999]\n };\n const topDictOptions = options && options.topDict || {};\n if (cffVersion < 2 && topDictOptions.paintType) {\n attrs.paintType = topDictOptions.paintType;\n attrs.strokeWidth = topDictOptions.strokeWidth || 0;\n }\n const privateAttrs = {};\n const glyphNames = [];\n let glyph;\n for (let i = 1; i < glyphs.length; i += 1) {\n glyph = glyphs.get(i);\n glyphNames.push(glyph.name);\n }\n const strings = [];\n t.header = makeHeader();\n t.nameIndex = makeNameIndex([options.postScriptName]);\n let topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n t.globalSubrIndex = makeGlobalSubrIndex();\n t.charsets = makeCharsets(glyphNames, strings);\n t.charStringsIndex = makeCharStringsIndex(glyphs, cffVersion);\n t.privateDict = makePrivateDict(privateAttrs, strings);\n t.stringIndex = makeStringIndex(strings);\n const startOffset = t.header.sizeOf() + t.nameIndex.sizeOf() + t.topDictIndex.sizeOf() + t.stringIndex.sizeOf() + t.globalSubrIndex.sizeOf();\n attrs.charset = startOffset;\n attrs.encoding = 0;\n attrs.charStrings = attrs.charset + t.charsets.sizeOf();\n attrs.private[1] = attrs.charStrings + t.charStringsIndex.sizeOf();\n topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n return t;\n}\nvar cff_default = { parse: parseCFFTable, make: makeCFFTable };\n\n// src/tables/head.mjs\nfunction parseHeadTable(data, start) {\n const head = {};\n const p = new parse_default.Parser(data, start);\n head.version = p.parseVersion();\n head.fontRevision = Math.round(p.parseFixed() * 1e3) / 1e3;\n head.checkSumAdjustment = p.parseULong();\n head.magicNumber = p.parseULong();\n check_default.argument(head.magicNumber === 1594834165, \"Font header has wrong magic number.\");\n head.flags = p.parseUShort();\n head.unitsPerEm = p.parseUShort();\n head.created = p.parseLongDateTime();\n head.modified = p.parseLongDateTime();\n head.xMin = p.parseShort();\n head.yMin = p.parseShort();\n head.xMax = p.parseShort();\n head.yMax = p.parseShort();\n head.macStyle = p.parseUShort();\n head.lowestRecPPEM = p.parseUShort();\n head.fontDirectionHint = p.parseShort();\n head.indexToLocFormat = p.parseShort();\n head.glyphDataFormat = p.parseShort();\n return head;\n}\nfunction makeHeadTable(options) {\n const timestamp = Math.round((/* @__PURE__ */ new Date()).getTime() / 1e3) + 2082844800;\n let createdTimestamp = timestamp;\n let macStyle = options.macStyle || 0;\n if (options.createdTimestamp) {\n createdTimestamp = options.createdTimestamp + 2082844800;\n }\n return new table_default.Table(\"head\", [\n { name: \"version\", type: \"FIXED\", value: 65536 },\n { name: \"fontRevision\", type: \"FIXED\", value: 65536 },\n { name: \"checkSumAdjustment\", type: \"ULONG\", value: 0 },\n { name: \"magicNumber\", type: \"ULONG\", value: 1594834165 },\n { name: \"flags\", type: \"USHORT\", value: 0 },\n { name: \"unitsPerEm\", type: \"USHORT\", value: 1e3 },\n { name: \"created\", type: \"LONGDATETIME\", value: createdTimestamp },\n { name: \"modified\", type: \"LONGDATETIME\", value: timestamp },\n { name: \"xMin\", type: \"SHORT\", value: 0 },\n { name: \"yMin\", type: \"SHORT\", value: 0 },\n { name: \"xMax\", type: \"SHORT\", value: 0 },\n { name: \"yMax\", type: \"SHORT\", value: 0 },\n { name: \"macStyle\", type: \"USHORT\", value: macStyle },\n { name: \"lowestRecPPEM\", type: \"USHORT\", value: 0 },\n { name: \"fontDirectionHint\", type: \"SHORT\", value: 2 },\n { name: \"indexToLocFormat\", type: \"SHORT\", value: 0 },\n { name: \"glyphDataFormat\", type: \"SHORT\", value: 0 }\n ], options);\n}\nvar head_default = { parse: parseHeadTable, make: makeHeadTable };\n\n// src/tables/hhea.mjs\nfunction parseHheaTable(data, start) {\n const hhea = {};\n const p = new parse_default.Parser(data, start);\n hhea.version = p.parseVersion();\n hhea.ascender = p.parseShort();\n hhea.descender = p.parseShort();\n hhea.lineGap = p.parseShort();\n hhea.advanceWidthMax = p.parseUShort();\n hhea.minLeftSideBearing = p.parseShort();\n hhea.minRightSideBearing = p.parseShort();\n hhea.xMaxExtent = p.parseShort();\n hhea.caretSlopeRise = p.parseShort();\n hhea.caretSlopeRun = p.parseShort();\n hhea.caretOffset = p.parseShort();\n p.relativeOffset += 8;\n hhea.metricDataFormat = p.parseShort();\n hhea.numberOfHMetrics = p.parseUShort();\n return hhea;\n}\nfunction makeHheaTable(options) {\n return new table_default.Table(\"hhea\", [\n { name: \"version\", type: \"FIXED\", value: 65536 },\n { name: \"ascender\", type: \"FWORD\", value: 0 },\n { name: \"descender\", type: \"FWORD\", value: 0 },\n { name: \"lineGap\", type: \"FWORD\", value: 0 },\n { name: \"advanceWidthMax\", type: \"UFWORD\", value: 0 },\n { name: \"minLeftSideBearing\", type: \"FWORD\", value: 0 },\n { name: \"minRightSideBearing\", type: \"FWORD\", value: 0 },\n { name: \"xMaxExtent\", type: \"FWORD\", value: 0 },\n { name: \"caretSlopeRise\", type: \"SHORT\", value: 1 },\n { name: \"caretSlopeRun\", type: \"SHORT\", value: 0 },\n { name: \"caretOffset\", type: \"SHORT\", value: 0 },\n { name: \"reserved1\", type: \"SHORT\", value: 0 },\n { name: \"reserved2\", type: \"SHORT\", value: 0 },\n { name: \"reserved3\", type: \"SHORT\", value: 0 },\n { name: \"reserved4\", type: \"SHORT\", value: 0 },\n { name: \"metricDataFormat\", type: \"SHORT\", value: 0 },\n { name: \"numberOfHMetrics\", type: \"USHORT\", value: 0 }\n ], options);\n}\nvar hhea_default = { parse: parseHheaTable, make: makeHheaTable };\n\n// src/tables/hmtx.mjs\nfunction parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs) {\n let advanceWidth;\n let leftSideBearing;\n const p = new parse_default.Parser(data, start);\n for (let i = 0; i < numGlyphs; i += 1) {\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n const glyph = glyphs.get(i);\n glyph.advanceWidth = advanceWidth;\n glyph.leftSideBearing = leftSideBearing;\n }\n}\nfunction parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs) {\n font._hmtxTableData = {};\n let advanceWidth;\n let leftSideBearing;\n const p = new parse_default.Parser(data, start);\n for (let i = 0; i < numGlyphs; i += 1) {\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n font._hmtxTableData[i] = {\n advanceWidth,\n leftSideBearing\n };\n }\n}\nfunction parseHmtxTable(font, data, start, numMetrics, numGlyphs, glyphs, opt) {\n if (opt.lowMemory)\n parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs);\n else\n parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs);\n}\nfunction makeHmtxTable(glyphs) {\n const t = new table_default.Table(\"hmtx\", []);\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs.get(i);\n const advanceWidth = glyph.advanceWidth || 0;\n const leftSideBearing = glyph.leftSideBearing || 0;\n t.fields.push({ name: \"advanceWidth_\" + i, type: \"USHORT\", value: advanceWidth });\n t.fields.push({ name: \"leftSideBearing_\" + i, type: \"SHORT\", value: leftSideBearing });\n }\n return t;\n}\nvar hmtx_default = { parse: parseHmtxTable, make: makeHmtxTable };\n\n// src/tables/ltag.mjs\nfunction makeLtagTable(tags) {\n const result = new table_default.Table(\"ltag\", [\n { name: \"version\", type: \"ULONG\", value: 1 },\n { name: \"flags\", type: \"ULONG\", value: 0 },\n { name: \"numTags\", type: \"ULONG\", value: tags.length }\n ]);\n let stringPool = \"\";\n const stringPoolOffset = 12 + tags.length * 4;\n for (let i = 0; i < tags.length; ++i) {\n let pos = stringPool.indexOf(tags[i]);\n if (pos < 0) {\n pos = stringPool.length;\n stringPool += tags[i];\n }\n result.fields.push({ name: \"offset \" + i, type: \"USHORT\", value: stringPoolOffset + pos });\n result.fields.push({ name: \"length \" + i, type: \"USHORT\", value: tags[i].length });\n }\n result.fields.push({ name: \"stringPool\", type: \"CHARARRAY\", value: stringPool });\n return result;\n}\nfunction parseLtagTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseULong();\n check_default.argument(tableVersion === 1, \"Unsupported ltag table version.\");\n p.skip(\"uLong\", 1);\n const numTags = p.parseULong();\n const tags = [];\n for (let i = 0; i < numTags; i++) {\n let tag = \"\";\n const offset = start + p.parseUShort();\n const length = p.parseUShort();\n for (let j = offset; j < offset + length; ++j) {\n tag += String.fromCharCode(data.getInt8(j));\n }\n tags.push(tag);\n }\n return tags;\n}\nvar ltag_default = { make: makeLtagTable, parse: parseLtagTable };\n\n// src/tables/maxp.mjs\nfunction parseMaxpTable(data, start) {\n const maxp = {};\n const p = new parse_default.Parser(data, start);\n maxp.version = p.parseVersion();\n maxp.numGlyphs = p.parseUShort();\n if (maxp.version === 1) {\n maxp.maxPoints = p.parseUShort();\n maxp.maxContours = p.parseUShort();\n maxp.maxCompositePoints = p.parseUShort();\n maxp.maxCompositeContours = p.parseUShort();\n maxp.maxZones = p.parseUShort();\n maxp.maxTwilightPoints = p.parseUShort();\n maxp.maxStorage = p.parseUShort();\n maxp.maxFunctionDefs = p.parseUShort();\n maxp.maxInstructionDefs = p.parseUShort();\n maxp.maxStackElements = p.parseUShort();\n maxp.maxSizeOfInstructions = p.parseUShort();\n maxp.maxComponentElements = p.parseUShort();\n maxp.maxComponentDepth = p.parseUShort();\n }\n return maxp;\n}\nfunction makeMaxpTable(numGlyphs) {\n return new table_default.Table(\"maxp\", [\n { name: \"version\", type: \"FIXED\", value: 20480 },\n { name: \"numGlyphs\", type: \"USHORT\", value: numGlyphs }\n ]);\n}\nvar maxp_default = { parse: parseMaxpTable, make: makeMaxpTable };\n\n// src/tables/os2.mjs\nvar unicodeRanges = [\n { begin: 0, end: 127 },\n // Basic Latin\n { begin: 128, end: 255 },\n // Latin-1 Supplement\n { begin: 256, end: 383 },\n // Latin Extended-A\n { begin: 384, end: 591 },\n // Latin Extended-B\n { begin: 592, end: 687 },\n // IPA Extensions\n { begin: 688, end: 767 },\n // Spacing Modifier Letters\n { begin: 768, end: 879 },\n // Combining Diacritical Marks\n { begin: 880, end: 1023 },\n // Greek and Coptic\n { begin: 11392, end: 11519 },\n // Coptic\n { begin: 1024, end: 1279 },\n // Cyrillic\n { begin: 1328, end: 1423 },\n // Armenian\n { begin: 1424, end: 1535 },\n // Hebrew\n { begin: 42240, end: 42559 },\n // Vai\n { begin: 1536, end: 1791 },\n // Arabic\n { begin: 1984, end: 2047 },\n // NKo\n { begin: 2304, end: 2431 },\n // Devanagari\n { begin: 2432, end: 2559 },\n // Bengali\n { begin: 2560, end: 2687 },\n // Gurmukhi\n { begin: 2688, end: 2815 },\n // Gujarati\n { begin: 2816, end: 2943 },\n // Oriya\n { begin: 2944, end: 3071 },\n // Tamil\n { begin: 3072, end: 3199 },\n // Telugu\n { begin: 3200, end: 3327 },\n // Kannada\n { begin: 3328, end: 3455 },\n // Malayalam\n { begin: 3584, end: 3711 },\n // Thai\n { begin: 3712, end: 3839 },\n // Lao\n { begin: 4256, end: 4351 },\n // Georgian\n { begin: 6912, end: 7039 },\n // Balinese\n { begin: 4352, end: 4607 },\n // Hangul Jamo\n { begin: 7680, end: 7935 },\n // Latin Extended Additional\n { begin: 7936, end: 8191 },\n // Greek Extended\n { begin: 8192, end: 8303 },\n // General Punctuation\n { begin: 8304, end: 8351 },\n // Superscripts And Subscripts\n { begin: 8352, end: 8399 },\n // Currency Symbol\n { begin: 8400, end: 8447 },\n // Combining Diacritical Marks For Symbols\n { begin: 8448, end: 8527 },\n // Letterlike Symbols\n { begin: 8528, end: 8591 },\n // Number Forms\n { begin: 8592, end: 8703 },\n // Arrows\n { begin: 8704, end: 8959 },\n // Mathematical Operators\n { begin: 8960, end: 9215 },\n // Miscellaneous Technical\n { begin: 9216, end: 9279 },\n // Control Pictures\n { begin: 9280, end: 9311 },\n // Optical Character Recognition\n { begin: 9312, end: 9471 },\n // Enclosed Alphanumerics\n { begin: 9472, end: 9599 },\n // Box Drawing\n { begin: 9600, end: 9631 },\n // Block Elements\n { begin: 9632, end: 9727 },\n // Geometric Shapes\n { begin: 9728, end: 9983 },\n // Miscellaneous Symbols\n { begin: 9984, end: 10175 },\n // Dingbats\n { begin: 12288, end: 12351 },\n // CJK Symbols And Punctuation\n { begin: 12352, end: 12447 },\n // Hiragana\n { begin: 12448, end: 12543 },\n // Katakana\n { begin: 12544, end: 12591 },\n // Bopomofo\n { begin: 12592, end: 12687 },\n // Hangul Compatibility Jamo\n { begin: 43072, end: 43135 },\n // Phags-pa\n { begin: 12800, end: 13055 },\n // Enclosed CJK Letters And Months\n { begin: 13056, end: 13311 },\n // CJK Compatibility\n { begin: 44032, end: 55215 },\n // Hangul Syllables\n { begin: 55296, end: 57343 },\n // Non-Plane 0 *\n { begin: 67840, end: 67871 },\n // Phoenicia\n { begin: 19968, end: 40959 },\n // CJK Unified Ideographs\n { begin: 57344, end: 63743 },\n // Private Use Area (plane 0)\n { begin: 12736, end: 12783 },\n // CJK Strokes\n { begin: 64256, end: 64335 },\n // Alphabetic Presentation Forms\n { begin: 64336, end: 65023 },\n // Arabic Presentation Forms-A\n { begin: 65056, end: 65071 },\n // Combining Half Marks\n { begin: 65040, end: 65055 },\n // Vertical Forms\n { begin: 65104, end: 65135 },\n // Small Form Variants\n { begin: 65136, end: 65279 },\n // Arabic Presentation Forms-B\n { begin: 65280, end: 65519 },\n // Halfwidth And Fullwidth Forms\n { begin: 65520, end: 65535 },\n // Specials\n { begin: 3840, end: 4095 },\n // Tibetan\n { begin: 1792, end: 1871 },\n // Syriac\n { begin: 1920, end: 1983 },\n // Thaana\n { begin: 3456, end: 3583 },\n // Sinhala\n { begin: 4096, end: 4255 },\n // Myanmar\n { begin: 4608, end: 4991 },\n // Ethiopic\n { begin: 5024, end: 5119 },\n // Cherokee\n { begin: 5120, end: 5759 },\n // Unified Canadian Aboriginal Syllabics\n { begin: 5760, end: 5791 },\n // Ogham\n { begin: 5792, end: 5887 },\n // Runic\n { begin: 6016, end: 6143 },\n // Khmer\n { begin: 6144, end: 6319 },\n // Mongolian\n { begin: 10240, end: 10495 },\n // Braille Patterns\n { begin: 40960, end: 42127 },\n // Yi Syllables\n { begin: 5888, end: 5919 },\n // Tagalog\n { begin: 66304, end: 66351 },\n // Old Italic\n { begin: 66352, end: 66383 },\n // Gothic\n { begin: 66560, end: 66639 },\n // Deseret\n { begin: 118784, end: 119039 },\n // Byzantine Musical Symbols\n { begin: 119808, end: 120831 },\n // Mathematical Alphanumeric Symbols\n { begin: 1044480, end: 1048573 },\n // Private Use (plane 15)\n { begin: 65024, end: 65039 },\n // Variation Selectors\n { begin: 917504, end: 917631 },\n // Tags\n { begin: 6400, end: 6479 },\n // Limbu\n { begin: 6480, end: 6527 },\n // Tai Le\n { begin: 6528, end: 6623 },\n // New Tai Lue\n { begin: 6656, end: 6687 },\n // Buginese\n { begin: 11264, end: 11359 },\n // Glagolitic\n { begin: 11568, end: 11647 },\n // Tifinagh\n { begin: 19904, end: 19967 },\n // Yijing Hexagram Symbols\n { begin: 43008, end: 43055 },\n // Syloti Nagri\n { begin: 65536, end: 65663 },\n // Linear B Syllabary\n { begin: 65856, end: 65935 },\n // Ancient Greek Numbers\n { begin: 66432, end: 66463 },\n // Ugaritic\n { begin: 66464, end: 66527 },\n // Old Persian\n { begin: 66640, end: 66687 },\n // Shavian\n { begin: 66688, end: 66735 },\n // Osmanya\n { begin: 67584, end: 67647 },\n // Cypriot Syllabary\n { begin: 68096, end: 68191 },\n // Kharoshthi\n { begin: 119552, end: 119647 },\n // Tai Xuan Jing Symbols\n { begin: 73728, end: 74751 },\n // Cuneiform\n { begin: 119648, end: 119679 },\n // Counting Rod Numerals\n { begin: 7040, end: 7103 },\n // Sundanese\n { begin: 7168, end: 7247 },\n // Lepcha\n { begin: 7248, end: 7295 },\n // Ol Chiki\n { begin: 43136, end: 43231 },\n // Saurashtra\n { begin: 43264, end: 43311 },\n // Kayah Li\n { begin: 43312, end: 43359 },\n // Rejang\n { begin: 43520, end: 43615 },\n // Cham\n { begin: 65936, end: 65999 },\n // Ancient Symbols\n { begin: 66e3, end: 66047 },\n // Phaistos Disc\n { begin: 66208, end: 66271 },\n // Carian\n { begin: 127024, end: 127135 }\n // Domino Tiles\n];\nfunction getUnicodeRange(unicode) {\n for (let i = 0; i < unicodeRanges.length; i += 1) {\n const range = unicodeRanges[i];\n if (unicode >= range.begin && unicode < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction parseOS2Table(data, start) {\n const os2 = {};\n const p = new parse_default.Parser(data, start);\n os2.version = p.parseUShort();\n os2.xAvgCharWidth = p.parseShort();\n os2.usWeightClass = p.parseUShort();\n os2.usWidthClass = p.parseUShort();\n os2.fsType = p.parseUShort();\n os2.ySubscriptXSize = p.parseShort();\n os2.ySubscriptYSize = p.parseShort();\n os2.ySubscriptXOffset = p.parseShort();\n os2.ySubscriptYOffset = p.parseShort();\n os2.ySuperscriptXSize = p.parseShort();\n os2.ySuperscriptYSize = p.parseShort();\n os2.ySuperscriptXOffset = p.parseShort();\n os2.ySuperscriptYOffset = p.parseShort();\n os2.yStrikeoutSize = p.parseShort();\n os2.yStrikeoutPosition = p.parseShort();\n os2.sFamilyClass = p.parseShort();\n os2.panose = [];\n for (let i = 0; i < 10; i++) {\n os2.panose[i] = p.parseByte();\n }\n os2.ulUnicodeRange1 = p.parseULong();\n os2.ulUnicodeRange2 = p.parseULong();\n os2.ulUnicodeRange3 = p.parseULong();\n os2.ulUnicodeRange4 = p.parseULong();\n os2.achVendID = String.fromCharCode(p.parseByte(), p.parseByte(), p.parseByte(), p.parseByte());\n os2.fsSelection = p.parseUShort();\n os2.usFirstCharIndex = p.parseUShort();\n os2.usLastCharIndex = p.parseUShort();\n os2.sTypoAscender = p.parseShort();\n os2.sTypoDescender = p.parseShort();\n os2.sTypoLineGap = p.parseShort();\n os2.usWinAscent = p.parseUShort();\n os2.usWinDescent = p.parseUShort();\n if (os2.version >= 1) {\n os2.ulCodePageRange1 = p.parseULong();\n os2.ulCodePageRange2 = p.parseULong();\n }\n if (os2.version >= 2) {\n os2.sxHeight = p.parseShort();\n os2.sCapHeight = p.parseShort();\n os2.usDefaultChar = p.parseUShort();\n os2.usBreakChar = p.parseUShort();\n os2.usMaxContent = p.parseUShort();\n }\n return os2;\n}\nfunction makeOS2Table(options) {\n return new table_default.Table(\"OS/2\", [\n { name: \"version\", type: \"USHORT\", value: 3 },\n { name: \"xAvgCharWidth\", type: \"SHORT\", value: 0 },\n { name: \"usWeightClass\", type: \"USHORT\", value: 0 },\n { name: \"usWidthClass\", type: \"USHORT\", value: 0 },\n { name: \"fsType\", type: \"USHORT\", value: 0 },\n { name: \"ySubscriptXSize\", type: \"SHORT\", value: 650 },\n { name: \"ySubscriptYSize\", type: \"SHORT\", value: 699 },\n { name: \"ySubscriptXOffset\", type: \"SHORT\", value: 0 },\n { name: \"ySubscriptYOffset\", type: \"SHORT\", value: 140 },\n { name: \"ySuperscriptXSize\", type: \"SHORT\", value: 650 },\n { name: \"ySuperscriptYSize\", type: \"SHORT\", value: 699 },\n { name: \"ySuperscriptXOffset\", type: \"SHORT\", value: 0 },\n { name: \"ySuperscriptYOffset\", type: \"SHORT\", value: 479 },\n { name: \"yStrikeoutSize\", type: \"SHORT\", value: 49 },\n { name: \"yStrikeoutPosition\", type: \"SHORT\", value: 258 },\n { name: \"sFamilyClass\", type: \"SHORT\", value: 0 },\n { name: \"bFamilyType\", type: \"BYTE\", value: 0 },\n { name: \"bSerifStyle\", type: \"BYTE\", value: 0 },\n { name: \"bWeight\", type: \"BYTE\", value: 0 },\n { name: \"bProportion\", type: \"BYTE\", value: 0 },\n { name: \"bContrast\", type: \"BYTE\", value: 0 },\n { name: \"bStrokeVariation\", type: \"BYTE\", value: 0 },\n { name: \"bArmStyle\", type: \"BYTE\", value: 0 },\n { name: \"bLetterform\", type: \"BYTE\", value: 0 },\n { name: \"bMidline\", type: \"BYTE\", value: 0 },\n { name: \"bXHeight\", type: \"BYTE\", value: 0 },\n { name: \"ulUnicodeRange1\", type: \"ULONG\", value: 0 },\n { name: \"ulUnicodeRange2\", type: \"ULONG\", value: 0 },\n { name: \"ulUnicodeRange3\", type: \"ULONG\", value: 0 },\n { name: \"ulUnicodeRange4\", type: \"ULONG\", value: 0 },\n { name: \"achVendID\", type: \"CHARARRAY\", value: \"XXXX\" },\n { name: \"fsSelection\", type: \"USHORT\", value: 0 },\n { name: \"usFirstCharIndex\", type: \"USHORT\", value: 0 },\n { name: \"usLastCharIndex\", type: \"USHORT\", value: 0 },\n { name: \"sTypoAscender\", type: \"SHORT\", value: 0 },\n { name: \"sTypoDescender\", type: \"SHORT\", value: 0 },\n { name: \"sTypoLineGap\", type: \"SHORT\", value: 0 },\n { name: \"usWinAscent\", type: \"USHORT\", value: 0 },\n { name: \"usWinDescent\", type: \"USHORT\", value: 0 },\n { name: \"ulCodePageRange1\", type: \"ULONG\", value: 0 },\n { name: \"ulCodePageRange2\", type: \"ULONG\", value: 0 },\n { name: \"sxHeight\", type: \"SHORT\", value: 0 },\n { name: \"sCapHeight\", type: \"SHORT\", value: 0 },\n { name: \"usDefaultChar\", type: \"USHORT\", value: 0 },\n { name: \"usBreakChar\", type: \"USHORT\", value: 0 },\n { name: \"usMaxContext\", type: \"USHORT\", value: 0 }\n ], options);\n}\nvar os2_default = { parse: parseOS2Table, make: makeOS2Table, unicodeRanges, getUnicodeRange };\n\n// src/tables/post.mjs\nfunction parsePostTable(data, start) {\n const post = {};\n const p = new parse_default.Parser(data, start);\n post.version = p.parseVersion();\n post.italicAngle = p.parseFixed();\n post.underlinePosition = p.parseShort();\n post.underlineThickness = p.parseShort();\n post.isFixedPitch = p.parseULong();\n post.minMemType42 = p.parseULong();\n post.maxMemType42 = p.parseULong();\n post.minMemType1 = p.parseULong();\n post.maxMemType1 = p.parseULong();\n switch (post.version) {\n case 1:\n post.names = standardNames.slice();\n break;\n case 2:\n post.numberOfGlyphs = p.parseUShort();\n post.glyphNameIndex = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n post.glyphNameIndex[i] = p.parseUShort();\n }\n post.names = [];\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n if (post.glyphNameIndex[i] >= standardNames.length) {\n const nameLength = p.parseChar();\n post.names.push(p.parseString(nameLength));\n }\n }\n break;\n case 2.5:\n post.numberOfGlyphs = p.parseUShort();\n post.offset = new Array(post.numberOfGlyphs);\n for (let i = 0; i < post.numberOfGlyphs; i++) {\n post.offset[i] = p.parseChar();\n }\n break;\n }\n return post;\n}\nfunction makePostTable(font) {\n const {\n italicAngle = Math.round((font.italicAngle || 0) * 65536),\n underlinePosition = 0,\n underlineThickness = 0,\n isFixedPitch = 0,\n minMemType42 = 0,\n maxMemType42 = 0,\n minMemType1 = 0,\n maxMemType1 = 0\n } = font.tables.post || {};\n return new table_default.Table(\"post\", [\n { name: \"version\", type: \"FIXED\", value: 196608 },\n { name: \"italicAngle\", type: \"FIXED\", value: italicAngle },\n { name: \"underlinePosition\", type: \"FWORD\", value: underlinePosition },\n { name: \"underlineThickness\", type: \"FWORD\", value: underlineThickness },\n { name: \"isFixedPitch\", type: \"ULONG\", value: isFixedPitch },\n { name: \"minMemType42\", type: \"ULONG\", value: minMemType42 },\n { name: \"maxMemType42\", type: \"ULONG\", value: maxMemType42 },\n { name: \"minMemType1\", type: \"ULONG\", value: minMemType1 },\n { name: \"maxMemType1\", type: \"ULONG\", value: maxMemType1 }\n ]);\n}\nvar post_default = { parse: parsePostTable, make: makePostTable };\n\n// src/tables/gsub.mjs\nvar subtableParsers = new Array(9);\nsubtableParsers[1] = function parseLookup1() {\n const start = this.offset + this.relativeOffset;\n const substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n deltaGlyphId: this.parseShort()\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n substitute: this.parseOffset16List()\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": lookup type 1 format must be 1 or 2.\");\n};\nsubtableParsers[2] = function parseLookup2() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Multiple Substitution Subtable identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n sequences: this.parseListOfLists()\n };\n};\nsubtableParsers[3] = function parseLookup3() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Alternate Substitution Subtable identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n alternateSets: this.parseListOfLists()\n };\n};\nsubtableParsers[4] = function parseLookup4() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB ligature table identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ligatureSets: this.parseListOfLists(function() {\n return {\n ligGlyph: this.parseUShort(),\n components: this.parseUShortList(this.parseUShort() - 1)\n };\n })\n };\n};\nvar lookupRecordDesc = {\n sequenceIndex: Parser.uShort,\n lookupListIndex: Parser.uShort\n};\nsubtableParsers[5] = function parseLookup5() {\n const start = this.offset + this.relativeOffset;\n const substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ruleSets: this.parseListOfLists(function() {\n const glyphCount = this.parseUShort();\n const substCount = this.parseUShort();\n return {\n input: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n classDef: this.parsePointer(Parser.classDef),\n classSets: this.parseListOfLists(function() {\n const glyphCount = this.parseUShort();\n const substCount = this.parseUShort();\n return {\n classes: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n const glyphCount = this.parseUShort();\n const substCount = this.parseUShort();\n return {\n substFormat,\n coverages: this.parseList(glyphCount, Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": lookup type 5 format must be 1, 2 or 3.\");\n};\nsubtableParsers[6] = function parseLookup6() {\n const start = this.offset + this.relativeOffset;\n const substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n chainRuleSets: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n backtrackClassDef: this.parsePointer(Parser.classDef),\n inputClassDef: this.parsePointer(Parser.classDef),\n lookaheadClassDef: this.parsePointer(Parser.classDef),\n chainClassSet: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n return {\n substFormat: 3,\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n inputCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": lookup type 6 format must be 1, 2 or 3.\");\n};\nsubtableParsers[7] = function parseLookup7() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Extension Substitution subtable identifier-format must be 1\");\n const extensionLookupType = this.parseUShort();\n const extensionParser = new Parser(this.data, this.offset + this.parseULong());\n return {\n substFormat: 1,\n lookupType: extensionLookupType,\n extension: subtableParsers[extensionLookupType].call(extensionParser)\n };\n};\nsubtableParsers[8] = function parseLookup8() {\n const substFormat = this.parseUShort();\n check_default.argument(substFormat === 1, \"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1\");\n return {\n substFormat,\n coverage: this.parsePointer(Parser.coverage),\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n substitutes: this.parseUShortList()\n };\n};\nfunction parseGsubTable(data, start) {\n start = start || 0;\n const p = new Parser(data, start);\n const tableVersion = p.parseVersion(1);\n check_default.argument(tableVersion === 1 || tableVersion === 1.1, \"Unsupported GSUB table version.\");\n if (tableVersion === 1) {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers)\n };\n } else {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers),\n variations: p.parseFeatureVariationsList()\n };\n }\n}\nvar subtableMakers = new Array(9);\nsubtableMakers[1] = function makeLookup1(subtable) {\n if (subtable.substFormat === 1) {\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) },\n { name: \"deltaGlyphID\", type: \"SHORT\", value: subtable.deltaGlyphId }\n ]);\n } else if (subtable.substFormat === 2) {\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 2 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.ushortList(\"substitute\", subtable.substitute)));\n }\n check_default.fail(\"Lookup type 1 substFormat must be 1 or 2.\");\n};\nsubtableMakers[2] = function makeLookup2(subtable) {\n check_default.assert(subtable.substFormat === 1, \"Lookup type 2 substFormat must be 1.\");\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"seqSet\", subtable.sequences, function(sequenceSet) {\n return new table_default.Table(\"sequenceSetTable\", table_default.ushortList(\"sequence\", sequenceSet));\n })));\n};\nsubtableMakers[3] = function makeLookup3(subtable) {\n check_default.assert(subtable.substFormat === 1, \"Lookup type 3 substFormat must be 1.\");\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"altSet\", subtable.alternateSets, function(alternateSet) {\n return new table_default.Table(\"alternateSetTable\", table_default.ushortList(\"alternate\", alternateSet));\n })));\n};\nsubtableMakers[4] = function makeLookup4(subtable) {\n check_default.assert(subtable.substFormat === 1, \"Lookup type 4 substFormat must be 1.\");\n return new table_default.Table(\"substitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: 1 },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"ligSet\", subtable.ligatureSets, function(ligatureSet) {\n return new table_default.Table(\"ligatureSetTable\", table_default.tableList(\"ligature\", ligatureSet, function(ligature) {\n return new table_default.Table(\n \"ligatureTable\",\n [{ name: \"ligGlyph\", type: \"USHORT\", value: ligature.ligGlyph }].concat(table_default.ushortList(\"component\", ligature.components, ligature.components.length + 1))\n );\n }));\n })));\n};\nsubtableMakers[5] = function makeLookup5(subtable) {\n if (subtable.substFormat === 1) {\n return new table_default.Table(\"contextualSubstitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"sequenceRuleSet\", subtable.ruleSets, function(sequenceRuleSet) {\n if (!sequenceRuleSet) {\n return new table_default.Table(\"NULL\", null);\n }\n return new table_default.Table(\"sequenceRuleSetTable\", table_default.tableList(\"sequenceRule\", sequenceRuleSet, function(sequenceRule) {\n let tableData = table_default.ushortList(\"seqLookup\", [], sequenceRule.lookupRecords.length).concat(table_default.ushortList(\"inputSequence\", sequenceRule.input, sequenceRule.input.length + 1));\n [tableData[0], tableData[1]] = [tableData[1], tableData[0]];\n for (let i = 0; i < sequenceRule.lookupRecords.length; i++) {\n const record = sequenceRule.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n return new table_default.Table(\"sequenceRuleTable\", tableData);\n }));\n })));\n } else if (subtable.substFormat === 2) {\n return new table_default.Table(\"contextualSubstitutionTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) },\n { name: \"classDef\", type: \"TABLE\", value: new table_default.ClassDef(subtable.classDef) }\n ].concat(table_default.tableList(\"classSeqRuleSet\", subtable.classSets, function(classSeqRuleSet) {\n if (!classSeqRuleSet) {\n return new table_default.Table(\"NULL\", null);\n }\n return new table_default.Table(\"classSeqRuleSetTable\", table_default.tableList(\"classSeqRule\", classSeqRuleSet, function(classSeqRule) {\n let tableData = table_default.ushortList(\"classes\", classSeqRule.classes, classSeqRule.classes.length + 1).concat(table_default.ushortList(\"seqLookupCount\", [], classSeqRule.lookupRecords.length));\n for (let i = 0; i < classSeqRule.lookupRecords.length; i++) {\n const record = classSeqRule.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n return new table_default.Table(\"classSeqRuleTable\", tableData);\n }));\n })));\n } else if (subtable.substFormat === 3) {\n let tableData = [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat }\n ];\n tableData.push({ name: \"inputGlyphCount\", type: \"USHORT\", value: subtable.coverages.length });\n tableData.push({ name: \"substitutionCount\", type: \"USHORT\", value: subtable.lookupRecords.length });\n for (let i = 0; i < subtable.coverages.length; i++) {\n const coverage = subtable.coverages[i];\n tableData.push({ name: \"inputCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const record = subtable.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n let returnTable = new table_default.Table(\"contextualSubstitutionTable\", tableData);\n return returnTable;\n }\n check_default.assert(false, \"lookup type 5 format must be 1, 2 or 3.\");\n};\nsubtableMakers[6] = function makeLookup6(subtable) {\n if (subtable.substFormat === 1) {\n let returnTable = new table_default.Table(\"chainContextTable\", [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat },\n { name: \"coverage\", type: \"TABLE\", value: new table_default.Coverage(subtable.coverage) }\n ].concat(table_default.tableList(\"chainRuleSet\", subtable.chainRuleSets, function(chainRuleSet) {\n return new table_default.Table(\"chainRuleSetTable\", table_default.tableList(\"chainRule\", chainRuleSet, function(chainRule) {\n let tableData = table_default.ushortList(\"backtrackGlyph\", chainRule.backtrack, chainRule.backtrack.length).concat(table_default.ushortList(\"inputGlyph\", chainRule.input, chainRule.input.length + 1)).concat(table_default.ushortList(\"lookaheadGlyph\", chainRule.lookahead, chainRule.lookahead.length)).concat(table_default.ushortList(\"substitution\", [], chainRule.lookupRecords.length));\n for (let i = 0; i < chainRule.lookupRecords.length; i++) {\n const record = chainRule.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n return new table_default.Table(\"chainRuleTable\", tableData);\n }));\n })));\n return returnTable;\n } else if (subtable.substFormat === 2) {\n check_default.assert(false, \"lookup type 6 format 2 is not yet supported.\");\n } else if (subtable.substFormat === 3) {\n let tableData = [\n { name: \"substFormat\", type: \"USHORT\", value: subtable.substFormat }\n ];\n tableData.push({ name: \"backtrackGlyphCount\", type: \"USHORT\", value: subtable.backtrackCoverage.length });\n for (let i = 0; i < subtable.backtrackCoverage.length; i++) {\n const coverage = subtable.backtrackCoverage[i];\n tableData.push({ name: \"backtrackCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n tableData.push({ name: \"inputGlyphCount\", type: \"USHORT\", value: subtable.inputCoverage.length });\n for (let i = 0; i < subtable.inputCoverage.length; i++) {\n const coverage = subtable.inputCoverage[i];\n tableData.push({ name: \"inputCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n tableData.push({ name: \"lookaheadGlyphCount\", type: \"USHORT\", value: subtable.lookaheadCoverage.length });\n for (let i = 0; i < subtable.lookaheadCoverage.length; i++) {\n const coverage = subtable.lookaheadCoverage[i];\n tableData.push({ name: \"lookaheadCoverage\" + i, type: \"TABLE\", value: new table_default.Coverage(coverage) });\n }\n tableData.push({ name: \"substitutionCount\", type: \"USHORT\", value: subtable.lookupRecords.length });\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const record = subtable.lookupRecords[i];\n tableData = tableData.concat({ name: \"sequenceIndex\" + i, type: \"USHORT\", value: record.sequenceIndex }).concat({ name: \"lookupListIndex\" + i, type: \"USHORT\", value: record.lookupListIndex });\n }\n let returnTable = new table_default.Table(\"chainContextTable\", tableData);\n return returnTable;\n }\n check_default.assert(false, \"lookup type 6 format must be 1, 2 or 3.\");\n};\nfunction makeGsubTable(gsub) {\n return new table_default.Table(\"GSUB\", [\n { name: \"version\", type: \"ULONG\", value: 65536 },\n { name: \"scripts\", type: \"TABLE\", value: new table_default.ScriptList(gsub.scripts) },\n { name: \"features\", type: \"TABLE\", value: new table_default.FeatureList(gsub.features) },\n { name: \"lookups\", type: \"TABLE\", value: new table_default.LookupList(gsub.lookups, subtableMakers) }\n ]);\n}\nvar gsub_default = { parse: parseGsubTable, make: makeGsubTable };\n\n// src/tables/meta.mjs\nfunction parseMetaTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseULong();\n check_default.argument(tableVersion === 1, \"Unsupported META table version.\");\n p.parseULong();\n p.parseULong();\n const numDataMaps = p.parseULong();\n const tags = {};\n for (let i = 0; i < numDataMaps; i++) {\n const tag = p.parseTag();\n const dataOffset = p.parseULong();\n const dataLength = p.parseULong();\n if (tag === \"appl\" || tag === \"bild\")\n continue;\n const text = decode.UTF8(data, start + dataOffset, dataLength);\n tags[tag] = text;\n }\n return tags;\n}\nfunction makeMetaTable(tags) {\n const numTags = Object.keys(tags).length;\n let stringPool = \"\";\n const stringPoolOffset = 16 + numTags * 12;\n const result = new table_default.Table(\"meta\", [\n { name: \"version\", type: \"ULONG\", value: 1 },\n { name: \"flags\", type: \"ULONG\", value: 0 },\n { name: \"offset\", type: \"ULONG\", value: stringPoolOffset },\n { name: \"numTags\", type: \"ULONG\", value: numTags }\n ]);\n for (let tag in tags) {\n const pos = stringPool.length;\n stringPool += tags[tag];\n result.fields.push({ name: \"tag \" + tag, type: \"TAG\", value: tag });\n result.fields.push({ name: \"offset \" + tag, type: \"ULONG\", value: stringPoolOffset + pos });\n result.fields.push({ name: \"length \" + tag, type: \"ULONG\", value: tags[tag].length });\n }\n result.fields.push({ name: \"stringPool\", type: \"CHARARRAY\", value: stringPool });\n return result;\n}\nvar meta_default = { parse: parseMetaTable, make: makeMetaTable };\n\n// src/tables/colr.mjs\nfunction parseColrTable(data, start) {\n const p = new Parser(data, start);\n const version = p.parseUShort();\n if (version !== 0) {\n console.warn(\"Only COLRv0 is currently fully supported. A subset of color glyphs might be available in this font if provided in the v0 format.\");\n }\n const numBaseGlyphRecords = p.parseUShort();\n const baseGlyphRecordsOffset = p.parseOffset32();\n const layerRecordsOffset = p.parseOffset32();\n const numLayerRecords = p.parseUShort();\n p.relativeOffset = baseGlyphRecordsOffset;\n const baseGlyphRecords = p.parseRecordList(numBaseGlyphRecords, {\n glyphID: Parser.uShort,\n firstLayerIndex: Parser.uShort,\n numLayers: Parser.uShort\n });\n p.relativeOffset = layerRecordsOffset;\n const layerRecords = p.parseRecordList(numLayerRecords, {\n glyphID: Parser.uShort,\n paletteIndex: Parser.uShort\n });\n return {\n version,\n baseGlyphRecords,\n layerRecords\n };\n}\nfunction makeColrTable({ version = 0, baseGlyphRecords = [], layerRecords = [] }) {\n check_default.argument(version === 0, \"Only COLRv0 supported.\");\n const baseGlyphRecordsOffset = 14;\n const layerRecordsOffset = baseGlyphRecordsOffset + baseGlyphRecords.length * 6;\n return new table_default.Table(\"COLR\", [\n { name: \"version\", type: \"USHORT\", value: version },\n { name: \"numBaseGlyphRecords\", type: \"USHORT\", value: baseGlyphRecords.length },\n { name: \"baseGlyphRecordsOffset\", type: \"ULONG\", value: baseGlyphRecordsOffset },\n { name: \"layerRecordsOffset\", type: \"ULONG\", value: layerRecordsOffset },\n { name: \"numLayerRecords\", type: \"USHORT\", value: layerRecords.length },\n ...baseGlyphRecords.map((glyph, i) => [\n { name: \"glyphID_\" + i, type: \"USHORT\", value: glyph.glyphID },\n { name: \"firstLayerIndex_\" + i, type: \"USHORT\", value: glyph.firstLayerIndex },\n { name: \"numLayers_\" + i, type: \"USHORT\", value: glyph.numLayers }\n ]).flat(),\n ...layerRecords.map((layer, i) => [\n { name: \"LayerGlyphID_\" + i, type: \"USHORT\", value: layer.glyphID },\n { name: \"paletteIndex_\" + i, type: \"USHORT\", value: layer.paletteIndex }\n ]).flat()\n ]);\n}\nvar colr_default = { parse: parseColrTable, make: makeColrTable };\n\n// src/tables/fvar.mjs\nfunction makeFvarAxis(n, axis) {\n return [\n { name: \"tag_\" + n, type: \"TAG\", value: axis.tag },\n { name: \"minValue_\" + n, type: \"FIXED\", value: axis.minValue << 16 },\n { name: \"defaultValue_\" + n, type: \"FIXED\", value: axis.defaultValue << 16 },\n { name: \"maxValue_\" + n, type: \"FIXED\", value: axis.maxValue << 16 },\n { name: \"flags_\" + n, type: \"USHORT\", value: 0 },\n { name: \"nameID_\" + n, type: \"USHORT\", value: axis.axisNameID }\n ];\n}\nfunction parseFvarAxis(data, start, names) {\n const axis = {};\n const p = new parse_default.Parser(data, start);\n axis.tag = p.parseTag();\n axis.minValue = p.parseFixed();\n axis.defaultValue = p.parseFixed();\n axis.maxValue = p.parseFixed();\n p.skip(\"uShort\", 1);\n const axisNameID = p.parseUShort();\n axis.axisNameID = axisNameID;\n axis.name = getNameByID(names, axisNameID);\n return axis;\n}\nfunction makeFvarInstance(n, inst, axes, optionalFields = {}) {\n const fields = [\n { name: \"nameID_\" + n, type: \"USHORT\", value: inst.subfamilyNameID },\n { name: \"flags_\" + n, type: \"USHORT\", value: 0 }\n ];\n for (let i = 0; i < axes.length; ++i) {\n const axisTag = axes[i].tag;\n fields.push({\n name: \"axis_\" + n + \" \" + axisTag,\n type: \"FIXED\",\n value: inst.coordinates[axisTag] << 16\n });\n }\n if (optionalFields && optionalFields.postScriptNameID) {\n fields.push({\n name: \"postScriptNameID_\",\n type: \"USHORT\",\n value: inst.postScriptNameID !== void 0 ? inst.postScriptNameID : 65535\n });\n }\n return fields;\n}\nfunction parseFvarInstance(data, start, axes, names, instanceSize) {\n const inst = {};\n const p = new parse_default.Parser(data, start);\n const subfamilyNameID = p.parseUShort();\n inst.subfamilyNameID = subfamilyNameID;\n inst.name = getNameByID(names, subfamilyNameID, [2, 17]);\n p.skip(\"uShort\", 1);\n inst.coordinates = {};\n for (let i = 0; i < axes.length; ++i) {\n inst.coordinates[axes[i].tag] = p.parseFixed();\n }\n if (p.relativeOffset === instanceSize) {\n inst.postScriptNameID = void 0;\n inst.postScriptName = void 0;\n return inst;\n }\n const postScriptNameID = p.parseUShort();\n inst.postScriptNameID = postScriptNameID == 65535 ? void 0 : postScriptNameID;\n inst.postScriptName = inst.postScriptNameID !== void 0 ? getNameByID(names, postScriptNameID, [6]) : \"\";\n return inst;\n}\nfunction makeFvarTable(fvar, names) {\n const result = new table_default.Table(\"fvar\", [\n { name: \"version\", type: \"ULONG\", value: 65536 },\n { name: \"offsetToData\", type: \"USHORT\", value: 0 },\n { name: \"countSizePairs\", type: \"USHORT\", value: 2 },\n { name: \"axisCount\", type: \"USHORT\", value: fvar.axes.length },\n { name: \"axisSize\", type: \"USHORT\", value: 20 },\n { name: \"instanceCount\", type: \"USHORT\", value: fvar.instances.length },\n { name: \"instanceSize\", type: \"USHORT\", value: 4 + fvar.axes.length * 4 }\n ]);\n result.offsetToData = result.sizeOf();\n for (let i = 0; i < fvar.axes.length; i++) {\n result.fields = result.fields.concat(makeFvarAxis(i, fvar.axes[i], names));\n }\n const optionalFields = {};\n for (let j = 0; j < fvar.instances.length; j++) {\n if (fvar.instances[j].postScriptNameID !== void 0) {\n result.instanceSize += 2;\n optionalFields.postScriptNameID = true;\n break;\n }\n }\n for (let j = 0; j < fvar.instances.length; j++) {\n result.fields = result.fields.concat(makeFvarInstance(\n j,\n fvar.instances[j],\n fvar.axes,\n optionalFields\n ));\n }\n return result;\n}\nfunction parseFvarTable(data, start, names) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseULong();\n check_default.argument(tableVersion === 65536, \"Unsupported fvar table version.\");\n const offsetToData = p.parseOffset16();\n p.skip(\"uShort\", 1);\n const axisCount = p.parseUShort();\n const axisSize = p.parseUShort();\n const instanceCount = p.parseUShort();\n const instanceSize = p.parseUShort();\n const axes = [];\n for (let i = 0; i < axisCount; i++) {\n axes.push(parseFvarAxis(data, start + offsetToData + i * axisSize, names));\n }\n const instances = [];\n const instanceStart = start + offsetToData + axisCount * axisSize;\n for (let j = 0; j < instanceCount; j++) {\n instances.push(parseFvarInstance(data, instanceStart + j * instanceSize, axes, names, instanceSize));\n }\n return { axes, instances };\n}\nvar fvar_default = { make: makeFvarTable, parse: parseFvarTable };\n\n// src/tables/stat.mjs\nvar axisRecordStruct = {\n tag: Parser.tag,\n nameID: Parser.uShort,\n ordering: Parser.uShort\n};\nvar axisValueParsers = new Array(5);\naxisValueParsers[1] = function axisValueParser1() {\n return {\n axisIndex: this.parseUShort(),\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n value: this.parseFixed()\n };\n};\naxisValueParsers[2] = function axisValueParser2() {\n return {\n axisIndex: this.parseUShort(),\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n nominalValue: this.parseFixed(),\n rangeMinValue: this.parseFixed(),\n rangeMaxValue: this.parseFixed()\n };\n};\naxisValueParsers[3] = function axisValueParser3() {\n return {\n axisIndex: this.parseUShort(),\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n value: this.parseFixed(),\n linkedValue: this.parseFixed()\n };\n};\naxisValueParsers[4] = function axisValueParser4() {\n const axisCount = this.parseUShort();\n return {\n flags: this.parseUShort(),\n valueNameID: this.parseUShort(),\n axisValues: this.parseList(axisCount, function() {\n return {\n axisIndex: this.parseUShort(),\n value: this.parseFixed()\n };\n })\n };\n};\nfunction parseSTATAxisValue() {\n const valueTableFormat = this.parseUShort();\n const axisValueParser = axisValueParsers[valueTableFormat];\n const formatStub = {\n format: valueTableFormat\n };\n if (axisValueParser === void 0) {\n console.warn(`Unknown axis value table format ${valueTableFormat}`);\n return formatStub;\n }\n return Object.assign(formatStub, this.parseStruct(axisValueParser.bind(this)));\n}\nfunction parseSTATTable(data, start, fvar) {\n if (!start) {\n start = 0;\n }\n const p = new parse_default.Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported STAT table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n const version = [\n tableVersionMajor,\n tableVersionMinor\n ];\n const designAxisSize = p.parseUShort();\n const designAxisCount = p.parseUShort();\n const designAxesOffset = p.parseOffset32();\n const axisValueCount = p.parseUShort();\n const offsetToAxisValueOffsets = p.parseOffset32();\n const elidedFallbackNameID = tableVersionMajor > 1 || tableVersionMinor > 0 ? p.parseUShort() : void 0;\n if (fvar !== void 0) {\n check_default.argument(designAxisCount >= fvar.axes.length, \"STAT axis count must be greater than or equal to fvar axis count\");\n }\n if (axisValueCount > 0) {\n check_default.argument(designAxisCount >= 0, \"STAT axis count must be greater than 0 if STAT axis value count is greater than 0\");\n }\n const axes = [];\n for (let i = 0; i < designAxisCount; i++) {\n p.offset = start + designAxesOffset;\n p.relativeOffset = i * designAxisSize;\n axes.push(p.parseStruct(axisRecordStruct));\n }\n p.offset = start;\n p.relativeOffset = offsetToAxisValueOffsets;\n const valueOffsets = p.parseUShortList(axisValueCount);\n const values = [];\n for (let i = 0; i < axisValueCount; i++) {\n p.offset = start + offsetToAxisValueOffsets;\n p.relativeOffset = valueOffsets[i];\n values.push(parseSTATAxisValue.apply(p));\n }\n return {\n version,\n axes,\n values,\n elidedFallbackNameID\n };\n}\nvar axisValueMakers = new Array(5);\naxisValueMakers[1] = function axisValueMaker1(n, table) {\n return [\n { name: `format${n}`, type: \"USHORT\", value: 1 },\n { name: `axisIndex${n}`, type: \"USHORT\", value: table.axisIndex },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID },\n { name: `value${n}`, type: \"FLOAT\", value: table.value }\n ];\n};\naxisValueMakers[2] = function axisValueMaker2(n, table) {\n return [\n { name: `format${n}`, type: \"USHORT\", value: 2 },\n { name: `axisIndex${n}`, type: \"USHORT\", value: table.axisIndex },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID },\n { name: `nominalValue${n}`, type: \"FLOAT\", value: table.nominalValue },\n { name: `rangeMinValue${n}`, type: \"FLOAT\", value: table.rangeMinValue },\n { name: `rangeMaxValue${n}`, type: \"FLOAT\", value: table.rangeMaxValue }\n ];\n};\naxisValueMakers[3] = function axisValueMaker3(n, table) {\n return [\n { name: `format${n}`, type: \"USHORT\", value: 3 },\n { name: `axisIndex${n}`, type: \"USHORT\", value: table.axisIndex },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID },\n { name: `value${n}`, type: \"FLOAT\", value: table.value },\n { name: `linkedValue${n}`, type: \"FLOAT\", value: table.linkedValue }\n ];\n};\naxisValueMakers[4] = function axisValueMaker4(n, table) {\n let returnFields = [\n { name: `format${n}`, type: \"USHORT\", value: 4 },\n { name: `axisCount${n}`, type: \"USHORT\", value: table.axisValues.length },\n { name: `flags${n}`, type: \"USHORT\", value: table.flags },\n { name: `valueNameID${n}`, type: \"USHORT\", value: table.valueNameID }\n ];\n for (let i = 0; i < table.axisValues.length; i++) {\n returnFields = returnFields.concat([\n { name: `format${n}axisIndex${i}`, type: \"USHORT\", value: table.axisValues[i].axisIndex },\n { name: `format${n}value${i}`, type: \"FLOAT\", value: table.axisValues[i].value }\n ]);\n }\n return returnFields;\n};\nfunction makeSTATAxisRecord(n, axis) {\n return new table_default.Record(\"axisRecord_\" + n, [\n { name: \"axisTag_\" + n, type: \"TAG\", value: axis.tag },\n { name: \"axisNameID_\" + n, type: \"USHORT\", value: axis.nameID },\n { name: \"axisOrdering_\" + n, type: \"USHORT\", value: axis.ordering }\n ]);\n}\nfunction makeSTATValueTable(n, tableData) {\n const valueTableFormat = tableData.format;\n const axisValueMaker = axisValueMakers[valueTableFormat];\n check_default.argument(axisValueMaker !== void 0, `Unknown axis value table format ${valueTableFormat}`);\n const fields = axisValueMaker(n, tableData);\n return new table_default.Table(\"axisValueTable_\" + n, fields);\n}\nfunction makeSTATTable(STAT) {\n const result = new table_default.Table(\"STAT\", [\n { name: \"majorVersion\", type: \"USHORT\", value: 1 },\n { name: \"minorVersion\", type: \"USHORT\", value: 2 },\n { name: \"designAxisSize\", type: \"USHORT\", value: 8 },\n { name: \"designAxisCount\", type: \"USHORT\", value: STAT.axes.length },\n { name: \"designAxesOffset\", type: \"ULONG\", value: 0 },\n { name: \"axisValueCount\", type: \"USHORT\", value: STAT.values.length },\n { name: \"offsetToAxisValueOffsets\", type: \"ULONG\", value: 0 },\n { name: \"elidedFallbackNameID\", type: \"USHORT\", value: STAT.elidedFallbackNameID }\n ]);\n result.designAxesOffset = result.offsetToAxisValueOffsets = result.sizeOf();\n for (let i = 0; i < STAT.axes.length; i++) {\n const axisRecord = makeSTATAxisRecord(i, STAT.axes[i]);\n result.offsetToAxisValueOffsets += axisRecord.sizeOf();\n result.fields = result.fields.concat(axisRecord.fields);\n }\n const axisValueOffsets = [];\n let axisValueTables = [];\n let axisValueTableOffset = STAT.values.length * 2;\n for (let j = 0; j < STAT.values.length; j++) {\n const axisValueTable = makeSTATValueTable(j, STAT.values[j]);\n axisValueOffsets.push({\n name: \"offset_\" + j,\n type: \"USHORT\",\n value: axisValueTableOffset\n });\n axisValueTableOffset += axisValueTable.sizeOf();\n axisValueTables = axisValueTables.concat(axisValueTable.fields);\n }\n result.fields = result.fields.concat(axisValueOffsets);\n result.fields = result.fields.concat(axisValueTables);\n return result;\n}\nvar stat_default = { make: makeSTATTable, parse: parseSTATTable };\n\n// src/tables/avar.mjs\nfunction makeAvarAxisValueMap(n, axisValueMap) {\n return new table_default.Record(\"axisValueMap_\" + n, [\n { name: \"fromCoordinate_\" + n, type: \"F2DOT14\", value: axisValueMap.fromCoordinate },\n { name: \"toCoordinate_\" + n, type: \"F2DOT14\", value: axisValueMap.toCoordinate }\n ]);\n}\nfunction makeAvarSegmentMap(n, axis) {\n const returnTable = new table_default.Record(\"segmentMap_\" + n, [\n { name: \"positionMapCount_\" + n, type: \"USHORT\", value: axis.axisValueMaps.length }\n ]);\n let axisValueMaps = [];\n for (let i = 0; i < axis.axisValueMaps.length; i++) {\n const valueMap = makeAvarAxisValueMap(`${n}_${i}`, axis.axisValueMaps[i]);\n axisValueMaps = axisValueMaps.concat(valueMap.fields);\n }\n returnTable.fields = returnTable.fields.concat(axisValueMaps);\n return returnTable;\n}\nfunction makeAvarTable(avar, fvar) {\n check_default.argument(avar.axisSegmentMaps.length === fvar.axes.length, \"avar axis count must correspond to fvar axis count\");\n const result = new table_default.Table(\"avar\", [\n { name: \"majorVersion\", type: \"USHORT\", value: 1 },\n { name: \"minorVersion\", type: \"USHORT\", value: 0 },\n { name: \"reserved\", type: \"USHORT\", value: 0 },\n { name: \"axisCount\", type: \"USHORT\", value: avar.axisSegmentMaps.length }\n ]);\n for (let i = 0; i < avar.axisSegmentMaps.length; i++) {\n const axisRecord = makeAvarSegmentMap(i, avar.axisSegmentMaps[i]);\n result.fields = result.fields.concat(axisRecord.fields);\n }\n return result;\n}\nfunction parseAvarTable(data, start, fvar) {\n if (!start) {\n start = 0;\n }\n const p = new Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported avar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n p.skip(\"uShort\", 1);\n const axisCount = p.parseUShort();\n check_default.argument(axisCount === fvar.axes.length, \"avar axis count must correspond to fvar axis count\");\n const axisSegmentMaps = [];\n for (let i = 0; i < axisCount; i++) {\n const axisValueMaps = [];\n const positionMapCount = p.parseUShort();\n for (let j = 0; j < positionMapCount; j++) {\n const fromCoordinate = p.parseF2Dot14();\n const toCoordinate = p.parseF2Dot14();\n axisValueMaps.push({\n fromCoordinate,\n toCoordinate\n });\n }\n axisSegmentMaps.push({\n axisValueMaps\n });\n }\n return {\n version: [tableVersionMajor, tableVersionMinor],\n axisSegmentMaps\n };\n}\nvar avar_default = { make: makeAvarTable, parse: parseAvarTable };\n\n// src/tables/cvar.mjs\nfunction parseCvarTable(data, start, fvar, cvt) {\n const p = new parse_default.Parser(data, start);\n const cvtVariations = p.parseTupleVariationStore(\n p.relativeOffset,\n fvar.axes.length,\n \"cvar\",\n cvt\n );\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported cvar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n return {\n version: [tableVersionMajor, tableVersionMinor],\n ...cvtVariations\n };\n}\nfunction makeCvarTable() {\n console.warn(\"Writing of cvar tables is not yet supported.\");\n}\nvar cvar_default = { make: makeCvarTable, parse: parseCvarTable };\n\n// src/tables/gvar.mjs\nfunction parseGvarTable(data, start, fvar, glyphs) {\n const p = new parse_default.Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported gvar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n const axisCount = p.parseUShort();\n if (axisCount !== fvar.axes.length) {\n console.warn(`axisCount ${axisCount} in gvar table does not match the number of axes ${fvar.axes.length} in the fvar table!`);\n }\n const sharedTupleCount = p.parseUShort();\n const sharedTuples = p.parsePointer32(function() {\n return this.parseTupleRecords(sharedTupleCount, axisCount);\n });\n const glyphVariations = p.parseTupleVariationStoreList(axisCount, \"gvar\", glyphs);\n return {\n version: [tableVersionMajor, tableVersionMinor],\n sharedTuples,\n glyphVariations\n };\n}\nfunction makeGvarTable() {\n console.warn(\"Writing of gvar tables is not yet supported.\");\n}\nvar gvar_default = { make: makeGvarTable, parse: parseGvarTable };\n\n// src/tables/gasp.mjs\nfunction parseGaspTable(data, start) {\n const gasp = {};\n const p = new parse_default.Parser(data, start);\n gasp.version = p.parseUShort();\n check_default.argument(gasp.version <= 1, \"Unsupported gasp table version.\");\n gasp.numRanges = p.parseUShort();\n gasp.gaspRanges = [];\n for (let i = 0; i < gasp.numRanges; i++) {\n gasp.gaspRanges[i] = {\n rangeMaxPPEM: p.parseUShort(),\n rangeGaspBehavior: p.parseUShort()\n };\n }\n return gasp;\n}\nfunction makeGaspTable(gasp) {\n const result = new table_default.Table(\"gasp\", [\n { name: \"version\", type: \"USHORT\", value: 1 },\n { name: \"numRanges\", type: \"USHORT\", value: gasp.numRanges }\n ]);\n for (let i in gasp.gaspRanges) {\n result.fields.push({ name: \"rangeMaxPPEM\", type: \"USHORT\", value: gasp.gaspRanges[i].rangeMaxPPEM });\n result.fields.push({ name: \"rangeGaspBehavior\", type: \"USHORT\", value: gasp.gaspRanges[i].rangeGaspBehavior });\n }\n return result;\n}\nvar gasp_default = { parse: parseGaspTable, make: makeGaspTable };\n\n// src/tables/svg.mjs\nfunction parseSvgTable(data, offset) {\n const svgTable = /* @__PURE__ */ new Map();\n const buf = data.buffer;\n const p = new Parser(data, offset);\n const version = p.parseUShort();\n if (version !== 0) return svgTable;\n p.relativeOffset = p.parseOffset32();\n const svgDocumentListOffset = data.byteOffset + offset + p.relativeOffset;\n const numEntries = p.parseUShort();\n const svgDocMap = /* @__PURE__ */ new Map();\n for (let i = 0; i < numEntries; i++) {\n const startGlyphID = p.parseUShort();\n const endGlyphID = p.parseUShort();\n const svgDocOffset = svgDocumentListOffset + p.parseOffset32();\n const svgDocLength = p.parseULong();\n let svgDoc = svgDocMap.get(svgDocOffset);\n if (svgDoc === void 0) {\n svgDoc = new Uint8Array(buf, svgDocOffset, svgDocLength);\n svgDocMap.set(svgDocOffset, svgDoc);\n }\n for (let i2 = startGlyphID; i2 <= endGlyphID; i2++) {\n svgTable.set(i2, svgDoc);\n }\n }\n return svgTable;\n}\nfunction makeSvgTable(svgTable) {\n const glyphIds = Array.from(svgTable.keys()).sort();\n const documentRecords = [];\n const documentBuffers = [];\n const documentOffsets = /* @__PURE__ */ new Map();\n let nextSvgDocOffset = 0;\n let record = { endGlyphID: null };\n for (let i = 0, l = glyphIds.length; i < l; i++) {\n const glyphId = glyphIds[i];\n const svgDoc = svgTable.get(glyphId);\n let svgDocOffset = documentOffsets.get(svgDoc);\n if (svgDocOffset === void 0) {\n svgDocOffset = nextSvgDocOffset;\n documentBuffers.push(svgDoc);\n documentOffsets.set(svgDoc, svgDocOffset);\n nextSvgDocOffset += svgDoc.byteLength;\n }\n if (glyphId - 1 === record.endGlyphID && svgDocOffset === record.svgDocOffset) {\n record.endGlyphID = glyphId;\n } else {\n record = {\n startGlyphID: glyphId,\n endGlyphID: glyphId,\n svgDocOffset,\n svgDocLength: svgDoc.byteLength\n };\n documentRecords.push(record);\n }\n }\n const numEntries = documentRecords.length;\n const numDocuments = documentBuffers.length;\n const documentsOffset = 2 + numEntries * (2 + 2 + 4 + 4);\n const fields = new Array(3 + 1 + numEntries * 4 + numDocuments);\n let fieldIndex = 0;\n fields[fieldIndex++] = { name: \"version\", type: \"USHORT\", value: 0 };\n fields[fieldIndex++] = { name: \"svgDocumentListOffset\", type: \"ULONG\", value: 2 + 4 + 4 };\n fields[fieldIndex++] = { name: \"reserved\", type: \"ULONG\", value: 0 };\n fields[fieldIndex++] = { name: \"numEntries\", type: \"USHORT\", value: numEntries };\n for (let i = 0; i < numEntries; i++) {\n const namePrefix = \"documentRecord_\" + i;\n const { startGlyphID, endGlyphID, svgDocOffset, svgDocLength } = documentRecords[i];\n fields[fieldIndex++] = { name: namePrefix + \"_startGlyphID\", type: \"USHORT\", value: startGlyphID };\n fields[fieldIndex++] = { name: namePrefix + \"_endGlyphID\", type: \"USHORT\", value: endGlyphID };\n fields[fieldIndex++] = { name: namePrefix + \"_svgDocOffset\", type: \"ULONG\", value: documentsOffset + svgDocOffset };\n fields[fieldIndex++] = { name: namePrefix + \"_svgDocLength\", type: \"ULONG\", value: svgDocLength };\n }\n for (let i = 0; i < numDocuments; i++) {\n fields[fieldIndex++] = { name: \"svgDoc_\" + i, type: \"LITERAL\", value: documentBuffers[i] };\n }\n return new table_default.Table(\"SVG \", fields);\n}\nvar svg_default = {\n make: makeSvgTable,\n parse: parseSvgTable\n};\n\n// src/tables/sfnt.mjs\nfunction log2(v) {\n return Math.log(v) / Math.log(2) | 0;\n}\nfunction computeCheckSum(bytes) {\n while (bytes.length % 4 !== 0) {\n bytes.push(0);\n }\n let sum = 0;\n for (let i = 0; i < bytes.length; i += 4) {\n sum += (bytes[i] << 24) + (bytes[i + 1] << 16) + (bytes[i + 2] << 8) + bytes[i + 3];\n }\n sum %= Math.pow(2, 32);\n return sum;\n}\nfunction makeTableRecord(tag, checkSum, offset, length) {\n return new table_default.Record(\"Table Record\", [\n { name: \"tag\", type: \"TAG\", value: tag !== void 0 ? tag : \"\" },\n { name: \"checkSum\", type: \"ULONG\", value: checkSum !== void 0 ? checkSum : 0 },\n { name: \"offset\", type: \"ULONG\", value: offset !== void 0 ? offset : 0 },\n { name: \"length\", type: \"ULONG\", value: length !== void 0 ? length : 0 }\n ]);\n}\nfunction makeSfntTable(tables) {\n const sfnt = new table_default.Table(\"sfnt\", [\n { name: \"version\", type: \"TAG\", value: \"OTTO\" },\n { name: \"numTables\", type: \"USHORT\", value: 0 },\n { name: \"searchRange\", type: \"USHORT\", value: 0 },\n { name: \"entrySelector\", type: \"USHORT\", value: 0 },\n { name: \"rangeShift\", type: \"USHORT\", value: 0 }\n ]);\n sfnt.tables = tables;\n sfnt.numTables = tables.length;\n const highestPowerOf2 = Math.pow(2, log2(sfnt.numTables));\n sfnt.searchRange = 16 * highestPowerOf2;\n sfnt.entrySelector = log2(highestPowerOf2);\n sfnt.rangeShift = sfnt.numTables * 16 - sfnt.searchRange;\n const recordFields = [];\n const tableFields = [];\n let offset = sfnt.sizeOf() + makeTableRecord().sizeOf() * sfnt.numTables;\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({ name: \"padding\", type: \"BYTE\", value: 0 });\n }\n for (let i = 0; i < tables.length; i += 1) {\n const t = tables[i];\n check_default.argument(t.tableName.length === 4, \"Table name\" + t.tableName + \" is invalid.\");\n const tableLength = t.sizeOf();\n const tableRecord = makeTableRecord(t.tableName, computeCheckSum(t.encode()), offset, tableLength);\n recordFields.push({ name: tableRecord.tag + \" Table Record\", type: \"RECORD\", value: tableRecord });\n tableFields.push({ name: t.tableName + \" table\", type: \"RECORD\", value: t });\n offset += tableLength;\n check_default.argument(!isNaN(offset), \"Something went wrong calculating the offset.\");\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({ name: \"padding\", type: \"BYTE\", value: 0 });\n }\n }\n recordFields.sort(function(r1, r2) {\n if (r1.value.tag > r2.value.tag) {\n return 1;\n } else {\n return -1;\n }\n });\n sfnt.fields = sfnt.fields.concat(recordFields);\n sfnt.fields = sfnt.fields.concat(tableFields);\n return sfnt;\n}\nfunction metricsForChar(font, chars, notFoundMetrics) {\n for (let i = 0; i < chars.length; i += 1) {\n const glyphIndex = font.charToGlyphIndex(chars[i]);\n if (glyphIndex > 0) {\n const glyph = font.glyphs.get(glyphIndex);\n return glyph.getMetrics();\n }\n }\n return notFoundMetrics;\n}\nfunction average(vs) {\n let sum = 0;\n for (let i = 0; i < vs.length; i += 1) {\n sum += vs[i];\n }\n return sum / vs.length;\n}\nfunction fontToSfntTable(font) {\n const xMins = [];\n const yMins = [];\n const xMaxs = [];\n const yMaxs = [];\n const advanceWidths = [];\n const leftSideBearings = [];\n const rightSideBearings = [];\n let firstCharIndex;\n let lastCharIndex = 0;\n let ulUnicodeRange1 = 0;\n let ulUnicodeRange2 = 0;\n let ulUnicodeRange3 = 0;\n let ulUnicodeRange4 = 0;\n for (let i = 0; i < font.glyphs.length; i += 1) {\n const glyph = font.glyphs.get(i);\n const unicode = glyph.unicode | 0;\n if (isNaN(glyph.advanceWidth)) {\n throw new Error(\"Glyph \" + glyph.name + \" (\" + i + \"): advanceWidth is not a number.\");\n }\n if (firstCharIndex > unicode || firstCharIndex === void 0) {\n if (unicode > 0) {\n firstCharIndex = unicode;\n }\n }\n if (lastCharIndex < unicode) {\n lastCharIndex = unicode;\n }\n const position = os2_default.getUnicodeRange(unicode);\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new Error(\"Unicode ranges bits > 123 are reserved for internal usage\");\n }\n if (glyph.name === \".notdef\") continue;\n const metrics = glyph.getMetrics();\n xMins.push(metrics.xMin);\n yMins.push(metrics.yMin);\n xMaxs.push(metrics.xMax);\n yMaxs.push(metrics.yMax);\n leftSideBearings.push(metrics.leftSideBearing);\n rightSideBearings.push(metrics.rightSideBearing);\n advanceWidths.push(glyph.advanceWidth);\n }\n const globals = {\n xMin: Math.min.apply(null, xMins),\n yMin: Math.min.apply(null, yMins),\n xMax: Math.max.apply(null, xMaxs),\n yMax: Math.max.apply(null, yMaxs),\n advanceWidthMax: Math.max.apply(null, advanceWidths),\n advanceWidthAvg: average(advanceWidths),\n minLeftSideBearing: Math.min.apply(null, leftSideBearings),\n maxLeftSideBearing: Math.max.apply(null, leftSideBearings),\n minRightSideBearing: Math.min.apply(null, rightSideBearings)\n };\n globals.ascender = font.ascender;\n globals.descender = font.descender;\n let macStyle = 0;\n if (font.weightClass >= 600) {\n macStyle |= font.macStyleValues.BOLD;\n }\n if (font.italicAngle < 0) {\n macStyle |= font.macStyleValues.ITALIC;\n }\n const headTable = head_default.make({\n flags: 3,\n // 00000011 (baseline for font at y=0; left sidebearing point at x=0)\n unitsPerEm: font.unitsPerEm,\n xMin: globals.xMin,\n yMin: globals.yMin,\n xMax: globals.xMax,\n yMax: globals.yMax,\n lowestRecPPEM: 3,\n macStyle,\n createdTimestamp: font.createdTimestamp\n });\n const hheaTable = hhea_default.make({\n ascender: globals.ascender,\n descender: globals.descender,\n advanceWidthMax: globals.advanceWidthMax,\n minLeftSideBearing: globals.minLeftSideBearing,\n minRightSideBearing: globals.minRightSideBearing,\n xMaxExtent: globals.maxLeftSideBearing + (globals.xMax - globals.xMin),\n numberOfHMetrics: font.glyphs.length\n });\n const maxpTable = maxp_default.make(font.glyphs.length);\n const os2Table = os2_default.make(Object.assign({\n xAvgCharWidth: Math.round(globals.advanceWidthAvg),\n usFirstCharIndex: firstCharIndex,\n usLastCharIndex: lastCharIndex,\n ulUnicodeRange1,\n ulUnicodeRange2,\n ulUnicodeRange3,\n ulUnicodeRange4,\n // See http://typophile.com/node/13081 for more info on vertical metrics.\n // We get metrics for typical characters (such as \"x\" for xHeight).\n // We provide some fallback characters if characters are unavailable: their\n // ordering was chosen experimentally.\n sTypoAscender: globals.ascender,\n sTypoDescender: globals.descender,\n sTypoLineGap: 0,\n usWinAscent: globals.yMax,\n usWinDescent: Math.abs(globals.yMin),\n ulCodePageRange1: 1,\n // FIXME: hard-code Latin 1 support for now\n sxHeight: metricsForChar(font, \"xyvw\", { yMax: Math.round(globals.ascender / 2) }).yMax,\n sCapHeight: metricsForChar(font, \"HIKLEFJMNTZBDPRAGOQSUVWXY\", globals).yMax,\n usDefaultChar: font.hasChar(\" \") ? 32 : 0,\n // Use space as the default character, if available.\n usBreakChar: font.hasChar(\" \") ? 32 : 0\n // Use space as the break character, if available.\n }, font.tables.os2));\n const hmtxTable = hmtx_default.make(font.glyphs);\n const cmapTable = cmap_default.make(font.glyphs);\n const englishFamilyName = font.getEnglishName(\"fontFamily\");\n const englishStyleName = font.getEnglishName(\"fontSubfamily\");\n const englishFullName = englishFamilyName + \" \" + englishStyleName;\n let postScriptName = font.getEnglishName(\"postScriptName\");\n if (!postScriptName) {\n postScriptName = englishFamilyName.replace(/\\s/g, \"\") + \"-\" + englishStyleName;\n }\n const names = {};\n for (let n in font.names) {\n names[n] = font.names[n];\n }\n names.unicode = names.unicode || {};\n names.macintosh = names.macintosh || {};\n names.windows = names.windows || {};\n const fontNamesUnicode = font.names.unicode || {};\n const fontNamesMacintosh = font.names.macintosh || {};\n const fontNamesWindows = font.names.windows || {};\n for (const platform in names) {\n names[platform] = names[platform] || {};\n if (!names[platform].uniqueID) {\n const manufacturer = font.getEnglishName(\"manufacturer\") || \"\";\n names[platform].uniqueID = { en: `${manufacturer}: ${englishFullName}` };\n }\n if (!names[platform].postScriptName) {\n names[platform].postScriptName = { en: postScriptName };\n }\n }\n if (!names.unicode.preferredFamily) {\n names.unicode.preferredFamily = fontNamesUnicode.fontFamily || fontNamesMacintosh.fontFamily || fontNamesWindows.fontFamily;\n }\n if (!names.macintosh.preferredFamily) {\n names.macintosh.preferredFamily = fontNamesMacintosh.fontFamily || fontNamesUnicode.fontFamily || fontNamesWindows.fontFamily;\n }\n if (!names.windows.preferredFamily) {\n names.windows.preferredFamily = fontNamesWindows.fontFamily || fontNamesUnicode.fontFamily || fontNamesMacintosh.fontFamily;\n }\n if (!names.unicode.preferredSubfamily) {\n names.unicode.preferredSubfamily = fontNamesUnicode.fontSubfamily || fontNamesMacintosh.fontSubfamily || fontNamesWindows.fontSubfamily;\n }\n if (!names.macintosh.preferredSubfamily) {\n names.macintosh.preferredSubfamily = fontNamesMacintosh.fontSubfamily || fontNamesUnicode.fontSubfamily || fontNamesWindows.fontSubfamily;\n }\n if (!names.windows.preferredSubfamily) {\n names.windows.preferredSubfamily = fontNamesWindows.fontSubfamily || fontNamesUnicode.fontSubfamily || fontNamesMacintosh.fontSubfamily;\n }\n const languageTags = [];\n const nameTable = name_default.make(names, languageTags);\n const ltagTable = languageTags.length > 0 ? ltag_default.make(languageTags) : void 0;\n const postTable = post_default.make(font);\n const cffTable = cff_default.make(font.glyphs, {\n version: font.getEnglishName(\"version\"),\n fullName: englishFullName,\n familyName: englishFamilyName,\n weightName: englishStyleName,\n postScriptName,\n unitsPerEm: font.unitsPerEm,\n fontBBox: [0, globals.yMin, globals.ascender, globals.advanceWidthMax],\n topDict: font.tables.cff && font.tables.cff.topDict || {}\n });\n const metaTable = font.metas && Object.keys(font.metas).length > 0 ? meta_default.make(font.metas) : void 0;\n const tables = [headTable, hheaTable, maxpTable, os2Table, nameTable, cmapTable, postTable, cffTable, hmtxTable];\n if (ltagTable) {\n tables.push(ltagTable);\n }\n const optionalTables = {\n gsub: gsub_default,\n cpal: cpal_default,\n colr: colr_default,\n stat: stat_default,\n avar: avar_default,\n cvar: cvar_default,\n fvar: fvar_default,\n gvar: gvar_default,\n gasp: gasp_default,\n svg: svg_default\n };\n const optionalTableArgs = {\n avar: [font.tables.fvar],\n fvar: [font.names]\n };\n for (let tableName in optionalTables) {\n const table = font.tables[tableName];\n if (table) {\n const tableData = optionalTables[tableName].make.call(font, table, ...optionalTableArgs[tableName] || []);\n if (tableData) {\n tables.push(tableData);\n }\n }\n }\n if (metaTable) {\n tables.push(metaTable);\n }\n const sfntTable = makeSfntTable(tables);\n const bytes = sfntTable.encode();\n const checkSum = computeCheckSum(bytes);\n const tableFields = sfntTable.fields;\n let checkSumAdjusted = false;\n for (let i = 0; i < tableFields.length; i += 1) {\n if (tableFields[i].name === \"head table\") {\n tableFields[i].value.checkSumAdjustment = 2981146554 - checkSum;\n checkSumAdjusted = true;\n break;\n }\n }\n if (!checkSumAdjusted) {\n throw new Error(\"Could not find head table with checkSum to adjust.\");\n }\n return sfntTable;\n}\nvar sfnt_default = { make: makeSfntTable, fontToTable: fontToSfntTable, computeCheckSum };\n\n// src/layout.mjs\nfunction searchTag(arr, tag) {\n let imin = 0;\n let imax = arr.length - 1;\n while (imin <= imax) {\n const imid = imin + imax >>> 1;\n const val = arr[imid].tag;\n if (val === tag) {\n return imid;\n } else if (val < tag) {\n imin = imid + 1;\n } else {\n imax = imid - 1;\n }\n }\n return -imin - 1;\n}\nfunction binSearch(arr, value) {\n let imin = 0;\n let imax = arr.length - 1;\n while (imin <= imax) {\n const imid = imin + imax >>> 1;\n const val = arr[imid];\n if (val === value) {\n return imid;\n } else if (val < value) {\n imin = imid + 1;\n } else {\n imax = imid - 1;\n }\n }\n return -imin - 1;\n}\nfunction searchRange(ranges, value) {\n let range;\n let imin = 0;\n let imax = ranges.length - 1;\n while (imin <= imax) {\n const imid = imin + imax >>> 1;\n range = ranges[imid];\n const start = range.start;\n if (start === value) {\n return range;\n } else if (start < value) {\n imin = imid + 1;\n } else {\n imax = imid - 1;\n }\n }\n if (imin > 0) {\n range = ranges[imin - 1];\n if (value > range.end) return 0;\n return range;\n }\n}\nfunction Layout(font, tableName) {\n this.font = font;\n this.tableName = tableName;\n}\nLayout.prototype = {\n /**\n * Binary search an object by \"tag\" property\n * @instance\n * @function searchTag\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {string} tag\n * @return {number}\n */\n searchTag,\n /**\n * Binary search in a list of numbers\n * @instance\n * @function binSearch\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {number} value\n * @return {number}\n */\n binSearch,\n /**\n * Get or create the Layout table (GSUB, GPOS etc).\n * @param {boolean} create - Whether to create a new one.\n * @return {Object} The GSUB or GPOS table.\n */\n getTable: function(create) {\n let layout = this.font.tables[this.tableName];\n if (!layout && create) {\n layout = this.font.tables[this.tableName] = this.createDefaultTable();\n }\n return layout;\n },\n /**\n * Returns all scripts in the substitution table.\n * @instance\n * @return {Array}\n */\n getScriptNames: function() {\n let layout = this.getTable();\n if (!layout) {\n return [];\n }\n return layout.scripts.map(function(script) {\n return script.tag;\n });\n },\n /**\n * Returns the best bet for a script name.\n * Returns 'DFLT' if it exists.\n * If not, returns 'latn' if it exists.\n * If neither exist, returns undefined.\n */\n getDefaultScriptName: function() {\n let layout = this.getTable();\n if (!layout) {\n return;\n }\n let hasLatn = false;\n for (let i = 0; i < layout.scripts.length; i++) {\n const name = layout.scripts[i].tag;\n if (name === \"DFLT\") return name;\n if (name === \"latn\") hasLatn = true;\n }\n if (hasLatn) return \"latn\";\n },\n /**\n * Returns all LangSysRecords in the given script.\n * @instance\n * @param {string} [script='DFLT']\n * @param {boolean} create - forces the creation of this script table if it doesn't exist.\n * @return {Object} An object with tag and script properties.\n */\n getScriptTable: function(script, create) {\n const layout = this.getTable(create);\n if (layout) {\n script = script || \"DFLT\";\n const scripts = layout.scripts;\n const pos = searchTag(layout.scripts, script);\n if (pos >= 0) {\n return scripts[pos].script;\n } else if (create) {\n const scr = {\n tag: script,\n script: {\n defaultLangSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] },\n langSysRecords: []\n }\n };\n scripts.splice(-1 - pos, 0, scr);\n return scr.script;\n }\n }\n },\n /**\n * Returns a language system table\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {boolean} create - forces the creation of this langSysTable if it doesn't exist.\n * @return {Object}\n */\n getLangSysTable: function(script, language, create) {\n const scriptTable = this.getScriptTable(script, create);\n if (scriptTable) {\n if (!language || language === \"dflt\" || language === \"DFLT\") {\n return scriptTable.defaultLangSys;\n }\n const pos = searchTag(scriptTable.langSysRecords, language);\n if (pos >= 0) {\n return scriptTable.langSysRecords[pos].langSys;\n } else if (create) {\n const langSysRecord = {\n tag: language,\n langSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] }\n };\n scriptTable.langSysRecords.splice(-1 - pos, 0, langSysRecord);\n return langSysRecord.langSys;\n }\n }\n },\n /**\n * Get a specific feature table.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - One of the codes listed at https://www.microsoft.com/typography/OTSPEC/featurelist.htm\n * @param {boolean} create - forces the creation of the feature table if it doesn't exist.\n * @return {Object}\n */\n getFeatureTable: function(script, language, feature, create) {\n const langSysTable2 = this.getLangSysTable(script, language, create);\n if (langSysTable2) {\n let featureRecord;\n const featIndexes = langSysTable2.featureIndexes;\n const allFeatures = this.font.tables[this.tableName].features;\n for (let i = 0; i < featIndexes.length; i++) {\n featureRecord = allFeatures[featIndexes[i]];\n if (featureRecord.tag === feature) {\n return featureRecord.feature;\n }\n }\n if (create) {\n const index = allFeatures.length;\n check_default.assert(index === 0 || feature >= allFeatures[index - 1].tag, \"Features must be added in alphabetical order.\");\n featureRecord = {\n tag: feature,\n feature: { params: 0, lookupListIndexes: [] }\n };\n allFeatures.push(featureRecord);\n featIndexes.push(index);\n return featureRecord.feature;\n }\n }\n },\n /**\n * Get the lookup tables of a given type for a script/language/feature.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - 4-letter feature code\n * @param {number} lookupType - 1 to 9\n * @param {boolean} create - forces the creation of the lookup table if it doesn't exist, with no subtables.\n * @return {Object[]}\n */\n getLookupTables: function(script, language, feature, lookupType, create) {\n const featureTable = this.getFeatureTable(script, language, feature, create);\n const tables = [];\n if (featureTable) {\n let lookupTable;\n const lookupListIndexes = featureTable.lookupListIndexes;\n const allLookups = this.font.tables[this.tableName].lookups;\n for (let i = 0; i < lookupListIndexes.length; i++) {\n lookupTable = allLookups[lookupListIndexes[i]];\n if (lookupTable.lookupType === lookupType) {\n tables.push(lookupTable);\n }\n }\n if (tables.length === 0 && create) {\n lookupTable = {\n lookupType,\n lookupFlag: 0,\n subtables: [],\n markFilteringSet: void 0\n };\n const index = allLookups.length;\n allLookups.push(lookupTable);\n lookupListIndexes.push(index);\n return [lookupTable];\n }\n }\n return tables;\n },\n /**\n * Find a glyph in a class definition table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#class-definition-table\n * @param {object} classDefTable - an OpenType Layout class definition table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getGlyphClass: function(classDefTable, glyphIndex) {\n switch (classDefTable.format) {\n case 1: {\n if (classDefTable.startGlyph <= glyphIndex && glyphIndex < classDefTable.startGlyph + classDefTable.classes.length) {\n return classDefTable.classes[glyphIndex - classDefTable.startGlyph];\n }\n return 0;\n }\n case 2: {\n const range = searchRange(classDefTable.ranges, glyphIndex);\n return range ? range.classId : 0;\n }\n }\n },\n /**\n * Find a glyph in a coverage table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#coverage-table\n * @param {object} coverageTable - an OpenType Layout coverage table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getCoverageIndex: function(coverageTable, glyphIndex) {\n switch (coverageTable.format) {\n case 1: {\n const index = binSearch(coverageTable.glyphs, glyphIndex);\n return index >= 0 ? index : -1;\n }\n case 2: {\n const range = searchRange(coverageTable.ranges, glyphIndex);\n return range ? range.index + glyphIndex - range.start : -1;\n }\n }\n },\n /**\n * Returns the list of glyph indexes of a coverage table.\n * Format 1: the list is stored raw\n * Format 2: compact list as range records.\n * @instance\n * @param {Object} coverageTable\n * @return {Array}\n */\n expandCoverage: function(coverageTable) {\n if (coverageTable.format === 1) {\n return coverageTable.glyphs;\n } else {\n const glyphs = [];\n const ranges = coverageTable.ranges;\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n const start = range.start;\n const end = range.end;\n for (let j = start; j <= end; j++) {\n glyphs.push(j);\n }\n }\n return glyphs;\n }\n }\n};\nvar layout_default = Layout;\n\n// src/position.mjs\nfunction Position(font) {\n layout_default.call(this, font, \"gpos\");\n}\nPosition.prototype = layout_default.prototype;\nPosition.prototype.init = function() {\n const script = this.getDefaultScriptName();\n this.defaultKerningTables = this.getKerningTables(script);\n};\nPosition.prototype.getKerningValue = function(kerningLookups, leftIndex, rightIndex) {\n for (let i = 0; i < kerningLookups.length; i++) {\n const subtables = kerningLookups[i].subtables;\n for (let j = 0; j < subtables.length; j++) {\n const subtable = subtables[j];\n const covIndex = this.getCoverageIndex(subtable.coverage, leftIndex);\n if (covIndex < 0) continue;\n switch (subtable.posFormat) {\n case 1: {\n let pairSet = subtable.pairSets[covIndex];\n for (let k = 0; k < pairSet.length; k++) {\n let pair = pairSet[k];\n if (pair.secondGlyph === rightIndex) {\n return pair.value1 && pair.value1.xAdvance || 0;\n }\n }\n break;\n }\n case 2: {\n const class1 = this.getGlyphClass(subtable.classDef1, leftIndex);\n const class2 = this.getGlyphClass(subtable.classDef2, rightIndex);\n const pair = subtable.classRecords[class1][class2];\n return pair.value1 && pair.value1.xAdvance || 0;\n }\n }\n }\n }\n return 0;\n};\nPosition.prototype.getKerningTables = function(script, language) {\n if (this.font.tables.gpos) {\n return this.getLookupTables(script, language, \"kern\", 2);\n }\n};\nvar position_default = Position;\n\n// src/util.mjs\nfunction arraysEqual(ar1, ar2) {\n const n = ar1.length;\n if (n !== ar2.length) {\n return false;\n }\n for (let i = 0; i < n; i++) {\n if (ar1[i] !== ar2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction binarySearch(array, key, value) {\n let low = 0, high = array.length - 1;\n let result = null;\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const record = array[mid];\n const recordValue = record[key];\n if (recordValue < value) {\n low = mid + 1;\n } else if (recordValue > value) {\n high = mid - 1;\n } else {\n result = record;\n break;\n }\n }\n return result;\n}\nfunction binarySearchIndex(array, key, value) {\n let low = 0, high = array.length - 1;\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const element = array[mid];\n if (element[key] < value) {\n low = mid + 1;\n } else if (element[key] > value) {\n high = mid - 1;\n } else {\n return mid;\n }\n }\n return -1;\n}\nfunction binarySearchInsert(array, key, value) {\n let low = 0, high = array.length;\n const compare = (a, b) => a[key] - b[key];\n while (low < high) {\n const mid = low + high >>> 1;\n if (compare(array[mid], value) < 0) low = mid + 1;\n else high = mid;\n }\n array.splice(low, 0, value);\n return low;\n}\nfunction isGzip(buf) {\n return buf[0] === 31 && buf[1] === 139 && buf[2] === 8;\n}\nfunction unGzip(gzip) {\n const data = new DataView(gzip.buffer, gzip.byteOffset, gzip.byteLength);\n let start = 10;\n const end = gzip.byteLength - 8;\n const flg = data.getInt8(3);\n if (flg & 4) {\n start += 2 + data.getUint16(start, true);\n }\n if (flg & 8) {\n while (start < end) if (gzip[start++] === 0) break;\n }\n if (flg & 16) {\n while (start < end) if (gzip[start++] === 0) break;\n }\n if (flg & 2) {\n start += 2;\n }\n if (start >= end) throw new Error(\"Can't find compressed blocks\");\n const isize = data.getUint32(data.byteLength - 4, true);\n return tinf_uncompress(gzip.subarray(start, end), new Uint8Array(isize));\n}\nfunction copyPoint(p) {\n return {\n x: p.x,\n y: p.y,\n onCurve: p.onCurve,\n lastPointOfContour: p.lastPointOfContour\n };\n}\nfunction copyComponent(c) {\n return {\n glyphIndex: c.glyphIndex,\n xScale: c.xScale,\n scale01: c.scale01,\n scale10: c.scale10,\n yScale: c.yScale,\n dx: c.dx,\n dy: c.dy\n };\n}\n\n// src/substitution.mjs\nfunction Substitution(font) {\n layout_default.call(this, font, \"gsub\");\n}\nfunction getSubstFormat(lookupTable, format, defaultSubtable) {\n const subtables = lookupTable.subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n if (subtable.substFormat === format) {\n return subtable;\n }\n }\n if (defaultSubtable) {\n subtables.push(defaultSubtable);\n return defaultSubtable;\n }\n return void 0;\n}\nSubstitution.prototype = layout_default.prototype;\nSubstitution.prototype.createDefaultTable = function() {\n return {\n version: 1,\n scripts: [{\n tag: \"DFLT\",\n script: {\n defaultLangSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] },\n langSysRecords: []\n }\n }],\n features: [],\n lookups: []\n };\n};\nSubstitution.prototype.getSingle = function(feature, script, language) {\n const substitutions = [];\n const lookupTables = this.getLookupTables(script, language, feature, 1);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n let j;\n if (subtable.substFormat === 1) {\n const delta = subtable.deltaGlyphId;\n for (j = 0; j < glyphs.length; j++) {\n const glyph = glyphs[j];\n substitutions.push({ sub: glyph, by: glyph + delta });\n }\n } else {\n const substitute = subtable.substitute;\n for (j = 0; j < glyphs.length; j++) {\n substitutions.push({ sub: glyphs[j], by: substitute[j] });\n }\n }\n }\n }\n return substitutions;\n};\nSubstitution.prototype.getMultiple = function(feature, script, language) {\n const substitutions = [];\n const lookupTables = this.getLookupTables(script, language, feature, 2);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n let j;\n for (j = 0; j < glyphs.length; j++) {\n const glyph = glyphs[j];\n const replacements = subtable.sequences[j];\n substitutions.push({ sub: glyph, by: replacements });\n }\n }\n }\n return substitutions;\n};\nSubstitution.prototype.getAlternates = function(feature, script, language) {\n const alternates = [];\n const lookupTables = this.getLookupTables(script, language, feature, 3);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n const alternateSets = subtable.alternateSets;\n for (let j = 0; j < glyphs.length; j++) {\n alternates.push({ sub: glyphs[j], by: alternateSets[j] });\n }\n }\n }\n return alternates;\n};\nSubstitution.prototype.getLigatures = function(feature, script, language) {\n const ligatures = [];\n const lookupTables = this.getLookupTables(script, language, feature, 4);\n for (let idx = 0; idx < lookupTables.length; idx++) {\n const subtables = lookupTables[idx].subtables;\n for (let i = 0; i < subtables.length; i++) {\n const subtable = subtables[i];\n const glyphs = this.expandCoverage(subtable.coverage);\n const ligatureSets = subtable.ligatureSets;\n for (let j = 0; j < glyphs.length; j++) {\n const startGlyph = glyphs[j];\n const ligSet = ligatureSets[j];\n for (let k = 0; k < ligSet.length; k++) {\n const lig = ligSet[k];\n ligatures.push({\n sub: [startGlyph].concat(lig.components),\n by: lig.ligGlyph\n });\n }\n }\n }\n }\n return ligatures;\n};\nSubstitution.prototype.addSingle = function(feature, substitution, script, language) {\n const lookupTable = this.getLookupTables(script, language, feature, 1, true)[0];\n const subtable = getSubstFormat(lookupTable, 2, {\n // lookup type 1 subtable, format 2, coverage format 1\n substFormat: 2,\n coverage: { format: 1, glyphs: [] },\n substitute: []\n });\n check_default.assert(subtable.coverage.format === 1, \"Single: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = substitution.sub;\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.substitute.splice(pos, 0, 0);\n }\n subtable.substitute[pos] = substitution.by;\n};\nSubstitution.prototype.addMultiple = function(feature, substitution, script, language) {\n check_default.assert(substitution.by instanceof Array && substitution.by.length > 1, 'Multiple: \"by\" must be an array of two or more ids');\n const lookupTable = this.getLookupTables(script, language, feature, 2, true)[0];\n const subtable = getSubstFormat(lookupTable, 1, {\n // lookup type 2 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n sequences: []\n });\n check_default.assert(subtable.coverage.format === 1, \"Multiple: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = substitution.sub;\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.sequences.splice(pos, 0, 0);\n }\n subtable.sequences[pos] = substitution.by;\n};\nSubstitution.prototype.addAlternate = function(feature, substitution, script, language) {\n const lookupTable = this.getLookupTables(script, language, feature, 3, true)[0];\n const subtable = getSubstFormat(lookupTable, 1, {\n // lookup type 3 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n alternateSets: []\n });\n check_default.assert(subtable.coverage.format === 1, \"Alternate: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = substitution.sub;\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.alternateSets.splice(pos, 0, 0);\n }\n subtable.alternateSets[pos] = substitution.by;\n};\nSubstitution.prototype.addLigature = function(feature, ligature, script, language) {\n const lookupTable = this.getLookupTables(script, language, feature, 4, true)[0];\n let subtable = lookupTable.subtables[0];\n if (!subtable) {\n subtable = {\n // lookup type 4 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n ligatureSets: []\n };\n lookupTable.subtables[0] = subtable;\n }\n check_default.assert(subtable.coverage.format === 1, \"Ligature: unable to modify coverage table format \" + subtable.coverage.format);\n const coverageGlyph = ligature.sub[0];\n const ligComponents = ligature.sub.slice(1);\n const ligatureTable = {\n ligGlyph: ligature.by,\n components: ligComponents\n };\n let pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos >= 0) {\n const ligatureSet = subtable.ligatureSets[pos];\n for (let i = 0; i < ligatureSet.length; i++) {\n if (arraysEqual(ligatureSet[i].components, ligComponents)) {\n return;\n }\n }\n ligatureSet.push(ligatureTable);\n } else {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.ligatureSets.splice(pos, 0, [ligatureTable]);\n }\n};\nSubstitution.prototype.getFeature = function(feature, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n return this.getSingle(feature, script, language);\n }\n switch (feature) {\n case \"aalt\":\n case \"salt\":\n return this.getSingle(feature, script, language).concat(this.getAlternates(feature, script, language));\n case \"dlig\":\n case \"liga\":\n case \"rlig\":\n return this.getLigatures(feature, script, language);\n case \"ccmp\":\n return this.getMultiple(feature, script, language).concat(this.getLigatures(feature, script, language));\n case \"stch\":\n return this.getMultiple(feature, script, language);\n }\n return void 0;\n};\nSubstitution.prototype.add = function(feature, sub, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n return this.addSingle(feature, sub, script, language);\n }\n switch (feature) {\n case \"aalt\":\n case \"salt\":\n if (typeof sub.by === \"number\") {\n return this.addSingle(feature, sub, script, language);\n }\n return this.addAlternate(feature, sub, script, language);\n case \"dlig\":\n case \"liga\":\n case \"rlig\":\n return this.addLigature(feature, sub, script, language);\n case \"ccmp\":\n if (sub.by instanceof Array) {\n return this.addMultiple(feature, sub, script, language);\n }\n return this.addLigature(feature, sub, script, language);\n }\n return void 0;\n};\nvar substitution_default = Substitution;\n\n// src/palettes.mjs\nvar PaletteManager = class {\n // private properties don't work with reify\n // @TODO: refactor once we migrated to ES6 modules, see https://github.com/opentypejs/opentype.js/pull/579\n // #font = null;\n /**\n * @type {integer} CPAL color used to (pre)fill unset colors in a palette.\n * Format 0xBBGGRRAA\n */\n // defaultValue = 0x000000FF;\n /**\n * \n * @param {opentype.Font} font \n */\n constructor(font) {\n this.defaultValue = 255;\n this.font = font;\n }\n /**\n * Returns the font's cpal table object if present\n * @returns {Object}\n */\n cpal() {\n if (this.font.tables && this.font.tables.cpal) {\n return this.font.tables.cpal;\n }\n return false;\n }\n /**\n * Returns an array of arrays of color values for each palette, optionally in a specified color format\n * @param {string} colorFormat \n * @returns {Array}\n */\n getAll(colorFormat) {\n const palettes = [];\n const cpal = this.cpal();\n if (!cpal) return palettes;\n for (let i = 0; i < cpal.colorRecordIndices.length; i++) {\n const startIndex = cpal.colorRecordIndices[i];\n const paletteColors = [];\n for (let j = startIndex; j < startIndex + cpal.numPaletteEntries; j++) {\n paletteColors.push(formatColor(cpal.colorRecords[j], colorFormat || \"hexa\"));\n }\n palettes.push(paletteColors);\n }\n return palettes;\n }\n /**\n * Converts a color value string or array of color value strings to CPAL integer color value(s)\n * @param {string|Array} color \n * @returns {integer}\n */\n toCPALcolor(color) {\n if (Array.isArray(color)) {\n return color.map((color2) => parseColor(color2, \"raw\"));\n }\n return parseColor(color, \"raw\");\n }\n /**\n * Fills a set of palette colors (from palette index, or a provided array of CPAL color values) with a set of colors, falling back to the default color value, until a given count\n * @param {Array|integer} palette Palette index integer or Array of colors to be filled\n * @param {Array} colors Colors to fill the palette with\n * @param {integer} _colorCount Number of colors to fill the palette with, defaults to the value of the numPaletteEntries field. Used internally by extend() and shouldn't be set manually\n * @returns \n */\n fillPalette(palette, colors = [], _colorCount = this.cpal().numPaletteEntries) {\n palette = Number.isInteger(palette) ? this.get(palette, \"raw\") : palette;\n return Object.assign(Array(_colorCount).fill(this.defaultValue), this.toCPALcolor(palette).concat(this.toCPALcolor(colors)));\n }\n /**\n * Extend existing palettes and numPaletteEntries by a number of color slots\n * @param {integer} num number of additional color slots to add to all palettes\n */\n extend(num) {\n if (this.ensureCPAL(Array(num).fill(this.defaultValue))) {\n return;\n }\n const cpal = this.cpal();\n const newCount = cpal.numPaletteEntries + num;\n const palettes = this.getAll().map((palette) => this.fillPalette(palette, [], newCount));\n cpal.numPaletteEntries = newCount;\n cpal.colorRecords = this.toCPALcolor(palettes.flat());\n this.updateIndices();\n }\n /**\n * Get a specific palette by its zero-based index\n * @param {integer} paletteIndex \n * @param {string} [colorFormat='hexa']\n * @returns {Array}\n */\n get(paletteIndex, colorFormat = \"hexa\") {\n return this.getAll(colorFormat)[paletteIndex] || null;\n }\n /**\n * Get a color from a specific palette by its zero-based index\n * @param {integer} index \n * @param {integer} paletteIndex\n * @param {string} [colorFormat ='hexa']\n * @returns \n */\n getColor(index, paletteIndex = 0, colorFormat = \"hexa\") {\n return getPaletteColor(this.font, index, paletteIndex, colorFormat);\n }\n /**\n * Set one or more colors on a specific palette by its zero-based index\n * @param {integer} index zero-based color index to start filling from\n * @param {string|integer|Array} color color value or array of color values\n * @param {integer} paletteIndex\n * @returns \n */\n setColor(index, colors, paletteIndex = 0) {\n index = parseInt(index);\n paletteIndex = parseInt(paletteIndex);\n let palettes = this.getAll(\"raw\");\n let palette = palettes[paletteIndex];\n if (!palette) {\n throw Error(`paletteIndex ${paletteIndex} out of range`);\n }\n const cpal = this.cpal();\n const colorCount = cpal.numPaletteEntries;\n if (!Array.isArray(colors)) {\n colors = [colors];\n }\n if (colors.length + index > colorCount) {\n this.extend(colors.length + index - colorCount);\n palettes = this.getAll(\"raw\");\n palette = palettes[paletteIndex];\n }\n for (let i = 0; i < colors.length; i++) {\n palette[i + index] = this.toCPALcolor(colors[i]);\n }\n cpal.colorRecords = palettes.flat();\n this.updateIndices();\n }\n /**\n * Add a new palette. \n * @param {Array} colors (optional) colors to add to the palette, differences to existing palettes will be filled with the defaultValue.\n * @returns \n */\n add(colors) {\n if (this.ensureCPAL(colors)) {\n return;\n }\n const cpal = this.cpal();\n const colorCount = cpal.numPaletteEntries;\n if (colors && colors.length) {\n colors = this.toCPALcolor(colors);\n if (colors.length > colorCount) {\n this.extend(colors.length - colorCount);\n } else if (colors.length < colorCount) {\n colors = this.fillPalette(colors);\n }\n cpal.colorRecordIndices.push(cpal.colorRecords.length);\n cpal.colorRecords.push(...colors);\n } else {\n cpal.colorRecordIndices.push(cpal.colorRecords.length);\n cpal.colorRecords.push(...Array(colorCount).fill(this.defaultValue));\n }\n }\n /**\n * deletes a palette by its zero-based index\n * @param {integer} paletteIndex \n */\n delete(paletteIndex) {\n const palettes = this.getAll(\"raw\");\n delete palettes[paletteIndex];\n const cpal = this.cpal();\n cpal.colorRecordIndices.pop();\n cpal.colorRecords = palettes.flat();\n }\n /**\n * Deletes a specific color index in all palettes and updates all layers using that color with the replacement index\n * @param {integer} colorIndex index of the color that should be deleted\n * @param {integer} replacementIndex index (according to the palette before deletion) of the color to replace in layers using the color to be to deleted\n */\n deleteColor(colorIndex, replacementIndex) {\n if (colorIndex === replacementIndex) {\n throw Error(\"replacementIndex cannot be the same as colorIndex\");\n }\n const cpal = this.cpal();\n const palettes = this.getAll(\"raw\");\n const updatedPalettes = [];\n if (replacementIndex > cpal.numPaletteEntries - 1) {\n throw Error(`Replacement index out of range: numPaletteEntries after deletion: ${cpal.numPaletteEntries - 1}, replacementIndex: ${replacementIndex})`);\n }\n for (let i = 0; i < palettes.length; i++) {\n const palette = palettes[i];\n const updatedPalette = palette.filter((color, index) => index !== colorIndex);\n updatedPalettes.push(updatedPalette);\n }\n const colrTable = this.font.tables.colr;\n if (colrTable) {\n const layerRecords = colrTable.layerRecords;\n for (let i = 0; i < layerRecords.length; i++) {\n const currentIndex = layerRecords[i].paletteIndex;\n if (currentIndex > colorIndex) {\n const shiftAmount = 1;\n layerRecords[i].paletteIndex -= shiftAmount;\n } else if (currentIndex === colorIndex) {\n let replacementShift = 0;\n for (let j = 0; j < palettes.length; j++) {\n if (replacementIndex > colorIndex && replacementIndex <= colorIndex + palettes[j].length) {\n replacementShift++;\n break;\n }\n }\n layerRecords[i].paletteIndex = replacementIndex - replacementShift;\n }\n }\n this.font.tables.colr = {\n ...colrTable,\n layerRecords\n };\n }\n const flattenedPalettes = updatedPalettes.flat();\n for (let i = 0; i < palettes.length; i++) {\n cpal.colorRecordIndices[i] -= i;\n }\n cpal.numPaletteEntries = Math.max(0, cpal.numPaletteEntries - 1);\n cpal.colorRecords = this.toCPALcolor(flattenedPalettes);\n }\n /**\n * Makes sure that the CPAL table exists and is populated with default values.\n * @param {Array} colors (optional) colors to populate on creation\n * @returns {Boolean} true if it was created, false if it already existed.\n */\n ensureCPAL(colors) {\n if (!this.cpal()) {\n if (!colors || !colors.length) {\n colors = [this.defaultValue];\n } else {\n colors = this.toCPALcolor(colors);\n }\n this.font.tables.cpal = {\n version: 0,\n numPaletteEntries: colors.length,\n colorRecords: colors,\n colorRecordIndices: [0]\n };\n return true;\n }\n return false;\n }\n /**\n * Mainly used internally. Recalculates the colorRecordIndices array based on the numPaletteEntries and number of palettes\n */\n updateIndices() {\n const cpal = this.cpal();\n const paletteCount = Math.ceil(cpal.colorRecords.length / cpal.numPaletteEntries);\n cpal.colorRecordIndices = [];\n for (let i = 0; i < paletteCount; i++) {\n cpal.colorRecordIndices.push(i * cpal.numPaletteEntries);\n }\n }\n};\n\n// src/layers.mjs\nvar LayerManager = class {\n // private properties don't work with reify\n // @TODO: refactor once we migrated to ES6 modules, see https://github.com/opentypejs/opentype.js/pull/579\n // #font = null;\n constructor(font) {\n this.font = font;\n }\n /**\n * Mainly used internally. Ensures that the COLR table exists and is populated with default values\n * @returns the LayerManager's font instance for chaining\n */\n ensureCOLR() {\n if (!this.font.tables.colr) {\n this.font.tables.colr = {\n version: 0,\n baseGlyphRecords: [],\n layerRecords: []\n };\n }\n return this.font;\n }\n /**\n * Gets the layers for a specific glyph\n * @param {integer} glyphIndex\n * @returns {Array} array of layer objects {glyph, paletteIndex}\n */\n get(glyphIndex) {\n const font = this.font;\n const layers = [];\n const colr = font.tables.colr;\n const cpal = font.tables.cpal;\n if (!colr || !cpal) {\n return layers;\n }\n const baseGlyph = binarySearch(colr.baseGlyphRecords, \"glyphID\", glyphIndex);\n if (!baseGlyph) {\n return layers;\n }\n const firstIndex = baseGlyph.firstLayerIndex;\n const numLayers = baseGlyph.numLayers;\n for (let l = 0; l < numLayers; l++) {\n const layer = colr.layerRecords[firstIndex + l];\n layers.push({\n glyph: font.glyphs.get(layer.glyphID),\n paletteIndex: layer.paletteIndex\n });\n }\n return layers;\n }\n /**\n * Adds one or more layers to a glyph, at the end or at a specific position.\n * @param {integer} glyphIndex glyph index to add the layer(s) to.\n * @param {Array|Object} layers layer object {glyph, paletteIndex}/{glyphID, paletteIndex} or array of layer objects.\n * @param {integer?} position position to insert the layers at (will default to adding at the end).\n */\n add(glyphIndex, layers, position) {\n const currentLayers = this.get(glyphIndex);\n layers = Array.isArray(layers) ? layers : [layers];\n if (position === void 0 || position === Infinity || position > currentLayers.length) {\n position = currentLayers.length;\n } else if (position < 0) {\n position = currentLayers.length + 1 + position % (currentLayers.length + 1);\n if (position >= currentLayers.length + 1) {\n position -= currentLayers.length + 1;\n }\n }\n const newLayers = [];\n for (let i = 0; i < position; i++) {\n const glyphID = Number.isInteger(currentLayers[i].glyph) ? currentLayers[i].glyph : currentLayers[i].glyph.index;\n newLayers.push({\n glyphID,\n paletteIndex: currentLayers[i].paletteIndex\n });\n }\n for (const layer of layers) {\n const glyphID = Number.isInteger(layer.glyph) ? layer.glyph : layer.glyph.index;\n newLayers.push({\n glyphID,\n paletteIndex: layer.paletteIndex\n });\n }\n for (let i = position; i < currentLayers.length; i++) {\n const glyphID = Number.isInteger(currentLayers[i].glyph) ? currentLayers[i].glyph : currentLayers[i].glyph.index;\n newLayers.push({\n glyphID,\n paletteIndex: currentLayers[i].paletteIndex\n });\n }\n this.updateColrTable(glyphIndex, newLayers);\n }\n /**\n * Sets a color glyph layer's paletteIndex property to a new index\n * @param {integer} glyphIndex glyph in the font by zero-based glyph index\n * @param {integer} layerIndex layer in the glyph by zero-based layer index\n * @param {integer} paletteIndex new color to set for the layer by zero-based index in any palette\n */\n setPaletteIndex(glyphIndex, layerIndex, paletteIndex) {\n let layers = this.get(glyphIndex);\n if (layers[layerIndex]) {\n layers = layers.map((layer, index) => ({\n glyphID: layer.glyph.index,\n paletteIndex: index === layerIndex ? paletteIndex : layer.paletteIndex\n }));\n this.updateColrTable(glyphIndex, layers);\n } else {\n console.error(\"Invalid layer index\");\n }\n }\n /**\n * Removes one or more layers from a glyph.\n * @param {integer} glyphIndex glyph index to remove the layer(s) from\n * @param {integer} start index to remove the layer at\n * @param {integer?} end (optional) if provided, removes all layers from start index to (and including) end index\n */\n remove(glyphIndex, start, end = start) {\n let currentLayers = this.get(glyphIndex);\n currentLayers = currentLayers.map((layer) => ({\n glyphID: layer.glyph.index,\n paletteIndex: layer.paletteIndex\n }));\n currentLayers.splice(start, end - start + 1);\n this.updateColrTable(glyphIndex, currentLayers);\n }\n /**\n * Mainly used internally. Mainly used internally. Updates the colr table, adding a baseGlyphRecord if needed,\n * ensuring that it's inserted at the correct position, updating numLayers, and adjusting firstLayerIndex values\n * for all baseGlyphRecords according to any deletions or insertions.\n * @param {integer} glyphIndex \n * @param {Array} layers array of layer objects {glyphID, paletteIndex}\n */\n updateColrTable(glyphIndex, layers) {\n this.ensureCOLR();\n const font = this.font;\n const colr = font.tables.colr;\n let index = binarySearchIndex(colr.baseGlyphRecords, \"glyphID\", glyphIndex);\n const addBaseGlyph = index === -1;\n if (addBaseGlyph) {\n const newBaseGlyphRecord = { glyphID: glyphIndex, firstLayerIndex: colr.layerRecords.length, numLayers: 0 };\n index = binarySearchInsert(colr.baseGlyphRecords, \"glyphID\", newBaseGlyphRecord);\n }\n const baseGlyphRecord = colr.baseGlyphRecords[index];\n const originalNumLayers = baseGlyphRecord.numLayers;\n const newNumLayers = layers.length;\n const layerDiff = newNumLayers - originalNumLayers;\n if (layerDiff > 0) {\n const newLayers = layers.slice(originalNumLayers).map((layer) => ({\n glyphID: layer.glyphID,\n paletteIndex: layer.paletteIndex\n }));\n colr.layerRecords.splice(baseGlyphRecord.firstLayerIndex + originalNumLayers, 0, ...newLayers);\n } else if (layerDiff < 0) {\n colr.layerRecords.splice(baseGlyphRecord.firstLayerIndex + newNumLayers, -layerDiff);\n }\n for (let i = 0; i < Math.min(originalNumLayers, newNumLayers); i++) {\n colr.layerRecords[baseGlyphRecord.firstLayerIndex + i] = {\n glyphID: layers[i].glyphID,\n paletteIndex: layers[i].paletteIndex\n };\n }\n baseGlyphRecord.numLayers = newNumLayers;\n if (layerDiff !== 0) {\n for (let i = 0; i < colr.baseGlyphRecords.length; i++) {\n const sibling = colr.baseGlyphRecords[i];\n if (i === index || sibling.firstLayerIndex < baseGlyphRecord.firstLayerIndex) continue;\n colr.baseGlyphRecords[i].firstLayerIndex += layerDiff;\n }\n }\n }\n};\n\n// src/svgimages.mjs\nvar SVGImageManager = class {\n /**\n * @param {opentype.Font} font\n */\n constructor(font) {\n this.font = font;\n this.cache = /* @__PURE__ */ new WeakMap();\n }\n /**\n * @param {number} glyphIndex\n * @returns {SvgImage | undefined}\n */\n get(glyphIndex) {\n const svgImageCacheEntry = this.getOrCreateSvgImageCacheEntry(glyphIndex);\n return svgImageCacheEntry && svgImageCacheEntry.image;\n }\n /**\n * @param {number} glyphIndex\n * @returns {Promise | undefined}\n */\n getAsync(glyphIndex) {\n const svgImageCacheEntry = this.getOrCreateSvgImageCacheEntry(glyphIndex);\n return svgImageCacheEntry && svgImageCacheEntry.promise;\n }\n /**\n * @param {number} glyphIndex\n * @returns {SVGImageCacheEntry | undefined}\n */\n getOrCreateSvgImageCacheEntry(glyphIndex) {\n const svg = this.font.tables.svg;\n if (svg === void 0) return;\n const svgBuf = svg.get(glyphIndex);\n if (svgBuf === void 0) return;\n let svgDocCacheEntry = this.cache.get(svgBuf);\n if (svgDocCacheEntry === void 0) {\n svgDocCacheEntry = createSvgDocCacheEntry(svgBuf);\n this.cache.set(svgBuf, svgDocCacheEntry);\n }\n let svgImageCacheEntry = svgDocCacheEntry.images.get(glyphIndex);\n if (svgImageCacheEntry === void 0) {\n svgImageCacheEntry = createSvgImageCacheEntry(this.font, svgDocCacheEntry.template, glyphIndex);\n svgImageCacheEntry.promise.then((svgImage) => {\n svgImageCacheEntry.image = svgImage;\n if (typeof this.font.onGlyphUpdated === \"function\") {\n try {\n this.font.onGlyphUpdated(glyphIndex);\n } catch (error) {\n console.error(\"font.onGlyphUpdated\", glyphIndex, error);\n }\n }\n });\n svgDocCacheEntry.images.set(glyphIndex, svgImageCacheEntry);\n }\n return svgImageCacheEntry;\n }\n};\nfunction createSvgDocCacheEntry(svgBuf) {\n return {\n template: decodeSvgDocument(svgBuf).then(makeSvgTemplate),\n images: /* @__PURE__ */ new Map()\n };\n}\nfunction createSvgImageCacheEntry(font, svgTemplatePromise, glyphIndex) {\n return {\n promise: svgTemplatePromise.then((svgTemplate) => {\n let svgText;\n if (typeof svgTemplate === \"string\") {\n svgText = svgTemplate;\n } else {\n svgTemplate[4] = glyphIndex;\n svgText = svgTemplate.join(\"\");\n }\n const svgImage = makeSvgImage(svgText, font.unitsPerEm);\n return svgImage.image.decode().then(() => svgImage);\n }),\n image: void 0\n };\n}\nvar decodeSvgDocument = typeof DecompressionStream === \"function\" ? decodeSvgDocumentWithDecompressionStream : decodeSvgDocumentWithTinyInflate;\nfunction decodeSvgDocumentWithTinyInflate(buf) {\n try {\n return Promise.resolve(new TextDecoder().decode(isGzip(buf) ? unGzip(buf) : buf));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction decodeSvgDocumentWithDecompressionStream(buf) {\n if (isGzip(buf)) {\n return new Response(new Response(buf).body.pipeThrough(new DecompressionStream(\"gzip\"))).text();\n }\n try {\n return Promise.resolve(new TextDecoder().decode(buf));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction makeSvgTemplate(text) {\n const documentStart = text.indexOf(\"\", documentStart + 4) + 1;\n if (/ id=['\"]glyph\\d+['\"]/.test(text.substring(documentStart, contentStart))) {\n return text;\n }\n const contentEnd = text.lastIndexOf(\"\");\n return [\n text.substring(0, contentStart),\n \"\",\n text.substring(contentStart, contentEnd),\n '',\n text.substring(contentEnd)\n ];\n}\nfunction makeSvgImage(text, unitsPerEm) {\n const svgDocument = new DOMParser().parseFromString(text, \"image/svg+xml\");\n const svg = svgDocument.documentElement;\n const viewBoxVal = svg.viewBox.baseVal;\n const widthVal = svg.width.baseVal;\n const heightVal = svg.height.baseVal;\n let xScale = 1;\n let yScale = 1;\n if (viewBoxVal.width > 0 && viewBoxVal.height > 0) {\n if (widthVal.unitType === 1) {\n xScale = widthVal.valueInSpecifiedUnits / viewBoxVal.width;\n yScale = heightVal.unitType === 1 ? heightVal.valueInSpecifiedUnits / viewBoxVal.height : xScale;\n } else if (heightVal.unitType === 1) {\n yScale = heightVal.valueInSpecifiedUnits / viewBoxVal.height;\n xScale = yScale;\n } else if (unitsPerEm) {\n xScale = unitsPerEm / viewBoxVal.width;\n yScale = unitsPerEm / viewBoxVal.height;\n }\n }\n const div = document.createElement(\"div\");\n div.style.position = \"fixed\";\n div.style.visibility = \"hidden\";\n div.appendChild(svg);\n document.body.appendChild(div);\n const bbox = svg.getBBox();\n document.body.removeChild(div);\n const leftSideBearing = (bbox.x - viewBoxVal.x) * xScale;\n const baseline = (viewBoxVal.y - bbox.y) * yScale;\n const width = bbox.width * xScale;\n const height = bbox.height * yScale;\n svg.setAttribute(\"viewBox\", [bbox.x, bbox.y, bbox.width, bbox.height].join(\" \"));\n if (xScale !== 1) svg.setAttribute(\"width\", width);\n if (yScale !== 1) svg.setAttribute(\"height\", height);\n const image = new Image(width, height);\n image.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(svg.outerHTML);\n return { leftSideBearing, baseline, image };\n}\n\n// src/tables/glyf.mjs\nvar _resolving = /* @__PURE__ */ new WeakMap();\nfunction parseGlyphCoordinate(p, flag, previousValue, shortVectorBitMask, sameBitMask) {\n let v;\n if ((flag & shortVectorBitMask) > 0) {\n v = p.parseByte();\n if ((flag & sameBitMask) === 0) {\n v = -v;\n }\n v = previousValue + v;\n } else {\n if ((flag & sameBitMask) > 0) {\n v = previousValue;\n } else {\n v = previousValue + p.parseShort();\n }\n }\n return v;\n}\nfunction parseGlyph(glyph, data, start) {\n const p = new parse_default.Parser(data, start);\n glyph._numberOfContours = p.parseShort();\n glyph._xMin = p.parseShort();\n glyph._yMin = p.parseShort();\n glyph._xMax = p.parseShort();\n glyph._yMax = p.parseShort();\n let flags;\n let flag;\n if (glyph._numberOfContours > 0) {\n const endPointIndices = glyph.endPointIndices = [];\n for (let i = 0; i < glyph._numberOfContours; i += 1) {\n endPointIndices.push(p.parseUShort());\n }\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (let i = 0; i < glyph.instructionLength; i += 1) {\n glyph.instructions.push(p.parseByte());\n }\n const numberOfCoordinates = endPointIndices[endPointIndices.length - 1] + 1;\n flags = [];\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = p.parseByte();\n flags.push(flag);\n if ((flag & 8) > 0) {\n const repeatCount = p.parseByte();\n for (let j = 0; j < repeatCount; j += 1) {\n flags.push(flag);\n i += 1;\n }\n }\n }\n check_default.argument(flags.length === numberOfCoordinates, \"Bad flags.\");\n if (endPointIndices.length > 0) {\n const points = [];\n let point;\n if (numberOfCoordinates > 0) {\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = flags[i];\n point = {};\n point.onCurve = !!(flag & 1);\n point.lastPointOfContour = endPointIndices.indexOf(i) >= 0;\n points.push(point);\n }\n let px = 0;\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = flags[i];\n point = points[i];\n point.x = parseGlyphCoordinate(p, flag, px, 2, 16);\n px = point.x;\n }\n let py = 0;\n for (let i = 0; i < numberOfCoordinates; i += 1) {\n flag = flags[i];\n point = points[i];\n point.y = parseGlyphCoordinate(p, flag, py, 4, 32);\n py = point.y;\n }\n }\n glyph.points = points;\n } else {\n glyph.points = [];\n }\n } else if (glyph._numberOfContours === 0) {\n glyph.points = [];\n } else {\n glyph.isComposite = true;\n glyph.points = [];\n glyph.components = [];\n let moreComponents = true;\n while (moreComponents) {\n flags = p.parseUShort();\n const component = {\n glyphIndex: p.parseUShort(),\n xScale: 1,\n scale01: 0,\n scale10: 0,\n yScale: 1,\n dx: 0,\n dy: 0\n };\n if ((flags & 1) > 0) {\n if ((flags & 2) > 0) {\n component.dx = p.parseShort();\n component.dy = p.parseShort();\n } else {\n component.matchedPoints = [p.parseUShort(), p.parseUShort()];\n }\n } else {\n if ((flags & 2) > 0) {\n component.dx = p.parseChar();\n component.dy = p.parseChar();\n } else {\n component.matchedPoints = [p.parseByte(), p.parseByte()];\n }\n }\n if ((flags & 8) > 0) {\n component.xScale = component.yScale = p.parseF2Dot14();\n } else if ((flags & 64) > 0) {\n component.xScale = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n } else if ((flags & 128) > 0) {\n component.xScale = p.parseF2Dot14();\n component.scale01 = p.parseF2Dot14();\n component.scale10 = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n }\n glyph.components.push(component);\n moreComponents = !!(flags & 32);\n }\n if (flags & 256) {\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (let i = 0; i < glyph.instructionLength; i += 1) {\n glyph.instructions.push(p.parseByte());\n }\n }\n }\n}\nfunction transformPoints(points, transform) {\n const newPoints = [];\n for (let i = 0; i < points.length; i += 1) {\n const pt = points[i];\n const newPt = {\n x: transform.xScale * pt.x + transform.scale10 * pt.y + transform.dx,\n y: transform.scale01 * pt.x + transform.yScale * pt.y + transform.dy,\n onCurve: pt.onCurve,\n lastPointOfContour: pt.lastPointOfContour\n };\n newPoints.push(newPt);\n }\n return newPoints;\n}\nfunction getContours(points) {\n const contours = [];\n let currentContour = [];\n for (let i = 0; i < points.length; i += 1) {\n const pt = points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n check_default.argument(currentContour.length === 0, \"There are still points left in the current contour.\");\n return contours;\n}\nfunction getPath(points) {\n const p = new path_default();\n if (!points) {\n return p;\n }\n const contours = getContours(points);\n for (let contourIndex = 0; contourIndex < contours.length; ++contourIndex) {\n const contour = contours[contourIndex];\n let curr = contour[contour.length - 1];\n let next = contour[0];\n if (curr.onCurve) {\n p.moveTo(curr.x, curr.y);\n } else {\n if (next.onCurve) {\n p.moveTo(next.x, next.y);\n } else {\n const start = { x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5 };\n p.moveTo(start.x, start.y);\n }\n }\n for (let i = 0; i < contour.length; ++i) {\n curr = next;\n next = contour[(i + 1) % contour.length];\n if (curr.onCurve) {\n p.lineTo(curr.x, curr.y);\n } else {\n let next2 = next;\n if (!next.onCurve) {\n next2 = { x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5 };\n }\n p.quadraticCurveTo(curr.x, curr.y, next2.x, next2.y);\n }\n }\n p.closePath();\n }\n return p;\n}\nfunction buildPath(glyphs, glyph) {\n if (glyph.isComposite) {\n if (!_resolving.has(glyphs)) {\n _resolving.set(glyphs, /* @__PURE__ */ new Set());\n }\n const resolving = _resolving.get(glyphs);\n resolving.add(glyph.index);\n try {\n for (let j = 0; j < glyph.components.length; j += 1) {\n const component = glyph.components[j];\n if (resolving.has(component.glyphIndex)) {\n continue;\n }\n const componentGlyph = glyphs.get(component.glyphIndex);\n componentGlyph.getPath();\n if (componentGlyph.points) {\n let transformedPoints;\n if (component.matchedPoints === void 0) {\n transformedPoints = transformPoints(componentGlyph.points, component);\n } else {\n if (component.matchedPoints[0] > glyph.points.length - 1 || component.matchedPoints[1] > componentGlyph.points.length - 1) {\n throw Error(\"Matched points out of range in \" + glyph.name);\n }\n const firstPt = glyph.points[component.matchedPoints[0]];\n let secondPt = componentGlyph.points[component.matchedPoints[1]];\n const transform = {\n xScale: component.xScale,\n scale01: component.scale01,\n scale10: component.scale10,\n yScale: component.yScale,\n dx: 0,\n dy: 0\n };\n secondPt = transformPoints([secondPt], transform)[0];\n transform.dx = firstPt.x - secondPt.x;\n transform.dy = firstPt.y - secondPt.y;\n transformedPoints = transformPoints(componentGlyph.points, transform);\n }\n glyph.points = glyph.points.concat(transformedPoints);\n }\n }\n } finally {\n resolving.delete(glyph.index);\n }\n }\n return getPath(glyph.points);\n}\nfunction parseGlyfTableAll(data, start, loca, font) {\n const glyphs = new glyphset_default.GlyphSet(font);\n for (let i = 0; i < loca.length - 1; i += 1) {\n const offset = loca[i];\n const nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset_default.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset_default.glyphLoader(font, i));\n }\n }\n return glyphs;\n}\nfunction parseGlyfTableOnLowMemory(data, start, loca, font) {\n const glyphs = new glyphset_default.GlyphSet(font);\n font._push = function(i) {\n const offset = loca[i];\n const nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset_default.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset_default.glyphLoader(font, i));\n }\n };\n return glyphs;\n}\nfunction parseGlyfTable(data, start, loca, font, opt) {\n if (opt.lowMemory)\n return parseGlyfTableOnLowMemory(data, start, loca, font);\n else\n return parseGlyfTableAll(data, start, loca, font);\n}\nvar glyf_default = { getPath, parse: parseGlyfTable };\n\n// src/variationprocessor.mjs\nvar VariationProcessor = class {\n constructor(font) {\n this.font = font;\n }\n /**\n * Modifies a coords object to make sure that tags have a length of 4\n * @param {Object} coords - variation coordinates\n */\n normalizeCoordTags(coords) {\n for (const tag in coords) {\n if (tag.length < 4) {\n const padded = tag.padEnd(4, \" \");\n coords[padded] === void 0 && (coords[padded] = coords[tag]);\n delete coords[tag];\n }\n }\n }\n /**\n * Normalizes the coordinates from the axis ranges to a range of -1 to 1.\n * @param {Object} coords - The coordinates object to normalize.\n * @returns {Array} The normalized coordinates as an array\n */\n getNormalizedCoords(coords) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n let normalized = [];\n this.normalizeCoordTags(coords);\n for (let i = 0; i < this.fvar().axes.length; i++) {\n const axis = this.fvar().axes[i];\n let tagValue = coords[axis.tag];\n if (tagValue === void 0) {\n tagValue = axis.defaultValue;\n }\n if (tagValue < axis.defaultValue) {\n normalized.push((tagValue - axis.defaultValue + Number.EPSILON) / (axis.defaultValue - axis.minValue + Number.EPSILON));\n } else {\n normalized.push((tagValue - axis.defaultValue + Number.EPSILON) / (axis.maxValue - axis.defaultValue + Number.EPSILON));\n }\n }\n if (this.avar()) {\n for (let i = 0; i < this.avar().axisSegmentMaps.length; i++) {\n let segment = this.avar().axisSegmentMaps[i];\n for (let j = 0; j < segment.axisValueMaps.length; j++) {\n let pair = segment.axisValueMaps[j];\n if (j >= 1 && normalized[i] < pair.fromCoordinate) {\n let prev = segment.axisValueMaps[j - 1];\n normalized[i] = ((normalized[i] - prev.fromCoordinate) * (pair.toCoordinate - prev.toCoordinate) + Number.EPSILON) / (pair.fromCoordinate - prev.fromCoordinate + Number.EPSILON) + prev.toCoordinate;\n break;\n }\n }\n }\n }\n return normalized;\n }\n /**\n * Interpolates points within a glyph if deltas are not provided for all points.\n * @param {Array} points - The points to be interpolated.\n * @param {Array} glyphPoints - Reference points from the glyph.\n * @param {Object} deltaMap - A map indicating which points have deltas.\n */\n interpolatePoints(points, glyphPoints, deltaMap) {\n if (points.length === 0) {\n return;\n }\n let pointIndex = 0;\n while (pointIndex < points.length) {\n let firstPoint = pointIndex;\n let endPoint = pointIndex;\n let point = points[endPoint];\n while (!point.lastPointOfContour) {\n point = points[++endPoint];\n }\n while (pointIndex <= endPoint && !deltaMap[pointIndex]) {\n pointIndex++;\n }\n if (pointIndex > endPoint) {\n continue;\n }\n let firstDelta = pointIndex;\n let curDelta = pointIndex;\n pointIndex++;\n while (pointIndex <= endPoint) {\n if (deltaMap[pointIndex]) {\n this.deltaInterpolate(curDelta + 1, pointIndex - 1, curDelta, pointIndex, glyphPoints, points);\n curDelta = pointIndex;\n }\n pointIndex++;\n }\n if (curDelta === firstDelta) {\n this.deltaShift(firstPoint, endPoint, curDelta, glyphPoints, points);\n } else {\n this.deltaInterpolate(curDelta + 1, endPoint, curDelta, firstDelta, glyphPoints, points);\n if (firstDelta > 0) {\n this.deltaInterpolate(firstPoint, firstDelta - 1, curDelta, firstDelta, glyphPoints, points);\n }\n }\n pointIndex = endPoint + 1;\n }\n }\n /**\n * Interpolates delta values between two points.\n * @param {number} p1 - Start point index for interpolation.\n * @param {number} p2 - End point index for interpolation.\n * @param {number} ref1 - Reference point index for the start delta.\n * @param {number} ref2 - Reference point index for the end delta.\n * @param {Array} glyphPoints - Reference points from the glyph.\n * @param {Array} points - The points to be adjusted.\n */\n deltaInterpolate(p1, p2, ref1, ref2, glyphPoints, points) {\n if (p1 > p2) {\n return;\n }\n let iterable = [\"x\", \"y\"];\n for (let i = 0; i < iterable.length; i++) {\n let k = iterable[i];\n if (glyphPoints[ref1][k] > glyphPoints[ref2][k]) {\n var p = ref1;\n ref1 = ref2;\n ref2 = p;\n }\n let in1 = glyphPoints[ref1][k];\n let in2 = glyphPoints[ref2][k];\n let out1 = points[ref1][k];\n let out2 = points[ref2][k];\n if (in1 !== in2 || out1 === out2) {\n let scale = in1 === in2 ? 0 : (out2 - out1) / (in2 - in1);\n for (let p3 = p1; p3 <= p2; p3++) {\n let out = glyphPoints[p3][k];\n if (out <= in1) {\n out += out1 - in1;\n } else if (out >= in2) {\n out += out2 - in2;\n } else {\n out = out1 + (out - in1) * scale;\n }\n points[p3][k] = out;\n }\n }\n }\n }\n /**\n * Applies a delta shift to a range of points based on a reference point.\n * @param {number} p1 - Start point index for shifting.\n * @param {number} p2 - End point index for shifting.\n * @param {number} ref - Reference point index.\n * @param {Array} glyphPoints - Reference points from the glyph.\n * @param {Array} points - The points to be shifted.\n */\n deltaShift(p1, p2, ref, glyphPoints, points) {\n let deltaX = points[ref].x - glyphPoints[ref].x;\n let deltaY = points[ref].y - glyphPoints[ref].y;\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n for (let p = p1; p <= p2; p++) {\n if (p !== ref) {\n points[p].x += deltaX;\n points[p].y += deltaY;\n }\n }\n }\n /**\n * Transforms glyph components based on variation data.\n * @param {Glyph} glyph - The composite glyph to transform.\n * @param {Array} transformedPoints - Points that are already transformed.\n * @param {Object} coords - Variation coordinates.\n * @param {Array} tuplePoints - Points that are part of the tuple.\n * @param {Object} header - Header information from the variation data.\n * @param {number} factor - The scaling factor for the transformation.\n */\n transformComponents(glyph, transformedPoints, coords, tuplePoints, header, factor) {\n let pointsIndex = 0;\n for (let c = 0; c < glyph.components.length; c++) {\n const component = glyph.components[c];\n const componentGlyph = this.font.glyphs.get(component.glyphIndex);\n const componentTransform = copyComponent(component);\n const deltaIndex = tuplePoints.indexOf(c);\n if (deltaIndex > -1) {\n componentTransform.dx += Math.round(header.deltas[deltaIndex] * factor);\n componentTransform.dy += Math.round(header.deltasY[deltaIndex] * factor);\n }\n const transformedComponentPoints = transformPoints(this.getTransform(componentGlyph, coords).points, componentTransform);\n transformedPoints.splice(pointsIndex, transformedComponentPoints.length, ...transformedComponentPoints);\n pointsIndex += componentGlyph.points.length;\n }\n }\n applyTupleVariationStore(variationData, points, coords, flavor = \"gvar\", args = {}) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n const normalizedCoords = this.getNormalizedCoords(coords);\n const { headers, sharedPoints } = variationData;\n const axisCount = this.fvar().axes.length;\n let transformedPoints;\n if (flavor === \"gvar\") {\n transformedPoints = points.map(copyPoint);\n } else if (flavor === \"cvar\") {\n transformedPoints = [...points];\n }\n for (let h = 0; h < headers.length; h++) {\n const header = headers[h];\n let factor = 1;\n for (let a = 0; a < axisCount; a++) {\n let tupleCoords = [0];\n switch (flavor) {\n case \"gvar\":\n tupleCoords = header.peakTuple ? header.peakTuple : this.gvar().sharedTuples[header.sharedTupleRecordsIndex];\n break;\n case \"cvar\":\n tupleCoords = header.peakTuple;\n break;\n }\n if (tupleCoords[a] === 0) {\n continue;\n }\n if (normalizedCoords[a] === 0) {\n factor = 0;\n break;\n }\n if (!header.intermediateStartTuple) {\n if (normalizedCoords[a] < Math.min(0, tupleCoords[a]) || normalizedCoords[a] > Math.max(0, tupleCoords[a])) {\n factor = 0;\n break;\n }\n factor = (factor * normalizedCoords[a] + Number.EPSILON) / (tupleCoords[a] + Number.EPSILON);\n } else {\n if (normalizedCoords[a] < header.intermediateStartTuple[a] || normalizedCoords[a] > header.intermediateEndTuple[a]) {\n factor = 0;\n break;\n } else if (normalizedCoords[a] < tupleCoords[a]) {\n factor = factor * (normalizedCoords[a] - header.intermediateStartTuple[a] + Number.EPSILON) / (tupleCoords[a] - header.intermediateStartTuple[a] + Number.EPSILON);\n } else {\n factor = factor * (header.intermediateEndTuple[a] - normalizedCoords[a] + Number.EPSILON) / (header.intermediateEndTuple[a] - tupleCoords[a] + Number.EPSILON);\n }\n }\n }\n if (factor === 0) {\n continue;\n }\n const tuplePoints = header.privatePoints.length ? header.privatePoints : sharedPoints;\n if (flavor === \"gvar\" && args.glyph && args.glyph.isComposite) {\n this.transformComponents(args.glyph, transformedPoints, coords, tuplePoints, header, factor);\n } else if (tuplePoints.length === 0) {\n for (let i = 0; i < transformedPoints.length; i++) {\n const point = transformedPoints[i];\n if (flavor === \"gvar\") {\n transformedPoints[i] = {\n x: Math.round(point.x + header.deltas[i] * factor),\n y: Math.round(point.y + header.deltasY[i] * factor),\n onCurve: point.onCurve,\n lastPointOfContour: point.lastPointOfContour\n };\n } else if (flavor === \"cvar\") {\n transformedPoints[i] = Math.round(point + header.deltas[i] * factor);\n }\n }\n } else {\n let interpolatedPoints;\n if (flavor === \"gvar\") {\n interpolatedPoints = transformedPoints.map(copyPoint);\n } else if (flavor === \"cvar\") {\n interpolatedPoints = transformedPoints;\n }\n const deltaMap = Array(points.length).fill(false);\n for (let i = 0; i < tuplePoints.length; i++) {\n let pointIndex = tuplePoints[i];\n if (pointIndex < points.length) {\n let point = interpolatedPoints[pointIndex];\n if (flavor === \"gvar\") {\n deltaMap[pointIndex] = true;\n point.x += header.deltas[i] * factor;\n point.y += header.deltasY[i] * factor;\n } else if (flavor === \"cvar\") {\n transformedPoints[pointIndex] = Math.round(point + header.deltas[i] * factor);\n }\n }\n }\n if (flavor === \"gvar\") {\n this.interpolatePoints(interpolatedPoints, transformedPoints, deltaMap);\n for (let i = 0; i < points.length; i++) {\n let deltaX = interpolatedPoints[i].x - transformedPoints[i].x;\n let deltaY = interpolatedPoints[i].y - transformedPoints[i].y;\n transformedPoints[i].x = Math.round(transformedPoints[i].x + deltaX);\n transformedPoints[i].y = Math.round(transformedPoints[i].y + deltaY);\n }\n }\n }\n }\n return transformedPoints;\n }\n /**\n * Retrieves a transformed copy of a glyph based on the provided variation coordinates, or the glyph itself if no variation was applied\n * @param {opentype.Glyph|number} glyph - Glyph or index of glyph to transform.\n * @param {Object} coords - Variation coords object (will fall back to variation coords in the defaultRenderOptions)\n * @returns {opentype.Glyph} - The transformed glyph.\n */\n getTransform(glyph, coords) {\n if (Number.isInteger(glyph)) {\n glyph = this.font.glyphs.get(glyph);\n }\n const hasBlend = glyph.getBlendPath;\n const hasPoints = !!(glyph.points && glyph.points.length);\n let transformedGlyph = glyph;\n if (hasBlend || hasPoints) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n if (hasPoints) {\n const variationData = this.gvar() && this.gvar().glyphVariations[glyph.index];\n if (variationData) {\n const glyphPoints = glyph.points;\n let transformedPoints = this.applyTupleVariationStore(variationData, glyphPoints, coords, \"gvar\", { glyph });\n transformedGlyph = new glyph_default(Object.assign({}, glyph, { points: transformedPoints, path: getPath(transformedPoints) }));\n }\n } else if (hasBlend) {\n const blendPath = glyph.getBlendPath(coords);\n transformedGlyph = new glyph_default(Object.assign({}, glyph, { path: blendPath }));\n }\n }\n if (this.font.tables.hvar) {\n glyph._advanceWidth = typeof glyph._advanceWidth !== \"undefined\" ? glyph._advanceWidth : glyph.advanceWidth;\n glyph.advanceWidth = transformedGlyph.advanceWidth = Math.round(glyph._advanceWidth + this.getVariableAdjustment(transformedGlyph.index, \"hvar\", \"advanceWidth\", coords));\n glyph._leftSideBearing = typeof glyph._leftSideBearing !== \"undefined\" ? glyph._leftSideBearing : glyph.leftSideBearing;\n glyph.leftSideBearing = transformedGlyph.leftSideBearing = Math.round(glyph._leftSideBearing + this.getVariableAdjustment(transformedGlyph.index, \"hvar\", \"lsb\", coords));\n }\n return transformedGlyph;\n }\n getCvarTransform(coords) {\n const cvt = this.font.tables.cvt;\n const variationData = this.cvar();\n if (!cvt || !cvt.length || !variationData || !variationData.headers.length) return cvt;\n return this.applyTupleVariationStore(variationData, cvt, coords, \"cvar\");\n }\n /**\n * Calculates the variable adjustment for a glyph property from variation data.\n * @param {number} gid - Glyph ID.\n * @param {string} tableName - The name of the variation data table.\n * @param {string} parameter - The property to adjust.\n * @param {Object} coords - Variation coordinates.\n * @returns {number} - The calculated adjustment.\n */\n getVariableAdjustment(gid, tableName, parameter, coords) {\n coords = coords || this.font.variation.get();\n let outerIndex, innerIndex;\n const table = this.font.tables[tableName];\n if (!table) {\n throw Error(`trying to get variation adjustment from non-existent table \"${table}\"`);\n }\n if (!table.itemVariationStore) {\n throw Error(`trying to get variation adjustment from table \"${table}\" which does not have an itemVariationStore`);\n }\n const mapSize = table[parameter] && table[parameter].map.length;\n if (mapSize) {\n let i = gid;\n if (i >= mapSize) {\n i = mapSize - 1;\n }\n ({ outerIndex, innerIndex } = table[parameter].map[i]);\n } else {\n outerIndex = 0;\n innerIndex = gid;\n }\n return this.getDelta(table.itemVariationStore, outerIndex, innerIndex, coords);\n }\n /**\n * Retrieves the delta value from a variation store.\n * @param {Object} itemStore - The item variation store.\n * @param {number} outerIndex - The outer index in the variation subtables.\n * @param {number} innerIndex - The inner index in the delta sets.\n * @param {Object} coords - Variation coordinates.\n * @returns {number} - The delta value.\n */\n getDelta(itemStore, outerIndex, innerIndex, coords) {\n if (outerIndex >= itemStore.itemVariationSubtables.length) {\n return 0;\n }\n let varData = itemStore.itemVariationSubtables[outerIndex];\n if (innerIndex >= varData.deltaSets.length) {\n return 0;\n }\n let deltaSet = varData.deltaSets[innerIndex];\n let blendVector = this.getBlendVector(itemStore, outerIndex, coords);\n let netAdjustment = 0;\n for (let master = 0; master < varData.regionIndexes.length; master++) {\n netAdjustment += deltaSet[master] * blendVector[master];\n }\n return netAdjustment;\n }\n /**\n * Calculates the blend vector for a set of variation coordinates.\n * @param {Object} itemStore - The item variation store.\n * @param {number} itemIndex - Index of the current item in the variation subtables.\n * @param {Object} coords - Variation coordinates.\n * @returns {Array} - The blend vector for the given coordinates.\n */\n getBlendVector(itemStore, itemIndex, coords) {\n if (!coords) {\n coords = this.font.variation.get();\n }\n let varData = itemStore.itemVariationSubtables[itemIndex];\n const normalizedCoords = this.getNormalizedCoords(coords);\n let blendVector = [];\n for (let master = 0; master < varData.regionIndexes.length; master++) {\n let scalar = 1;\n let regionIndex = varData.regionIndexes[master];\n let axes = itemStore.variationRegions[regionIndex].regionAxes;\n for (let j = 0; j < axes.length; j++) {\n let axis = axes[j];\n let axisScalar;\n if (axis.startCoord > axis.peakCoord || axis.peakCoord > axis.endCoord) {\n axisScalar = 1;\n } else if (axis.startCoord < 0 && axis.endCoord > 0 && axis.peakCoord !== 0) {\n axisScalar = 1;\n } else if (axis.peakCoord === 0) {\n axisScalar = 1;\n } else if (normalizedCoords[j] < axis.startCoord || normalizedCoords[j] > axis.endCoord) {\n axisScalar = 0;\n } else {\n if (normalizedCoords[j] === axis.peakCoord) {\n axisScalar = 1;\n } else if (normalizedCoords[j] < axis.peakCoord) {\n axisScalar = (normalizedCoords[j] - axis.startCoord + Number.EPSILON) / (axis.peakCoord - axis.startCoord + Number.EPSILON);\n } else {\n axisScalar = (axis.endCoord - normalizedCoords[j] + Number.EPSILON) / (axis.endCoord - axis.peakCoord + Number.EPSILON);\n }\n }\n scalar *= axisScalar;\n }\n blendVector[master] = scalar;\n }\n return blendVector;\n }\n /**\n * Helper method that returns the font's avar table if present\n * @returns {Object|undefined}\n */\n avar() {\n return this.font.tables.avar;\n }\n /**\n * Helper method that returns the font's cvar table if present\n * @returns {Object|undefined}\n */\n cvar() {\n return this.font.tables.cvar;\n }\n /**\n * Helper method that returns the font's fvar table if present\n * @returns {Object|undefined}\n */\n fvar() {\n return this.font.tables.fvar;\n }\n /**\n * Helper method that returns the font's gvar table if present\n * @returns {Object|undefined}\n */\n gvar() {\n return this.font.tables.gvar;\n }\n /**\n * Helper method that returns the font's hvar table if present\n * @returns {Object|undefined}\n */\n hvar() {\n return this.font.tables.hvar;\n }\n};\n\n// src/variation.mjs\nvar VariationManager = class {\n constructor(font) {\n this.font = font;\n this.process = new VariationProcessor(this.font);\n this.activateDefaultVariation();\n this.getTransform = this.process.getTransform.bind(this.process);\n }\n /**\n * Tries to determine the default instance and sets its variation data as the font.defaultRenderOptions.\n * If not defaultInstance can be determined, the default coordinates of all axes are used.\n */\n activateDefaultVariation() {\n const defaultInstance = this.getDefaultInstanceIndex();\n if (defaultInstance > -1) {\n this.set(defaultInstance);\n } else {\n this.set(this.getDefaultCoordinates());\n }\n }\n /**\n * Retrieves the default coordinates for the font's variation axes.\n * @returns {Object} An object mapping axis tags to their default values.\n */\n getDefaultCoordinates() {\n return this.fvar().axes.reduce((acc, axis) => {\n acc[axis.tag] = axis.defaultValue;\n return acc;\n }, {});\n }\n /**\n * Gets the index of the default variation instance or -1 if not able to determine\n * @returns {integer} default index or -1\n */\n getDefaultInstanceIndex() {\n const defaultCoordinates = this.getDefaultCoordinates();\n let defaultInstanceIndex = this.getInstanceIndex(defaultCoordinates);\n if (defaultInstanceIndex < 0) {\n defaultInstanceIndex = this.fvar().instances.findIndex((instance) => instance.name && instance.name.en === \"Regular\");\n }\n return defaultInstanceIndex;\n }\n /**\n * Retrieves the index of the variation instance matching the coordinates object or -1 if not able to determine\n * @param {integer|Object} coordinates An object where keys are axis tags and values are the corresponding variation values.\n * @returns {integer} The index of the matching instance or -1 if no match is found.\n */\n getInstanceIndex(coordinates) {\n return this.fvar().instances.findIndex(\n (instance) => Object.keys(coordinates).every(\n (axis) => instance.coordinates[axis] === coordinates[axis]\n )\n );\n }\n /**\n * Retrieves a variation instance by its zero-based index\n * @param {integer} index - zero-based index of the variation instance\n * @returns {Object} - variation instance or null if the index is invalid.\n */\n getInstance(index) {\n return this.fvar().instances && this.fvar().instances[index];\n }\n /**\n * Set the variation coordinates to use by default for rendering in the font.defaultRenderOptions\n * @param {integer|Object} instanceIdOrObject Either the zero-based index of a variation instance or an object with axis tags as keys and variation values as values\n */\n set(instanceIdOrObject) {\n let variationData;\n if (Number.isInteger(instanceIdOrObject)) {\n const instance = this.getInstance(instanceIdOrObject);\n if (!instance) {\n throw Error(`Invalid instance index ${instanceIdOrObject}`);\n }\n variationData = { ...instance.coordinates };\n } else {\n variationData = instanceIdOrObject;\n this.process.normalizeCoordTags(variationData);\n }\n variationData = Object.assign(\n {},\n this.font.defaultRenderOptions.variation,\n variationData\n );\n this.font.defaultRenderOptions = Object.assign(\n {},\n this.font.defaultRenderOptions,\n { variation: variationData }\n );\n }\n /**\n * Returns the variation coordinates currently set in the font.defaultRenderOptions\n * @returns {Object}\n */\n get() {\n return Object.assign({}, this.font.defaultRenderOptions.variation);\n }\n /**\n * Helper method that returns the font's avar table if present\n * @returns {Object|undefined}\n */\n avar() {\n return this.font.tables.avar;\n }\n /**\n * Helper method that returns the font's cvar table if present\n * @returns {Object|undefined}\n */\n cvar() {\n return this.font.tables.cvar;\n }\n /**\n * Helper method that returns the font's fvar table if present\n * @returns {Object|undefined}\n */\n fvar() {\n return this.font.tables.fvar;\n }\n /**\n * Helper method that returns the font's gvar table if present\n * @returns {Object|undefined}\n */\n gvar() {\n return this.font.tables.gvar;\n }\n /**\n * Helper method that returns the font's hvar table if present\n * @returns {Object|undefined}\n */\n hvar() {\n return this.font.tables.hvar;\n }\n};\n\n// src/hintingtt.mjs\nvar MAX_INSTRUCTIONS = 1e6;\nvar MAX_CALL_DEPTH2 = 64;\nvar MAX_LOOP_COUNT = 1e4;\nvar instructionTable;\nvar exec;\nvar execGlyph;\nvar execComponent;\nfunction Hinting(font) {\n this.font = font;\n this.getCommands = function(hPoints) {\n return glyf_default.getPath(hPoints).commands;\n };\n this._fpgmState = this._prepState = void 0;\n this._errorState = 0;\n}\nfunction roundOff(v) {\n return v;\n}\nfunction roundToGrid(v) {\n return Math.sign(v) * Math.round(Math.abs(v));\n}\nfunction roundToDoubleGrid(v) {\n return Math.sign(v) * Math.round(Math.abs(v * 2)) / 2;\n}\nfunction roundToHalfGrid(v) {\n return Math.sign(v) * (Math.round(Math.abs(v) + 0.5) - 0.5);\n}\nfunction roundUpToGrid(v) {\n return Math.sign(v) * Math.ceil(Math.abs(v));\n}\nfunction roundDownToGrid(v) {\n return Math.sign(v) * Math.floor(Math.abs(v));\n}\nvar roundSuper = function(v) {\n const period = this.srPeriod;\n let phase = this.srPhase;\n const threshold = this.srThreshold;\n let sign = 1;\n if (v < 0) {\n v = -v;\n sign = -1;\n }\n v += threshold - phase;\n v = Math.trunc(v / period) * period;\n v += phase;\n if (v < 0) return phase * sign;\n return v * sign;\n};\nvar xUnitVector = {\n x: 1,\n y: 0,\n axis: \"x\",\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function(p1, p2, o1, o2) {\n return (o1 ? p1.xo : p1.x) - (o2 ? p2.xo : p2.x);\n },\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function(p, rp1, rp2, pv) {\n let do1;\n let do2;\n let doa1;\n let doa2;\n let dm1;\n let dm2;\n let dt;\n if (!pv || pv === this) {\n do1 = p.xo - rp1.xo;\n do2 = p.xo - rp2.xo;\n dm1 = rp1.x - rp1.xo;\n dm2 = rp2.x - rp2.xo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n p.x = p.xo + (dm1 + dm2) / 2;\n return;\n }\n p.x = p.xo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n xUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n xUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n // Slope of line normal to this\n normalSlope: Number.NEGATIVE_INFINITY,\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'.\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function(p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.x = (org ? rp.xo : rp.x) + d;\n return;\n }\n const rpx = org ? rp.xo : rp.x;\n const rpy = org ? rp.yo : rp.y;\n const rpdx = rpx + d * pv.x;\n const rpdy = rpy + d * pv.y;\n p.x = rpdx + (p.y - rpdy) / pv.normalSlope;\n },\n // Slope of vector line.\n slope: 0,\n // Touches the point p.\n touch: function(p) {\n p.xTouched = true;\n },\n // Tests if a point p is touched.\n touched: function(p) {\n return p.xTouched;\n },\n // Untouches the point p.\n untouch: function(p) {\n p.xTouched = false;\n }\n};\nvar yUnitVector = {\n x: 0,\n y: 1,\n axis: \"y\",\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function(p1, p2, o1, o2) {\n return (o1 ? p1.yo : p1.y) - (o2 ? p2.yo : p2.y);\n },\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function(p, rp1, rp2, pv) {\n let do1;\n let do2;\n let doa1;\n let doa2;\n let dm1;\n let dm2;\n let dt;\n if (!pv || pv === this) {\n do1 = p.yo - rp1.yo;\n do2 = p.yo - rp2.yo;\n dm1 = rp1.y - rp1.yo;\n dm2 = rp2.y - rp2.yo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n p.y = p.yo + (dm1 + dm2) / 2;\n return;\n }\n p.y = p.yo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n yUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n yUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n // Slope of line normal to this.\n normalSlope: 0,\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function(p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.y = (org ? rp.yo : rp.y) + d;\n return;\n }\n const rpx = org ? rp.xo : rp.x;\n const rpy = org ? rp.yo : rp.y;\n const rpdx = rpx + d * pv.x;\n const rpdy = rpy + d * pv.y;\n p.y = rpdy + pv.normalSlope * (p.x - rpdx);\n },\n // Slope of vector line.\n slope: Number.POSITIVE_INFINITY,\n // Touches the point p.\n touch: function(p) {\n p.yTouched = true;\n },\n // Tests if a point p is touched.\n touched: function(p) {\n return p.yTouched;\n },\n // Untouches the point p.\n untouch: function(p) {\n p.yTouched = false;\n }\n};\nObject.freeze(xUnitVector);\nObject.freeze(yUnitVector);\nfunction UnitVector(x, y) {\n this.x = x;\n this.y = y;\n this.axis = void 0;\n this.slope = y / x;\n this.normalSlope = -x / y;\n Object.freeze(this);\n}\nUnitVector.prototype.distance = function(p1, p2, o1, o2) {\n return this.x * xUnitVector.distance(p1, p2, o1, o2) + this.y * yUnitVector.distance(p1, p2, o1, o2);\n};\nUnitVector.prototype.interpolate = function(p, rp1, rp2, pv) {\n let dm1;\n let dm2;\n let do1;\n let do2;\n let doa1;\n let doa2;\n let dt;\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n if (dt === 0) {\n this.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n this.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n};\nUnitVector.prototype.setRelative = function(p, rp, d, pv, org) {\n pv = pv || this;\n const rpx = org ? rp.xo : rp.x;\n const rpy = org ? rp.yo : rp.y;\n const rpdx = rpx + d * pv.x;\n const rpdy = rpy + d * pv.y;\n const pvns = pv.normalSlope;\n const fvs = this.slope;\n const px = p.x;\n const py = p.y;\n p.x = (fvs * px - pvns * rpdx + rpdy - py) / (fvs - pvns);\n p.y = fvs * (p.x - px) + py;\n};\nUnitVector.prototype.touch = function(p) {\n p.xTouched = true;\n p.yTouched = true;\n};\nfunction getUnitVector(x, y) {\n const d = Math.sqrt(x * x + y * y);\n x /= d;\n y /= d;\n if (x === 1 && y === 0) return xUnitVector;\n else if (x === 0 && y === 1) return yUnitVector;\n else return new UnitVector(x, y);\n}\nfunction HPoint(x, y, lastPointOfContour, onCurve) {\n this.x = this.xo = Math.round(x * 64) / 64;\n this.y = this.yo = Math.round(y * 64) / 64;\n this.lastPointOfContour = lastPointOfContour;\n this.onCurve = onCurve;\n this.prevPointOnContour = void 0;\n this.nextPointOnContour = void 0;\n this.xTouched = false;\n this.yTouched = false;\n Object.preventExtensions(this);\n}\nHPoint.prototype.nextTouched = function(v) {\n let p = this.nextPointOnContour;\n while (!v.touched(p) && p !== this) p = p.nextPointOnContour;\n return p;\n};\nHPoint.prototype.prevTouched = function(v) {\n let p = this.prevPointOnContour;\n while (!v.touched(p) && p !== this) p = p.prevPointOnContour;\n return p;\n};\nvar HPZero = Object.freeze(new HPoint(0, 0));\nvar defaultState = {\n cvCutIn: 17 / 16,\n // control value cut in\n deltaBase: 9,\n deltaShift: 0.125,\n loop: 1,\n // loops some instructions\n minDis: 1,\n // minimum distance\n autoFlip: true\n};\nfunction State(env, prog) {\n this.env = env;\n this.stack = [];\n this.prog = prog;\n switch (env) {\n case \"glyf\":\n this.zp0 = this.zp1 = this.zp2 = 1;\n this.rp0 = this.rp1 = this.rp2 = 0;\n /* fall through */\n case \"prep\":\n this.fv = this.pv = this.dpv = xUnitVector;\n this.round = roundToGrid;\n }\n}\nHinting.prototype.exec = function(glyph, ppem) {\n if (typeof ppem !== \"number\") {\n throw new Error(\"Point size is not a number!\");\n }\n if (this._errorState > 2) return;\n const font = this.font;\n let prepState = this._prepState;\n if (!prepState || prepState.ppem !== ppem) {\n let fpgmState = this._fpgmState;\n if (!fpgmState) {\n State.prototype = defaultState;\n fpgmState = this._fpgmState = new State(\"fpgm\", font.tables.fpgm);\n fpgmState.funcs = [];\n fpgmState.font = font;\n fpgmState.instructionCount = 0;\n fpgmState.callDepth = 0;\n if (false) {\n console.log(\"---EXEC FPGM---\");\n fpgmState.step = -1;\n }\n try {\n exec(fpgmState);\n } catch (e) {\n console.log(\"Hinting error in FPGM:\" + e);\n this._errorState = 3;\n return;\n }\n }\n State.prototype = fpgmState;\n prepState = this._prepState = new State(\"prep\", font.tables.prep);\n prepState.ppem = ppem;\n prepState.instructionCount = 0;\n prepState.callDepth = 0;\n const oCvt = font.variation && font.variation.process.getCvarTransform() || font.tables.cvt;\n if (oCvt) {\n const cvt = prepState.cvt = new Array(oCvt.length);\n const scale = ppem / font.unitsPerEm;\n for (let c = 0; c < oCvt.length; c++) {\n cvt[c] = oCvt[c] * scale;\n }\n } else {\n prepState.cvt = [];\n }\n if (false) {\n console.log(\"---EXEC PREP---\");\n prepState.step = -1;\n }\n try {\n exec(prepState);\n } catch (e) {\n if (this._errorState < 2) {\n console.log(\"Hinting error in PREP:\" + e);\n }\n this._errorState = 2;\n }\n }\n if (this._errorState > 1) return;\n try {\n return execGlyph(glyph, prepState);\n } catch (e) {\n if (this._errorState < 1) {\n console.log(\"Hinting error:\" + e);\n console.log(\"Note: further hinting errors are silenced\");\n }\n this._errorState = 1;\n return void 0;\n }\n};\nexecGlyph = function(glyph, prepState) {\n const xScale = prepState.ppem / prepState.font.unitsPerEm;\n const yScale = xScale;\n let components = glyph.components;\n let contours;\n let gZone;\n let state;\n State.prototype = prepState;\n if (!components) {\n state = new State(\"glyf\", glyph.instructions);\n state.instructionCount = 0;\n state.callDepth = 0;\n if (false) {\n console.log(\"---EXEC GLYPH---\");\n state.step = -1;\n }\n execComponent(glyph, state, xScale, yScale);\n gZone = state.gZone;\n } else {\n const font = prepState.font;\n gZone = [];\n contours = [];\n for (let i = 0; i < components.length; i++) {\n const c = components[i];\n const cg = font.glyphs.get(c.glyphIndex);\n state = new State(\"glyf\", cg.instructions);\n state.instructionCount = 0;\n state.callDepth = 0;\n if (false) {\n console.log(\"---EXEC COMP \" + i + \"---\");\n state.step = -1;\n }\n execComponent(cg, state, xScale, yScale);\n const dx = Math.round(c.dx * xScale);\n const dy = Math.round(c.dy * yScale);\n const gz = state.gZone;\n const cc = state.contours;\n for (let pi = 0; pi < gz.length; pi++) {\n const p = gz[pi];\n p.xTouched = p.yTouched = false;\n p.xo = p.x = p.x + dx;\n p.yo = p.y = p.y + dy;\n }\n const gLen = gZone.length;\n gZone.push.apply(gZone, gz);\n for (let j = 0; j < cc.length; j++) {\n contours.push(cc[j] + gLen);\n }\n }\n if (glyph.instructions && !state.inhibitGridFit) {\n state = new State(\"glyf\", glyph.instructions);\n state.gZone = state.z0 = state.z1 = state.z2 = gZone;\n state.contours = contours;\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n if (false) {\n console.log(\"---EXEC COMPOSITE---\");\n state.step = -1;\n }\n exec(state);\n gZone.length -= 2;\n }\n }\n return gZone;\n};\nexecComponent = function(glyph, state, xScale, yScale) {\n const points = glyph.points || [];\n const pLen = points.length;\n const gZone = state.gZone = state.z0 = state.z1 = state.z2 = [];\n const contours = state.contours = [];\n let cp;\n for (let i = 0; i < pLen; i++) {\n cp = points[i];\n gZone[i] = new HPoint(\n cp.x * xScale,\n cp.y * yScale,\n cp.lastPointOfContour,\n cp.onCurve\n );\n }\n let sp;\n let np;\n for (let i = 0; i < pLen; i++) {\n cp = gZone[i];\n if (!sp) {\n sp = cp;\n contours.push(i);\n }\n if (cp.lastPointOfContour) {\n cp.nextPointOnContour = sp;\n sp.prevPointOnContour = cp;\n sp = void 0;\n } else {\n np = gZone[i + 1];\n cp.nextPointOnContour = np;\n np.prevPointOnContour = cp;\n }\n }\n if (state.inhibitGridFit) return;\n if (false) {\n console.log(\"PROCESSING GLYPH\", state.stack);\n for (let i = 0; i < pLen; i++) {\n console.log(i, gZone[i].x, gZone[i].y);\n }\n }\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n exec(state);\n gZone.length -= 2;\n if (false) {\n console.log(\"FINISHED GLYPH\", state.stack);\n for (let i = 0; i < pLen; i++) {\n console.log(i, gZone[i].x, gZone[i].y);\n }\n }\n};\nexec = function(state) {\n let prog = state.prog;\n if (!prog) return;\n const pLen = prog.length;\n let ins;\n for (state.ip = 0; state.ip < pLen; state.ip++) {\n if (++state.instructionCount > MAX_INSTRUCTIONS) {\n throw new Error(\n \"Hinting instructions exceeded maximum of \" + MAX_INSTRUCTIONS\n );\n }\n if (false) state.step++;\n ins = instructionTable[prog[state.ip]];\n if (!ins) {\n throw new Error(\n \"unknown instruction: 0x\" + Number(prog[state.ip]).toString(16)\n );\n }\n ins(state);\n }\n};\nfunction initTZone(state) {\n const tZone = state.tZone = new Array(state.gZone.length);\n for (let i = 0; i < tZone.length; i++) {\n tZone[i] = new HPoint(0, 0);\n }\n}\nfunction skip(state, handleElse) {\n const prog = state.prog;\n let ip = state.ip;\n let nesting = 1;\n let ins;\n do {\n ins = prog[++ip];\n if (ins === 88)\n nesting++;\n else if (ins === 89)\n nesting--;\n else if (ins === 64)\n ip += prog[ip + 1] + 1;\n else if (ins === 65)\n ip += 2 * prog[ip + 1] + 1;\n else if (ins >= 176 && ins <= 183)\n ip += ins - 176 + 1;\n else if (ins >= 184 && ins <= 191)\n ip += (ins - 184 + 1) * 2;\n else if (handleElse && nesting === 1 && ins === 27)\n break;\n } while (nesting > 0);\n state.ip = ip;\n}\nfunction SVTCA(v, state) {\n if (false) console.log(state.step, \"SVTCA[\" + v.axis + \"]\");\n state.fv = state.pv = state.dpv = v;\n}\nfunction SPVTCA(v, state) {\n if (false) console.log(state.step, \"SPVTCA[\" + v.axis + \"]\");\n state.pv = state.dpv = v;\n}\nfunction SFVTCA(v, state) {\n if (false) console.log(state.step, \"SFVTCA[\" + v.axis + \"]\");\n state.fv = v;\n}\nfunction SPVTL(a, state) {\n const stack = state.stack;\n const p2i = stack.pop();\n const p1i = stack.pop();\n const p2 = state.z2[p2i];\n const p1 = state.z1[p1i];\n if (false) console.log(\"SPVTL[\" + a + \"]\", p2i, p1i);\n let dx;\n let dy;\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n state.pv = state.dpv = getUnitVector(dx, dy);\n}\nfunction SFVTL(a, state) {\n const stack = state.stack;\n const p2i = stack.pop();\n const p1i = stack.pop();\n const p2 = state.z2[p2i];\n const p1 = state.z1[p1i];\n if (false) console.log(\"SFVTL[\" + a + \"]\", p2i, p1i);\n let dx;\n let dy;\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n state.fv = getUnitVector(dx, dy);\n}\nfunction SPVFS(state) {\n const stack = state.stack;\n const y = stack.pop();\n const x = stack.pop();\n if (false) console.log(state.step, \"SPVFS[]\", y, x);\n state.pv = state.dpv = getUnitVector(x, y);\n}\nfunction SFVFS(state) {\n const stack = state.stack;\n const y = stack.pop();\n const x = stack.pop();\n if (false) console.log(state.step, \"SPVFS[]\", y, x);\n state.fv = getUnitVector(x, y);\n}\nfunction GPV(state) {\n const stack = state.stack;\n const pv = state.pv;\n if (false) console.log(state.step, \"GPV[]\");\n stack.push(pv.x * 16384);\n stack.push(pv.y * 16384);\n}\nfunction GFV(state) {\n const stack = state.stack;\n const fv = state.fv;\n if (false) console.log(state.step, \"GFV[]\");\n stack.push(fv.x * 16384);\n stack.push(fv.y * 16384);\n}\nfunction SFVTPV(state) {\n state.fv = state.pv;\n if (false) console.log(state.step, \"SFVTPV[]\");\n}\nfunction ISECT(state) {\n const stack = state.stack;\n const pa0i = stack.pop();\n const pa1i = stack.pop();\n const pb0i = stack.pop();\n const pb1i = stack.pop();\n const pi = stack.pop();\n const z0 = state.z0;\n const z1 = state.z1;\n const pa0 = z0[pa0i];\n const pa1 = z0[pa1i];\n const pb0 = z1[pb0i];\n const pb1 = z1[pb1i];\n const p = state.z2[pi];\n if (false) console.log(\"ISECT[], \", pa0i, pa1i, pb0i, pb1i, pi);\n const x1 = pa0.x;\n const y1 = pa0.y;\n const x2 = pa1.x;\n const y2 = pa1.y;\n const x3 = pb0.x;\n const y3 = pb0.y;\n const x4 = pb1.x;\n const y4 = pb1.y;\n const div = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n const f1 = x1 * y2 - y1 * x2;\n const f2 = x3 * y4 - y3 * x4;\n p.x = (f1 * (x3 - x4) - f2 * (x1 - x2)) / div;\n p.y = (f1 * (y3 - y4) - f2 * (y1 - y2)) / div;\n}\nfunction SRP0(state) {\n state.rp0 = state.stack.pop();\n if (false) console.log(state.step, \"SRP0[]\", state.rp0);\n}\nfunction SRP1(state) {\n state.rp1 = state.stack.pop();\n if (false) console.log(state.step, \"SRP1[]\", state.rp1);\n}\nfunction SRP2(state) {\n state.rp2 = state.stack.pop();\n if (false) console.log(state.step, \"SRP2[]\", state.rp2);\n}\nfunction SZP0(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZP0[]\", n);\n state.zp0 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z0 = state.tZone;\n break;\n case 1:\n state.z0 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SZP1(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZP1[]\", n);\n state.zp1 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z1 = state.tZone;\n break;\n case 1:\n state.z1 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SZP2(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZP2[]\", n);\n state.zp2 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z2 = state.tZone;\n break;\n case 1:\n state.z2 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SZPS(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SZPS[]\", n);\n state.zp0 = state.zp1 = state.zp2 = n;\n switch (n) {\n case 0:\n if (!state.tZone) initTZone(state);\n state.z0 = state.z1 = state.z2 = state.tZone;\n break;\n case 1:\n state.z0 = state.z1 = state.z2 = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n}\nfunction SLOOP(state) {\n state.loop = state.stack.pop();\n if (state.loop > MAX_LOOP_COUNT) {\n state.loop = MAX_LOOP_COUNT;\n }\n if (false) console.log(state.step, \"SLOOP[]\", state.loop);\n}\nfunction RTG(state) {\n if (false) console.log(state.step, \"RTG[]\");\n state.round = roundToGrid;\n}\nfunction RTHG(state) {\n if (false) console.log(state.step, \"RTHG[]\");\n state.round = roundToHalfGrid;\n}\nfunction SMD(state) {\n const d = state.stack.pop();\n if (false) console.log(state.step, \"SMD[]\", d);\n state.minDis = d / 64;\n}\nfunction ELSE(state) {\n if (false) console.log(state.step, \"ELSE[]\");\n skip(state, false);\n}\nfunction JMPR(state) {\n const o = state.stack.pop();\n if (false) console.log(state.step, \"JMPR[]\", o);\n state.ip += o - 1;\n}\nfunction SCVTCI(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SCVTCI[]\", n);\n state.cvCutIn = n / 64;\n}\nfunction DUP(state) {\n const stack = state.stack;\n if (false) console.log(state.step, \"DUP[]\");\n stack.push(stack[stack.length - 1]);\n}\nfunction POP(state) {\n if (false) console.log(state.step, \"POP[]\");\n state.stack.pop();\n}\nfunction CLEAR(state) {\n if (false) console.log(state.step, \"CLEAR[]\");\n state.stack.length = 0;\n}\nfunction SWAP(state) {\n const stack = state.stack;\n const a = stack.pop();\n const b = stack.pop();\n if (false) console.log(state.step, \"SWAP[]\");\n stack.push(a);\n stack.push(b);\n}\nfunction DEPTH(state) {\n const stack = state.stack;\n if (false) console.log(state.step, \"DEPTH[]\");\n stack.push(stack.length);\n}\nfunction LOOPCALL(state) {\n const stack = state.stack;\n const fn = stack.pop();\n let c = stack.pop();\n if (c > MAX_LOOP_COUNT) c = MAX_LOOP_COUNT;\n if (false) console.log(state.step, \"LOOPCALL[]\", fn, c);\n if (++state.callDepth > MAX_CALL_DEPTH2) {\n throw new Error(\"Hinting call depth exceeded maximum of \" + MAX_CALL_DEPTH2);\n }\n const cip = state.ip;\n const cprog = state.prog;\n state.prog = state.funcs[fn];\n for (let i = 0; i < c; i++) {\n exec(state);\n if (false) console.log(\n ++state.step,\n i + 1 < c ? \"next loopcall\" : \"done loopcall\",\n i\n );\n }\n state.ip = cip;\n state.prog = cprog;\n state.callDepth--;\n}\nfunction CALL(state) {\n const fn = state.stack.pop();\n if (false) console.log(state.step, \"CALL[]\", fn);\n if (++state.callDepth > MAX_CALL_DEPTH2) {\n throw new Error(\"Hinting call depth exceeded maximum of \" + MAX_CALL_DEPTH2);\n }\n const cip = state.ip;\n const cprog = state.prog;\n state.prog = state.funcs[fn];\n exec(state);\n state.ip = cip;\n state.prog = cprog;\n state.callDepth--;\n if (false) console.log(++state.step, \"returning from\", fn);\n}\nfunction CINDEX(state) {\n const stack = state.stack;\n const k = stack.pop();\n if (false) console.log(state.step, \"CINDEX[]\", k);\n stack.push(stack[stack.length - k]);\n}\nfunction MINDEX(state) {\n const stack = state.stack;\n const k = stack.pop();\n if (false) console.log(state.step, \"MINDEX[]\", k);\n stack.push(stack.splice(stack.length - k, 1)[0]);\n}\nfunction FDEF(state) {\n if (state.env !== \"fpgm\") throw new Error(\"FDEF not allowed here\");\n const stack = state.stack;\n const prog = state.prog;\n let ip = state.ip;\n const fn = stack.pop();\n const ipBegin = ip;\n if (false) console.log(state.step, \"FDEF[]\", fn);\n while (prog[++ip] !== 45) ;\n state.ip = ip;\n state.funcs[fn] = prog.slice(ipBegin + 1, ip);\n}\nfunction MDAP(round, state) {\n const pi = state.stack.pop();\n const p = state.z0[pi];\n const fv = state.fv;\n const pv = state.pv;\n if (false) console.log(state.step, \"MDAP[\" + round + \"]\", pi);\n let d = pv.distance(p, HPZero);\n if (round) d = state.round(d);\n fv.setRelative(p, HPZero, d, pv);\n fv.touch(p);\n state.rp0 = state.rp1 = pi;\n}\nfunction IUP(v, state) {\n const z2 = state.z2;\n const pLen = z2.length - 2;\n let cp;\n let pp;\n let np;\n if (false) console.log(state.step, \"IUP[\" + v.axis + \"]\");\n for (let i = 0; i < pLen; i++) {\n cp = z2[i];\n if (v.touched(cp)) continue;\n pp = cp.prevTouched(v);\n if (pp === cp) continue;\n np = cp.nextTouched(v);\n if (pp === np) {\n v.setRelative(cp, cp, v.distance(pp, pp, false, true), v, true);\n }\n v.interpolate(cp, pp, np, v);\n }\n}\nfunction SHP(a, state) {\n const stack = state.stack;\n const rpi = a ? state.rp1 : state.rp2;\n const rp = (a ? state.z0 : state.z1)[rpi];\n const fv = state.fv;\n const pv = state.pv;\n let loop = state.loop;\n const z2 = state.z2;\n while (loop--) {\n const pi = stack.pop();\n const p = z2[pi];\n const d = pv.distance(rp, rp, false, true);\n fv.setRelative(p, p, d, pv);\n fv.touch(p);\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"SHP[\" + (a ? \"rp1\" : \"rp2\") + \"]\",\n pi\n );\n }\n }\n state.loop = 1;\n}\nfunction SHC(a, state) {\n const stack = state.stack;\n const rpi = a ? state.rp1 : state.rp2;\n const rp = (a ? state.z0 : state.z1)[rpi];\n const fv = state.fv;\n const pv = state.pv;\n const ci = stack.pop();\n const sp = state.z2[state.contours[ci]];\n let p = sp;\n if (false) console.log(state.step, \"SHC[\" + a + \"]\", ci);\n const d = pv.distance(rp, rp, false, true);\n do {\n if (p !== rp) fv.setRelative(p, p, d, pv);\n p = p.nextPointOnContour;\n } while (p !== sp);\n}\nfunction SHZ(a, state) {\n const stack = state.stack;\n const rpi = a ? state.rp1 : state.rp2;\n const rp = (a ? state.z0 : state.z1)[rpi];\n const fv = state.fv;\n const pv = state.pv;\n const e = stack.pop();\n if (false) console.log(state.step, \"SHZ[\" + a + \"]\", e);\n let z;\n switch (e) {\n case 0:\n z = state.tZone;\n break;\n case 1:\n z = state.gZone;\n break;\n default:\n throw new Error(\"Invalid zone\");\n }\n let p;\n const d = pv.distance(rp, rp, false, true);\n const pLen = z.length - 2;\n for (let i = 0; i < pLen; i++) {\n p = z[i];\n fv.setRelative(p, p, d, pv);\n }\n}\nfunction SHPIX(state) {\n const stack = state.stack;\n let loop = state.loop;\n const fv = state.fv;\n const d = stack.pop() / 64;\n const z2 = state.z2;\n while (loop--) {\n const pi = stack.pop();\n const p = z2[pi];\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"SHPIX[]\",\n pi,\n d\n );\n }\n fv.setRelative(p, p, d);\n fv.touch(p);\n }\n state.loop = 1;\n}\nfunction IP(state) {\n const stack = state.stack;\n const rp1i = state.rp1;\n const rp2i = state.rp2;\n let loop = state.loop;\n const rp1 = state.z0[rp1i];\n const rp2 = state.z1[rp2i];\n const fv = state.fv;\n const pv = state.dpv;\n const z2 = state.z2;\n while (loop--) {\n const pi = stack.pop();\n const p = z2[pi];\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"IP[]\",\n pi,\n rp1i,\n \"<->\",\n rp2i\n );\n }\n fv.interpolate(p, rp1, rp2, pv);\n fv.touch(p);\n }\n state.loop = 1;\n}\nfunction MSIRP(a, state) {\n const stack = state.stack;\n const d = stack.pop() / 64;\n const pi = stack.pop();\n const p = state.z1[pi];\n const rp0 = state.z0[state.rp0];\n const fv = state.fv;\n const pv = state.pv;\n fv.setRelative(p, rp0, d, pv);\n fv.touch(p);\n if (false) console.log(state.step, \"MSIRP[\" + a + \"]\", d, pi);\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (a) state.rp0 = pi;\n}\nfunction ALIGNRP(state) {\n const stack = state.stack;\n const rp0i = state.rp0;\n const rp0 = state.z0[rp0i];\n let loop = state.loop;\n const fv = state.fv;\n const pv = state.pv;\n const z1 = state.z1;\n while (loop--) {\n const pi = stack.pop();\n const p = z1[pi];\n if (false) {\n console.log(\n state.step,\n (state.loop > 1 ? \"loop \" + (state.loop - loop) + \": \" : \"\") + \"ALIGNRP[]\",\n pi\n );\n }\n fv.setRelative(p, rp0, 0, pv);\n fv.touch(p);\n }\n state.loop = 1;\n}\nfunction RTDG(state) {\n if (false) console.log(state.step, \"RTDG[]\");\n state.round = roundToDoubleGrid;\n}\nfunction MIAP(round, state) {\n const stack = state.stack;\n const n = stack.pop();\n const pi = stack.pop();\n const p = state.z0[pi];\n const fv = state.fv;\n const pv = state.pv;\n let cv = state.cvt[n];\n if (false) {\n console.log(\n state.step,\n \"MIAP[\" + round + \"]\",\n n,\n \"(\",\n cv,\n \")\",\n pi\n );\n }\n let d = pv.distance(p, HPZero);\n if (round) {\n if (Math.abs(d - cv) < state.cvCutIn) d = cv;\n d = state.round(d);\n }\n fv.setRelative(p, HPZero, d, pv);\n if (state.zp0 === 0) {\n p.xo = p.x;\n p.yo = p.y;\n }\n fv.touch(p);\n state.rp0 = state.rp1 = pi;\n}\nfunction NPUSHB(state) {\n const prog = state.prog;\n let ip = state.ip;\n const stack = state.stack;\n const n = prog[++ip];\n if (false) console.log(state.step, \"NPUSHB[]\", n);\n for (let i = 0; i < n; i++) stack.push(prog[++ip]);\n state.ip = ip;\n}\nfunction NPUSHW(state) {\n let ip = state.ip;\n const prog = state.prog;\n const stack = state.stack;\n const n = prog[++ip];\n if (false) console.log(state.step, \"NPUSHW[]\", n);\n for (let i = 0; i < n; i++) {\n let w = prog[++ip] << 8 | prog[++ip];\n if (w & 32768) w = -((w ^ 65535) + 1);\n stack.push(w);\n }\n state.ip = ip;\n}\nfunction WS(state) {\n const stack = state.stack;\n let store = state.store;\n if (!store) store = state.store = [];\n const v = stack.pop();\n const l = stack.pop();\n if (false) console.log(state.step, \"WS\", v, l);\n store[l] = v;\n}\nfunction RS(state) {\n const stack = state.stack;\n const store = state.store;\n const l = stack.pop();\n if (false) console.log(state.step, \"RS\", l);\n const v = store && store[l] || 0;\n stack.push(v);\n}\nfunction WCVTP(state) {\n const stack = state.stack;\n const v = stack.pop();\n const l = stack.pop();\n if (false) console.log(state.step, \"WCVTP\", v, l);\n state.cvt[l] = v / 64;\n}\nfunction RCVT(state) {\n const stack = state.stack;\n const cvte = stack.pop();\n if (false) console.log(state.step, \"RCVT\", cvte);\n stack.push(state.cvt[cvte] * 64);\n}\nfunction GC(a, state) {\n const stack = state.stack;\n const pi = stack.pop();\n const p = state.z2[pi];\n if (false) console.log(state.step, \"GC[\" + a + \"]\", pi);\n stack.push(state.dpv.distance(p, HPZero, a, false) * 64);\n}\nfunction MD(a, state) {\n const stack = state.stack;\n const pi2 = stack.pop();\n const pi1 = stack.pop();\n const p2 = state.z1[pi2];\n const p1 = state.z0[pi1];\n const d = state.dpv.distance(p1, p2, a, a);\n if (false) console.log(state.step, \"MD[\" + a + \"]\", pi2, pi1, \"->\", d);\n state.stack.push(Math.round(d * 64));\n}\nfunction MPPEM(state) {\n if (false) console.log(state.step, \"MPPEM[]\");\n state.stack.push(state.ppem);\n}\nfunction FLIPON(state) {\n if (false) console.log(state.step, \"FLIPON[]\");\n state.autoFlip = true;\n}\nfunction LT(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"LT[]\", e2, e1);\n stack.push(e1 < e2 ? 1 : 0);\n}\nfunction LTEQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"LTEQ[]\", e2, e1);\n stack.push(e1 <= e2 ? 1 : 0);\n}\nfunction GT(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"GT[]\", e2, e1);\n stack.push(e1 > e2 ? 1 : 0);\n}\nfunction GTEQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"GTEQ[]\", e2, e1);\n stack.push(e1 >= e2 ? 1 : 0);\n}\nfunction EQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"EQ[]\", e2, e1);\n stack.push(e2 === e1 ? 1 : 0);\n}\nfunction NEQ(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"NEQ[]\", e2, e1);\n stack.push(e2 !== e1 ? 1 : 0);\n}\nfunction ODD(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"ODD[]\", n);\n stack.push(Math.trunc(n) & 1 ? 1 : 0);\n}\nfunction EVEN(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"EVEN[]\", n);\n stack.push(Math.trunc(n) & 1 ? 0 : 1);\n}\nfunction IF(state) {\n let test = state.stack.pop();\n let ins;\n if (false) console.log(state.step, \"IF[]\", test);\n if (!test) {\n skip(state, true);\n if (false) console.log(state.step, ins === 27 ? \"ELSE[]\" : \"EIF[]\");\n }\n}\nfunction EIF(state) {\n if (false) console.log(state.step, \"EIF[]\");\n}\nfunction AND(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"AND[]\", e2, e1);\n stack.push(e2 && e1 ? 1 : 0);\n}\nfunction OR(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"OR[]\", e2, e1);\n stack.push(e2 || e1 ? 1 : 0);\n}\nfunction NOT(state) {\n const stack = state.stack;\n const e = stack.pop();\n if (false) console.log(state.step, \"NOT[]\", e);\n stack.push(e ? 0 : 1);\n}\nfunction DELTAP123(b, state) {\n const stack = state.stack;\n const n = stack.pop();\n const fv = state.fv;\n const pv = state.pv;\n const ppem = state.ppem;\n const base = state.deltaBase + (b - 1) * 16;\n const ds = state.deltaShift;\n const z0 = state.z0;\n if (false) console.log(state.step, \"DELTAP[\" + b + \"]\", n, stack);\n for (let i = 0; i < n; i++) {\n const pi = stack.pop();\n const arg = stack.pop();\n const appem = base + ((arg & 240) >> 4);\n if (appem !== ppem) continue;\n let mag = (arg & 15) - 8;\n if (mag >= 0) mag++;\n if (false) console.log(state.step, \"DELTAPFIX\", pi, \"by\", mag * ds);\n const p = z0[pi];\n fv.setRelative(p, p, mag * ds, pv);\n }\n}\nfunction SDB(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"SDB[]\", n);\n state.deltaBase = n;\n}\nfunction SDS(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"SDS[]\", n);\n state.deltaShift = Math.pow(0.5, n);\n}\nfunction ADD(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"ADD[]\", n2, n1);\n stack.push(n1 + n2);\n}\nfunction SUB(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"SUB[]\", n2, n1);\n stack.push(n1 - n2);\n}\nfunction DIV(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"DIV[]\", n2, n1);\n stack.push(n1 * 64 / n2);\n}\nfunction MUL(state) {\n const stack = state.stack;\n const n2 = stack.pop();\n const n1 = stack.pop();\n if (false) console.log(state.step, \"MUL[]\", n2, n1);\n stack.push(n1 * n2 / 64);\n}\nfunction ABS(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"ABS[]\", n);\n stack.push(Math.abs(n));\n}\nfunction NEG(state) {\n const stack = state.stack;\n let n = stack.pop();\n if (false) console.log(state.step, \"NEG[]\", n);\n stack.push(-n);\n}\nfunction FLOOR(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"FLOOR[]\", n);\n stack.push(Math.floor(n / 64) * 64);\n}\nfunction CEILING(state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"CEILING[]\", n);\n stack.push(Math.ceil(n / 64) * 64);\n}\nfunction ROUND(dt, state) {\n const stack = state.stack;\n const n = stack.pop();\n if (false) console.log(state.step, \"ROUND[]\");\n stack.push(state.round(n / 64) * 64);\n}\nfunction WCVTF(state) {\n const stack = state.stack;\n const v = stack.pop();\n const l = stack.pop();\n if (false) console.log(state.step, \"WCVTF[]\", v, l);\n state.cvt[l] = v * state.ppem / state.font.unitsPerEm;\n}\nfunction DELTAC123(b, state) {\n const stack = state.stack;\n const n = stack.pop();\n const ppem = state.ppem;\n const base = state.deltaBase + (b - 1) * 16;\n const ds = state.deltaShift;\n if (false) console.log(state.step, \"DELTAC[\" + b + \"]\", n, stack);\n for (let i = 0; i < n; i++) {\n const c = stack.pop();\n const arg = stack.pop();\n const appem = base + ((arg & 240) >> 4);\n if (appem !== ppem) continue;\n let mag = (arg & 15) - 8;\n if (mag >= 0) mag++;\n const delta = mag * ds;\n if (false) console.log(state.step, \"DELTACFIX\", c, \"by\", delta);\n state.cvt[c] += delta;\n }\n}\nfunction SROUND(state) {\n let n = state.stack.pop();\n if (false) console.log(state.step, \"SROUND[]\", n);\n state.round = roundSuper;\n let period;\n switch (n & 192) {\n case 0:\n period = 0.5;\n break;\n case 64:\n period = 1;\n break;\n case 128:\n period = 2;\n break;\n default:\n throw new Error(\"invalid SROUND value\");\n }\n state.srPeriod = period;\n switch (n & 48) {\n case 0:\n state.srPhase = 0;\n break;\n case 16:\n state.srPhase = 0.25 * period;\n break;\n case 32:\n state.srPhase = 0.5 * period;\n break;\n case 48:\n state.srPhase = 0.75 * period;\n break;\n default:\n throw new Error(\"invalid SROUND value\");\n }\n n &= 15;\n if (n === 0) state.srThreshold = 0;\n else state.srThreshold = (n / 8 - 0.5) * period;\n}\nfunction S45ROUND(state) {\n let n = state.stack.pop();\n if (false) console.log(state.step, \"S45ROUND[]\", n);\n state.round = roundSuper;\n let period;\n switch (n & 192) {\n case 0:\n period = Math.sqrt(2) / 2;\n break;\n case 64:\n period = Math.sqrt(2);\n break;\n case 128:\n period = 2 * Math.sqrt(2);\n break;\n default:\n throw new Error(\"invalid S45ROUND value\");\n }\n state.srPeriod = period;\n switch (n & 48) {\n case 0:\n state.srPhase = 0;\n break;\n case 16:\n state.srPhase = 0.25 * period;\n break;\n case 32:\n state.srPhase = 0.5 * period;\n break;\n case 48:\n state.srPhase = 0.75 * period;\n break;\n default:\n throw new Error(\"invalid S45ROUND value\");\n }\n n &= 15;\n if (n === 0) state.srThreshold = 0;\n else state.srThreshold = (n / 8 - 0.5) * period;\n}\nfunction ROFF(state) {\n if (false) console.log(state.step, \"ROFF[]\");\n state.round = roundOff;\n}\nfunction RUTG(state) {\n if (false) console.log(state.step, \"RUTG[]\");\n state.round = roundUpToGrid;\n}\nfunction RDTG(state) {\n if (false) console.log(state.step, \"RDTG[]\");\n state.round = roundDownToGrid;\n}\nfunction SCANCTRL(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SCANCTRL[]\", n);\n}\nfunction SDPVTL(a, state) {\n const stack = state.stack;\n const p2i = stack.pop();\n const p1i = stack.pop();\n const p2 = state.z2[p2i];\n const p1 = state.z1[p1i];\n if (false) console.log(state.step, \"SDPVTL[\" + a + \"]\", p2i, p1i);\n let dx;\n let dy;\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n state.dpv = getUnitVector(dx, dy);\n}\nfunction GETINFO(state) {\n const stack = state.stack;\n const sel = stack.pop();\n let r = 0;\n if (false) console.log(state.step, \"GETINFO[]\", sel);\n if (sel & 1) r = 35;\n if (sel & 32) r |= 4096;\n stack.push(r);\n}\nfunction ROLL(state) {\n const stack = state.stack;\n const a = stack.pop();\n const b = stack.pop();\n const c = stack.pop();\n if (false) console.log(state.step, \"ROLL[]\");\n stack.push(b);\n stack.push(a);\n stack.push(c);\n}\nfunction MAX(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"MAX[]\", e2, e1);\n stack.push(Math.max(e1, e2));\n}\nfunction MIN(state) {\n const stack = state.stack;\n const e2 = stack.pop();\n const e1 = stack.pop();\n if (false) console.log(state.step, \"MIN[]\", e2, e1);\n stack.push(Math.min(e1, e2));\n}\nfunction SCANTYPE(state) {\n const n = state.stack.pop();\n if (false) console.log(state.step, \"SCANTYPE[]\", n);\n}\nfunction INSTCTRL(state) {\n const s = state.stack.pop();\n let v = state.stack.pop();\n if (false) console.log(state.step, \"INSTCTRL[]\", s, v);\n switch (s) {\n case 1:\n state.inhibitGridFit = !!v;\n return;\n case 2:\n state.ignoreCvt = !!v;\n return;\n default:\n throw new Error(\"invalid INSTCTRL[] selector\");\n }\n}\nfunction PUSHB(n, state) {\n const stack = state.stack;\n const prog = state.prog;\n let ip = state.ip;\n if (false) console.log(state.step, \"PUSHB[\" + n + \"]\");\n for (let i = 0; i < n; i++) stack.push(prog[++ip]);\n state.ip = ip;\n}\nfunction PUSHW(n, state) {\n let ip = state.ip;\n const prog = state.prog;\n const stack = state.stack;\n if (false) console.log(state.ip, \"PUSHW[\" + n + \"]\");\n for (let i = 0; i < n; i++) {\n let w = prog[++ip] << 8 | prog[++ip];\n if (w & 32768) w = -((w ^ 65535) + 1);\n stack.push(w);\n }\n state.ip = ip;\n}\nfunction MDRP_MIRP(indirect, setRp0, keepD, ro, dt, state) {\n const stack = state.stack;\n const cvte = indirect && stack.pop();\n const pi = stack.pop();\n const rp0i = state.rp0;\n const rp = state.z0[rp0i];\n const p = state.z1[pi];\n const md = state.minDis;\n const fv = state.fv;\n const pv = state.dpv;\n let od;\n let d;\n let sign;\n let cv;\n d = od = pv.distance(p, rp, true, true);\n sign = d >= 0 ? 1 : -1;\n d = Math.abs(d);\n if (indirect) {\n cv = state.cvt[cvte];\n if (ro && Math.abs(d - cv) < state.cvCutIn) d = cv;\n }\n if (keepD && d < md) d = md;\n if (ro) d = state.round(d);\n fv.setRelative(p, rp, sign * d, pv);\n fv.touch(p);\n if (false) {\n console.log(\n state.step,\n (indirect ? \"MIRP[\" : \"MDRP[\") + (setRp0 ? \"M\" : \"m\") + (keepD ? \">\" : \"_\") + (ro ? \"R\" : \"_\") + (dt === 0 ? \"Gr\" : dt === 1 ? \"Bl\" : dt === 2 ? \"Wh\" : \"\") + \"]\",\n indirect ? cvte + \"(\" + state.cvt[cvte] + \",\" + cv + \")\" : \"\",\n pi,\n \"(d =\",\n od,\n \"->\",\n sign * d,\n \")\"\n );\n }\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (setRp0) state.rp0 = pi;\n}\ninstructionTable = [\n /* 0x00 */\n SVTCA.bind(void 0, yUnitVector),\n /* 0x01 */\n SVTCA.bind(void 0, xUnitVector),\n /* 0x02 */\n SPVTCA.bind(void 0, yUnitVector),\n /* 0x03 */\n SPVTCA.bind(void 0, xUnitVector),\n /* 0x04 */\n SFVTCA.bind(void 0, yUnitVector),\n /* 0x05 */\n SFVTCA.bind(void 0, xUnitVector),\n /* 0x06 */\n SPVTL.bind(void 0, 0),\n /* 0x07 */\n SPVTL.bind(void 0, 1),\n /* 0x08 */\n SFVTL.bind(void 0, 0),\n /* 0x09 */\n SFVTL.bind(void 0, 1),\n /* 0x0A */\n SPVFS,\n /* 0x0B */\n SFVFS,\n /* 0x0C */\n GPV,\n /* 0x0D */\n GFV,\n /* 0x0E */\n SFVTPV,\n /* 0x0F */\n ISECT,\n /* 0x10 */\n SRP0,\n /* 0x11 */\n SRP1,\n /* 0x12 */\n SRP2,\n /* 0x13 */\n SZP0,\n /* 0x14 */\n SZP1,\n /* 0x15 */\n SZP2,\n /* 0x16 */\n SZPS,\n /* 0x17 */\n SLOOP,\n /* 0x18 */\n RTG,\n /* 0x19 */\n RTHG,\n /* 0x1A */\n SMD,\n /* 0x1B */\n ELSE,\n /* 0x1C */\n JMPR,\n /* 0x1D */\n SCVTCI,\n /* 0x1E */\n void 0,\n // TODO SSWCI\n /* 0x1F */\n void 0,\n // TODO SSW\n /* 0x20 */\n DUP,\n /* 0x21 */\n POP,\n /* 0x22 */\n CLEAR,\n /* 0x23 */\n SWAP,\n /* 0x24 */\n DEPTH,\n /* 0x25 */\n CINDEX,\n /* 0x26 */\n MINDEX,\n /* 0x27 */\n void 0,\n // TODO ALIGNPTS\n /* 0x28 */\n void 0,\n /* 0x29 */\n void 0,\n // TODO UTP\n /* 0x2A */\n LOOPCALL,\n /* 0x2B */\n CALL,\n /* 0x2C */\n FDEF,\n /* 0x2D */\n void 0,\n // ENDF (eaten by FDEF)\n /* 0x2E */\n MDAP.bind(void 0, 0),\n /* 0x2F */\n MDAP.bind(void 0, 1),\n /* 0x30 */\n IUP.bind(void 0, yUnitVector),\n /* 0x31 */\n IUP.bind(void 0, xUnitVector),\n /* 0x32 */\n SHP.bind(void 0, 0),\n /* 0x33 */\n SHP.bind(void 0, 1),\n /* 0x34 */\n SHC.bind(void 0, 0),\n /* 0x35 */\n SHC.bind(void 0, 1),\n /* 0x36 */\n SHZ.bind(void 0, 0),\n /* 0x37 */\n SHZ.bind(void 0, 1),\n /* 0x38 */\n SHPIX,\n /* 0x39 */\n IP,\n /* 0x3A */\n MSIRP.bind(void 0, 0),\n /* 0x3B */\n MSIRP.bind(void 0, 1),\n /* 0x3C */\n ALIGNRP,\n /* 0x3D */\n RTDG,\n /* 0x3E */\n MIAP.bind(void 0, 0),\n /* 0x3F */\n MIAP.bind(void 0, 1),\n /* 0x40 */\n NPUSHB,\n /* 0x41 */\n NPUSHW,\n /* 0x42 */\n WS,\n /* 0x43 */\n RS,\n /* 0x44 */\n WCVTP,\n /* 0x45 */\n RCVT,\n /* 0x46 */\n GC.bind(void 0, 0),\n /* 0x47 */\n GC.bind(void 0, 1),\n /* 0x48 */\n void 0,\n // TODO SCFS\n /* 0x49 */\n MD.bind(void 0, 0),\n /* 0x4A */\n MD.bind(void 0, 1),\n /* 0x4B */\n MPPEM,\n /* 0x4C */\n void 0,\n // TODO MPS\n /* 0x4D */\n FLIPON,\n /* 0x4E */\n void 0,\n // TODO FLIPOFF\n /* 0x4F */\n void 0,\n // TODO DEBUG\n /* 0x50 */\n LT,\n /* 0x51 */\n LTEQ,\n /* 0x52 */\n GT,\n /* 0x53 */\n GTEQ,\n /* 0x54 */\n EQ,\n /* 0x55 */\n NEQ,\n /* 0x56 */\n ODD,\n /* 0x57 */\n EVEN,\n /* 0x58 */\n IF,\n /* 0x59 */\n EIF,\n /* 0x5A */\n AND,\n /* 0x5B */\n OR,\n /* 0x5C */\n NOT,\n /* 0x5D */\n DELTAP123.bind(void 0, 1),\n /* 0x5E */\n SDB,\n /* 0x5F */\n SDS,\n /* 0x60 */\n ADD,\n /* 0x61 */\n SUB,\n /* 0x62 */\n DIV,\n /* 0x63 */\n MUL,\n /* 0x64 */\n ABS,\n /* 0x65 */\n NEG,\n /* 0x66 */\n FLOOR,\n /* 0x67 */\n CEILING,\n /* 0x68 */\n ROUND.bind(void 0, 0),\n /* 0x69 */\n ROUND.bind(void 0, 1),\n /* 0x6A */\n ROUND.bind(void 0, 2),\n /* 0x6B */\n ROUND.bind(void 0, 3),\n /* 0x6C */\n void 0,\n // TODO NROUND[ab]\n /* 0x6D */\n void 0,\n // TODO NROUND[ab]\n /* 0x6E */\n void 0,\n // TODO NROUND[ab]\n /* 0x6F */\n void 0,\n // TODO NROUND[ab]\n /* 0x70 */\n WCVTF,\n /* 0x71 */\n DELTAP123.bind(void 0, 2),\n /* 0x72 */\n DELTAP123.bind(void 0, 3),\n /* 0x73 */\n DELTAC123.bind(void 0, 1),\n /* 0x74 */\n DELTAC123.bind(void 0, 2),\n /* 0x75 */\n DELTAC123.bind(void 0, 3),\n /* 0x76 */\n SROUND,\n /* 0x77 */\n S45ROUND,\n /* 0x78 */\n void 0,\n // TODO JROT[]\n /* 0x79 */\n void 0,\n // TODO JROF[]\n /* 0x7A */\n ROFF,\n /* 0x7B */\n void 0,\n /* 0x7C */\n RUTG,\n /* 0x7D */\n RDTG,\n /* 0x7E */\n POP,\n // actually SANGW, supposed to do only a pop though\n /* 0x7F */\n POP,\n // actually AA, supposed to do only a pop though\n /* 0x80 */\n void 0,\n // TODO FLIPPT\n /* 0x81 */\n void 0,\n // TODO FLIPRGON\n /* 0x82 */\n void 0,\n // TODO FLIPRGOFF\n /* 0x83 */\n void 0,\n /* 0x84 */\n void 0,\n /* 0x85 */\n SCANCTRL,\n /* 0x86 */\n SDPVTL.bind(void 0, 0),\n /* 0x87 */\n SDPVTL.bind(void 0, 1),\n /* 0x88 */\n GETINFO,\n /* 0x89 */\n void 0,\n // TODO IDEF\n /* 0x8A */\n ROLL,\n /* 0x8B */\n MAX,\n /* 0x8C */\n MIN,\n /* 0x8D */\n SCANTYPE,\n /* 0x8E */\n INSTCTRL,\n /* 0x8F */\n void 0,\n /* 0x90 */\n void 0,\n /* 0x91 */\n void 0,\n /* 0x92 */\n void 0,\n /* 0x93 */\n void 0,\n /* 0x94 */\n void 0,\n /* 0x95 */\n void 0,\n /* 0x96 */\n void 0,\n /* 0x97 */\n void 0,\n /* 0x98 */\n void 0,\n /* 0x99 */\n void 0,\n /* 0x9A */\n void 0,\n /* 0x9B */\n void 0,\n /* 0x9C */\n void 0,\n /* 0x9D */\n void 0,\n /* 0x9E */\n void 0,\n /* 0x9F */\n void 0,\n /* 0xA0 */\n void 0,\n /* 0xA1 */\n void 0,\n /* 0xA2 */\n void 0,\n /* 0xA3 */\n void 0,\n /* 0xA4 */\n void 0,\n /* 0xA5 */\n void 0,\n /* 0xA6 */\n void 0,\n /* 0xA7 */\n void 0,\n /* 0xA8 */\n void 0,\n /* 0xA9 */\n void 0,\n /* 0xAA */\n void 0,\n /* 0xAB */\n void 0,\n /* 0xAC */\n void 0,\n /* 0xAD */\n void 0,\n /* 0xAE */\n void 0,\n /* 0xAF */\n void 0,\n /* 0xB0 */\n PUSHB.bind(void 0, 1),\n /* 0xB1 */\n PUSHB.bind(void 0, 2),\n /* 0xB2 */\n PUSHB.bind(void 0, 3),\n /* 0xB3 */\n PUSHB.bind(void 0, 4),\n /* 0xB4 */\n PUSHB.bind(void 0, 5),\n /* 0xB5 */\n PUSHB.bind(void 0, 6),\n /* 0xB6 */\n PUSHB.bind(void 0, 7),\n /* 0xB7 */\n PUSHB.bind(void 0, 8),\n /* 0xB8 */\n PUSHW.bind(void 0, 1),\n /* 0xB9 */\n PUSHW.bind(void 0, 2),\n /* 0xBA */\n PUSHW.bind(void 0, 3),\n /* 0xBB */\n PUSHW.bind(void 0, 4),\n /* 0xBC */\n PUSHW.bind(void 0, 5),\n /* 0xBD */\n PUSHW.bind(void 0, 6),\n /* 0xBE */\n PUSHW.bind(void 0, 7),\n /* 0xBF */\n PUSHW.bind(void 0, 8),\n /* 0xC0 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 0),\n /* 0xC1 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 1),\n /* 0xC2 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 2),\n /* 0xC3 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 0, 3),\n /* 0xC4 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 0),\n /* 0xC5 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 1),\n /* 0xC6 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 2),\n /* 0xC7 */\n MDRP_MIRP.bind(void 0, 0, 0, 0, 1, 3),\n /* 0xC8 */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 0),\n /* 0xC9 */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 1),\n /* 0xCA */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 2),\n /* 0xCB */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 0, 3),\n /* 0xCC */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 0),\n /* 0xCD */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 1),\n /* 0xCE */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 2),\n /* 0xCF */\n MDRP_MIRP.bind(void 0, 0, 0, 1, 1, 3),\n /* 0xD0 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 0),\n /* 0xD1 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 1),\n /* 0xD2 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 2),\n /* 0xD3 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 0, 3),\n /* 0xD4 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 0),\n /* 0xD5 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 1),\n /* 0xD6 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 2),\n /* 0xD7 */\n MDRP_MIRP.bind(void 0, 0, 1, 0, 1, 3),\n /* 0xD8 */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 0),\n /* 0xD9 */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 1),\n /* 0xDA */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 2),\n /* 0xDB */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 0, 3),\n /* 0xDC */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 0),\n /* 0xDD */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 1),\n /* 0xDE */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 2),\n /* 0xDF */\n MDRP_MIRP.bind(void 0, 0, 1, 1, 1, 3),\n /* 0xE0 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 0),\n /* 0xE1 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 1),\n /* 0xE2 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 2),\n /* 0xE3 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 0, 3),\n /* 0xE4 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 0),\n /* 0xE5 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 1),\n /* 0xE6 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 2),\n /* 0xE7 */\n MDRP_MIRP.bind(void 0, 1, 0, 0, 1, 3),\n /* 0xE8 */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 0),\n /* 0xE9 */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 1),\n /* 0xEA */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 2),\n /* 0xEB */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 0, 3),\n /* 0xEC */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 0),\n /* 0xED */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 1),\n /* 0xEE */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 2),\n /* 0xEF */\n MDRP_MIRP.bind(void 0, 1, 0, 1, 1, 3),\n /* 0xF0 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 0),\n /* 0xF1 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 1),\n /* 0xF2 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 2),\n /* 0xF3 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 0, 3),\n /* 0xF4 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 0),\n /* 0xF5 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 1),\n /* 0xF6 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 2),\n /* 0xF7 */\n MDRP_MIRP.bind(void 0, 1, 1, 0, 1, 3),\n /* 0xF8 */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 0),\n /* 0xF9 */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 1),\n /* 0xFA */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 2),\n /* 0xFB */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 0, 3),\n /* 0xFC */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 0),\n /* 0xFD */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 1),\n /* 0xFE */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 2),\n /* 0xFF */\n MDRP_MIRP.bind(void 0, 1, 1, 1, 1, 3)\n];\nvar hintingtt_default = Hinting;\n\n// src/tokenizer.mjs\nfunction Token(char) {\n this.char = char;\n this.state = {};\n this.activeState = null;\n}\nfunction ContextRange(startIndex, endOffset, contextName) {\n this.contextName = contextName;\n this.startIndex = startIndex;\n this.endOffset = endOffset;\n}\nfunction ContextChecker(contextName, checkStart, checkEnd) {\n this.contextName = contextName;\n this.openRange = null;\n this.ranges = [];\n this.checkStart = checkStart;\n this.checkEnd = checkEnd;\n}\nfunction ContextParams(context, currentIndex) {\n this.context = context;\n this.index = currentIndex;\n this.length = context.length;\n this.current = context[currentIndex];\n this.backtrack = context.slice(0, currentIndex);\n this.lookahead = context.slice(currentIndex + 1);\n}\nfunction Event(eventId) {\n this.eventId = eventId;\n this.subscribers = [];\n}\nfunction initializeCoreEvents(events) {\n const coreEvents = [\n \"start\",\n \"end\",\n \"next\",\n \"newToken\",\n \"contextStart\",\n \"contextEnd\",\n \"insertToken\",\n \"removeToken\",\n \"removeRange\",\n \"replaceToken\",\n \"replaceRange\",\n \"composeRUD\",\n \"updateContextsRanges\"\n ];\n for (let i = 0; i < coreEvents.length; i++) {\n const eventId = coreEvents[i];\n Object.defineProperty(this.events, eventId, {\n value: new Event(eventId)\n });\n }\n if (events) {\n for (let i = 0; i < coreEvents.length; i++) {\n const eventId = coreEvents[i];\n const event = events[eventId];\n if (typeof event === \"function\") {\n this.events[eventId].subscribe(event);\n }\n }\n }\n const requiresContextUpdate = [\n \"insertToken\",\n \"removeToken\",\n \"removeRange\",\n \"replaceToken\",\n \"replaceRange\",\n \"composeRUD\"\n ];\n for (let i = 0; i < requiresContextUpdate.length; i++) {\n const eventId = requiresContextUpdate[i];\n this.events[eventId].subscribe(\n this.updateContextsRanges\n );\n }\n}\nfunction Tokenizer(events) {\n this.tokens = [];\n this.registeredContexts = {};\n this.contextCheckers = [];\n this.events = {};\n this.registeredModifiers = [];\n initializeCoreEvents.call(this, events);\n}\nToken.prototype.setState = function(key, value) {\n this.state[key] = value;\n this.activeState = { key, value: this.state[key] };\n return this.activeState;\n};\nToken.prototype.getState = function(stateId) {\n return this.state[stateId] || null;\n};\nTokenizer.prototype.inboundIndex = function(index) {\n return index >= 0 && index < this.tokens.length;\n};\nTokenizer.prototype.composeRUD = function(RUDs) {\n const silent = true;\n const state = RUDs.map((RUD) => this[RUD[0]].apply(this, RUD.slice(1).concat(silent)));\n const hasFAILObject = (obj) => typeof obj === \"object\" && Object.prototype.hasOwnProperty.call(obj, \"FAIL\");\n if (state.every(hasFAILObject)) {\n return {\n FAIL: \"composeRUD: one or more operations hasn't completed successfully\",\n report: state.filter(hasFAILObject)\n };\n }\n this.dispatch(\"composeRUD\", [state.filter((op) => !hasFAILObject(op))]);\n};\nTokenizer.prototype.replaceRange = function(startIndex, offset, tokens, silent) {\n offset = offset !== null ? offset : this.tokens.length;\n const isTokenType = tokens.every((token) => token instanceof Token);\n if (!isNaN(startIndex) && this.inboundIndex(startIndex) && isTokenType) {\n const replaced = this.tokens.splice.apply(\n this.tokens,\n [startIndex, offset].concat(tokens)\n );\n if (!silent) this.dispatch(\"replaceToken\", [startIndex, offset, tokens]);\n return [replaced, tokens];\n } else {\n return { FAIL: \"replaceRange: invalid tokens or startIndex.\" };\n }\n};\nTokenizer.prototype.replaceToken = function(index, token, silent) {\n if (!isNaN(index) && this.inboundIndex(index) && token instanceof Token) {\n const replaced = this.tokens.splice(index, 1, token);\n if (!silent) this.dispatch(\"replaceToken\", [index, token]);\n return [replaced[0], token];\n } else {\n return { FAIL: \"replaceToken: invalid token or index.\" };\n }\n};\nTokenizer.prototype.removeRange = function(startIndex, offset, silent) {\n offset = !isNaN(offset) ? offset : this.tokens.length;\n const tokens = this.tokens.splice(startIndex, offset);\n if (!silent) this.dispatch(\"removeRange\", [tokens, startIndex, offset]);\n return tokens;\n};\nTokenizer.prototype.removeToken = function(index, silent) {\n if (!isNaN(index) && this.inboundIndex(index)) {\n const token = this.tokens.splice(index, 1);\n if (!silent) this.dispatch(\"removeToken\", [token, index]);\n return token;\n } else {\n return { FAIL: \"removeToken: invalid token index.\" };\n }\n};\nTokenizer.prototype.insertToken = function(tokens, index, silent) {\n const tokenType = tokens.every(\n (token) => token instanceof Token\n );\n if (tokenType) {\n this.tokens.splice.apply(\n this.tokens,\n [index, 0].concat(tokens)\n );\n if (!silent) this.dispatch(\"insertToken\", [tokens, index]);\n return tokens;\n } else {\n return { FAIL: \"insertToken: invalid token(s).\" };\n }\n};\nTokenizer.prototype.registerModifier = function(modifierId, condition, modifier) {\n this.events.newToken.subscribe(function(token, contextParams) {\n const conditionParams = [token, contextParams];\n const canApplyModifier = condition === null || condition.apply(this, conditionParams) === true;\n const modifierParams = [token, contextParams];\n if (canApplyModifier) {\n let newStateValue = modifier.apply(this, modifierParams);\n token.setState(modifierId, newStateValue);\n }\n });\n this.registeredModifiers.push(modifierId);\n};\nEvent.prototype.subscribe = function(eventHandler) {\n if (typeof eventHandler === \"function\") {\n return this.subscribers.push(eventHandler) - 1;\n } else {\n return { FAIL: `invalid '${this.eventId}' event handler` };\n }\n};\nEvent.prototype.unsubscribe = function(subsId) {\n this.subscribers.splice(subsId, 1);\n};\nContextParams.prototype.setCurrentIndex = function(index) {\n this.index = index;\n this.current = this.context[index];\n this.backtrack = this.context.slice(0, index);\n this.lookahead = this.context.slice(index + 1);\n};\nContextParams.prototype.get = function(offset) {\n switch (true) {\n case offset === 0:\n return this.current;\n case (offset < 0 && Math.abs(offset) <= this.backtrack.length):\n return this.backtrack.slice(offset)[0];\n case (offset > 0 && offset <= this.lookahead.length):\n return this.lookahead[offset - 1];\n default:\n return null;\n }\n};\nTokenizer.prototype.rangeToText = function(range) {\n if (range instanceof ContextRange) {\n return this.getRangeTokens(range).map((token) => token.char).join(\"\");\n }\n};\nTokenizer.prototype.getText = function() {\n return this.tokens.map((token) => token.char).join(\"\");\n};\nTokenizer.prototype.getContext = function(contextName) {\n let context = this.registeredContexts[contextName];\n return context ? context : null;\n};\nTokenizer.prototype.on = function(eventName, eventHandler) {\n const event = this.events[eventName];\n if (event) {\n return event.subscribe(eventHandler);\n } else {\n return null;\n }\n};\nTokenizer.prototype.dispatch = function(eventName, args) {\n const event = this.events[eventName];\n if (event instanceof Event) {\n for (let i = 0; i < event.subscribers.length; i++) {\n const subscriber = event.subscribers[i];\n subscriber.apply(this, args || []);\n }\n }\n};\nTokenizer.prototype.registerContextChecker = function(contextName, contextStartCheck, contextEndCheck) {\n if (this.getContext(contextName)) return {\n FAIL: `context name '${contextName}' is already registered.`\n };\n if (typeof contextStartCheck !== \"function\") return {\n FAIL: \"missing context start check.\"\n };\n if (typeof contextEndCheck !== \"function\") return {\n FAIL: \"missing context end check.\"\n };\n const contextCheckers = new ContextChecker(\n contextName,\n contextStartCheck,\n contextEndCheck\n );\n this.registeredContexts[contextName] = contextCheckers;\n this.contextCheckers.push(contextCheckers);\n return contextCheckers;\n};\nTokenizer.prototype.getRangeTokens = function(range) {\n const endIndex = range.startIndex + range.endOffset;\n return [].concat(\n this.tokens.slice(range.startIndex, endIndex)\n );\n};\nTokenizer.prototype.getContextRanges = function(contextName) {\n const context = this.getContext(contextName);\n if (context) {\n return context.ranges;\n } else {\n return { FAIL: `context checker '${contextName}' is not registered.` };\n }\n};\nTokenizer.prototype.resetContextsRanges = function() {\n const registeredContexts = this.registeredContexts;\n for (const contextName in registeredContexts) {\n if (Object.prototype.hasOwnProperty.call(registeredContexts, contextName)) {\n const context = registeredContexts[contextName];\n context.ranges = [];\n }\n }\n};\nTokenizer.prototype.updateContextsRanges = function() {\n this.resetContextsRanges();\n const chars = this.tokens.map((token) => token.char);\n for (let i = 0; i < chars.length; i++) {\n const contextParams = new ContextParams(chars, i);\n this.runContextCheck(contextParams);\n }\n this.dispatch(\"updateContextsRanges\", [this.registeredContexts]);\n};\nTokenizer.prototype.setEndOffset = function(offset, contextName) {\n const startIndex = this.getContext(contextName).openRange.startIndex;\n let range = new ContextRange(startIndex, offset, contextName);\n const ranges = this.getContext(contextName).ranges;\n range.rangeId = `${contextName}.${ranges.length}`;\n ranges.push(range);\n this.getContext(contextName).openRange = null;\n return range;\n};\nTokenizer.prototype.runContextCheck = function(contextParams) {\n const index = contextParams.index;\n for (let i = 0; i < this.contextCheckers.length; i++) {\n const contextChecker = this.contextCheckers[i];\n let contextName = contextChecker.contextName;\n let openRange = this.getContext(contextName).openRange;\n if (!openRange && contextChecker.checkStart(contextParams)) {\n openRange = new ContextRange(index, null, contextName);\n this.getContext(contextName).openRange = openRange;\n this.dispatch(\"contextStart\", [contextName, index]);\n }\n if (!!openRange && contextChecker.checkEnd(contextParams)) {\n const offset = index - openRange.startIndex + 1;\n const range = this.setEndOffset(offset, contextName);\n this.dispatch(\"contextEnd\", [contextName, range]);\n }\n }\n};\nTokenizer.prototype.tokenize = function(text) {\n this.tokens = [];\n this.resetContextsRanges();\n let chars = Array.from(text);\n this.dispatch(\"start\");\n for (let i = 0; i < chars.length; i++) {\n const char = chars[i];\n const contextParams = new ContextParams(chars, i);\n this.dispatch(\"next\", [contextParams]);\n this.runContextCheck(contextParams);\n let token = new Token(char);\n this.tokens.push(token);\n this.dispatch(\"newToken\", [token, contextParams]);\n }\n this.dispatch(\"end\", [this.tokens]);\n return this.tokens;\n};\nvar tokenizer_default = Tokenizer;\n\n// src/char.mjs\nfunction isArabicChar(c) {\n return /[\\u0600-\\u065F\\u066A-\\u06D2\\u06FA-\\u06FF]/.test(c);\n}\nfunction isIsolatedArabicChar(char) {\n return /[\\u0630\\u0690\\u0621\\u0631\\u0661\\u0671\\u0622\\u0632\\u0672\\u0692\\u06C2\\u0623\\u0673\\u0693\\u06C3\\u0624\\u0694\\u06C4\\u0625\\u0675\\u0695\\u06C5\\u06E5\\u0676\\u0696\\u06C6\\u0627\\u0677\\u0697\\u06C7\\u0648\\u0688\\u0698\\u06C8\\u0689\\u0699\\u06C9\\u068A\\u06CA\\u066B\\u068B\\u06CB\\u068C\\u068D\\u06CD\\u06FD\\u068E\\u06EE\\u06FE\\u062F\\u068F\\u06CF\\u06EF]/.test(char);\n}\nfunction isTashkeelArabicChar(char) {\n return /[\\u0600-\\u0605\\u060C-\\u060E\\u0610-\\u061B\\u061E\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED]/.test(char);\n}\nfunction isThaiChar(c) {\n return /[\\u0E00-\\u0E7F]/.test(c);\n}\nfunction isLatinChar(c) {\n return /[A-z]/.test(c);\n}\nfunction isWhiteSpace(c) {\n return /\\s/.test(c);\n}\n\n// src/features/featureQuery.mjs\nfunction FeatureQuery(font) {\n this.font = font;\n this.features = {};\n}\nfunction SubstitutionAction(action) {\n this.id = action.id;\n this.tag = action.tag;\n this.substitution = action.substitution;\n}\nfunction lookupCoverage(glyphIndex, coverage) {\n if (!glyphIndex) return -1;\n switch (coverage.format) {\n case 1:\n return coverage.glyphs.indexOf(glyphIndex);\n case 2: {\n let ranges = coverage.ranges;\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (glyphIndex >= range.start && glyphIndex <= range.end) {\n let offset = glyphIndex - range.start;\n return range.index + offset;\n }\n }\n break;\n }\n default:\n return -1;\n }\n return -1;\n}\nfunction singleSubstitutionFormat1(glyphIndex, subtable) {\n let substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) return null;\n return glyphIndex + subtable.deltaGlyphId;\n}\nfunction singleSubstitutionFormat2(glyphIndex, subtable) {\n let substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) return null;\n return subtable.substitute[substituteIndex];\n}\nfunction lookupCoverageList(coverageList, contextParams) {\n let lookupList = [];\n for (let i = 0; i < coverageList.length; i++) {\n const coverage = coverageList[i];\n let glyphIndex = contextParams.current;\n glyphIndex = Array.isArray(glyphIndex) ? glyphIndex[0] : glyphIndex;\n const lookupIndex = lookupCoverage(glyphIndex, coverage);\n if (lookupIndex !== -1) {\n lookupList.push(lookupIndex);\n }\n }\n if (lookupList.length !== coverageList.length) return -1;\n return lookupList;\n}\nfunction chainingSubstitutionFormat3(contextParams, subtable) {\n const lookupsCount = subtable.inputCoverage.length + subtable.lookaheadCoverage.length + subtable.backtrackCoverage.length;\n if (contextParams.context.length < lookupsCount) return [];\n let inputLookups = lookupCoverageList(\n subtable.inputCoverage,\n contextParams\n );\n if (inputLookups === -1) return [];\n const lookaheadOffset = subtable.inputCoverage.length - 1;\n if (contextParams.lookahead.length < subtable.lookaheadCoverage.length) return [];\n let lookaheadContext = contextParams.lookahead.slice(lookaheadOffset);\n while (lookaheadContext.length && isTashkeelArabicChar(lookaheadContext[0].char)) {\n lookaheadContext.shift();\n }\n const lookaheadParams = new ContextParams(lookaheadContext, 0);\n let lookaheadLookups = lookupCoverageList(\n subtable.lookaheadCoverage,\n lookaheadParams\n );\n let backtrackContext = [].concat(contextParams.backtrack);\n backtrackContext.reverse();\n while (backtrackContext.length && isTashkeelArabicChar(backtrackContext[0].char)) {\n backtrackContext.shift();\n }\n if (backtrackContext.length < subtable.backtrackCoverage.length) return [];\n const backtrackParams = new ContextParams(backtrackContext, 0);\n let backtrackLookups = lookupCoverageList(\n subtable.backtrackCoverage,\n backtrackParams\n );\n const contextRulesMatch = inputLookups.length === subtable.inputCoverage.length && lookaheadLookups.length === subtable.lookaheadCoverage.length && backtrackLookups.length === subtable.backtrackCoverage.length;\n let substitutions = [];\n if (contextRulesMatch) {\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const lookupRecord = subtable.lookupRecords[i];\n const lookupListIndex = lookupRecord.lookupListIndex;\n const lookupTable = this.getLookupByIndex(lookupListIndex);\n for (let s = 0; s < lookupTable.subtables.length; s++) {\n let subtable2 = lookupTable.subtables[s];\n let lookup;\n let substitutionType = this.getSubstitutionType(lookupTable, subtable2);\n if (substitutionType === \"71\") {\n substitutionType = this.getSubstitutionType(subtable2, subtable2.extension);\n lookup = this.getLookupMethod(subtable2, subtable2.extension);\n subtable2 = subtable2.extension;\n } else {\n lookup = this.getLookupMethod(lookupTable, subtable2);\n }\n if (substitutionType === \"12\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n } else if (substitutionType === \"21\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n } else {\n throw new Error(`Substitution type ${substitutionType} is not supported in chaining substitution`);\n }\n }\n }\n }\n return substitutions;\n}\nfunction ligatureSubstitutionFormat1(contextParams, subtable) {\n let glyphIndex = contextParams.current;\n let ligSetIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (ligSetIndex === -1) return null;\n let ligature;\n let ligatureSet = subtable.ligatureSets[ligSetIndex];\n for (let s = 0; s < ligatureSet.length; s++) {\n ligature = ligatureSet[s];\n for (let l = 0; l < ligature.components.length; l++) {\n const lookaheadItem = contextParams.lookahead[l];\n const component = ligature.components[l];\n if (lookaheadItem !== component) break;\n if (l === ligature.components.length - 1) return ligature;\n }\n }\n return null;\n}\nfunction contextSubstitutionFormat1(contextParams, subtable) {\n let glyphId = contextParams.current;\n let ligSetIndex = lookupCoverage(glyphId, subtable.coverage);\n if (ligSetIndex === -1)\n return null;\n for (const ruleSet of subtable.ruleSets) {\n for (const rule of ruleSet) {\n let matched = true;\n for (let i = 0; i < rule.input.length; i++) {\n if (contextParams.lookahead[i] !== rule.input[i]) {\n matched = false;\n break;\n }\n }\n if (matched) {\n let substitutions = [];\n substitutions.push(glyphId);\n for (let i = 0; i < rule.input.length; i++) {\n substitutions.push(rule.input[i]);\n }\n const parser = (substitutions2, lookupRecord) => {\n const { lookupListIndex, sequenceIndex } = lookupRecord;\n const { subtables } = this.getLookupByIndex(lookupListIndex);\n for (const subtable2 of subtables) {\n let ligSetIndex2 = lookupCoverage(substitutions2[sequenceIndex], subtable2.coverage);\n if (ligSetIndex2 !== -1) {\n substitutions2[sequenceIndex] = subtable2.deltaGlyphId;\n }\n }\n };\n for (let i = 0; i < rule.lookupRecords.length; i++) {\n const lookupRecord = rule.lookupRecords[i];\n parser(substitutions, lookupRecord);\n }\n return substitutions;\n }\n }\n }\n return null;\n}\nfunction contextSubstitutionFormat3(contextParams, subtable) {\n if (contextParams.context.length < subtable.coverages.length) {\n return [];\n }\n for (let i = 0; i < subtable.coverages.length; i++) {\n let glyphIndex = contextParams.get(i);\n glyphIndex = Array.isArray(glyphIndex) ? glyphIndex[0] : glyphIndex;\n if (lookupCoverage(glyphIndex, subtable.coverages[i]) === -1) {\n return [];\n }\n }\n let substitutions = [];\n for (let i = 0; i < subtable.lookupRecords.length; i++) {\n const lookupRecord = subtable.lookupRecords[i];\n const lookupListIndex = lookupRecord.lookupListIndex;\n const lookupTable = this.getLookupByIndex(lookupListIndex);\n for (let s = 0; s < lookupTable.subtables.length; s++) {\n let subtable2 = lookupTable.subtables[s];\n let lookup;\n let substitutionType = this.getSubstitutionType(lookupTable, subtable2);\n if (substitutionType === \"71\") {\n substitutionType = this.getSubstitutionType(subtable2, subtable2.extension);\n lookup = this.getLookupMethod(subtable2, subtable2.extension);\n subtable2 = subtable2.extension;\n } else {\n lookup = this.getLookupMethod(lookupTable, subtable2);\n }\n if (substitutionType === \"12\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n } else if (substitutionType === \"21\") {\n const glyphIndex = contextParams.get(lookupRecord.sequenceIndex);\n const substitution = lookup(glyphIndex);\n if (substitution) substitutions.push(substitution);\n }\n }\n }\n return substitutions;\n}\nfunction decompositionSubstitutionFormat1(glyphIndex, subtable) {\n let substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) return null;\n return subtable.sequences[substituteIndex];\n}\nFeatureQuery.prototype.getDefaultScriptFeaturesIndexes = function() {\n const scripts = this.font.tables.gsub.scripts;\n for (let s = 0; s < scripts.length; s++) {\n const script = scripts[s];\n if (script.tag === \"DFLT\") return script.script.defaultLangSys.featureIndexes;\n }\n return [];\n};\nFeatureQuery.prototype.getScriptFeaturesIndexes = function(scriptTag) {\n const tables = this.font.tables;\n if (!tables.gsub) return [];\n if (!scriptTag) return this.getDefaultScriptFeaturesIndexes();\n const scripts = this.font.tables.gsub.scripts;\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (script.tag === scriptTag && script.script.defaultLangSys) {\n return script.script.defaultLangSys.featureIndexes;\n } else {\n let langSysRecords = script.langSysRecords;\n if (langSysRecords) {\n for (let j = 0; j < langSysRecords.length; j++) {\n const langSysRecord = langSysRecords[j];\n if (langSysRecord.tag === scriptTag) {\n let langSys = langSysRecord.langSys;\n return langSys.featureIndexes;\n }\n }\n }\n }\n }\n return this.getDefaultScriptFeaturesIndexes();\n};\nFeatureQuery.prototype.mapTagsToFeatures = function(features, scriptTag) {\n let tags = {};\n for (let i = 0; i < features.length; i++) {\n const tag = features[i].tag;\n const feature = features[i].feature;\n tags[tag] = feature;\n }\n this.features[scriptTag].tags = tags;\n};\nFeatureQuery.prototype.getScriptFeatures = function(scriptTag) {\n let features = this.features[scriptTag];\n if (Object.prototype.hasOwnProperty.call(this.features, scriptTag)) return features;\n const featuresIndexes = this.getScriptFeaturesIndexes(scriptTag);\n if (!featuresIndexes) return null;\n const gsub = this.font.tables.gsub;\n features = featuresIndexes.map((index) => gsub.features[index]);\n this.features[scriptTag] = features;\n this.mapTagsToFeatures(features, scriptTag);\n return features;\n};\nFeatureQuery.prototype.getSubstitutionType = function(lookupTable, subtable) {\n const lookupType = lookupTable.lookupType.toString();\n const substFormat = subtable.substFormat.toString();\n return lookupType + substFormat;\n};\nFeatureQuery.prototype.getLookupMethod = function(lookupTable, subtable) {\n let substitutionType = this.getSubstitutionType(lookupTable, subtable);\n switch (substitutionType) {\n case \"11\":\n return (glyphIndex) => singleSubstitutionFormat1.apply(\n this,\n [glyphIndex, subtable]\n );\n case \"12\":\n return (glyphIndex) => singleSubstitutionFormat2.apply(\n this,\n [glyphIndex, subtable]\n );\n case \"63\":\n return (contextParams) => chainingSubstitutionFormat3.apply(\n this,\n [contextParams, subtable]\n );\n case \"41\":\n return (contextParams) => ligatureSubstitutionFormat1.apply(\n this,\n [contextParams, subtable]\n );\n case \"21\":\n return (glyphIndex) => decompositionSubstitutionFormat1.apply(\n this,\n [glyphIndex, subtable]\n );\n case \"51\":\n return (contextParams) => contextSubstitutionFormat1.apply(\n this,\n [contextParams, subtable]\n );\n case \"53\":\n return (contextParams) => contextSubstitutionFormat3.apply(\n this,\n [contextParams, subtable]\n );\n default:\n throw new Error(\n `substitutionType : ${substitutionType} lookupType: ${lookupTable.lookupType} - substFormat: ${subtable.substFormat} is not yet supported`\n );\n }\n};\nFeatureQuery.prototype.lookupFeature = function(query) {\n let contextParams = query.contextParams;\n let currentIndex = contextParams.index;\n const feature = this.getFeature({\n tag: query.tag,\n script: query.script\n });\n if (!feature) return new Error(\n `font '${(this.font.names.unicode || this.font.names.windows || this.font.names.macintosh).fullName.en}' doesn't support feature '${query.tag}' for script '${query.script}'.`\n );\n const lookups = this.getFeatureLookups(feature);\n const substitutions = [].concat(contextParams.context);\n for (let l = 0; l < lookups.length; l++) {\n const lookupTable = lookups[l];\n const subtables = this.getLookupSubtables(lookupTable);\n for (let s = 0; s < subtables.length; s++) {\n let subtable = subtables[s];\n let substType = this.getSubstitutionType(lookupTable, subtable);\n let lookup;\n if (substType === \"71\") {\n substType = this.getSubstitutionType(subtable, subtable.extension);\n lookup = this.getLookupMethod(subtable, subtable.extension);\n subtable = subtable.extension;\n } else {\n lookup = this.getLookupMethod(lookupTable, subtable);\n }\n let substitution;\n switch (substType) {\n case \"11\":\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 11,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"12\":\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 12,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"63\":\n substitution = lookup(contextParams);\n if (Array.isArray(substitution) && substitution.length) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 63,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"41\":\n substitution = lookup(contextParams);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 41,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"21\":\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 21,\n tag: query.tag,\n substitution\n }));\n }\n break;\n case \"51\":\n case \"53\":\n substitution = lookup(contextParams);\n if (Array.isArray(substitution) && substitution.length) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: parseInt(substType),\n tag: query.tag,\n substitution\n }));\n }\n break;\n }\n contextParams = new ContextParams(substitutions, currentIndex);\n if (Array.isArray(substitution) && !substitution.length) continue;\n substitution = null;\n }\n }\n return substitutions.length ? substitutions : null;\n};\nFeatureQuery.prototype.supports = function(query) {\n if (!query.script) return false;\n this.getScriptFeatures(query.script);\n const supportedScript = Object.prototype.hasOwnProperty.call(this.features, query.script);\n if (!query.tag) return supportedScript;\n const supportedFeature = this.features[query.script].some((feature) => feature.tag === query.tag);\n return supportedScript && supportedFeature;\n};\nFeatureQuery.prototype.getLookupSubtables = function(lookupTable) {\n return lookupTable.subtables || null;\n};\nFeatureQuery.prototype.getLookupByIndex = function(index) {\n const lookups = this.font.tables.gsub.lookups;\n return lookups[index] || null;\n};\nFeatureQuery.prototype.getFeatureLookups = function(feature) {\n return feature.lookupListIndexes.map(this.getLookupByIndex.bind(this));\n};\nFeatureQuery.prototype.getFeature = function getFeature(query) {\n if (!this.font) return { FAIL: \"No font was found\" };\n if (!Object.prototype.hasOwnProperty.call(this.features, query.script)) {\n this.getScriptFeatures(query.script);\n }\n const scriptFeatures = this.features[query.script];\n if (!scriptFeatures) return { FAIL: `No feature for script ${query.script}` };\n if (!scriptFeatures.tags[query.tag]) return null;\n return this.features[query.script].tags[query.tag];\n};\nvar featureQuery_default = FeatureQuery;\n\n// src/features/arab/contextCheck/arabicWord.mjs\nfunction arabicWordStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? arabic first char\n prevChar === null && isArabicChar(char) || // ? arabic char preceded with a non arabic char\n !isArabicChar(prevChar) && isArabicChar(char)\n );\n}\nfunction arabicWordEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return (\n // ? last arabic char\n nextChar === null || // ? next char is not arabic\n !isArabicChar(nextChar)\n );\n}\nvar arabicWord_default = {\n startCheck: arabicWordStartCheck,\n endCheck: arabicWordEndCheck\n};\n\n// src/features/arab/contextCheck/arabicSentence.mjs\nfunction arabicSentenceStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? an arabic char preceded with a non arabic char\n (isArabicChar(char) || isTashkeelArabicChar(char)) && !isArabicChar(prevChar)\n );\n}\nfunction arabicSentenceEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n switch (true) {\n case nextChar === null:\n return true;\n case (!isArabicChar(nextChar) && !isTashkeelArabicChar(nextChar)): {\n const nextIsWhitespace = isWhiteSpace(nextChar);\n if (!nextIsWhitespace) return true;\n if (nextIsWhitespace) {\n let arabicCharAhead = false;\n arabicCharAhead = contextParams.lookahead.some(\n (c) => isArabicChar(c) || isTashkeelArabicChar(c)\n );\n if (!arabicCharAhead) return true;\n }\n break;\n }\n default:\n return false;\n }\n}\nvar arabicSentence_default = {\n startCheck: arabicSentenceStartCheck,\n endCheck: arabicSentenceEndCheck\n};\n\n// src/features/applySubstitution.mjs\nfunction singleSubstitutionFormat12(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\nfunction singleSubstitutionFormat22(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\nfunction chainingSubstitutionFormat32(action, tokens, index) {\n for (let i = 0; i < action.substitution.length; i++) {\n const subst = action.substitution[i];\n const token = tokens[index + i];\n if (Array.isArray(subst)) {\n if (subst.length) {\n token.setState(action.tag, subst[0]);\n } else {\n token.setState(\"deleted\", true);\n }\n continue;\n }\n token.setState(action.tag, subst);\n }\n}\nfunction ligatureSubstitutionFormat12(action, tokens, index) {\n let token = tokens[index];\n token.setState(action.tag, action.substitution.ligGlyph);\n const compsCount = action.substitution.components.length;\n for (let i = 0; i < compsCount; i++) {\n token = tokens[index + i + 1];\n token.setState(\"deleted\", true);\n }\n}\nvar SUBSTITUTIONS = {\n 11: singleSubstitutionFormat12,\n 12: singleSubstitutionFormat22,\n 63: chainingSubstitutionFormat32,\n 41: ligatureSubstitutionFormat12,\n 51: chainingSubstitutionFormat32,\n 53: chainingSubstitutionFormat32\n};\nfunction applySubstitution(action, tokens, index) {\n if (action instanceof SubstitutionAction && SUBSTITUTIONS[action.id]) {\n SUBSTITUTIONS[action.id](action, tokens, index);\n }\n}\nvar applySubstitution_default = applySubstitution;\n\n// src/features/arab/arabicPresentationForms.mjs\nfunction willConnectPrev(charContextParams) {\n let backtrack = [].concat(charContextParams.backtrack);\n for (let i = backtrack.length - 1; i >= 0; i--) {\n const prevChar = backtrack[i];\n const isolated = isIsolatedArabicChar(prevChar);\n const tashkeel = isTashkeelArabicChar(prevChar);\n if (!isolated && !tashkeel) return true;\n if (isolated) return false;\n }\n return false;\n}\nfunction willConnectNext(charContextParams) {\n if (isIsolatedArabicChar(charContextParams.current)) return false;\n for (let i = 0; i < charContextParams.lookahead.length; i++) {\n const nextChar = charContextParams.lookahead[i];\n const tashkeel = isTashkeelArabicChar(nextChar);\n if (!tashkeel) return true;\n }\n return false;\n}\nfunction arabicPresentationForms(range) {\n const script = \"arab\";\n const tags = this.featuresTags[script];\n const tokens = this.tokenizer.getRangeTokens(range);\n if (tokens.length === 1) return;\n let contextParams = new ContextParams(\n tokens.map(\n (token) => token.getState(\"glyphIndex\")\n ),\n 0\n );\n const charContextParams = new ContextParams(\n tokens.map(\n (token) => token.char\n ),\n 0\n );\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (isTashkeelArabicChar(token.char)) continue;\n contextParams.setCurrentIndex(i);\n charContextParams.setCurrentIndex(i);\n let CONNECT = 0;\n if (willConnectPrev(charContextParams)) CONNECT |= 1;\n if (willConnectNext(charContextParams)) CONNECT |= 2;\n let tag;\n switch (CONNECT) {\n case 1:\n tag = \"fina\";\n break;\n case 2:\n tag = \"init\";\n break;\n case 3:\n tag = \"medi\";\n break;\n }\n if (tags.indexOf(tag) === -1) continue;\n let substitutions = this.query.lookupFeature({\n tag,\n script,\n contextParams\n });\n if (substitutions instanceof Error) {\n console.info(substitutions.message);\n continue;\n }\n for (let j = 0; j < substitutions.length; j++) {\n const action = substitutions[j];\n if (action instanceof SubstitutionAction) {\n applySubstitution_default(action, tokens, j);\n contextParams.context[j] = action.substitution;\n }\n }\n }\n}\nvar arabicPresentationForms_default = arabicPresentationForms;\n\n// src/features/arab/arabicRequiredLigatures.mjs\nfunction getContextParams(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction arabicRequiredLigatures(range) {\n const script = \"arab\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams(tokens);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"rlig\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams(tokens);\n }\n }\n}\nvar arabicRequiredLigatures_default = arabicRequiredLigatures;\n\n// src/features/ccmp/contextCheck/ccmpReplacement.mjs\nfunction ccmpReplacementStartCheck(contextParams) {\n return contextParams.index === 0 && contextParams.context.length > 1;\n}\nfunction ccmpReplacementEndCheck(contextParams) {\n return contextParams.index === contextParams.context.length - 1;\n}\nvar ccmpReplacement_default = {\n startCheck: ccmpReplacementStartCheck,\n endCheck: ccmpReplacementEndCheck\n};\n\n// src/features/ccmp/ccmpReplacementLigatures.mjs\nfunction getContextParams2(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction ccmpReplacementLigatures(range) {\n const script = \"delf\";\n const tag = \"ccmp\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams2(tokens);\n for (let index = 0; index < contextParams.context.length; index++) {\n if (!this.query.getFeature({ tag, script, contextParams })) {\n continue;\n }\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag,\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams2(tokens);\n }\n }\n}\nvar ccmpReplacementLigatures_default = ccmpReplacementLigatures;\n\n// src/features/latn/contextCheck/latinWord.mjs\nfunction latinWordStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? latin first char\n prevChar === null && isLatinChar(char) || // ? latin char preceded with a non latin char\n !isLatinChar(prevChar) && isLatinChar(char)\n );\n}\nfunction latinWordEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return (\n // ? last latin char\n nextChar === null || // ? next char is not latin\n !isLatinChar(nextChar)\n );\n}\nvar latinWord_default = {\n startCheck: latinWordStartCheck,\n endCheck: latinWordEndCheck\n};\n\n// src/features/latn/latinLigatures.mjs\nfunction getContextParams3(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction latinLigature(range) {\n const script = \"latn\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams3(tokens);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"liga\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams3(tokens);\n }\n }\n}\nvar latinLigatures_default = latinLigature;\n\n// src/features/thai/contextCheck/thaiWord.mjs\nfunction thaiWordStartCheck(contextParams) {\n const char = contextParams.current;\n const prevChar = contextParams.get(-1);\n return (\n // ? thai first char\n prevChar === null && isThaiChar(char) || // ? thai char preceded with a non thai char\n !isThaiChar(prevChar) && isThaiChar(char)\n );\n}\nfunction thaiWordEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return (\n // ? last thai char\n nextChar === null || // ? next char is not thai\n !isThaiChar(nextChar)\n );\n}\nvar thaiWord_default = {\n startCheck: thaiWordStartCheck,\n endCheck: thaiWordEndCheck\n};\n\n// src/features/thai/thaiGlyphComposition.mjs\nfunction getContextParams4(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction thaiGlyphComposition(range) {\n const script = \"thai\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams4(tokens, 0);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"ccmp\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams4(tokens, index);\n }\n }\n}\nvar thaiGlyphComposition_default = thaiGlyphComposition;\n\n// src/features/thai/thaiLigatures.mjs\nfunction getContextParams5(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction thaiLigatures(range) {\n const script = \"thai\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams5(tokens, 0);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"liga\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams5(tokens, index);\n }\n }\n}\nvar thaiLigatures_default = thaiLigatures;\n\n// src/features/thai/thaiRequiredLigatures.mjs\nfunction getContextParams6(tokens, index) {\n const context = tokens.map((token) => token.activeState.value);\n return new ContextParams(context, index || 0);\n}\nfunction thaiRequiredLigatures(range) {\n const script = \"thai\";\n let tokens = this.tokenizer.getRangeTokens(range);\n let contextParams = getContextParams6(tokens, 0);\n for (let index = 0; index < contextParams.context.length; index++) {\n contextParams.setCurrentIndex(index);\n let substitutions = this.query.lookupFeature({\n tag: \"rlig\",\n script,\n contextParams\n });\n if (substitutions.length) {\n for (let i = 0; i < substitutions.length; i++) {\n const action = substitutions[i];\n applySubstitution_default(action, tokens, index);\n }\n contextParams = getContextParams6(tokens, index);\n }\n }\n}\nvar thaiRequiredLigatures_default = thaiRequiredLigatures;\n\n// src/features/unicode/contextCheck/variationSequenceCheck.mjs\nfunction isVariationSequenceSelector(char) {\n if (char === null) return false;\n const charCode = char.codePointAt(0);\n return (\n // Mongolian Variation Selectors\n charCode >= 6155 && charCode <= 6157 || // Generic Variation Selectors\n charCode >= 65024 && charCode <= 65039 || // Ideographic Variation Sequences\n charCode >= 917760 && charCode <= 917999\n );\n}\nfunction unicodeVariationSequenceStartCheck(contextParams) {\n const char = contextParams.current;\n const nextChar = contextParams.get(1);\n return nextChar === null && isVariationSequenceSelector(char) || isVariationSequenceSelector(nextChar);\n}\nfunction unicodeVariationSequenceEndCheck(contextParams) {\n const nextChar = contextParams.get(1);\n return nextChar === null || !isVariationSequenceSelector(nextChar);\n}\nvar variationSequenceCheck_default = {\n startCheck: unicodeVariationSequenceStartCheck,\n endCheck: unicodeVariationSequenceEndCheck\n};\n\n// src/features/unicode/variationSequences.mjs\nfunction unicodeVariationSequence(range) {\n const font = this.query.font;\n const tokens = this.tokenizer.getRangeTokens(range);\n tokens[1].setState(\"deleted\", true);\n if (font.tables.cmap && font.tables.cmap.varSelectorList) {\n const baseCodePoint = tokens[0].char.codePointAt(0);\n const vsCodePoint = tokens[1].char.codePointAt(0);\n const selectorLookup = font.tables.cmap.varSelectorList[vsCodePoint];\n if (selectorLookup !== void 0) {\n if (selectorLookup.nonDefaultUVS) {\n const mappings = selectorLookup.nonDefaultUVS.uvsMappings;\n if (mappings[baseCodePoint]) {\n const replacementGlyphId = mappings[baseCodePoint].glyphID;\n if (font.glyphs.glyphs[replacementGlyphId] !== void 0) {\n tokens[0].setState(\"glyphIndex\", replacementGlyphId);\n }\n }\n }\n }\n }\n}\nvar variationSequences_default = unicodeVariationSequence;\n\n// src/bidi.mjs\nfunction Bidi(baseDir) {\n this.baseDir = baseDir || \"ltr\";\n this.tokenizer = new tokenizer_default();\n this.featuresTags = {};\n}\nBidi.prototype.setText = function(text) {\n this.text = text;\n};\nBidi.prototype.contextChecks = {\n ccmpReplacementCheck: ccmpReplacement_default,\n latinWordCheck: latinWord_default,\n arabicWordCheck: arabicWord_default,\n arabicSentenceCheck: arabicSentence_default,\n thaiWordCheck: thaiWord_default,\n unicodeVariationSequenceCheck: variationSequenceCheck_default\n};\nfunction registerContextChecker(checkId) {\n const check = this.contextChecks[`${checkId}Check`];\n return this.tokenizer.registerContextChecker(\n checkId,\n check.startCheck,\n check.endCheck\n );\n}\nfunction tokenizeText() {\n registerContextChecker.call(this, \"ccmpReplacement\");\n registerContextChecker.call(this, \"latinWord\");\n registerContextChecker.call(this, \"arabicWord\");\n registerContextChecker.call(this, \"arabicSentence\");\n registerContextChecker.call(this, \"thaiWord\");\n registerContextChecker.call(this, \"unicodeVariationSequence\");\n return this.tokenizer.tokenize(this.text);\n}\nfunction reverseArabicSentences() {\n const ranges = this.tokenizer.getContextRanges(\"arabicSentence\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n let rangeTokens = this.tokenizer.getRangeTokens(range);\n this.tokenizer.replaceRange(\n range.startIndex,\n range.endOffset,\n rangeTokens.reverse()\n );\n }\n}\nBidi.prototype.registerFeatures = function(script, tags) {\n const supportedTags = tags.filter(\n (tag) => this.query.supports({ script, tag })\n );\n if (!Object.prototype.hasOwnProperty.call(this.featuresTags, script)) {\n this.featuresTags[script] = supportedTags;\n } else {\n this.featuresTags[script] = this.featuresTags[script].concat(supportedTags);\n }\n};\nBidi.prototype.applyFeatures = function(font, features) {\n if (!font) throw new Error(\n \"No valid font was provided to apply features\"\n );\n if (!this.query) this.query = new featureQuery_default(font);\n for (let f = 0; f < features.length; f++) {\n const feature = features[f];\n if (!this.query.supports({ script: feature.script })) continue;\n this.registerFeatures(feature.script, feature.tags);\n }\n};\nBidi.prototype.registerModifier = function(modifierId, condition, modifier) {\n this.tokenizer.registerModifier(modifierId, condition, modifier);\n};\nfunction checkGlyphIndexStatus() {\n if (this.tokenizer.registeredModifiers.indexOf(\"glyphIndex\") === -1) {\n throw new Error(\n \"glyphIndex modifier is required to apply arabic presentation features.\"\n );\n }\n}\nfunction applyArabicPresentationForms() {\n const script = \"arab\";\n if (!Object.prototype.hasOwnProperty.call(this.featuresTags, script)) return;\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"arabicWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n arabicPresentationForms_default.call(this, range);\n }\n}\nfunction applyCcmpReplacement() {\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"ccmpReplacement\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n ccmpReplacementLigatures_default.call(this, range);\n }\n}\nfunction applyArabicRequireLigatures() {\n if (!this.hasFeatureEnabled(\"arab\", \"rlig\")) return;\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"arabicWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n arabicRequiredLigatures_default.call(this, range);\n }\n}\nfunction applyLatinLigatures() {\n if (!this.hasFeatureEnabled(\"latn\", \"liga\")) return;\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"latinWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n latinLigatures_default.call(this, range);\n }\n}\nfunction applyUnicodeVariationSequences() {\n const ranges = this.tokenizer.getContextRanges(\"unicodeVariationSequence\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n variationSequences_default.call(this, range);\n }\n}\nfunction applyThaiFeatures() {\n checkGlyphIndexStatus.call(this);\n const ranges = this.tokenizer.getContextRanges(\"thaiWord\");\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (this.hasFeatureEnabled(\"thai\", \"liga\")) thaiLigatures_default.call(this, range);\n if (this.hasFeatureEnabled(\"thai\", \"rlig\")) thaiRequiredLigatures_default.call(this, range);\n if (this.hasFeatureEnabled(\"thai\", \"ccmp\")) thaiGlyphComposition_default.call(this, range);\n }\n}\nBidi.prototype.checkContextReady = function(contextId) {\n return !!this.tokenizer.getContext(contextId);\n};\nBidi.prototype.applyFeaturesToContexts = function() {\n if (this.checkContextReady(\"ccmpReplacement\")) {\n applyCcmpReplacement.call(this);\n }\n if (this.checkContextReady(\"arabicWord\")) {\n applyArabicPresentationForms.call(this);\n applyArabicRequireLigatures.call(this);\n }\n if (this.checkContextReady(\"latinWord\")) {\n applyLatinLigatures.call(this);\n }\n if (this.checkContextReady(\"arabicSentence\")) {\n reverseArabicSentences.call(this);\n }\n if (this.checkContextReady(\"thaiWord\")) {\n applyThaiFeatures.call(this);\n }\n if (this.checkContextReady(\"unicodeVariationSequence\")) {\n applyUnicodeVariationSequences.call(this);\n }\n};\nBidi.prototype.hasFeatureEnabled = function(script, tag) {\n return (this.featuresTags[script] || []).indexOf(tag) !== -1;\n};\nBidi.prototype.processText = function(text) {\n if (!this.text || this.text !== text) {\n this.setText(text);\n tokenizeText.call(this);\n this.applyFeaturesToContexts();\n }\n};\nBidi.prototype.getBidiText = function(text) {\n this.processText(text);\n return this.tokenizer.getText();\n};\nBidi.prototype.getTextGlyphs = function(text) {\n this.processText(text);\n let indexes = [];\n for (let i = 0; i < this.tokenizer.tokens.length; i++) {\n const token = this.tokenizer.tokens[i];\n if (token.state.deleted) continue;\n const index = token.activeState.value;\n indexes.push(Array.isArray(index) ? index[0] : index);\n }\n return indexes;\n};\nvar bidi_default = Bidi;\n\n// src/font.mjs\nfunction createDefaultNamesInfo(options) {\n return {\n fontFamily: { en: options.familyName || \" \" },\n fontSubfamily: { en: options.styleName || \" \" },\n fullName: { en: options.fullName || options.familyName + \" \" + options.styleName },\n // postScriptName may not contain any whitespace\n postScriptName: { en: options.postScriptName || (options.familyName + options.styleName).replace(/\\s/g, \"\") },\n designer: { en: options.designer || \" \" },\n designerURL: { en: options.designerURL || \" \" },\n manufacturer: { en: options.manufacturer || \" \" },\n manufacturerURL: { en: options.manufacturerURL || \" \" },\n license: { en: options.license || \" \" },\n licenseURL: { en: options.licenseURL || \" \" },\n version: { en: options.version || \"Version 0.1\" },\n description: { en: options.description || \" \" },\n copyright: { en: options.copyright || \" \" },\n trademark: { en: options.trademark || \" \" }\n };\n}\nfunction Font(options) {\n options = options || {};\n options.tables = options.tables || {};\n if (!options.empty) {\n if (!options.familyName) throw new Error(\"When creating a new Font object, familyName is required.\");\n if (!options.styleName) throw new Error(\"When creating a new Font object, styleName is required.\");\n if (!options.unitsPerEm) throw new Error(\"When creating a new Font object, unitsPerEm is required.\");\n if (!options.ascender) throw new Error(\"When creating a new Font object, ascender is required.\");\n if (options.descender > 0) throw new Error(\"When creating a new Font object, negative descender value is required.\");\n this.names = {};\n this.names.unicode = createDefaultNamesInfo(options);\n this.names.macintosh = createDefaultNamesInfo(options);\n this.names.windows = createDefaultNamesInfo(options);\n this.unitsPerEm = options.unitsPerEm || 1e3;\n this.ascender = options.ascender;\n this.descender = options.descender;\n this.createdTimestamp = options.createdTimestamp;\n this.italicAngle = options.italicAngle || 0;\n this.weightClass = options.weightClass || 0;\n let selection = 0;\n if (options.fsSelection) {\n selection = options.fsSelection;\n } else {\n if (this.italicAngle < 0) {\n selection |= this.fsSelectionValues.ITALIC;\n } else if (this.italicAngle > 0) {\n selection |= this.fsSelectionValues.OBLIQUE;\n }\n if (this.weightClass >= 600) {\n selection |= this.fsSelectionValues.BOLD;\n }\n if (selection === 0) {\n selection = this.fsSelectionValues.REGULAR;\n }\n }\n if (!options.panose || !Array.isArray(options.panose)) {\n options.panose = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n this.tables = Object.assign(options.tables, {\n os2: Object.assign({\n usWeightClass: options.weightClass || this.usWeightClasses.MEDIUM,\n usWidthClass: options.widthClass || this.usWidthClasses.MEDIUM,\n bFamilyType: options.panose[0] || 0,\n bSerifStyle: options.panose[1] || 0,\n bWeight: options.panose[2] || 0,\n bProportion: options.panose[3] || 0,\n bContrast: options.panose[4] || 0,\n bStrokeVariation: options.panose[5] || 0,\n bArmStyle: options.panose[6] || 0,\n bLetterform: options.panose[7] || 0,\n bMidline: options.panose[8] || 0,\n bXHeight: options.panose[9] || 0,\n fsSelection: selection\n }, options.tables.os2)\n });\n }\n this.supported = true;\n this.glyphs = new glyphset_default.GlyphSet(this, options.glyphs || []);\n this.encoding = new DefaultEncoding(this);\n this.position = new position_default(this);\n this.substitution = new substitution_default(this);\n this.tables = this.tables || {};\n this.tables = new Proxy(this.tables, {\n set: (tables, tableName, tableData) => {\n tables[tableName] = tableData;\n if (tables.fvar && (tables.gvar || tables.cff2) && !this.variation) {\n this.variation = new VariationManager(this);\n }\n return true;\n }\n });\n this.palettes = new PaletteManager(this);\n this.layers = new LayerManager(this);\n this.svgImages = new SVGImageManager(this);\n this._push = null;\n this._hmtxTableData = {};\n Object.defineProperty(this, \"hinting\", {\n get: function() {\n if (this._hinting) return this._hinting;\n if (this.outlinesFormat === \"truetype\") {\n return this._hinting = new hintingtt_default(this);\n }\n return null;\n }\n });\n}\nFont.prototype.hasChar = function(c) {\n return this.encoding.charToGlyphIndex(c) > 0;\n};\nFont.prototype.charToGlyphIndex = function(s) {\n return this.encoding.charToGlyphIndex(s);\n};\nFont.prototype.charToGlyph = function(c) {\n const glyphIndex = this.charToGlyphIndex(c);\n let glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n glyph = this.glyphs.get(0);\n }\n return glyph;\n};\nFont.prototype.updateFeatures = function(options) {\n return this.defaultRenderOptions.features.map((feature) => {\n if (feature.script === \"latn\") {\n return {\n script: \"latn\",\n tags: feature.tags.filter((tag) => options[tag])\n };\n } else {\n return feature;\n }\n });\n};\nFont.prototype.stringToGlyphIndexes = function(s, options) {\n const bidi = new bidi_default();\n const charToGlyphIndexMod = (token) => this.charToGlyphIndex(token.char);\n bidi.registerModifier(\"glyphIndex\", null, charToGlyphIndexMod);\n let features = options ? this.updateFeatures(options.features) : this.defaultRenderOptions.features;\n bidi.applyFeatures(this, features);\n return bidi.getTextGlyphs(s);\n};\nFont.prototype.stringToGlyphs = function(s, options) {\n const indexes = this.stringToGlyphIndexes(s, options);\n let length = indexes.length;\n const glyphs = new Array(length);\n const notdef = this.glyphs.get(0);\n for (let i = 0; i < length; i += 1) {\n glyphs[i] = this.glyphs.get(indexes[i]) || notdef;\n }\n return glyphs;\n};\nFont.prototype.nameToGlyphIndex = function(name) {\n return this.glyphNames.nameToGlyphIndex(name);\n};\nFont.prototype.nameToGlyph = function(name) {\n const glyphIndex = this.nameToGlyphIndex(name);\n let glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n glyph = this.glyphs.get(0);\n }\n return glyph;\n};\nFont.prototype.glyphIndexToName = function(gid) {\n if (!this.glyphNames.glyphIndexToName) {\n return \"\";\n }\n return this.glyphNames.glyphIndexToName(gid);\n};\nFont.prototype.getKerningValue = function(leftGlyph, rightGlyph) {\n leftGlyph = leftGlyph.index || leftGlyph;\n rightGlyph = rightGlyph.index || rightGlyph;\n const gposKerning = this.position.defaultKerningTables;\n if (gposKerning) {\n return this.position.getKerningValue(gposKerning, leftGlyph, rightGlyph);\n }\n return this.kerningPairs[leftGlyph + \",\" + rightGlyph] || 0;\n};\nFont.prototype.defaultRenderOptions = {\n kerning: true,\n features: [\n /**\n * these 4 features are required to render Arabic text properly\n * and shouldn't be turned off when rendering arabic text.\n */\n { script: \"arab\", tags: [\"init\", \"medi\", \"fina\", \"rlig\"] },\n { script: \"latn\", tags: [\"liga\", \"rlig\"] },\n { script: \"thai\", tags: [\"liga\", \"rlig\", \"ccmp\"] }\n ],\n hinting: false,\n usePalette: 0,\n drawLayers: true,\n drawSVG: true\n};\nFont.prototype.forEachGlyph = function(text, x, y, fontSize, options, callback) {\n x = x !== void 0 ? x : 0;\n y = y !== void 0 ? y : 0;\n fontSize = fontSize !== void 0 ? fontSize : 72;\n options = Object.assign({}, this.defaultRenderOptions, options);\n const fontScale = 1 / this.unitsPerEm * fontSize;\n const glyphs = this.stringToGlyphs(text, options);\n let kerningLookups;\n if (options.kerning) {\n const script = options.script || this.position.getDefaultScriptName();\n kerningLookups = this.position.getKerningTables(script, options.language);\n }\n for (let i = 0; i < glyphs.length; i += 1) {\n const glyph = glyphs[i];\n callback.call(this, glyph, x, y, fontSize, options);\n if (glyph.advanceWidth) {\n x += glyph.advanceWidth * fontScale;\n }\n if (options.kerning && i < glyphs.length - 1) {\n const kerningValue = kerningLookups ? this.position.getKerningValue(kerningLookups, glyph.index, glyphs[i + 1].index) : this.getKerningValue(glyph, glyphs[i + 1]);\n x += kerningValue * fontScale;\n }\n if (options.letterSpacing) {\n x += options.letterSpacing * fontSize;\n } else if (options.tracking) {\n x += options.tracking / 1e3 * fontSize;\n }\n }\n return x;\n};\nFont.prototype.getPath = function(text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n const fullPath = new path_default();\n fullPath._layers = [];\n applyPaintType(this, fullPath, fontSize);\n if (fullPath.stroke) {\n const scale = 1 / (fullPath.unitsPerEm || 1e3) * fontSize;\n fullPath.strokeWidth *= scale;\n }\n this.forEachGlyph(text, x, y, fontSize, options, (glyph, gX, gY, gFontSize) => {\n const glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n if (options.drawSVG || options.drawLayers) {\n const layers = glyphPath._layers;\n if (layers && layers.length) {\n for (let l = 0; l < layers.length; l++) {\n const layer = layers[l];\n fullPath._layers.push(layer);\n }\n return;\n }\n }\n fullPath.extend(glyphPath);\n });\n return fullPath;\n};\nFont.prototype.getPaths = function(text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n const glyphPaths = [];\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n const glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n glyphPaths.push(glyphPath);\n });\n return glyphPaths;\n};\nFont.prototype.getAdvanceWidth = function(text, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n return this.forEachGlyph(text, 0, 0, fontSize, options, function() {\n });\n};\nFont.prototype.draw = function(ctx, text, x, y, fontSize, options) {\n const path = this.getPath(text, x, y, fontSize, options);\n path.draw(ctx);\n};\nFont.prototype.drawPoints = function(ctx, text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawPoints(ctx, gX, gY, gFontSize, options, this);\n });\n};\nFont.prototype.drawMetrics = function(ctx, text, x, y, fontSize, options) {\n options = Object.assign({}, this.defaultRenderOptions, options);\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawMetrics(ctx, gX, gY, gFontSize);\n });\n};\nFont.prototype.getEnglishName = function(name) {\n const translations = (this.names.unicode || this.names.macintosh || this.names.windows)[name];\n if (translations) {\n return translations.en;\n }\n};\nFont.prototype.validate = function() {\n const warnings = [];\n const _this = this;\n function assert(predicate, message) {\n if (!predicate) {\n console.warn(`[opentype.js] ${message}`);\n warnings.push(message);\n }\n }\n function assertNamePresent(name) {\n const englishName = _this.getEnglishName(name);\n assert(\n englishName && englishName.trim().length > 0,\n \"No English \" + name + \" specified.\"\n );\n }\n assertNamePresent(\"fontFamily\");\n assertNamePresent(\"weightName\");\n assertNamePresent(\"manufacturer\");\n assertNamePresent(\"copyright\");\n assertNamePresent(\"version\");\n assert(this.unitsPerEm > 0, \"No unitsPerEm specified.\");\n if (this.tables.colr) {\n const baseGlyphs = this.tables.colr.baseGlyphRecords;\n let previousID = -1;\n for (let b = 0; b < baseGlyphs.length; b++) {\n const currentGlyphID = baseGlyphs[b].glyphID;\n assert(previousID < baseGlyphs[b].glyphID, `baseGlyphs must be sorted by GlyphID in ascending order, but glyphID ${currentGlyphID} comes after ${previousID}`);\n if (previousID > baseGlyphs[b].glyphID) {\n break;\n }\n previousID = currentGlyphID;\n }\n }\n return warnings;\n};\nFont.prototype.toTables = function() {\n return sfnt_default.fontToTable(this);\n};\nFont.prototype.toBuffer = function() {\n console.warn(\"Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.\");\n return this.toArrayBuffer();\n};\nFont.prototype.toArrayBuffer = function() {\n const sfntTable = this.toTables();\n const bytes = sfntTable.encode();\n const buffer = new ArrayBuffer(bytes.length);\n const intArray = new Uint8Array(buffer);\n for (let i = 0; i < bytes.length; i++) {\n intArray[i] = bytes[i];\n }\n return buffer;\n};\nFont.prototype.download = function() {\n console.error(\"DEPRECATED: platform-specific actions are to be implemented on user-side\");\n};\nFont.prototype.fsSelectionValues = {\n ITALIC: 1,\n //1\n UNDERSCORE: 2,\n //2\n NEGATIVE: 4,\n //4\n OUTLINED: 8,\n //8\n STRIKEOUT: 16,\n //16\n BOLD: 32,\n //32\n REGULAR: 64,\n //64\n USER_TYPO_METRICS: 128,\n //128\n WWS: 256,\n //256\n OBLIQUE: 512\n //512\n};\nFont.prototype.macStyleValues = {\n BOLD: 1,\n //1\n ITALIC: 2,\n //2\n UNDERLINE: 4,\n //4\n OUTLINED: 8,\n //8\n SHADOW: 16,\n //16\n CONDENSED: 32,\n //32\n EXTENDED: 64\n //64\n};\nFont.prototype.usWidthClasses = {\n ULTRA_CONDENSED: 1,\n EXTRA_CONDENSED: 2,\n CONDENSED: 3,\n SEMI_CONDENSED: 4,\n MEDIUM: 5,\n SEMI_EXPANDED: 6,\n EXPANDED: 7,\n EXTRA_EXPANDED: 8,\n ULTRA_EXPANDED: 9\n};\nFont.prototype.usWeightClasses = {\n THIN: 100,\n EXTRA_LIGHT: 200,\n LIGHT: 300,\n NORMAL: 400,\n MEDIUM: 500,\n SEMI_BOLD: 600,\n BOLD: 700,\n EXTRA_BOLD: 800,\n BLACK: 900\n};\nvar font_default = Font;\n\n// src/tables/hvar.mjs\nfunction parseHvarTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersionMajor = p.parseUShort();\n const tableVersionMinor = p.parseUShort();\n if (tableVersionMajor !== 1) {\n console.warn(`Unsupported hvar table version ${tableVersionMajor}.${tableVersionMinor}`);\n }\n const version = [\n tableVersionMajor,\n tableVersionMinor\n ];\n const itemVariationStore = p.parsePointer32(function() {\n return this.parseItemVariationStore();\n });\n const advanceWidth = p.parsePointer32(function() {\n return this.parseDeltaSetIndexMap();\n });\n const lsb = p.parsePointer32(function() {\n return this.parseDeltaSetIndexMap();\n });\n const rsb = p.parsePointer32(function() {\n return this.parseDeltaSetIndexMap();\n });\n return {\n version,\n itemVariationStore,\n advanceWidth,\n lsb,\n rsb\n };\n}\nfunction makeHvarTable() {\n console.warn(\"Writing of hvar tables is not yet supported.\");\n}\nvar hvar_default = { make: makeHvarTable, parse: parseHvarTable };\n\n// src/tables/gdef.mjs\nvar attachList = function() {\n return {\n coverage: this.parsePointer(Parser.coverage),\n attachPoints: this.parseList(Parser.pointer(Parser.uShortList))\n };\n};\nvar caretValue = function() {\n var format = this.parseUShort();\n check_default.argument(\n format === 1 || format === 2 || format === 3,\n \"Unsupported CaretValue table version.\"\n );\n if (format === 1) {\n return { coordinate: this.parseShort() };\n } else if (format === 2) {\n return { pointindex: this.parseShort() };\n } else if (format === 3) {\n return { coordinate: this.parseShort() };\n }\n};\nvar ligGlyph = function() {\n return this.parseList(Parser.pointer(caretValue));\n};\nvar ligCaretList = function() {\n return {\n coverage: this.parsePointer(Parser.coverage),\n ligGlyphs: this.parseList(Parser.pointer(ligGlyph))\n };\n};\nvar markGlyphSets = function() {\n this.parseUShort();\n return this.parseList(Parser.pointer(Parser.coverage));\n};\nfunction parseGDEFTable(data, start) {\n start = start || 0;\n const p = new Parser(data, start);\n const tableVersion = p.parseVersion(1);\n check_default.argument(\n tableVersion === 1 || tableVersion === 1.2 || tableVersion === 1.3,\n \"Unsupported GDEF table version.\"\n );\n var gdef = {\n version: tableVersion,\n classDef: p.parsePointer(Parser.classDef),\n attachList: p.parsePointer(attachList),\n ligCaretList: p.parsePointer(ligCaretList),\n markAttachClassDef: p.parsePointer(Parser.classDef)\n };\n if (tableVersion >= 1.2) {\n gdef.markGlyphSets = p.parsePointer(markGlyphSets);\n }\n return gdef;\n}\nvar gdef_default = { parse: parseGDEFTable };\n\n// src/tables/gpos.mjs\nvar subtableParsers2 = new Array(10);\nsubtableParsers2[1] = function parseLookup12() {\n const start = this.offset + this.relativeOffset;\n const posformat = this.parseUShort();\n if (posformat === 1) {\n return {\n posFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n value: this.parseValueRecord()\n };\n } else if (posformat === 2) {\n return {\n posFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n values: this.parseValueRecordList()\n };\n }\n check_default.assert(false, \"0x\" + start.toString(16) + \": GPOS lookup type 1 format must be 1 or 2.\");\n};\nsubtableParsers2[2] = function parseLookup22() {\n const start = this.offset + this.relativeOffset;\n const posFormat = this.parseUShort();\n check_default.assert(posFormat === 1 || posFormat === 2, \"0x\" + start.toString(16) + \": GPOS lookup type 2 format must be 1 or 2.\");\n const coverage = this.parsePointer(Parser.coverage);\n const valueFormat1 = this.parseUShort();\n const valueFormat2 = this.parseUShort();\n if (posFormat === 1) {\n return {\n posFormat,\n coverage,\n valueFormat1,\n valueFormat2,\n pairSets: this.parseList(Parser.pointer(Parser.list(function() {\n return {\n // pairValueRecord\n secondGlyph: this.parseUShort(),\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n })))\n };\n } else if (posFormat === 2) {\n const classDef1 = this.parsePointer(Parser.classDef);\n const classDef2 = this.parsePointer(Parser.classDef);\n const class1Count = this.parseUShort();\n const class2Count = this.parseUShort();\n return {\n // Class Pair Adjustment\n posFormat,\n coverage,\n valueFormat1,\n valueFormat2,\n classDef1,\n classDef2,\n class1Count,\n class2Count,\n classRecords: this.parseList(class1Count, Parser.list(class2Count, function() {\n return {\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n }))\n };\n }\n};\nsubtableParsers2[3] = function parseLookup32() {\n return { error: \"GPOS Lookup 3 not supported\" };\n};\nsubtableParsers2[4] = function parseLookup42() {\n return { error: \"GPOS Lookup 4 not supported\" };\n};\nsubtableParsers2[5] = function parseLookup52() {\n return { error: \"GPOS Lookup 5 not supported\" };\n};\nsubtableParsers2[6] = function parseLookup62() {\n return { error: \"GPOS Lookup 6 not supported\" };\n};\nsubtableParsers2[7] = function parseLookup72() {\n return { error: \"GPOS Lookup 7 not supported\" };\n};\nsubtableParsers2[8] = function parseLookup82() {\n return { error: \"GPOS Lookup 8 not supported\" };\n};\nsubtableParsers2[9] = function parseLookup9() {\n return { error: \"GPOS Lookup 9 not supported\" };\n};\nfunction parseGposTable(data, start) {\n start = start || 0;\n const p = new Parser(data, start);\n const tableVersion = p.parseVersion(1);\n check_default.argument(tableVersion === 1 || tableVersion === 1.1, \"Unsupported GPOS table version \" + tableVersion);\n if (tableVersion === 1) {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers2)\n };\n } else {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers2),\n variations: p.parseFeatureVariationsList()\n };\n }\n}\nvar subtableMakers2 = new Array(10);\nfunction makeGposTable(gpos) {\n return new table_default.Table(\"GPOS\", [\n { name: \"version\", type: \"ULONG\", value: 65536 },\n { name: \"scripts\", type: \"TABLE\", value: new table_default.ScriptList(gpos.scripts) },\n { name: \"features\", type: \"TABLE\", value: new table_default.FeatureList(gpos.features) },\n { name: \"lookups\", type: \"TABLE\", value: new table_default.LookupList(gpos.lookups, subtableMakers2) }\n ]);\n}\nvar gpos_default = { parse: parseGposTable, make: makeGposTable };\n\n// src/tables/kern.mjs\nfunction parseWindowsKernTable(p) {\n const pairs = {};\n p.skip(\"uShort\");\n const subtableVersion = p.parseUShort();\n check_default.argument(subtableVersion === 0, \"Unsupported kern sub-table version.\");\n p.skip(\"uShort\", 2);\n const nPairs = p.parseUShort();\n p.skip(\"uShort\", 3);\n for (let i = 0; i < nPairs; i += 1) {\n const leftIndex = p.parseUShort();\n const rightIndex = p.parseUShort();\n const value = p.parseShort();\n pairs[leftIndex + \",\" + rightIndex] = value;\n }\n return pairs;\n}\nfunction parseMacKernTable(p) {\n const pairs = {};\n p.skip(\"uShort\");\n const nTables = p.parseULong();\n if (nTables > 1) {\n console.warn(\"Only the first kern subtable is supported.\");\n }\n p.skip(\"uLong\");\n const coverage = p.parseUShort();\n const subtableVersion = coverage & 255;\n p.skip(\"uShort\");\n if (subtableVersion === 0) {\n const nPairs = p.parseUShort();\n p.skip(\"uShort\", 3);\n for (let i = 0; i < nPairs; i += 1) {\n const leftIndex = p.parseUShort();\n const rightIndex = p.parseUShort();\n const value = p.parseShort();\n pairs[leftIndex + \",\" + rightIndex] = value;\n }\n }\n return pairs;\n}\nfunction parseKernTable(data, start) {\n const p = new parse_default.Parser(data, start);\n const tableVersion = p.parseUShort();\n if (tableVersion === 0) {\n return parseWindowsKernTable(p);\n } else if (tableVersion === 1) {\n return parseMacKernTable(p);\n } else {\n throw new Error(\"Unsupported kern table version (\" + tableVersion + \").\");\n }\n}\nvar kern_default = { parse: parseKernTable };\n\n// src/tables/loca.mjs\nfunction parseLocaTable(data, start, numGlyphs, shortVersion) {\n const p = new parse_default.Parser(data, start);\n const parseFn = shortVersion ? p.parseUShort : p.parseULong;\n const glyphOffsets = [];\n for (let i = 0; i < numGlyphs + 1; i += 1) {\n let glyphOffset = parseFn.call(p);\n if (shortVersion) {\n glyphOffset *= 2;\n }\n glyphOffsets.push(glyphOffset);\n }\n return glyphOffsets;\n}\nvar loca_default = { parse: parseLocaTable };\n\n// src/opentype.mjs\nfunction parseOpenTypeTableEntries(data, numTables) {\n const tableEntries = [];\n let p = 12;\n for (let i = 0; i < numTables; i += 1) {\n const tag = parse_default.getTag(data, p);\n const checksum = parse_default.getULong(data, p + 4);\n const offset = parse_default.getULong(data, p + 8);\n const length = parse_default.getULong(data, p + 12);\n tableEntries.push({ tag, checksum, offset, length, compression: false });\n p += 16;\n }\n return tableEntries;\n}\nfunction parseWOFFTableEntries(data, numTables) {\n const tableEntries = [];\n let p = 44;\n for (let i = 0; i < numTables; i += 1) {\n const tag = parse_default.getTag(data, p);\n const offset = parse_default.getULong(data, p + 4);\n const compLength = parse_default.getULong(data, p + 8);\n const origLength = parse_default.getULong(data, p + 12);\n let compression;\n if (compLength < origLength) {\n compression = \"WOFF\";\n } else {\n compression = false;\n }\n tableEntries.push({\n tag,\n offset,\n compression,\n compressedLength: compLength,\n length: origLength\n });\n p += 20;\n }\n return tableEntries;\n}\nfunction uncompressTable(data, tableEntry) {\n if (tableEntry.compression === \"WOFF\") {\n const inBuffer = new Uint8Array(data.buffer, tableEntry.offset + 2, tableEntry.compressedLength - 2);\n const outBuffer = new Uint8Array(tableEntry.length);\n tinf_uncompress(inBuffer, outBuffer);\n if (outBuffer.byteLength !== tableEntry.length) {\n throw new Error(\"Decompression error: \" + tableEntry.tag + \" decompressed length doesn't match recorded length\");\n }\n const view = new DataView(outBuffer.buffer, 0);\n return { data: view, offset: 0 };\n } else {\n return { data, offset: tableEntry.offset };\n }\n}\nfunction parseBuffer(buffer, opt = {}) {\n let indexToLocFormat;\n let ltagTable;\n const font = new font_default({ empty: true });\n if (buffer.constructor !== ArrayBuffer) {\n buffer = new Uint8Array(buffer).buffer;\n }\n const data = new DataView(buffer, 0);\n let numTables;\n let tableEntries = [];\n const signature = parse_default.getTag(data, 0);\n if (signature === String.fromCharCode(0, 1, 0, 0) || signature === \"true\" || signature === \"typ1\") {\n font.outlinesFormat = \"truetype\";\n numTables = parse_default.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === \"OTTO\") {\n font.outlinesFormat = \"cff\";\n numTables = parse_default.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === \"wOFF\") {\n const flavor = parse_default.getTag(data, 4);\n if (flavor === String.fromCharCode(0, 1, 0, 0)) {\n font.outlinesFormat = \"truetype\";\n } else if (flavor === \"OTTO\") {\n font.outlinesFormat = \"cff\";\n } else {\n throw new Error(\"Unsupported OpenType flavor \" + signature);\n }\n numTables = parse_default.getUShort(data, 12);\n tableEntries = parseWOFFTableEntries(data, numTables);\n } else if (signature === \"wOF2\") {\n const issue = \"https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025\";\n throw new Error(\"WOFF2 require an external decompressor library, see examples at: \" + issue);\n } else {\n throw new Error(\"Unsupported OpenType signature \" + signature);\n }\n let cffTableEntry;\n let cff2TableEntry;\n let fvarTableEntry;\n let statTableEntry;\n let gvarTableEntry;\n let cvarTableEntry;\n let avarTableEntry;\n let glyfTableEntry;\n let gdefTableEntry;\n let gposTableEntry;\n let gsubTableEntry;\n let hmtxTableEntry;\n let hvarTableEntry;\n let kernTableEntry;\n let locaTableEntry;\n let nameTableEntry;\n let metaTableEntry;\n let p;\n for (let i = 0; i < numTables; i += 1) {\n const tableEntry = tableEntries[i];\n let table;\n switch (tableEntry.tag) {\n case \"avar\":\n avarTableEntry = tableEntry;\n break;\n case \"cmap\":\n table = uncompressTable(data, tableEntry);\n font.tables.cmap = cmap_default.parse(table.data, table.offset);\n font.encoding = new CmapEncoding(font.tables.cmap);\n break;\n case \"cvt \":\n table = uncompressTable(data, tableEntry);\n p = new parse_default.Parser(table.data, table.offset);\n font.tables.cvt = p.parseShortList(tableEntry.length / 2);\n break;\n case \"fvar\":\n fvarTableEntry = tableEntry;\n break;\n case \"STAT\":\n statTableEntry = tableEntry;\n break;\n case \"gvar\":\n gvarTableEntry = tableEntry;\n break;\n case \"cvar\":\n cvarTableEntry = tableEntry;\n break;\n case \"fpgm\":\n table = uncompressTable(data, tableEntry);\n p = new parse_default.Parser(table.data, table.offset);\n font.tables.fpgm = p.parseByteList(tableEntry.length);\n break;\n case \"head\":\n table = uncompressTable(data, tableEntry);\n font.tables.head = head_default.parse(table.data, table.offset);\n font.unitsPerEm = font.tables.head.unitsPerEm;\n indexToLocFormat = font.tables.head.indexToLocFormat;\n break;\n case \"hhea\":\n table = uncompressTable(data, tableEntry);\n font.tables.hhea = hhea_default.parse(table.data, table.offset);\n font.ascender = font.tables.hhea.ascender;\n font.descender = font.tables.hhea.descender;\n font.numberOfHMetrics = font.tables.hhea.numberOfHMetrics;\n break;\n case \"HVAR\":\n hvarTableEntry = tableEntry;\n break;\n case \"hmtx\":\n hmtxTableEntry = tableEntry;\n break;\n case \"ltag\":\n table = uncompressTable(data, tableEntry);\n ltagTable = ltag_default.parse(table.data, table.offset);\n break;\n case \"COLR\":\n table = uncompressTable(data, tableEntry);\n font.tables.colr = colr_default.parse(table.data, table.offset);\n break;\n case \"CPAL\":\n table = uncompressTable(data, tableEntry);\n font.tables.cpal = cpal_default.parse(table.data, table.offset);\n break;\n case \"maxp\":\n table = uncompressTable(data, tableEntry);\n font.tables.maxp = maxp_default.parse(table.data, table.offset);\n font.numGlyphs = font.tables.maxp.numGlyphs;\n break;\n case \"name\":\n nameTableEntry = tableEntry;\n break;\n case \"OS/2\":\n table = uncompressTable(data, tableEntry);\n font.tables.os2 = os2_default.parse(table.data, table.offset);\n break;\n case \"post\":\n table = uncompressTable(data, tableEntry);\n font.tables.post = post_default.parse(table.data, table.offset);\n font.glyphNames = new GlyphNames(font.tables.post);\n break;\n case \"prep\":\n table = uncompressTable(data, tableEntry);\n p = new parse_default.Parser(table.data, table.offset);\n font.tables.prep = p.parseByteList(tableEntry.length);\n break;\n case \"glyf\":\n glyfTableEntry = tableEntry;\n break;\n case \"loca\":\n locaTableEntry = tableEntry;\n break;\n case \"CFF \":\n cffTableEntry = tableEntry;\n break;\n case \"CFF2\":\n cff2TableEntry = tableEntry;\n break;\n case \"kern\":\n kernTableEntry = tableEntry;\n break;\n case \"GDEF\":\n gdefTableEntry = tableEntry;\n break;\n case \"GPOS\":\n gposTableEntry = tableEntry;\n break;\n case \"GSUB\":\n gsubTableEntry = tableEntry;\n break;\n case \"meta\":\n metaTableEntry = tableEntry;\n break;\n case \"gasp\":\n try {\n table = uncompressTable(data, tableEntry);\n font.tables.gasp = gasp_default.parse(table.data, table.offset);\n } catch (e) {\n console.warn(\"Failed to parse gasp table, skipping.\");\n console.warn(e);\n }\n break;\n case \"SVG \":\n table = uncompressTable(data, tableEntry);\n font.tables.svg = svg_default.parse(table.data, table.offset);\n break;\n default:\n break;\n }\n }\n const nameTable = uncompressTable(data, nameTableEntry);\n font.tables.name = name_default.parse(nameTable.data, nameTable.offset, ltagTable);\n font.names = font.tables.name;\n if (glyfTableEntry && locaTableEntry) {\n const shortVersion = indexToLocFormat === 0;\n const locaTable = uncompressTable(data, locaTableEntry);\n const locaOffsets = loca_default.parse(locaTable.data, locaTable.offset, font.numGlyphs, shortVersion);\n const glyfTable = uncompressTable(data, glyfTableEntry);\n font.glyphs = glyf_default.parse(glyfTable.data, glyfTable.offset, locaOffsets, font, opt);\n } else if (cffTableEntry) {\n const cffTable = uncompressTable(data, cffTableEntry);\n cff_default.parse(cffTable.data, cffTable.offset, font, opt);\n } else if (cff2TableEntry) {\n const cffTable2 = uncompressTable(data, cff2TableEntry);\n cff_default.parse(cffTable2.data, cffTable2.offset, font, opt);\n } else {\n throw new Error(\"Font doesn't contain TrueType, CFF or CFF2 outlines.\");\n }\n const hmtxTable = uncompressTable(data, hmtxTableEntry);\n hmtx_default.parse(font, hmtxTable.data, hmtxTable.offset, font.numberOfHMetrics, font.numGlyphs, font.glyphs, opt);\n addGlyphNames(font, opt);\n if (kernTableEntry) {\n const kernTable = uncompressTable(data, kernTableEntry);\n font.kerningPairs = kern_default.parse(kernTable.data, kernTable.offset);\n } else {\n font.kerningPairs = {};\n }\n if (gdefTableEntry) {\n const gdefTable = uncompressTable(data, gdefTableEntry);\n font.tables.gdef = gdef_default.parse(gdefTable.data, gdefTable.offset);\n }\n if (gposTableEntry) {\n const gposTable = uncompressTable(data, gposTableEntry);\n font.tables.gpos = gpos_default.parse(gposTable.data, gposTable.offset);\n font.position.init();\n }\n if (gsubTableEntry) {\n const gsubTable = uncompressTable(data, gsubTableEntry);\n font.tables.gsub = gsub_default.parse(gsubTable.data, gsubTable.offset);\n }\n if (fvarTableEntry) {\n const fvarTable = uncompressTable(data, fvarTableEntry);\n font.tables.fvar = fvar_default.parse(fvarTable.data, fvarTable.offset, font.names);\n }\n if (statTableEntry) {\n const statTable = uncompressTable(data, statTableEntry);\n font.tables.stat = stat_default.parse(statTable.data, statTable.offset, font.tables.fvar);\n }\n if (gvarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides a gvar table, but no fvar table, which is required for variable fonts.\");\n }\n if (!glyfTableEntry) {\n console.warn(\"This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.\");\n }\n const gvarTable = uncompressTable(data, gvarTableEntry);\n font.tables.gvar = gvar_default.parse(gvarTable.data, gvarTable.offset, font.tables.fvar, font.glyphs);\n }\n if (cvarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides a cvar table, but no fvar table, which is required for variable fonts.\");\n }\n if (!font.tables.cvt) {\n console.warn(\"This font provides a cvar table, but no cvt table which could be made variable.\");\n }\n if (!glyfTableEntry) {\n console.warn(\"This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.\");\n }\n const cvarTable = uncompressTable(data, cvarTableEntry);\n font.tables.cvar = cvar_default.parse(cvarTable.data, cvarTable.offset, font.tables.fvar, font.tables.cvt || []);\n }\n if (avarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides an avar table, but no fvar table, which is required for variable fonts.\");\n }\n const avarTable = uncompressTable(data, avarTableEntry);\n font.tables.avar = avar_default.parse(avarTable.data, avarTable.offset, font.tables.fvar);\n }\n if (hvarTableEntry) {\n if (!fvarTableEntry) {\n console.warn(\"This font provides an HVAR table, but no fvar table, which is required for variable fonts.\");\n }\n if (!hmtxTableEntry) {\n console.warn(\"This font provides an HVAR table, but no hmtx table to vary.\");\n }\n const hvarTable = uncompressTable(data, hvarTableEntry);\n font.tables.hvar = hvar_default.parse(hvarTable.data, hvarTable.offset, font.tables.fvar);\n }\n if (metaTableEntry) {\n const metaTable = uncompressTable(data, metaTableEntry);\n font.tables.meta = meta_default.parse(metaTable.data, metaTable.offset);\n font.metas = font.tables.meta;\n }\n font.palettes = new PaletteManager(font);\n return font;\n}\nfunction load() {\n console.error(\"DEPRECATED! migrate to: opentype.parse(buffer, opt) See: https://github.com/opentypejs/opentype.js/issues/675\");\n}\nfunction loadSync() {\n console.error('DEPRECATED! migrate to: opentype.parse(require(\"fs\").readFileSync(url), opt)');\n}\nexport {\n bbox_default as BoundingBox,\n font_default as Font,\n glyph_default as Glyph,\n path_default as Path,\n parse_default as _parse,\n load,\n loadSync,\n parseBuffer as parse\n};\n","// distance between 2 points\nfunction distance(p1, p2) {\n return Math.sqrt(distanceSq(p1, p2));\n}\n// distance between 2 points squared\nfunction distanceSq(p1, p2) {\n return Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2);\n}\n// Sistance squared from a point p to the line segment vw\nfunction distanceToSegmentSq(p, v, w) {\n const l2 = distanceSq(v, w);\n if (l2 === 0) {\n return distanceSq(p, v);\n }\n let t = ((p[0] - v[0]) * (w[0] - v[0]) + (p[1] - v[1]) * (w[1] - v[1])) / l2;\n t = Math.max(0, Math.min(1, t));\n return distanceSq(p, lerp(v, w, t));\n}\nfunction lerp(a, b, t) {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n ];\n}\n// Adapted from https://seant23.wordpress.com/2010/11/12/offset-bezier-curves/\nfunction flatness(points, offset) {\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n let ux = 3 * p2[0] - 2 * p1[0] - p4[0];\n ux *= ux;\n let uy = 3 * p2[1] - 2 * p1[1] - p4[1];\n uy *= uy;\n let vx = 3 * p3[0] - 2 * p4[0] - p1[0];\n vx *= vx;\n let vy = 3 * p3[1] - 2 * p4[1] - p1[1];\n vy *= vy;\n if (ux < vx) {\n ux = vx;\n }\n if (uy < vy) {\n uy = vy;\n }\n return ux + uy;\n}\nfunction getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints) {\n const outPoints = newPoints || [];\n if (flatness(points, offset) < tolerance) {\n const p0 = points[offset + 0];\n if (outPoints.length) {\n const d = distance(outPoints[outPoints.length - 1], p0);\n if (d > 1) {\n outPoints.push(p0);\n }\n }\n else {\n outPoints.push(p0);\n }\n outPoints.push(points[offset + 3]);\n }\n else {\n // subdivide\n const t = .5;\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n const q1 = lerp(p1, p2, t);\n const q2 = lerp(p2, p3, t);\n const q3 = lerp(p3, p4, t);\n const r1 = lerp(q1, q2, t);\n const r2 = lerp(q2, q3, t);\n const red = lerp(r1, r2, t);\n getPointsOnBezierCurveWithSplitting([p1, q1, r1, red], 0, tolerance, outPoints);\n getPointsOnBezierCurveWithSplitting([red, r2, q3, p4], 0, tolerance, outPoints);\n }\n return outPoints;\n}\nexport function simplify(points, distance) {\n return simplifyPoints(points, 0, points.length, distance);\n}\n// Ramer–Douglas–Peucker algorithm\n// https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm\nfunction simplifyPoints(points, start, end, epsilon, newPoints) {\n const outPoints = newPoints || [];\n // find the most distance point from the endpoints\n const s = points[start];\n const e = points[end - 1];\n let maxDistSq = 0;\n let maxNdx = 1;\n for (let i = start + 1; i < end - 1; ++i) {\n const distSq = distanceToSegmentSq(points[i], s, e);\n if (distSq > maxDistSq) {\n maxDistSq = distSq;\n maxNdx = i;\n }\n }\n // if that point is too far, split\n if (Math.sqrt(maxDistSq) > epsilon) {\n simplifyPoints(points, start, maxNdx + 1, epsilon, outPoints);\n simplifyPoints(points, maxNdx, end, epsilon, outPoints);\n }\n else {\n if (!outPoints.length) {\n outPoints.push(s);\n }\n outPoints.push(e);\n }\n return outPoints;\n}\nexport function pointsOnBezierCurves(points, tolerance = 0.15, distance) {\n const newPoints = [];\n const numSegments = (points.length - 1) / 3;\n for (let i = 0; i < numSegments; i++) {\n const offset = i * 3;\n getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints);\n }\n if (distance && distance > 0) {\n return simplifyPoints(newPoints, 0, newPoints.length, distance);\n }\n return newPoints;\n}\n","const COMMAND = 0;\nconst NUMBER = 1;\nconst EOD = 2;\nconst PARAMS = { A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0 };\nfunction tokenize(d) {\n const tokens = new Array();\n while (d !== '') {\n if (d.match(/^([ \\t\\r\\n,]+)/)) {\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^([aAcChHlLmMqQsStTvVzZ])/)) {\n tokens[tokens.length] = { type: COMMAND, text: RegExp.$1 };\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/)) {\n tokens[tokens.length] = { type: NUMBER, text: `${parseFloat(RegExp.$1)}` };\n d = d.substr(RegExp.$1.length);\n }\n else {\n return [];\n }\n }\n tokens[tokens.length] = { type: EOD, text: '' };\n return tokens;\n}\nfunction isType(token, type) {\n return token.type === type;\n}\nexport function parsePath(d) {\n const segments = [];\n const tokens = tokenize(d);\n let mode = 'BOD';\n let index = 0;\n let token = tokens[index];\n while (!isType(token, EOD)) {\n let paramsCount = 0;\n const params = [];\n if (mode === 'BOD') {\n if (token.text === 'M' || token.text === 'm') {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n else {\n return parsePath('M0,0' + d);\n }\n }\n else if (isType(token, NUMBER)) {\n paramsCount = PARAMS[mode];\n }\n else {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n if ((index + paramsCount) < tokens.length) {\n for (let i = index; i < index + paramsCount; i++) {\n const numbeToken = tokens[i];\n if (isType(numbeToken, NUMBER)) {\n params[params.length] = +numbeToken.text;\n }\n else {\n throw new Error('Param not a number: ' + mode + ',' + numbeToken.text);\n }\n }\n if (typeof PARAMS[mode] === 'number') {\n const segment = { key: mode, data: params };\n segments.push(segment);\n index += paramsCount;\n token = tokens[index];\n if (mode === 'M')\n mode = 'L';\n if (mode === 'm')\n mode = 'l';\n }\n else {\n throw new Error('Bad segment: ' + mode);\n }\n }\n else {\n throw new Error('Path data ended short');\n }\n }\n return segments;\n}\nexport function serialize(segments) {\n const tokens = [];\n for (const { key, data } of segments) {\n tokens.push(key);\n switch (key) {\n case 'C':\n case 'c':\n tokens.push(data[0], `${data[1]},`, data[2], `${data[3]},`, data[4], data[5]);\n break;\n case 'S':\n case 's':\n case 'Q':\n case 'q':\n tokens.push(data[0], `${data[1]},`, data[2], data[3]);\n break;\n default:\n tokens.push(...data);\n break;\n }\n }\n return tokens.join(' ');\n}\n","// Translate relative commands to absolute commands\nexport function absolutize(segments) {\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n const out = [];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'm':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'M', data: [cx, cy] });\n subx = cx;\n suby = cy;\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'l':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n break;\n case 'c': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'C', data: newdata });\n cx = newdata[4];\n cy = newdata[5];\n break;\n }\n case 'Q':\n out.push({ key: 'Q', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 'q': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'Q', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'A':\n out.push({ key: 'A', data: [...data] });\n cx = data[5];\n cy = data[6];\n break;\n case 'a':\n cx += data[5];\n cy += data[6];\n out.push({ key: 'A', data: [data[0], data[1], data[2], data[3], data[4], cx, cy] });\n break;\n case 'H':\n out.push({ key: 'H', data: [...data] });\n cx = data[0];\n break;\n case 'h':\n cx += data[0];\n out.push({ key: 'H', data: [cx] });\n break;\n case 'V':\n out.push({ key: 'V', data: [...data] });\n cy = data[0];\n break;\n case 'v':\n cy += data[0];\n out.push({ key: 'V', data: [cy] });\n break;\n case 'S':\n out.push({ key: 'S', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 's': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'S', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'T':\n out.push({ key: 'T', data: [...data] });\n cx = data[0];\n cy = data[1];\n break;\n case 't':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'T', data: [cx, cy] });\n break;\n case 'Z':\n case 'z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n }\n return out;\n}\n","// Normalize path to include only M, L, C, and Z commands\nexport function normalize(segments) {\n const out = [];\n let lastType = '';\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n let lcx = 0, lcy = 0;\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n lcx = data[2];\n lcy = data[3];\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'H':\n cx = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'V':\n cy = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'S': {\n let cx1 = 0, cy1 = 0;\n if (lastType === 'C' || lastType === 'S') {\n cx1 = cx + (cx - lcx);\n cy1 = cy + (cy - lcy);\n }\n else {\n cx1 = cx;\n cy1 = cy;\n }\n out.push({ key: 'C', data: [cx1, cy1, ...data] });\n lcx = data[0];\n lcy = data[1];\n cx = data[2];\n cy = data[3];\n break;\n }\n case 'T': {\n const [x, y] = data;\n let x1 = 0, y1 = 0;\n if (lastType === 'Q' || lastType === 'T') {\n x1 = cx + (cx - lcx);\n y1 = cy + (cy - lcy);\n }\n else {\n x1 = cx;\n y1 = cy;\n }\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'Q': {\n const [x1, y1, x, y] = data;\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'A': {\n const r1 = Math.abs(data[0]);\n const r2 = Math.abs(data[1]);\n const angle = data[2];\n const largeArcFlag = data[3];\n const sweepFlag = data[4];\n const x = data[5];\n const y = data[6];\n if (r1 === 0 || r2 === 0) {\n out.push({ key: 'C', data: [cx, cy, x, y, x, y] });\n cx = x;\n cy = y;\n }\n else {\n if (cx !== x || cy !== y) {\n const curves = arcToCubicCurves(cx, cy, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n curves.forEach(function (curve) {\n out.push({ key: 'C', data: curve });\n });\n cx = x;\n cy = y;\n }\n }\n break;\n }\n case 'Z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n lastType = key;\n }\n return out;\n}\nfunction degToRad(degrees) {\n return (Math.PI * degrees) / 180;\n}\nfunction rotate(x, y, angleRad) {\n const X = x * Math.cos(angleRad) - y * Math.sin(angleRad);\n const Y = x * Math.sin(angleRad) + y * Math.cos(angleRad);\n return [X, Y];\n}\nfunction arcToCubicCurves(x1, y1, x2, y2, r1, r2, angle, largeArcFlag, sweepFlag, recursive) {\n const angleRad = degToRad(angle);\n let params = [];\n let f1 = 0, f2 = 0, cx = 0, cy = 0;\n if (recursive) {\n [f1, f2, cx, cy] = recursive;\n }\n else {\n [x1, y1] = rotate(x1, y1, -angleRad);\n [x2, y2] = rotate(x2, y2, -angleRad);\n const x = (x1 - x2) / 2;\n const y = (y1 - y2) / 2;\n let h = (x * x) / (r1 * r1) + (y * y) / (r2 * r2);\n if (h > 1) {\n h = Math.sqrt(h);\n r1 = h * r1;\n r2 = h * r2;\n }\n const sign = (largeArcFlag === sweepFlag) ? -1 : 1;\n const r1Pow = r1 * r1;\n const r2Pow = r2 * r2;\n const left = r1Pow * r2Pow - r1Pow * y * y - r2Pow * x * x;\n const right = r1Pow * y * y + r2Pow * x * x;\n const k = sign * Math.sqrt(Math.abs(left / right));\n cx = k * r1 * y / r2 + (x1 + x2) / 2;\n cy = k * -r2 * x / r1 + (y1 + y2) / 2;\n f1 = Math.asin(parseFloat(((y1 - cy) / r2).toFixed(9)));\n f2 = Math.asin(parseFloat(((y2 - cy) / r2).toFixed(9)));\n if (x1 < cx) {\n f1 = Math.PI - f1;\n }\n if (x2 < cx) {\n f2 = Math.PI - f2;\n }\n if (f1 < 0) {\n f1 = Math.PI * 2 + f1;\n }\n if (f2 < 0) {\n f2 = Math.PI * 2 + f2;\n }\n if (sweepFlag && f1 > f2) {\n f1 = f1 - Math.PI * 2;\n }\n if (!sweepFlag && f2 > f1) {\n f2 = f2 - Math.PI * 2;\n }\n }\n let df = f2 - f1;\n if (Math.abs(df) > (Math.PI * 120 / 180)) {\n const f2old = f2;\n const x2old = x2;\n const y2old = y2;\n if (sweepFlag && f2 > f1) {\n f2 = f1 + (Math.PI * 120 / 180) * (1);\n }\n else {\n f2 = f1 + (Math.PI * 120 / 180) * (-1);\n }\n x2 = cx + r1 * Math.cos(f2);\n y2 = cy + r2 * Math.sin(f2);\n params = arcToCubicCurves(x2, y2, x2old, y2old, r1, r2, angle, 0, sweepFlag, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n const c1 = Math.cos(f1);\n const s1 = Math.sin(f1);\n const c2 = Math.cos(f2);\n const s2 = Math.sin(f2);\n const t = Math.tan(df / 4);\n const hx = 4 / 3 * r1 * t;\n const hy = 4 / 3 * r2 * t;\n const m1 = [x1, y1];\n const m2 = [x1 + hx * s1, y1 - hy * c1];\n const m3 = [x2 + hx * s2, y2 - hy * c2];\n const m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(params);\n }\n else {\n params = [m2, m3, m4].concat(params);\n const curves = [];\n for (let i = 0; i < params.length; i += 3) {\n const r1 = rotate(params[i][0], params[i][1], angleRad);\n const r2 = rotate(params[i + 1][0], params[i + 1][1], angleRad);\n const r3 = rotate(params[i + 2][0], params[i + 2][1], angleRad);\n curves.push([r1[0], r1[1], r2[0], r2[1], r3[0], r3[1]]);\n }\n return curves;\n }\n}\n","import { pointsOnBezierCurves, simplify } from 'points-on-curve';\nimport { parsePath, absolutize, normalize } from 'path-data-parser';\nexport function pointsOnPath(path, tolerance, distance) {\n const segments = parsePath(path);\n const normalized = normalize(absolutize(segments));\n const sets = [];\n let currentPoints = [];\n let start = [0, 0];\n let pendingCurve = [];\n const appendPendingCurve = () => {\n if (pendingCurve.length >= 4) {\n currentPoints.push(...pointsOnBezierCurves(pendingCurve, tolerance));\n }\n pendingCurve = [];\n };\n const appendPendingPoints = () => {\n appendPendingCurve();\n if (currentPoints.length) {\n sets.push(currentPoints);\n currentPoints = [];\n }\n };\n for (const { key, data } of normalized) {\n switch (key) {\n case 'M':\n appendPendingPoints();\n start = [data[0], data[1]];\n currentPoints.push(start);\n break;\n case 'L':\n appendPendingCurve();\n currentPoints.push([data[0], data[1]]);\n break;\n case 'C':\n if (!pendingCurve.length) {\n const lastPoint = currentPoints.length ? currentPoints[currentPoints.length - 1] : start;\n pendingCurve.push([lastPoint[0], lastPoint[1]]);\n }\n pendingCurve.push([data[0], data[1]]);\n pendingCurve.push([data[2], data[3]]);\n pendingCurve.push([data[4], data[5]]);\n break;\n case 'Z':\n appendPendingCurve();\n currentPoints.push([start[0], start[1]]);\n break;\n }\n }\n appendPendingPoints();\n if (!distance) {\n return sets;\n }\n const out = [];\n for (const set of sets) {\n const simplifiedSet = simplify(set, distance);\n if (simplifiedSet.length) {\n out.push(simplifiedSet);\n }\n }\n return out;\n}\n","export const WIDTH = 300\nexport const HEIGHT = 150\nexport const SCALE = 3\nexport const SIZE = 4\nexport const INTERVAL = 1.5\nexport const GITHUB_ID = 'Orta'\nexport const TEXT = 'Orta Therox'\n\nexport interface TextPathResult {\n paths: {\n vertices: Float32Array\n indices: Uint32Array\n }\n pathData: string\n rect: {\n x: number\n y: number\n width: number\n height: number\n }\n}\n\nexport interface Point {\n x: number\n y: number\n /**\n * 启用压缩时,该点与前一个保留点的原始索引差,用于还原关键帧的时间位置;\n * 未压缩时不存在,消费端回退到 SMIL 默认的均分时间\n */\n span?: number\n}\n\nexport interface ContributionJson {\n date: string\n color: string\n trajectory: Point[]\n}\n\nexport interface SimulationResult {\n stepCount: number\n time: number\n /** 贡献方块的形状:circle 或 square */\n shape: string\n textPaths: Pick[]\n contributions: ContributionJson[]\n /** 用户名文字碰撞体的三角网格(世界坐标),用于 web 端渲染 */\n textTriangles: number[][]\n /** 文字在物理世界中的 X 偏移量 */\n offsetX: number\n /** 文字在物理世界中的 Y 偏移量 */\n centerY: number\n /** 一步的时间(ms) */\n stepTime: number\n /** 背景颜色 */\n backgroundColor: string\n /** 文字颜色 */\n textColor: string\n /** 物理世界宽度,渲染时换算成 SVG 宽度 */\n width: number\n /** 物理世界高度,同时用于坐标 Y 轴翻转 */\n height: number\n /** 贡献方块边长,决定渲染出的方块尺寸 */\n size: number\n}\n","import earcut from 'earcut'\nimport * as opentype from 'opentype.js'\nimport { pointsOnPath } from 'points-on-path'\nimport { SCALE, TextPathResult } from './utils'\n\nfunction svgPathToRapierTrimesh(path: string, scale = 1, tolerance = 1) {\n const subPaths = pointsOnPath(path, tolerance)\n const points = subPaths.flat()\n\n const vertices = points.map(\n ([x, y]) => [x * scale, y * scale] as [number, number]\n )\n\n const flatVertices = vertices.flat()\n\n const indices = earcut(flatVertices)\n\n return {\n vertices: new Float32Array(flatVertices),\n indices: new Uint32Array(indices)\n }\n}\n\n/** 字体数据来源:本地路径、远程 URL(字符串或 URL 对象),或已读取好的字体数据 */\nexport type FontSource = string | URL | Buffer | ArrayBuffer\n\n/** Buffer / Uint8Array 可能是共享 ArrayBuffer 的一段视图,必须按实际偏移截取副本 */\nfunction viewToArrayBuffer(view: ArrayBufferView): ArrayBuffer {\n return view.buffer.slice(\n view.byteOffset,\n view.byteOffset + view.byteLength\n ) as ArrayBuffer\n}\n\n/** 从本地路径读取字体文件(相对路径按当前工作目录解析) */\nexport async function loadFontFromPath(fontPath: string): Promise {\n // node 模块按需加载:只有真正读取本地文件时才需要,浏览器环境不会引入它们\n const [{ readFileSync }, { resolve }] = await Promise.all([\n import('node:fs'),\n import('node:path')\n ])\n // 相对路径按当前工作目录解析:模块自身路径在打包后会被压平,不能作为参照基准\n const resolvedPath = resolve(fontPath)\n\n try {\n return viewToArrayBuffer(readFileSync(resolvedPath))\n } catch (error) {\n // 带上底层原因:读取失败可能是文件不存在,解析失败可能是不支持的文件格式\n const reason = error instanceof Error ? error.message : String(error)\n throw new Error(\n `Failed to load font \"${resolvedPath}\" (only .ttf/.otf are supported): ${reason}`,\n { cause: error }\n )\n }\n}\n\n/** 从 URL 下载字体文件,支持 file: 与 http(s): 协议 */\nexport async function loadFontFromUrl(\n fontUrl: string | URL\n): Promise {\n let url: URL\n try {\n url = new URL(fontUrl)\n } catch (error) {\n throw new Error(`Invalid font URL: ${fontUrl}`, { cause: error })\n }\n\n // Node 的 fetch 不支持 file: 协议,本地文件改用 fs 读取;浏览器走标准 fetch\n if (url.protocol === 'file:') {\n const { fileURLToPath } = await import('node:url')\n return loadFontFromPath(fileURLToPath(url))\n }\n\n let response: Response\n try {\n response = await fetch(url)\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error)\n throw new Error(`Failed to load font from \"${url.href}\": ${reason}`, {\n cause: error\n })\n }\n if (!response.ok) {\n throw new Error(\n `Failed to load font from \"${url.href}\": ${response.status} ${response.statusText}`\n )\n }\n return response.arrayBuffer()\n}\n\n/** 把用户传入的字体来源归一化为 opentype.js 可解析的 ArrayBuffer */\nasync function resolveFontData(font: FontSource): Promise {\n if (font instanceof ArrayBuffer) return font\n // isView 同时覆盖 Buffer(Node)与 Uint8Array(浏览器),保持对运行环境无假设\n if (ArrayBuffer.isView(font)) return viewToArrayBuffer(font)\n // http(s) 开头的字符串视为远程 URL,其余字符串视为本地路径\n if (font instanceof URL || /^https?:\\/\\//i.test(font)) {\n return loadFontFromUrl(font)\n }\n return loadFontFromPath(font)\n}\n\n// 先取值再构造 URL,避免打包器把「new URL(字面量, import.meta.url)」识别为资源声明\n// 而重排内置字体的输出位置\nconst BUNDLED_FONT_HREF = '../public/LiberationSerif-Bold.ttf'\n\n/** 内置字体:轮廓闭合规整,能稳定三角化 */\nconst DEFAULT_FONT = new URL(BUNDLED_FONT_HREF, import.meta.url)\n\n/**\n * 解析文字为可渲染的轮廓路径,同时产出 SVG 用的 pathData 与物理用的三角网格。\n *\n * @param font 字体来源(.ttf/.otf):本地路径、URL、URL 字符串,或\n * Buffer / ArrayBuffer(如 `files[0].arrayBuffer()` 的结果);省略时用内置字体\n */\nexport async function getTextPaths(\n text: string,\n fontSize: number,\n font: FontSource = DEFAULT_FONT\n): Promise {\n // 加载失败的原样冒泡:loadFontFromPath / loadFontFromUrl 已给出带来源的消息\n const fontData = await resolveFontData(font)\n\n let opentypeFont: opentype.Font\n try {\n opentypeFont = opentype.parse(fontData)\n } catch (error) {\n // 带上底层原因:解析失败可能是不支持的文件格式,也可能是 opentype.js 无法处理该字体的 GSUB 表\n const reason = error instanceof Error ? error.message : String(error)\n throw new Error(\n `Failed to load font \"${describeFont(font)}\" (only .ttf/.otf are supported): ${reason}`,\n { cause: error }\n )\n }\n\n // opentype.js 的表结构是懒解析的,GSUB 等高级表的问题要等到取字形时才暴露\n let paths: opentype.Path[]\n try {\n paths = opentypeFont.getPaths(text, 0, 0, fontSize / SCALE)\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error)\n throw new Error(\n `Failed to read glyphs from font \"${describeFont(font)}\": ${reason}`,\n { cause: error }\n )\n }\n\n return paths.map((path) => {\n const bbox = path.getBoundingBox()\n const pathData = path.toPathData(2)\n\n let triangulated: ReturnType\n try {\n triangulated = svgPathToRapierTrimesh(pathData)\n } catch (error) {\n throw new Error(\n `Failed to triangulate a glyph from font \"${describeFont(font)}\". ` +\n 'Some fonts contain open or self-intersecting contours that the ' +\n 'triangulation algorithm cannot handle.',\n { cause: error }\n )\n }\n\n return {\n paths: triangulated,\n pathData: pathData,\n rect: {\n x: bbox.x1,\n y: bbox.y1,\n width: bbox.x2 - bbox.x1,\n height: bbox.y2 - bbox.y1\n }\n }\n })\n}\n\n/** 生成字体来源的展示名:URL 用 href,路径与二进制数据截取开头 */\nfunction describeFont(font: FontSource): string {\n if (font instanceof URL) return font.href\n if (typeof font === 'string') return font\n return 'custom font data'\n}\n","/**\n * 通过 gh-calendar API 获取 GitHub 用户贡献图数据。\n *\n * API: https://gh-calendar.rschristian.dev/user/{username}\n * 返回按周分组的贡献数据,支持 ?limit=N 参数限制返回周数。\n */\n\n/** 单日贡献数据(API 原始格式) */\nexport interface RawContributionDay {\n date: string\n intensity: number\n count: number\n}\n\n/** gh-calendar API 响应格式 */\nexport interface CalendarResponse {\n total: number\n contributions: RawContributionDay[][]\n}\n\n/** 贡献颜色分级 */\nexport const INTENSITY_COLORS = [\n '#ebedf0',\n '#9be9a8',\n '#40c463',\n '#30a14e',\n '#216e39'\n]\n\n/**\n * 根据 GitHub 用户名获取贡献图数据。\n *\n * @param username - GitHub 用户名\n * @param limit - 限制返回的周数,不传则返回所有可用数据\n * @returns 贡献图数据,包含每日贡献次数和等级\n * @throws 如果请求失败或用户名不存在\n */\nexport async function fetchContributions(username: string, limit?: number) {\n const params = limit ? `?limit=${limit}` : ''\n const url = `https://gh-calendar.rschristian.dev/user/${username}${params}`\n\n const response = await fetch(url)\n\n if (!response.ok) {\n throw new Error(\n `Failed to fetch contributions for \"${username}\": ${response.status} ${response.statusText}`\n )\n }\n\n const data: CalendarResponse = await response.json()\n\n return data\n}\n","export interface CompressedTrajectoryPoint {\n x: number\n y: number\n /**\n * 与前一个保留点之间的原始轨迹点数(首点为 0)。\n * 全部 span 之和等于原始点数 - 1,消费端可累计 span 还原每个关键帧的时间位置\n */\n span: number\n}\n\ntype Point = { x: number; y: number }\n\n/**\n * 点 i 相对段 (s, e) 的时刻插值偏差平方。\n * 播放时相邻关键帧按时间比例线性插值,该值即 i 时刻的插值位置与真实位置的距离平方。\n * 度量含时间维:匀速直线段可整体并段,变速段会自动保留关键帧,速度随位置一同保真。\n */\nfunction deviationSq(p: Point, s: Point, e: Point, t: number): number {\n const dx = p.x - (s.x + (e.x - s.x) * t)\n const dy = p.y - (s.y + (e.y - s.y) * t)\n return dx * dx + dy * dy\n}\n\n/**\n * 段 (s, e) 内各点的最大时刻插值偏差平方,与 limitSq 比较可全程避免开方。\n * 任一点超限立即返回 Infinity(提前终止,长不可行段的开销为常数级)。\n */\nfunction segmentMaxDeviationSq(\n trajectory: Point[],\n s: number,\n e: number,\n limitSq: number\n): number {\n let max = 0\n const denom = e - s\n for (let i = s + 1; i < e; i++) {\n const d = deviationSq(\n trajectory[i],\n trajectory[s],\n trajectory[e],\n (i - s) / denom\n )\n if (d > limitSq) return Infinity\n if (d > max) max = d\n }\n return max\n}\n\nfunction assertTolerance(tolerance: number): void {\n if (tolerance < 0) {\n throw new Error(`tolerance must be >= 0, got ${tolerance}`)\n }\n}\n\n/** 把保留标记转为输出:保序,span 为相邻保留点的原始索引差 */\nfunction collectResult(\n trajectory: Point[],\n keep: boolean[]\n): CompressedTrajectoryPoint[] {\n const result: CompressedTrajectoryPoint[] = []\n let prevIdx = 0\n for (let i = 0; i < keep.length; i++) {\n if (!keep[i]) continue\n result.push({ ...trajectory[i], span: i - prevIdx })\n prevIdx = i\n }\n return result\n}\n\n/**\n * 轨迹压缩——动态规划最优分段:\n * 在\"每个原始点的时刻插值偏差都不超过 tolerance\"的约束下,\n * 求关键帧数全局最少的分段(等价于 Imai–Iri 最优分段问题的 DP 解法)。\n *\n * 保证:\n * - 首尾点必保留,返回点按原始顺序排列;\n * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance;\n * - 相同容差下关键帧数不多于其他策略(全局最优),输出体积最小;\n * - span >= 1(首点为 0),span 总和等于原始点数 - 1。\n */\nexport function simplifyTrajectoryDP(\n trajectory: Point[],\n tolerance: number = 0\n): CompressedTrajectoryPoint[] {\n assertTolerance(tolerance)\n const n = trajectory.length\n if (n === 0) return []\n if (n === 1) return [{ ...trajectory[0], span: 0 }]\n\n const limitSq = tolerance * tolerance\n // cost[i]:起点到 i 的最少段数;parent[i]:最优解中 i 的前一个关键帧\n const cost = new Array(n).fill(Infinity)\n const parent = new Array(n).fill(-1)\n cost[0] = 0\n\n for (let i = 1; i < n; i++) {\n // j 从近到远:短段检查便宜,且尽早建立 cost[i] 上界以激活剪枝\n for (let j = i - 1; j >= 0; j--) {\n // 即使段 (j, i) 可行也不可能给出更优解时,跳过段检查\n if (cost[j] + 1 >= cost[i]) continue\n if (segmentMaxDeviationSq(trajectory, j, i, limitSq) > limitSq) continue\n cost[i] = cost[j] + 1\n parent[i] = j\n }\n }\n\n const keep = new Array(n).fill(false)\n for (let i = n - 1; i > 0; i = parent[i]) keep[i] = true\n keep[0] = true\n return collectResult(trajectory, keep)\n}\n\n/**\n * 轨迹压缩——时空版 Ramer-Douglas-Peucker:\n * 递归分裂,每次在当前段内找时刻插值偏差最大的点作为新关键帧,\n * 直到所有被丢弃点的偏差都落入容差。\n *\n * 保证:\n * - 首尾点必保留,返回点按原始顺序排列;\n * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance;\n * - 贪心分裂非全局最优,关键帧数一般多于动态规划;\n * - span >= 1(首点为 0),span 总和等于原始点数 - 1。\n */\nexport function simplifyTrajectoryRDP(\n trajectory: Point[],\n tolerance: number = 0\n): CompressedTrajectoryPoint[] {\n assertTolerance(tolerance)\n const n = trajectory.length\n if (n === 0) return []\n if (n === 1) return [{ ...trajectory[0], span: 0 }]\n\n const keep = new Array(n).fill(false)\n keep[0] = keep[n - 1] = true\n const limitSq = tolerance * tolerance\n\n // 显式栈代替递归,栈内为待检查的闭区间 [start, end]\n const stack: Array<[number, number]> = [[0, n - 1]]\n while (stack.length > 0) {\n const [start, end] = stack.pop()!\n if (end - start < 2) continue\n\n // 找开区间内时刻插值偏差最大的点\n let maxSq = 0\n let maxIdx = -1\n for (let i = start + 1; i < end; i++) {\n const d = deviationSq(\n trajectory[i],\n trajectory[start],\n trajectory[end],\n (i - start) / (end - start)\n )\n if (d > maxSq) {\n maxSq = d\n maxIdx = i\n }\n }\n\n // 最大偏差仍在容差内则整段并为一个插值段,否则在最差点处分段\n if (maxSq > limitSq) {\n keep[maxIdx] = true\n stack.push([start, maxIdx], [maxIdx, end])\n }\n }\n\n return collectResult(trajectory, keep)\n}\n\n/**\n * 轨迹压缩——单遍贪心最长段:\n * 从当前关键帧出发不断扩展段尾,直到加入下一点会使段内某点的\n * 时刻插值偏差超出容差,此时该段尾即为下一个关键帧。\n *\n * 保证:\n * - 首尾点必保留,返回点按原始顺序排列;\n * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance;\n * - 单遍、不回溯,关键帧数通常介于 RDP 与动态规划之间;\n * - span >= 1(首点为 0),span 总和等于原始点数 - 1。\n */\nexport function simplifyTrajectoryGreedy(\n trajectory: Point[],\n tolerance: number = 0\n): CompressedTrajectoryPoint[] {\n assertTolerance(tolerance)\n const n = trajectory.length\n if (n === 0) return []\n if (n === 1) return [{ ...trajectory[0], span: 0 }]\n\n const keep = new Array(n).fill(false)\n keep[0] = keep[n - 1] = true\n const limitSq = tolerance * tolerance\n\n let s = 0\n while (s < n - 1) {\n // 插值线随段尾变化,段可行性对段尾没有单调性,只能逐步扩展并全段重查\n let e = s + 1\n while (\n e < n - 1 &&\n segmentMaxDeviationSq(trajectory, s, e + 1, limitSq) <= limitSq\n ) {\n e++\n }\n keep[e] = true\n s = e\n }\n\n return collectResult(trajectory, keep)\n}\n\n/**\n * 轨迹压缩默认入口——单遍贪心最长段。\n * 真实轨迹上其关键帧数仅比全局最优(simplifyTrajectoryDP)多 1~3%,\n * 耗时却低一个数量级:DP 的端点对 × 段检查随轨迹长度超线性膨胀,\n * 长轨迹(数千步)会到秒级,Greedy 稳定在毫秒级。\n * 追求极致体积且能接受秒级耗时时可显式改用 simplifyTrajectoryDP。\n *\n * tolerance=0 为完全无损:只有插值精确命中的匀速直线段/静止段被合并,\n * 位置与播放节奏(速度)都不失真;tolerance>0 时保证播放中\n * 每个原始时刻的插值位置误差不超过 tolerance。\n */\nexport function simplifyTrajectory(\n trajectory: Point[],\n tolerance: number = 0\n): CompressedTrajectoryPoint[] {\n return simplifyTrajectoryGreedy(trajectory, tolerance)\n}\n\n/**\n * 将简化轨迹的 span 转为 SMIL animateTransform 的 keyTimes 属性值:\n * 各关键帧时刻 = span 前缀和占总和的比例,首帧恒为 0、末帧恒为 1。\n * 轨迹未携带 span(未启用压缩)时返回 null,消费端回退到 SMIL 默认均分时间。\n */\nexport function buildKeyTimes(\n trajectory: {\n span?: number\n }[]\n): string | null {\n if (trajectory.length < 2 || trajectory[0].span === undefined) return null\n\n const total = trajectory.reduce((sum, p) => sum + (p.span ?? 0), 0)\n const keyTimes: number[] = [0]\n let acc = 0\n for (const p of trajectory.slice(1)) {\n acc += p.span ?? 0\n // SMIL 要求 keyTimes 严格递增:归一化后夹到 [prev + 1e-6, 0.999999],\n // 避免极长轨迹下小数舍入把相邻值舍成相同\n const prev = keyTimes[keyTimes.length - 1]\n const t = +(acc / total).toFixed(6)\n keyTimes.push(Math.min(Math.max(t, prev + 1e-6), 0.999999))\n }\n // 末帧强制为 1,消除累计浮点误差\n keyTimes[keyTimes.length - 1] = 1\n return keyTimes.join(';')\n}\n","import {\n Collider,\n ColliderDesc,\n init,\n RigidBodyDesc,\n World\n} from '@dimforge/rapier2d-compat'\nimport { FontSource, getTextPaths } from './parseTextPath'\nimport {\n ContributionJson,\n HEIGHT,\n INTERVAL,\n SCALE,\n SIZE,\n SimulationResult,\n WIDTH\n} from './utils'\nimport {\n fetchContributions,\n INTENSITY_COLORS,\n RawContributionDay\n} from './utils/githubContributions'\nimport {\n CompressedTrajectoryPoint,\n simplifyTrajectoryDP,\n simplifyTrajectoryGreedy,\n simplifyTrajectoryRDP\n} from './utils/simplifyTrajectory'\n\n/** 压缩算法名 → 实现,供 compressionAlgorithm 选项分发 */\nconst COMPRESSION_ALGORITHMS: Record<\n NonNullable,\n (\n trajectory: { x: number; y: number }[],\n tolerance: number\n ) => CompressedTrajectoryPoint[]\n> = {\n DP: simplifyTrajectoryDP,\n RDP: simplifyTrajectoryRDP,\n Greedy: simplifyTrajectoryGreedy\n}\n\nexport class Contribution implements ContributionJson {\n date: string\n x: number\n y: number\n color: string\n\n trajectory: {\n x: number\n y: number\n }[]\n\n collider: Collider\n\n constructor(contributionDay: RawContributionDay, collider: Collider) {\n this.collider = collider\n this.date = contributionDay.date\n this.color = INTENSITY_COLORS[contributionDay.intensity]\n const pos = collider.translation()\n this.x = pos.x\n this.y = pos.y\n this.trajectory = [{ x: pos.x, y: pos.y }]\n }\n\n update() {\n const pos = this.collider.translation()\n this.x = pos.x\n this.y = pos.y\n this.trajectory.push({ x: pos.x, y: pos.y })\n }\n\n getTrajectory() {\n return this.trajectory\n }\n\n toJSON(): ContributionJson {\n return {\n color: this.color,\n date: this.date,\n trajectory: this.trajectory\n }\n }\n}\n\nasync function createWord(width: number, height: number) {\n await init()\n // 重力\n const world = new World({ x: 0.0, y: -30 })\n world.lengthUnit = 32\n\n // 地面\n world.createCollider(\n ColliderDesc.cuboid(width, 1),\n world.createRigidBody(RigidBodyDesc.fixed().setTranslation(0, -1))\n )\n // 墙壁\n world.createCollider(\n ColliderDesc.cuboid(1, height),\n world.createRigidBody(RigidBodyDesc.fixed().setTranslation(width, 0))\n )\n world.createCollider(\n ColliderDesc.cuboid(1, height),\n world.createRigidBody(RigidBodyDesc.fixed().setTranslation(-1, 0))\n )\n\n return world\n}\n\n/** 速度小于此阈值视为静止 */\nconst VELOCITY_THRESHOLD = 1e-3\n\nexport interface SimulationOptions {\n username: string\n text?: string\n /** 文字到顶部的距离 */\n textTop?: number\n /** 字体大小 */\n fontSize?: number\n /** 一步的时间,单位为ms,越小速度越快 */\n stepTime?: number\n /**\n * 轨迹压缩容差,单位 SVG 像素。播放时每个原始时刻的插值位置与真实位置的\n * 偏差不超过该值;0 为完全无损(位置与节奏都精确),仅压缩匀速直线段和静止段。\n */\n compressionTolerance?: number\n /** 禁用轨迹压缩,保留完整轨迹 */\n disableCompression?: boolean\n /**\n * 轨迹压缩算法:Greedy(单遍贪心,快,默认)、DP(动态规划全局最优,长轨迹秒级)、\n * RDP(时空版 Ramer-Douglas-Peucker,最快,关键帧略多)\n */\n compressionAlgorithm?: 'Greedy' | 'DP' | 'RDP'\n /** 贡献方块的形状:circle(圆形)或 square(方形)。圆形物理模拟更丝滑,不容易穿模。 */\n shape?: 'circle' | 'square'\n /** 背景颜色,默认透明 */\n backgroundColor?: string\n /** 文字颜色,默认黑色 */\n textColor?: string\n /**\n * 物理世界宽度,默认 300。\n * 谨慎修改:方块横向布局、文字居中位置与最终 SVG 宽度都由它推算,改动后请自行核对效果\n */\n width?: number\n /**\n * 物理世界高度,默认 150。\n * 谨慎修改:方块起始高度、文字纵向位置与最终 SVG 高度都由它推算,改动后请自行核对效果\n */\n height?: number\n /**\n * 贡献方块边长,默认 4。\n * 谨慎修改:边长越大越容易相互挤压甚至穿透文字,改动后请自行核对效果\n */\n size?: number\n /**\n * 贡献方块间距,默认 1.5。\n * 谨慎修改:间距过小会互相堆叠,过大会超出世界边界,改动后请自行核对效果\n */\n interval?: number\n /**\n * 自定义字体(.ttf/.otf):本地路径、远程 URL(字符串或 URL 对象),或\n * 已读取好的 Buffer / ArrayBuffer(如 `files[0].arrayBuffer()` 的结果),\n * 默认使用内置的 Liberation Serif Bold。\n * 谨慎修改:部分字体存在未闭合或自相交的轮廓,操作系统渲染时会自动忽略这些瑕疵,\n * 但本项目的轮廓三角化算法会直接报错;另有部分字体因 opentype.js 的 GSUB 解析限制无法使用。\n * 字体度量差异也可能导致文字位置和碰撞形态需要重新调整\n */\n font?: FontSource\n}\n\nexport async function startSimulation({\n username,\n text = username,\n textTop = 50,\n fontSize = 80,\n stepTime = 8,\n shape = 'circle',\n backgroundColor = 'transparent',\n textColor = 'black',\n compressionTolerance = 0.5,\n disableCompression = false,\n compressionAlgorithm = 'Greedy',\n width = WIDTH,\n height = HEIGHT,\n size = SIZE,\n interval = INTERVAL,\n font\n}: SimulationOptions): Promise {\n const world = await createWord(width, height)\n const contributionsSet = new Set()\n\n // 容差从 SVG 像素换算回物理坐标单位,让压缩函数与渲染缩放解耦;\n // 显式禁用压缩时保留原始轨迹,消费端回退到 SMIL 默认均分时间\n const tolerance = compressionTolerance / SCALE\n\n // 创建用户名文字静止刚体(居中对齐),同时收集三角网格数据\n const textPaths = await getTextPaths(text, fontSize, font)\n\n // 计算所有字形的整体包围盒(翻转 Y 轴后)\n let minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity\n for (const { rect } of textPaths) {\n if (rect.x < minX) minX = rect.x\n if (rect.x + rect.width > maxX) maxX = rect.x + rect.width\n // 翻转 Y:opentype 字形在基线下方(y 为负),碰撞体需要正向\n const top = -rect.y\n const bottom = -(rect.y + rect.height)\n if (bottom < minY) minY = bottom\n if (top > maxY) maxY = top\n }\n const bboxCenterX = (minX + maxX) / 2\n const offsetX = width / 2 - bboxCenterX\n // 文字顶部距离世界顶部的距离\n const centerY = height - textTop - maxY\n const textTriangles: number[][] = []\n\n for (const { paths } of textPaths) {\n const { vertices, indices } = paths\n if (!vertices.length && !indices.length) continue\n // 翻转 Y 轴:opentype 字形在基线下方(y 为负),物理世界需要正向\n const flippedVertices = new Float32Array(vertices.length)\n for (let i = 0; i < vertices.length; i += 2) {\n flippedVertices[i] = vertices[i]\n flippedVertices[i + 1] = -vertices[i + 1]\n }\n world.createCollider(\n ColliderDesc.trimesh(flippedVertices, indices),\n world.createRigidBody(\n RigidBodyDesc.fixed()\n .setCcdEnabled(true)\n .setTranslation(offsetX, centerY)\n )\n )\n for (let i = 0; i < indices.length; i += 3) {\n const i0 = indices[i] * 2,\n i1 = indices[i + 1] * 2,\n i2 = indices[i + 2] * 2\n textTriangles.push([\n offsetX + flippedVertices[i0],\n centerY + flippedVertices[i0 + 1],\n offsetX + flippedVertices[i1],\n centerY + flippedVertices[i1 + 1],\n offsetX + flippedVertices[i2],\n centerY + flippedVertices[i2 + 1]\n ])\n }\n }\n\n const githubContributions = await fetchContributions(username)\n\n const rowLen = githubContributions.contributions.length\n const rowWidth = size * rowLen + interval * (rowLen - 1)\n const left = (width - rowWidth) / 2\n const top = height * 1\n\n for (let rowIndex = 0; rowIndex < rowLen; rowIndex++) {\n const col = githubContributions.contributions[rowIndex]\n for (let j = 0; j < col.length; j++) {\n const contributionDay = col[j]\n\n if (!contributionDay.date) {\n console.log(contributionDay)\n }\n\n const dayOfWeek = new Date(contributionDay.date).getDay()\n\n if (contributionDay.count) {\n const x = left + (interval + size) * rowIndex\n const y = top + (interval + size) * dayOfWeek\n // 动态刚体:圆形物理模拟更丝滑,不容易穿模\n const colliderDesc =\n shape === 'square'\n ? ColliderDesc.cuboid(size / 2, size / 2).setFriction(0.2)\n : ColliderDesc.ball(size / 2).setFriction(0.2)\n const boxCollider = world.createCollider(\n colliderDesc,\n world.createRigidBody(\n RigidBodyDesc.dynamic().setCcdEnabled(true).setTranslation(x, y)\n )\n )\n\n contributionsSet.add(new Contribution(contributionDay, boxCollider))\n }\n }\n }\n\n /** 判断所有 collider 的刚体是否都已静止(线速度与角速度均低于阈值) */\n function areAllCollidersSleeping(): boolean {\n for (const contribution of contributionsSet) {\n const body = contribution.collider.parent()\n if (body) {\n const linvel = body.linvel()\n const angvel = body.angvel()\n if (\n Math.abs(linvel.x) > VELOCITY_THRESHOLD ||\n Math.abs(linvel.y) > VELOCITY_THRESHOLD ||\n Math.abs(angvel) > VELOCITY_THRESHOLD\n ) {\n return false\n }\n }\n }\n return true\n }\n\n let stepCount = 0\n const startTime = Date.now()\n while (true) {\n world.step()\n stepCount++\n\n for (const contribution of contributionsSet) {\n contribution.update()\n }\n\n if (areAllCollidersSleeping()) break\n }\n\n const endTime = Date.now()\n\n return {\n stepCount,\n time: endTime - startTime,\n shape,\n contributions: Array.from(contributionsSet).map((contribution) => {\n const json = contribution.toJSON()\n return !disableCompression\n ? {\n ...json,\n trajectory: COMPRESSION_ALGORITHMS[compressionAlgorithm](\n json.trajectory,\n tolerance\n )\n }\n : json\n }),\n textPaths: textPaths.map(({ pathData, rect }) => ({\n pathData: pathData,\n rect: rect\n })),\n textTriangles,\n offsetX,\n centerY,\n stepTime,\n backgroundColor,\n textColor,\n width,\n height,\n size\n }\n}\n","import { SimulationOptions, startSimulation } from './physics'\nimport { ContributionJson, SCALE } from './utils'\nimport { buildKeyTimes } from './utils/simplifyTrajectory'\n\n/**\n * 生成贡献方块重力模拟的 SVG 动画字符串。\n * 模拟 GitHub 用户的贡献方块从上方掉落,最终静止在底部。\n *\n * @param options - 包含 GitHub 用户名\n * @returns 完整的 SVG 字符串\n */\nexport async function gensvg(options: SimulationOptions): Promise {\n const result = await startSimulation(options)\n const svgWidth = result.width * SCALE\n const svgHeight = result.height * SCALE\n\n // 生成每个贡献方块的 SVG 元素\n const isCircle = result.shape === 'circle'\n const contributionsSvg = result.contributions\n .map((contribution: ContributionJson) => {\n // 轨迹坐标转换:物理坐标 → SVG 坐标(Y 轴翻转)\n const values = contribution.trajectory\n .map(\n ({ x, y }) =>\n `${+(x * SCALE).toFixed(2)},${+((result.height - y) * SCALE).toFixed(2)}`\n )\n .join(';')\n\n // 开启压缩后各段时间跨度不同,需要 keyTimes 还原真实节奏;未压缩时为 null,走 SMIL 默认均分\n const keyTimes = buildKeyTimes(contribution.trajectory)\n const keyTimesAttr = keyTimes\n ? `\n keyTimes=\"${keyTimes}\"`\n : ''\n\n const shapeElement = isCircle\n ? ``\n : ``\n\n return ` \n ${shapeElement}\n \n `\n })\n .join('\\n')\n\n // 用 path 渲染文字路径,与物理碰撞体坐标对齐\n // opentype 坐标 → SVG 坐标: svgX = (opentypeX + offsetX) * SCALE, svgY = (height - centerY + opentypeY) * SCALE\n const textPathsSvg = result.textPaths\n .map(\n ({ pathData }) =>\n ` `\n )\n .join('\\n')\n\n const textGroupSvg = `\n \n ${textPathsSvg}\n `\n\n return `\n \n ${contributionsSvg}\n ${textGroupSvg}\n `\n}\n","import { mkdirSync, writeFileSync } from 'node:fs'\nimport { dirname } from 'node:path'\nimport * as core from '@actions/core'\nimport { gensvg } from './gensvg.js'\n\n/** 读取可选数字输入,未填写时返回 undefined,由库使用默认值 */\nfunction getOptionalNumber(name: string): number | undefined {\n const raw = core.getInput(name)\n if (!raw) return undefined\n const value = Number(raw)\n if (Number.isNaN(value)) {\n throw new Error(`Input \"${name}\" must be a number, got \"${raw}\"`)\n }\n return value\n}\n\n/** 读取压缩算法输入,未填写时返回 undefined;非法值直接报错 */\nfunction getAlgorithm(name: string): 'Greedy' | 'DP' | 'RDP' | undefined {\n const raw = core.getInput(name)\n if (!raw) return undefined\n if (raw !== 'Greedy' && raw !== 'DP' && raw !== 'RDP') {\n throw new Error(`Input \"${name}\" must be Greedy, DP or RDP, got \"${raw}\"`)\n }\n return raw\n}\n\n/**\n * GitHub Action 入口:生成 GitHub 贡献图重力跌落动画 SVG。\n *\n * 输入参数:\n * - username: GitHub 用户名(必填)\n * - text: 显示的文字,默认为 username\n * - output-path: SVG 输出路径,默认为 gravity.svg\n * - font-size: 文字大小,默认为 80\n * - compression-tolerance: 轨迹压缩容差(SVG 像素),默认为 0.5\n * - compression-algorithm: 轨迹压缩算法(Greedy / DP / RDP),默认为 Greedy\n * - width / height / size / interval / font-path: 高级自定义项,改动影响渲染效果\n *\n * 输出:\n * - svg-path: 生成的 SVG 文件路径\n */\nexport async function run(): Promise {\n try {\n const username: string = core.getInput('username', { required: true })\n const text: string = core.getInput('text') || username\n const outputPath: string = core.getInput('output-path') || 'gravity.svg'\n const fontSize: number = parseInt(core.getInput('font-size') || '80', 10)\n const shape = (core.getInput('shape') as 'square' | 'circle') || 'circle'\n const textTop: number = parseInt(core.getInput('text-top') || '50', 10)\n const backgroundColor: string =\n core.getInput('background-color') || 'transparent'\n const textColor: string = core.getInput('text-color') || 'black'\n const compressionTolerance = getOptionalNumber('compression-tolerance')\n const compressionAlgorithm = getAlgorithm('compression-algorithm')\n const width = getOptionalNumber('width')\n const height = getOptionalNumber('height')\n const size = getOptionalNumber('size')\n const interval = getOptionalNumber('interval')\n const fontPath = core.getInput('font-path')\n\n core.info(`Generating gravity SVG for user: ${username}`)\n core.info(\n `Text: \"${text}\", Font size: ${fontSize}, Shape: ${shape}, Text top: ${textTop}, Background: ${backgroundColor}, Text color: ${textColor}`\n )\n\n const svg = await gensvg({\n username,\n text,\n fontSize,\n shape,\n textTop,\n backgroundColor,\n textColor,\n ...(compressionTolerance !== undefined ? { compressionTolerance } : {}),\n ...(compressionAlgorithm !== undefined ? { compressionAlgorithm } : {}),\n ...(width !== undefined ? { width } : {}),\n ...(height !== undefined ? { height } : {}),\n ...(size !== undefined ? { size } : {}),\n ...(interval !== undefined ? { interval } : {}),\n ...(fontPath ? { font: fontPath } : {})\n })\n\n mkdirSync(dirname(outputPath), { recursive: true })\n writeFileSync(outputPath, svg, 'utf-8')\n core.info(`SVG written to: ${outputPath}`)\n\n core.setOutput('svg-path', outputPath)\n } catch (error) {\n if (error instanceof Error) core.setFailed(error.message)\n }\n}\n","/**\n * The entrypoint for the action. This file simply imports and runs the action's\n * main logic.\n */\nimport { run } from './main.js'\n\n/* istanbul ignore next */\nrun()\n"],"names":["http","require$$2","https","require$$3","require$$4","tunnel","require$$0","symbols","constants","require$$1","require$$5","require$$6","require$$9","require$$10","require$$11","util","request","global","exports","require$$7","require$$8","require$$12","apiRequestModule","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","this","os","equals","Event","opentype.parse","init","World","ColliderDesc","RigidBodyDesc","core.getInput","core.info","core.setOutput","core.setFailed"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,C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C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,C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CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,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E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAA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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC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AI;AACT,EAAE,CAAC,EAAE,IAAI;AACT,EAAE,CAAC,EAAE,IAAI;AACT,EAAE,CAAC,EAAE,IAAI;AACT,EAAE,CAAC,EAAE,IAAI;AACT,EAAE,CAAC,EAAE,IAAI;AACT,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,OAAO;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,OAAO;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,YAAY;AACnB,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,GAAG,EAAE;AACP,CAAC;AACD,IAAI,mBAAmB,GAAG;AAC1B,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,CAAC,EAAE,CAAC;AACN;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,EAAE;AACR;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,EAAE,EAAE,CAAC;AACP;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AACR;AACA,EAAE,GAAG,EAAE,CAAC;AAC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Z,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AA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AAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC1B;AACA,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC1B;AACA,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;AAC3B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;AAC7B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAC5B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9B;AACA,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAA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MAAM,EAAE,CAAC,CAAC;AAC3B;AACA,EAAE,MAAM;AACR;AACA,EAAE,QAAQ;AACV;AACA,EAAE,MAAM;AACR;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA,EAAE,IAAI;AACN;AACA,EAAE,MAAM;AACR;AACA,EAAE,IAAI;AACN;AACA,EAAE,IAAI;AACN;AACA,EAAE,GAAG;AACL;AACA;AACA,EAAE,GAAG;AACL;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,QAAQ;AACV;AACA,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACxB;AACA,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACxB;AACA,EAAE,OAAO;AACT;AACA,EAAE,MAAM;AACR;AACA;AACA,EAAE,IAAI;AACN;AACA,EAAE,GAAG;AACL;AACA,EAAE,GAAG;AACL;AACA,EAAE,QAAQ;AACV;AACA,EAAE,QAAQ;AACV;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,MAAM;AACR;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvB;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC;AACA,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACtC,CAAC;AACD,IAAI,iBAAiB,GAAG,OAAO;;AAE/B;AACA,SAAS,KAAK,CAAC,IAAI,EAAE;AACrB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE;AACjB,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI;AACzB;AACA,SAAS,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE;AAC1D,EAAE,IAAI,CAAC,WAAW,GAAG,WAAW;AAChC,EAAE,IAAI,CAAC,UAAU,GAAG,UAAU;AAC9B,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS;AAC5B;AACA,SAAS,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE;AAC3D,EAAE,IAAI,CAAC,WAAW,GAAG,WAAW;AAChC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI;AACvB,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE;AAClB,EAAE,IAAI,CAAC,UAAU,GAAG,UAAU;AAC9B,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC1B;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE;AAC9C,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO;AACxB,EAAE,IAAI,CAAC,KAAK,GAAG,YAAY;AAC3B,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC9B,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;AACtC,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;AACjD,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;AAClD;AACA,SAASC,OAAK,CAAC,OAAO,EAAE;AACxB,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO;AACxB,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE;AACvB;AACA,SAAS,oBAAoB,CAAC,MAAM,EAAE;AACtC,EAAE,MAAM,UAAU,GAAG;AACrB,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG;AACH,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;AACjC,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE;AAChD,MAAM,KAAK,EAAE,IAAIA,OAAK,CAAC,OAAO;AAC9B,KAAK,CAAC;AACN,EAAE;AACF,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;AACnC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;AACnC,MAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AACvC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7C,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,qBAAqB,GAAG;AAChC,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI;AACJ,GAAG;AACH,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzD,IAAI,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC;AAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS;AAClC,MAAM,IAAI,CAAC;AACX,KAAK;AACL,EAAE;AACF;AACA,SAAS,SAAS,CAAC,MAAM,EAAE;AAC3B,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE;AAClB,EAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE;AAC9B,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE;AAC3B,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE;AAClB,EAAE,IAAI,CAAC,mBAAmB,GAAG,EAAE;AAC/B,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AACzC;AACA,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,GAAG,EAAE,KAAK,EAAE;AAChD,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK;AACzB,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACpD,EAAE,OAAO,IAAI,CAAC,WAAW;AACzB,CAAC;AACD,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,OAAO,EAAE;AAC7C,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;AACpC,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,KAAK,EAAE;AACnD,EAAE,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACjD,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,IAAI,EAAE;AAChD,EAAE,MAAM,MAAM,GAAG,IAAI;AACrB,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACxF,EAAE,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;AAC7G,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AAClC,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,kEAAkE;AAC9E,MAAM,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;AACxC,KAAK;AACL,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAChF,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACxD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,KAAK,CAAC;AACrE,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE;AAC1E,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;AAC7C,MAAM,IAAI,CAAC,MAAM;AACjB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM;AACxC,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5E,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC7B,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE,IAAI,EAAE,6CAA6C,EAAE;AAClE,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;AAClE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,KAAK,EAAE;AAC3E,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;AACxD,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9D,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AAC/B,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE,IAAI,EAAE,uCAAuC,EAAE;AAC5D,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;AACvE,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACvD,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;AACvD,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACzE,EAAE,OAAO,MAAM;AACf,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,KAAK,EAAE,MAAM,EAAE;AAC1D,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACjD,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7D,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE,IAAI,EAAE,mCAAmC,EAAE;AACxD,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAClE,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK;AAChC,IAAI,CAAC,KAAK,KAAK,KAAK,YAAY;AAChC,GAAG;AACH,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;AAC5B,MAAM,IAAI,CAAC,MAAM;AACjB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;AAC9B,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE,IAAI,EAAE,gCAAgC,EAAE;AACrD,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;AACjF,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,KAAK,EAAE,aAAa,EAAE;AAChE,IAAI,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;AAClD,IAAI,MAAM,gBAAgB,GAAG,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,IAAI;AAClG,IAAI,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;AACjD,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC;AAC9D,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;AAC/C,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3C,CAAC;AACDA,OAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,YAAY,EAAE;AACnD,EAAE,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AAC1C,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAClD,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC9D,EAAE;AACF,CAAC;AACDA,OAAK,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,MAAM,EAAE;AAC/C,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACpC,CAAC;AACD,aAAa,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,KAAK,EAAE;AAC1D,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK;AACpB,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACpC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AAC/C,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAChD,CAAC;AACD,aAAa,CAAC,SAAS,CAAC,GAAG,GAAG,SAAS,MAAM,EAAE;AAC/C,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,MAAM,KAAK,CAAC;AACrB,MAAM,OAAO,IAAI,CAAC,OAAO;AACzB,IAAI,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM;AACjE,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5C,IAAI,MAAM,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM;AACvD,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AACvC,IAAI;AACJ,MAAM,OAAO,IAAI;AACjB;AACA,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,KAAK,EAAE;AAClD,EAAE,IAAI,KAAK,YAAY,YAAY,EAAE;AACrC,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACzE,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,WAAW;AACzC,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACxD,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,WAAW,EAAE;AACvD,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACpD,EAAE,OAAO,OAAO,GAAG,OAAO,GAAG,IAAI;AACjC,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,SAAS,EAAE,YAAY,EAAE;AAC3D,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AACtC,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;AACxC,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,IAAI;AACf,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,SAAS,EAAE,IAAI,EAAE;AACzD,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AACtC,EAAE,IAAI,KAAK,YAAYA,OAAK,EAAE;AAC9B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;AACxC,IAAI;AACJ,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,sBAAsB,GAAG,SAAS,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE;AACvG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO;AAC3C,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,wBAAwB;AAC/D,GAAG;AACH,EAAE,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,OAAO;AACtD,IAAI,IAAI,EAAE;AACV,GAAG;AACH,EAAE,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,OAAO;AACpD,IAAI,IAAI,EAAE;AACV,GAAG;AACH,EAAE,MAAM,eAAe,GAAG,IAAI,cAAc;AAC5C,IAAI,WAAW;AACf,IAAI,iBAAiB;AACrB,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,eAAe;AACxD,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;AAC5C,EAAE,OAAO,eAAe;AACxB,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,KAAK,EAAE;AACrD,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS;AACrD,EAAE,OAAO,EAAE,CAAC,MAAM;AAClB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ;AAChD,GAAG;AACH,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,WAAW,EAAE;AAC7D,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAC9C,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,OAAO,OAAO,CAAC,MAAM;AACzB,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC,oBAAoB,CAAC,EAAE;AAC1E,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,mBAAmB,GAAG,WAAW;AACrD,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB;AACpD,EAAE,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE;AAChD,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAAE;AAC/E,MAAM,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC;AACrD,MAAM,OAAO,CAAC,MAAM,GAAG,EAAE;AACzB,IAAI;AACJ,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,oBAAoB,GAAG,WAAW;AACtD,EAAE,IAAI,CAAC,mBAAmB,EAAE;AAC5B,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC;AACtD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;AACrD,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;AACvC,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAClE,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,MAAM,EAAE,WAAW,EAAE;AACjE,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,UAAU;AACtE,EAAE,IAAI,KAAK,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;AAC/D,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM;AACpD,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACnD,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACpB,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,IAAI;AAC/C,EAAE,OAAO,KAAK;AACd,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,aAAa,EAAE;AAC9D,EAAE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK;AACnC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxD,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAClD,IAAI,IAAI,WAAW,GAAG,cAAc,CAAC,WAAW;AAChD,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS;AAC1D,IAAI,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;AAChE,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC;AAC5D,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,SAAS;AACxD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACzD,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AAC/D,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,UAAU,GAAG,CAAC;AACrD,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;AAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACvD,IAAI;AACJ,EAAE;AACF,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,IAAI,EAAE;AAC9C,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE;AAClB,EAAE,IAAI,CAAC,mBAAmB,EAAE;AAC5B,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AACzB,IAAI,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;AACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC;AAC1C,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;AACvC,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC;AAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACrD,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,EAAE,OAAO,IAAI,CAAC,MAAM;AACpB,CAAC;AACD,IAAI,iBAAiB,GAAG,SAAS;;AAEjC;AACA,SAAS,YAAY,CAAC,CAAC,EAAE;AACzB,EAAE,OAAO,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,EAAE,OAAO,kUAAkU,CAAC,IAAI,CAAC,IAAI,CAAC;AACtV;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,EAAE,OAAO,uHAAuH,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3I;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC;AACA,SAAS,WAAW,CAAC,CAAC,EAAE;AACxB,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB;AACA,SAAS,YAAY,CAAC,CAAC,EAAE;AACzB,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrB;;AAEA;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE;AACpB;AACA,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACpC,EAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE;AACrB,EAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG;AACvB,EAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;AACzC;AACA,SAAS,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE;AAC9C,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC5B,EAAE,QAAQ,QAAQ,CAAC,MAAM;AACzB,IAAI,KAAK,CAAC;AACV,MAAM,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;AAChD,IAAI,KAAK,CAAC,EAAE;AACZ,MAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM;AAClC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC/B,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC,GAAG,EAAE;AAClE,UAAU,IAAI,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC,KAAK;AAC/C,UAAU,OAAO,KAAK,CAAC,KAAK,GAAG,MAAM;AACrC,QAAQ;AACR,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI;AACJ,MAAM,OAAO,EAAE;AACf;AACA,EAAE,OAAO,EAAE;AACX;AACA,SAAS,yBAAyB,CAAC,UAAU,EAAE,QAAQ,EAAE;AACzD,EAAE,IAAI,eAAe,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;AACrE,EAAE,IAAI,eAAe,KAAK,EAAE,EAAE,OAAO,IAAI;AACzC,EAAE,OAAO,UAAU,GAAG,QAAQ,CAAC,YAAY;AAC3C;AACA,SAAS,yBAAyB,CAAC,UAAU,EAAE,QAAQ,EAAE;AACzD,EAAE,IAAI,eAAe,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;AACrE,EAAE,IAAI,eAAe,KAAK,EAAE,EAAE,OAAO,IAAI;AACzC,EAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;AAC7C;AACA,SAAS,kBAAkB,CAAC,YAAY,EAAE,aAAa,EAAE;AACzD,EAAE,IAAI,UAAU,GAAG,EAAE;AACrB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,IAAI,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO;AAC1C,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU;AACvE,IAAI,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC5D,IAAI,IAAI,WAAW,KAAK,EAAE,EAAE;AAC5B,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAClC,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE;AAC1D,EAAE,OAAO,UAAU;AACnB;AACA,SAAS,2BAA2B,CAAC,aAAa,EAAE,QAAQ,EAAE;AAC9D,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM;AAC5H,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,EAAE,OAAO,EAAE;AAC5D,EAAE,IAAI,YAAY,GAAG,kBAAkB;AACvC,IAAI,QAAQ,CAAC,aAAa;AAC1B,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,YAAY,KAAK,EAAE,EAAE,OAAO,EAAE;AACpC,EAAE,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;AAC3D,EAAE,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE;AACnF,EAAE,IAAI,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC;AACvE,EAAE,OAAO,gBAAgB,CAAC,MAAM,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;AACpF,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC5B,EAAE;AACF,EAAE,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAChE,EAAE,IAAI,gBAAgB,GAAG,kBAAkB;AAC3C,IAAI,QAAQ,CAAC,iBAAiB;AAC9B,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;AAC3D,EAAE,gBAAgB,CAAC,OAAO,EAAE;AAC5B,EAAE,OAAO,gBAAgB,CAAC,MAAM,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;AACpF,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC5B,EAAE;AACF,EAAE,IAAI,gBAAgB,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC5E,EAAE,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAChE,EAAE,IAAI,gBAAgB,GAAG,kBAAkB;AAC3C,IAAI,QAAQ,CAAC,iBAAiB;AAC9B,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,aAAa,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,CAAC,iBAAiB,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,CAAC,iBAAiB,CAAC,MAAM;AACnN,EAAE,IAAI,aAAa,GAAG,EAAE;AACxB,EAAE,IAAI,iBAAiB,EAAE;AACzB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe;AAC1D,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;AAChE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7D,QAAQ,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAChD,QAAQ,IAAI,MAAM;AAClB,QAAQ,IAAI,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC;AAC/E,QAAQ,IAAI,gBAAgB,KAAK,IAAI,EAAE;AACvC,UAAU,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;AACrF,UAAU,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;AACvE,UAAU,SAAS,GAAG,SAAS,CAAC,SAAS;AACzC,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC;AAC/D,QAAQ;AACR,QAAQ,IAAI,gBAAgB,KAAK,IAAI,EAAE;AACvC,UAAU,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;AAC1E,UAAU,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC;AACjD,UAAU,IAAI,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AAC5D,QAAQ,CAAC,MAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE;AAC9C,UAAU,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;AAC1E,UAAU,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC;AACjD,UAAU,IAAI,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AAC5D,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,IAAI,KAAK,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;AAC5G,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,aAAa;AACtB;AACA,SAAS,2BAA2B,CAAC,aAAa,EAAE,QAAQ,EAAE;AAC9D,EAAE,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO;AACxC,EAAE,IAAI,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;AACjE,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,OAAO,IAAI;AACrC,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC;AACtD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;AAC7B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzD,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9C,MAAM,IAAI,aAAa,KAAK,SAAS,EAAE;AACvC,MAAM,IAAI,CAAC,KAAK,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,QAAQ;AAC/D,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,0BAA0B,CAAC,aAAa,EAAE,QAAQ,EAAE;AAC7D,EAAE,IAAI,OAAO,GAAG,aAAa,CAAC,OAAO;AACrC,EAAE,IAAI,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC;AAC9D,EAAE,IAAI,WAAW,KAAK,EAAE;AACxB,IAAI,OAAO,IAAI;AACf,EAAE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE;AAC3C,IAAI,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;AAChC,MAAM,IAAI,OAAO,GAAG,IAAI;AACxB,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AAC1D,UAAU,OAAO,GAAG,KAAK;AACzB,UAAU;AACV,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,IAAI,aAAa,GAAG,EAAE;AAC9B,QAAQ,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,UAAU,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3C,QAAQ;AACR,QAAQ,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,YAAY,KAAK;AACzD,UAAU,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,YAAY;AACjE,UAAU,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;AACtE,UAAU,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE;AAC7C,YAAY,IAAI,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC;AAChG,YAAY,IAAI,YAAY,KAAK,EAAE,EAAE;AACrC,cAAc,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,YAAY;AACpE,YAAY;AACZ,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,UAAU,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AACpD,UAAU,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;AAC7C,QAAQ;AACR,QAAQ,OAAO,aAAa;AAC5B,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,0BAA0B,CAAC,aAAa,EAAE,QAAQ,EAAE;AAC7D,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;AAChE,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtD,IAAI,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU;AACvE,IAAI,IAAI,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;AAClE,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,aAAa,GAAG,EAAE;AACxB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1D,IAAI,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAClD,IAAI,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe;AACxD,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;AAC9D,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3D,MAAM,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9C,MAAM,IAAI,MAAM;AAChB,MAAM,IAAI,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC;AAC7E,MAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE;AACrC,QAAQ,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;AACnF,QAAQ,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;AACrE,QAAQ,SAAS,GAAG,SAAS,CAAC,SAAS;AACvC,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC;AAC7D,MAAM;AACN,MAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE;AACrC,QAAQ,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;AACxE,QAAQ,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/C,QAAQ,IAAI,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1D,MAAM,CAAC,MAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE;AAC5C,QAAQ,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC;AACxE,QAAQ,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/C,QAAQ,IAAI,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1D,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,aAAa;AACtB;AACA,SAAS,gCAAgC,CAAC,UAAU,EAAE,QAAQ,EAAE;AAChE,EAAE,IAAI,eAAe,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;AACrE,EAAE,IAAI,eAAe,KAAK,EAAE,EAAE,OAAO,IAAI;AACzC,EAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;AAC5C;AACA,YAAY,CAAC,SAAS,CAAC,+BAA+B,GAAG,WAAW;AACpE,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;AAC/C,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;AAC7B,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc;AACjF,EAAE;AACF,EAAE,OAAO,EAAE;AACX,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,wBAAwB,GAAG,SAAS,SAAS,EAAE;AACtE,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;AACjC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE;AAC7B,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,+BAA+B,EAAE;AAC/D,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;AAC/C,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;AAC7B,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;AAClE,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc;AACxD,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,cAAc,GAAG,MAAM,CAAC,cAAc;AAChD,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxD,UAAU,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC;AACjD,UAAU,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE;AAC/C,YAAY,IAAI,OAAO,GAAG,aAAa,CAAC,OAAO;AAC/C,YAAY,OAAO,OAAO,CAAC,cAAc;AACzC,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,+BAA+B,EAAE;AAC/C,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,iBAAiB,GAAG,SAAS,QAAQ,EAAE,SAAS,EAAE;AACzE,EAAE,IAAI,IAAI,GAAG,EAAE;AACf,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5C,IAAI,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;AAC/B,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;AACvC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO;AACvB,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI;AACtC,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,iBAAiB,GAAG,SAAS,SAAS,EAAE;AAC/D,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AACzC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,QAAQ;AACrF,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC;AAClE,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,IAAI;AACnC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;AACpC,EAAE,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ;AACrC,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC7C,EAAE,OAAO,QAAQ;AACjB,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,mBAAmB,GAAG,SAAS,WAAW,EAAE,QAAQ,EAAE;AAC7E,EAAE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;AACtD,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE;AACrD,EAAE,OAAO,UAAU,GAAG,WAAW;AACjC,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,WAAW,EAAE,QAAQ,EAAE;AACzE,EAAE,IAAI,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC;AACxE,EAAE,QAAQ,gBAAgB;AAC1B,IAAI,KAAK,IAAI;AACb,MAAM,OAAO,CAAC,UAAU,KAAK,yBAAyB,CAAC,KAAK;AAC5D,QAAQ,IAAI;AACZ,QAAQ,CAAC,UAAU,EAAE,QAAQ;AAC7B,OAAO;AACP,IAAI,KAAK,IAAI;AACb,MAAM,OAAO,CAAC,UAAU,KAAK,yBAAyB,CAAC,KAAK;AAC5D,QAAQ,IAAI;AACZ,QAAQ,CAAC,UAAU,EAAE,QAAQ;AAC7B,OAAO;AACP,IAAI,KAAK,IAAI;AACb,MAAM,OAAO,CAAC,aAAa,KAAK,2BAA2B,CAAC,KAAK;AACjE,QAAQ,IAAI;AACZ,QAAQ,CAAC,aAAa,EAAE,QAAQ;AAChC,OAAO;AACP,IAAI,KAAK,IAAI;AACb,MAAM,OAAO,CAAC,aAAa,KAAK,2BAA2B,CAAC,KAAK;AACjE,QAAQ,IAAI;AACZ,QAAQ,CAAC,aAAa,EAAE,QAAQ;AAChC,OAAO;AACP,IAAI,KAAK,IAAI;AACb,MAAM,OAAO,CAAC,UAAU,KAAK,gCAAgC,CAAC,KAAK;AACnE,QAAQ,IAAI;AACZ,QAAQ,CAAC,UAAU,EAAE,QAAQ;AAC7B,OAAO;AACP,IAAI,KAAK,IAAI;AACb,MAAM,OAAO,CAAC,aAAa,KAAK,0BAA0B,CAAC,KAAK;AAChE,QAAQ,IAAI;AACZ,QAAQ,CAAC,aAAa,EAAE,QAAQ;AAChC,OAAO;AACP,IAAI,KAAK,IAAI;AACb,MAAM,OAAO,CAAC,aAAa,KAAK,0BAA0B,CAAC,KAAK;AAChE,QAAQ,IAAI;AACZ,QAAQ,CAAC,aAAa,EAAE,QAAQ;AAChC,OAAO;AACP,IAAI;AACJ,MAAM,MAAM,IAAI,KAAK;AACrB,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAAC,qBAAqB;AACjJ,OAAO;AACP;AACA,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,KAAK,EAAE;AACvD,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC,aAAa;AACzC,EAAE,IAAI,YAAY,GAAG,aAAa,CAAC,KAAK;AACxC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,MAAM,EAAE,KAAK,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK;AAChC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,2BAA2B,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AACjL,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACjD,EAAE,MAAM,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;AACxD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;AAClC,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AAC1D,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,MAAM,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;AACjC,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC;AACrE,MAAM,IAAI,MAAM;AAChB,MAAM,IAAI,SAAS,KAAK,IAAI,EAAE;AAC9B,QAAQ,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC;AAC1E,QAAQ,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC;AACnE,QAAQ,QAAQ,GAAG,QAAQ,CAAC,SAAS;AACrC,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC5D,MAAM;AACN,MAAM,IAAI,YAAY;AACtB,MAAM,QAAQ,SAAS;AACvB,QAAQ,KAAK,IAAI;AACjB,UAAU,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;AACtD,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC;AACzE,cAAc,EAAE,EAAE,EAAE;AACpB,cAAc,GAAG,EAAE,KAAK,CAAC,GAAG;AAC5B,cAAc;AACd,aAAa,CAAC,CAAC;AACf,UAAU;AACV,UAAU;AACV,QAAQ,KAAK,IAAI;AACjB,UAAU,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;AACtD,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC;AACzE,cAAc,EAAE,EAAE,EAAE;AACpB,cAAc,GAAG,EAAE,KAAK,CAAC,GAAG;AAC5B,cAAc;AACd,aAAa,CAAC,CAAC;AACf,UAAU;AACV,UAAU;AACV,QAAQ,KAAK,IAAI;AACjB,UAAU,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9C,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE;AAClE,YAAY,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC;AACzE,cAAc,EAAE,EAAE,EAAE;AACpB,cAAc,GAAG,EAAE,KAAK,CAAC,GAAG;AAC5B,cAAc;AACd,aAAa,CAAC,CAAC;AACf,UAAU;AACV,UAAU;AACV,QAAQ,KAAK,IAAI;AACjB,UAAU,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9C,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC;AACzE,cAAc,EAAE,EAAE,EAAE;AACpB,cAAc,GAAG,EAAE,KAAK,CAAC,GAAG;AAC5B,cAAc;AACd,aAAa,CAAC,CAAC;AACf,UAAU;AACV,UAAU;AACV,QAAQ,KAAK,IAAI;AACjB,UAAU,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;AACtD,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC;AACzE,cAAc,EAAE,EAAE,EAAE;AACpB,cAAc,GAAG,EAAE,KAAK,CAAC,GAAG;AAC5B,cAAc;AACd,aAAa,CAAC,CAAC;AACf,UAAU;AACV,UAAU;AACV,QAAQ,KAAK,IAAI;AACjB,QAAQ,KAAK,IAAI;AACjB,UAAU,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9C,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE;AAClE,YAAY,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC;AACzE,cAAc,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACrC,cAAc,GAAG,EAAE,KAAK,CAAC,GAAG;AAC5B,cAAc;AACd,aAAa,CAAC,CAAC;AACf,UAAU;AACV,UAAU;AACV;AACA,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC;AACpE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAC/D,MAAM,YAAY,GAAG,IAAI;AACzB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,aAAa,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI;AACpD,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,KAAK,EAAE;AAClD,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK;AACjC,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;AACtC,EAAE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;AAC3F,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,eAAe;AACxC,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;AACnG,EAAE,OAAO,eAAe,IAAI,gBAAgB;AAC5C,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,kBAAkB,GAAG,SAAS,WAAW,EAAE;AAClE,EAAE,OAAO,WAAW,CAAC,SAAS,IAAI,IAAI;AACtC,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,KAAK,EAAE;AAC1D,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;AAC/C,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI;AAC/B,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,iBAAiB,GAAG,SAAS,OAAO,EAAE;AAC7D,EAAE,OAAO,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AACD,YAAY,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,KAAK,EAAE;AAC/D,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE;AACtD,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AAC1E,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;AACxC,EAAE;AACF,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AACpD,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;AAC/E,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI;AAClD,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AACpD,CAAC;AACD,IAAI,oBAAoB,GAAG,YAAY;;AAEvC;AACA,SAAS,oBAAoB,CAAC,aAAa,EAAE;AAC7C,EAAE,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO;AACpC,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACxC,EAAE;AACF;AACA,IAAI,QAAQ,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC;AAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,IAAI;AAChD;AACA;AACA,SAAS,kBAAkB,CAAC,aAAa,EAAE;AAC3C,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,EAAE;AACF;AACA,IAAI,QAAQ,KAAK,IAAI;AACrB,IAAI,CAAC,YAAY,CAAC,QAAQ;AAC1B;AACA;AACA,IAAI,kBAAkB,GAAG;AACzB,EAAE,UAAU,EAAE,oBAAoB;AAClC,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA,SAAS,wBAAwB,CAAC,aAAa,EAAE;AACjD,EAAE,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO;AACpC,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACxC,EAAE;AACF;AACA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ;AAChF;AACA;AACA,SAAS,sBAAsB,CAAC,aAAa,EAAE;AAC/C,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,QAAQ,KAAK,IAAI;AAC1B,MAAM,OAAO,IAAI;AACjB,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG;AACvE,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC;AACrD,MAAM,IAAI,CAAC,gBAAgB,EAAE,OAAO,IAAI;AACxC,MAAM,IAAI,gBAAgB,EAAE;AAC5B,QAAQ,IAAI,eAAe,GAAG,KAAK;AACnC,QAAQ,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI;AACtD,UAAU,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC;AAC1D,SAAS;AACT,QAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,IAAI;AACzC,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI;AACJ,MAAM,OAAO,KAAK;AAClB;AACA;AACA,IAAI,sBAAsB,GAAG;AAC7B,EAAE,UAAU,EAAE,wBAAwB;AACtC,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA,SAAS,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAC3D,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC;AACzD;AACA,SAAS,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAC3D,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC;AACzD;AACA,SAAS,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAC7D,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AACxC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACnC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE;AACxB,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM;AACb,QAAQ,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;AACvC,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;AACrC,EAAE;AACF;AACA,SAAS,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAC7D,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC1D,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM;AAC1D,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACvC,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;AACnC,EAAE;AACF;AACA,IAAI,aAAa,GAAG;AACpB,EAAE,EAAE,EAAE,0BAA0B;AAChC,EAAE,EAAE,EAAE,0BAA0B;AAChC,EAAE,EAAE,EAAE,4BAA4B;AAClC,EAAE,EAAE,EAAE,4BAA4B;AAClC,EAAE,EAAE,EAAE,4BAA4B;AAClC,EAAE,EAAE,EAAE;AACN,CAAC;AACD,SAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAClD,EAAE,IAAI,MAAM,YAAY,kBAAkB,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;AACxE,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACnD,EAAE;AACF;AACA,IAAI,yBAAyB,GAAG,iBAAiB;;AAEjD;AACA,SAAS,eAAe,CAAC,iBAAiB,EAAE;AAC5C,EAAE,IAAI,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;AACxD,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAClD,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;AACjC,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AACnD,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AACnD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI;AAC3C,IAAI,IAAI,QAAQ,EAAE,OAAO,KAAK;AAC9B,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,eAAe,CAAC,iBAAiB,EAAE;AAC5C,EAAE,IAAI,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK;AACnE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/D,IAAI,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI;AAC9B,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,uBAAuB,CAAC,KAAK,EAAE;AACxC,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACxC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACrD,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,EAAE,IAAI,aAAa,GAAG,IAAI,aAAa;AACvC,IAAI,MAAM,CAAC,GAAG;AACd,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,YAAY;AAC5C,KAAK;AACL,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,iBAAiB,GAAG,IAAI,aAAa;AAC7C,IAAI,MAAM,CAAC,GAAG;AACd,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;AACvB,KAAK;AACL,IAAI;AACJ,GAAG;AACH,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC1C,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;AACpC,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;AACxC,IAAI,IAAI,OAAO,GAAG,CAAC;AACnB,IAAI,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,IAAI,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,IAAI,IAAI,GAAG;AACX,IAAI,QAAQ,OAAO;AACnB,MAAM,KAAK,CAAC;AACZ,QAAQ,GAAG,GAAG,MAAM;AACpB,QAAQ;AACR,MAAM,KAAK,CAAC;AACZ,QAAQ,GAAG,GAAG,MAAM;AACpB,QAAQ;AACR,MAAM,KAAK,CAAC;AACZ,QAAQ,GAAG,GAAG,MAAM;AACpB,QAAQ;AACR;AACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;AAClC,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACjD,MAAM,GAAG;AACT,MAAM,MAAM;AACZ,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,YAAY,KAAK,EAAE;AACxC,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AACzC,MAAM;AACN,IAAI;AACJ,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACrC,MAAM,IAAI,MAAM,YAAY,kBAAkB,EAAE;AAChD,QAAQ,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACpD,QAAQ,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY;AACtD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA,IAAI,+BAA+B,GAAG,uBAAuB;;AAE7D;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE;AACzC,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChE,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAW,CAAC,CAAC;AAC/C;AACA,SAAS,uBAAuB,CAAC,KAAK,EAAE;AACxC,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACnD,EAAE,IAAI,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAC9C,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrE,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;AACxC,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACjD,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM;AACZ,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;AAC9B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACvC,QAAQ,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAC9C,IAAI;AACJ,EAAE;AACF;AACA,IAAI,+BAA+B,GAAG,uBAAuB;;AAE7D;AACA,SAAS,yBAAyB,CAAC,aAAa,EAAE;AAClD,EAAE,OAAO,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACtE;AACA,SAAS,uBAAuB,CAAC,aAAa,EAAE;AAChD,EAAE,OAAO,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACjE;AACA,IAAI,uBAAuB,GAAG;AAC9B,EAAE,UAAU,EAAE,yBAAyB;AACvC,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC1C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChE,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAW,CAAC,CAAC;AAC/C;AACA,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACzC,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,MAAM,GAAG,GAAG,MAAM;AACpB,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACnD,EAAE,IAAI,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC/C,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;AAChE,MAAM;AACN,IAAI;AACJ,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;AACxC,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACjD,MAAM,GAAG;AACT,MAAM,MAAM;AACZ,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;AAC9B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACvC,QAAQ,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC/C,IAAI;AACJ,EAAE;AACF;AACA,IAAI,gCAAgC,GAAG,wBAAwB;;AAE/D;AACA,SAAS,mBAAmB,CAAC,aAAa,EAAE;AAC5C,EAAE,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO;AACpC,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACxC,EAAE;AACF;AACA,IAAI,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;AAC1C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,IAAI;AAC9C;AACA;AACA,SAAS,iBAAiB,CAAC,aAAa,EAAE;AAC1C,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,EAAE;AACF;AACA,IAAI,QAAQ,KAAK,IAAI;AACrB,IAAI,CAAC,WAAW,CAAC,QAAQ;AACzB;AACA;AACA,IAAI,iBAAiB,GAAG;AACxB,EAAE,UAAU,EAAE,mBAAmB;AACjC,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC1C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChE,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAW,CAAC,CAAC;AAC/C;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACnD,EAAE,IAAI,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC/C,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrE,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;AACxC,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACjD,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM;AACZ,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;AAC9B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACvC,QAAQ,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC/C,IAAI;AACJ,EAAE;AACF;AACA,IAAI,sBAAsB,GAAG,aAAa;;AAE1C;AACA,SAAS,kBAAkB,CAAC,aAAa,EAAE;AAC3C,EAAE,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO;AACpC,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACxC,EAAE;AACF;AACA,IAAI,QAAQ,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;AACzC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI;AAC5C;AACA;AACA,SAAS,gBAAgB,CAAC,aAAa,EAAE;AACzC,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,EAAE;AACF;AACA,IAAI,QAAQ,KAAK,IAAI;AACrB,IAAI,CAAC,UAAU,CAAC,QAAQ;AACxB;AACA;AACA,IAAI,gBAAgB,GAAG;AACvB,EAAE,UAAU,EAAE,kBAAkB;AAChC,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC1C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChE,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;AAC/C;AACA,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACnD,EAAE,IAAI,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;AAClD,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrE,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;AACxC,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACjD,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM;AACZ,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;AAC9B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACvC,QAAQ,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;AACtD,IAAI;AACJ,EAAE;AACF;AACA,IAAI,4BAA4B,GAAG,oBAAoB;;AAEvD;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC1C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChE,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;AAC/C;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACnD,EAAE,IAAI,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;AAClD,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrE,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;AACxC,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACjD,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM;AACZ,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;AAC9B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACvC,QAAQ,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;AACtD,IAAI;AACJ,EAAE;AACF;AACA,IAAI,qBAAqB,GAAG,aAAa;;AAEzC;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC1C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChE,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;AAC/C;AACA,SAAS,qBAAqB,CAAC,KAAK,EAAE;AACtC,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACnD,EAAE,IAAI,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;AAClD,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrE,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;AACxC,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACjD,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM;AACZ,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;AAC9B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;AACvC,QAAQ,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACxD,MAAM;AACN,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;AACtD,IAAI;AACJ,EAAE;AACF;AACA,IAAI,6BAA6B,GAAG,qBAAqB;;AAEzD;AACA,SAAS,2BAA2B,CAAC,IAAI,EAAE;AAC3C,EAAE,IAAI,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK;AACjC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACtC,EAAE;AACF;AACA,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI;AACxC,IAAI,QAAQ,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK;AAC1C,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI;AACtC;AACA;AACA,SAAS,kCAAkC,CAAC,aAAa,EAAE;AAC3D,EAAE,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO;AACpC,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,EAAE,OAAO,QAAQ,KAAK,IAAI,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC,QAAQ,CAAC;AACxG;AACA,SAAS,gCAAgC,CAAC,aAAa,EAAE;AACzD,EAAE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,EAAE,OAAO,QAAQ,KAAK,IAAI,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC;AACpE;AACA,IAAI,8BAA8B,GAAG;AACrC,EAAE,UAAU,EAAE,kCAAkC;AAChD,EAAE,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACzC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;AAC9B,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AACrD,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;AACrC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;AAC5D,IAAI,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrD,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;AACxE,IAAI,IAAI,cAAc,KAAK,MAAM,EAAE;AACnC,MAAM,IAAI,cAAc,CAAC,aAAa,EAAE;AACxC,QAAQ,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,WAAW;AACjE,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE;AACrC,UAAU,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO;AACpE,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,MAAM,EAAE;AACjE,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;AAChE,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA,IAAI,0BAA0B,GAAG,wBAAwB;;AAEzD;AACA,SAAS,IAAI,CAAC,OAAO,EAAE;AACvB,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK;AACjC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,EAAE;AAC1C,EAAE,IAAI,CAAC,YAAY,GAAG,EAAE;AACxB;AACA,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,IAAI,EAAE;AACxC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG;AAC/B,EAAE,oBAAoB,EAAE,uBAAuB;AAC/C,EAAE,cAAc,EAAE,iBAAiB;AACnC,EAAE,eAAe,EAAE,kBAAkB;AACrC,EAAE,mBAAmB,EAAE,sBAAsB;AAC7C,EAAE,aAAa,EAAE,gBAAgB;AACjC,EAAE,6BAA6B,EAAE;AACjC,CAAC;AACD,SAAS,sBAAsB,CAAC,OAAO,EAAE;AACzC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACrD,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB;AAC9C,IAAI,OAAO;AACX,IAAI,KAAK,CAAC,UAAU;AACpB,IAAI,KAAK,CAAC;AACV,GAAG;AACH;AACA,SAAS,YAAY,GAAG;AACxB,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC;AACtD,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;AAChD,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;AACjD,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;AACrD,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AAC/C,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,CAAC;AAC/D,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C;AACA,SAAS,sBAAsB,GAAG;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;AAClE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;AAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY;AAC/B,MAAM,KAAK,CAAC,UAAU;AACtB,MAAM,KAAK,CAAC,SAAS;AACrB,MAAM,WAAW,CAAC,OAAO;AACzB,KAAK;AACL,EAAE;AACF;AACA,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,MAAM,EAAE,IAAI,EAAE;AACzD,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM;AACnC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;AAChD,GAAG;AACH,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;AACxE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,aAAa;AAC7C,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;AAC/E,EAAE;AACF,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,IAAI,EAAE,QAAQ,EAAE;AACxD,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK;AAC5B,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC;AAC9D,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5C,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;AAC1D,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;AACvD,EAAE;AACF,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;AAC5E,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;AAClE,CAAC;AACD,SAAS,qBAAqB,GAAG;AACjC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE;AACvE,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA,SAAS,4BAA4B,GAAG;AACxC,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;AACxE,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAC9D,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACrD,EAAE;AACF;AACA,SAAS,oBAAoB,GAAG;AAChC,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;AACnE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACtD,EAAE;AACF;AACA,SAAS,2BAA2B,GAAG;AACvC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;AAC/C,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAC9D,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACrD,EAAE;AACF;AACA,SAAS,mBAAmB,GAAG;AAC/B,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;AAC/C,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC;AAC7D,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5C,EAAE;AACF;AACA,SAAS,8BAA8B,GAAG;AAC1C,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;AAC5E,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAChD,EAAE;AACF;AACA,SAAS,iBAAiB,GAAG;AAC7B,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC;AAC5D,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACvF,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC/F,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC9F,EAAE;AACF;AACA,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,SAAS,SAAS,EAAE;AACvD,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;AAC/C,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,uBAAuB,GAAG,WAAW;AACpD,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE;AACjD,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE;AAC5C,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;AAC3C,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;AAChD,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;AACrC,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;AAC1C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;AAChC,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,EAAE;AAC1D,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7C,EAAE;AACF,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE;AACzD,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;AAC9D,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,IAAI,EAAE;AAC5C,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;AACxC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACtB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAClC,EAAE;AACF,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,IAAI,EAAE;AAC5C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACxB,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACjC,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,IAAI,EAAE;AAC9C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACxB,EAAE,IAAI,OAAO,GAAG,EAAE;AAClB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzD,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;AAC7B,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK;AACzC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACzD,EAAE;AACF,EAAE,OAAO,OAAO;AAChB,CAAC;AACD,IAAI,YAAY,GAAG,IAAI;;AAEvB;AACA,SAAS,sBAAsB,CAAC,OAAO,EAAE;AACzC,EAAE,OAAO;AACT,IAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE;AACjD,IAAI,aAAa,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;AACnD,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE;AACtF;AACA,IAAI,cAAc,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;AACjH,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE;AAC7C,IAAI,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE;AACnD,IAAI,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,EAAE;AACrD,IAAI,eAAe,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE;AAC3D,IAAI,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG,EAAE;AAC3C,IAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE;AACjD,IAAI,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,aAAa,EAAE;AACrD,IAAI,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE;AACnD,IAAI,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;AAC/C,IAAI,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG;AAC7C,GAAG;AACH;AACA,SAAS,IAAI,CAAC,OAAO,EAAE;AACvB,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE;AACzB,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE;AACvC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACtB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;AACxG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC;AACtG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;AACxG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC;AACpG,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;AACxH,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE;AACnB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;AACxD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC;AAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC;AACxD,IAAI,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG;AAC/C,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;AACpC,IAAI,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS;AACtC,IAAI,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB;AACpD,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC;AAC/C,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC;AAC/C,IAAI,IAAI,SAAS,GAAG,CAAC;AACrB,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE;AAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW;AACrC,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;AAChC,QAAQ,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM;AAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;AACvC,QAAQ,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO;AACnD,MAAM;AACN,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;AACnC,QAAQ,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI;AAChD,MAAM;AACN,MAAM,IAAI,SAAS,KAAK,CAAC,EAAE;AAC3B,QAAQ,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO;AAClD,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC3D,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClD,IAAI;AACJ,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;AAChD,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;AACzB,QAAQ,aAAa,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM;AACzE,QAAQ,YAAY,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM;AACtE,QAAQ,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,QAAQ,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,QAAQ,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,QAAQ,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,QAAQ,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,QAAQ,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,QAAQ,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,QAAQ,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,QAAQ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,QAAQ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,QAAQ,WAAW,EAAE;AACrB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;AAC3B,KAAK,CAAC;AACN,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI;AACvB,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;AACzE,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC;AAC3C,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC;AAC5C,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC;AACpD,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE;AACjC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;AACvC,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK;AAC3C,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS;AACnC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AAC1E,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC;AACnD,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC;AAC1C,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC;AACtC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC;AAC5C,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI;AACnB,EAAE,IAAI,CAAC,cAAc,GAAG,EAAE;AAC1B,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;AACzC,IAAI,GAAG,EAAE,WAAW;AACpB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ;AAC7C,MAAM,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE;AAC9C,QAAQ,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC;AAC1D,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,GAAG,CAAC;AACJ;AACA,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE;AACrC,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAAE;AAC9C,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1C,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE;AACzC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7C,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AACzC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,EAAE;AACF,EAAE,OAAO,KAAK;AACd,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,OAAO,EAAE;AAClD,EAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AAC7D,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;AACnC,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;AACvD,OAAO;AACP,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,OAAO;AACpB,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE;AAC3D,EAAE,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE;AACjC,EAAE,MAAM,mBAAmB,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1E,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,mBAAmB,CAAC;AAChE,EAAE,IAAI,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ;AACrG,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC;AACpC,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAC9B,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE;AACrD,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC;AACvD,EAAE,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM;AAC7B,EAAE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACtC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM;AACrD,EAAE;AACF,EAAE,OAAO,MAAM;AACf,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,IAAI,EAAE;AACjD,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC/C,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,IAAI,EAAE;AAC5C,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AACzC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,EAAE;AACF,EAAE,OAAO,KAAK;AACd,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,GAAG,EAAE;AAChD,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE;AACzC,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC;AAC9C,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,SAAS,EAAE,UAAU,EAAE;AACjE,EAAE,SAAS,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS;AAC1C,EAAE,UAAU,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU;AAC7C,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB;AACxD,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;AAC5E,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC;AAC7D,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG;AACtC,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,QAAQ,EAAE;AACZ;AACA;AACA;AACA;AACA,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;AAC9D,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;AAC9C,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AACpD,GAAG;AACH,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,OAAO,EAAE;AACX,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;AAChF,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;AAC1B,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;AAC1B,EAAE,QAAQ,GAAG,QAAQ,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE;AAChD,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACjE,EAAE,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,QAAQ;AAClD,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;AACnD,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;AACvB,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;AACzE,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;AAC7E,EAAE;AACF,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC7C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC;AACvD,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE;AAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,GAAG,SAAS;AACzC,IAAI;AACJ,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAClD,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxK,MAAM,CAAC,IAAI,YAAY,GAAG,SAAS;AACnC,IAAI;AACJ,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE;AAC/B,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,GAAG,QAAQ;AAC3C,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;AACjC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,QAAQ;AAC5C,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,CAAC;AACV,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;AACjE,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACjE,EAAE,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE;AACrC,EAAE,QAAQ,CAAC,OAAO,GAAG,EAAE;AACvB,EAAE,cAAc,CAAC,IAAI,EAAE,QAAkB,CAAC;AAC1C,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE;AACvB,IAAI,MAAM,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,QAAQ;AAC7D,IAAI,QAAQ,CAAC,WAAW,IAAI,KAAK;AACjC,EAAE;AACF,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,KAAK;AACjF,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AACrE,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;AAC/C,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO;AACtC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;AACnC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,UAAU,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AACjC,UAAU,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACtC,QAAQ;AACR,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;AAClE,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACjE,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;AACtF,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AACrE,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,UAAU;AACnB,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;AACnE,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACjE,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW;AACrE,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;AACnE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC1D,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAChB,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;AACzE,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACjE,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;AACtF,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AAC3D,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC1E,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACjE,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;AACtF,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7C,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,IAAI,EAAE;AAC/C,EAAE,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC,EAAE;AAC1B,EAAE;AACF,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,WAAW;AACrC,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,MAAM,KAAK,GAAG,IAAI;AACpB,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE;AACtC,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9C,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5B,IAAI;AACJ,EAAE;AACF,EAAE,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACnC,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;AAClD,IAAI,MAAM;AACV,MAAM,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;AAClD,MAAM,aAAa,GAAG,IAAI,GAAG;AAC7B,KAAK;AACL,EAAE;AACF,EAAE,iBAAiB,CAAC,YAAY,CAAC;AACjC,EAAE,iBAAiB,CAAC,YAAY,CAAC;AACjC,EAAE,iBAAiB,CAAC,cAAc,CAAC;AACnC,EAAE,iBAAiB,CAAC,WAAW,CAAC;AAChC,EAAE,iBAAiB,CAAC,SAAS,CAAC;AAC9B,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,0BAA0B,CAAC;AACzD,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACxB,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB;AACxD,IAAI,IAAI,UAAU,GAAG,EAAE;AACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO;AAClD,MAAM,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,qEAAqE,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AACpK,MAAM,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;AAC9C,QAAQ;AACR,MAAM;AACN,MAAM,UAAU,GAAG,cAAc;AACjC,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,WAAW;AACrC,EAAE,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;AACvC,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,WAAW;AACrC,EAAE,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC;AAC9E,EAAE,OAAO,IAAI,CAAC,aAAa,EAAE;AAC7B,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,WAAW;AAC1C,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;AACnC,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;AACzC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC1B,EAAE;AACF,EAAE,OAAO,MAAM;AACf,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,WAAW;AACrC,EAAE,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC;AAC3F,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG;AACnC,EAAE,MAAM,EAAE,CAAC;AACX;AACA,EAAE,UAAU,EAAE,CAAC;AACf;AACA,EAAE,QAAQ,EAAE,CAAC;AACb;AACA,EAAE,QAAQ,EAAE,CAAC;AACb;AACA,EAAE,SAAS,EAAE,EAAE;AACf;AACA,EAAE,IAAI,EAAE,EAAE;AACV;AACA,EAAE,OAAO,EAAE,EAAE;AACb;AACA,EAAE,iBAAiB,EAAE,GAAG;AACxB;AACA,EAAE,GAAG,EAAE,GAAG;AACV;AACA,EAAE,OAAO,EAAE;AACX;AACA,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG;AAChC,EAAE,IAAI,EAAE,CAAC;AACT;AACA,EAAE,MAAM,EAAE,CAAC;AACX;AACA,EAAE,SAAS,EAAE,CAAC;AACd;AACA,EAAE,QAAQ,EAAE,CAAC;AACb;AACA,EAAE,MAAM,EAAE,EAAE;AACZ;AACA,EAAE,SAAS,EAAE,EAAE;AACf;AACA,EAAE,QAAQ,EAAE;AACZ;AACA,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG;AAChC,EAAE,eAAe,EAAE,CAAC;AACpB,EAAE,eAAe,EAAE,CAAC;AACpB,EAAE,SAAS,EAAE,CAAC;AACd,EAAE,cAAc,EAAE,CAAC;AACnB,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,aAAa,EAAE,CAAC;AAClB,EAAE,QAAQ,EAAE,CAAC;AACb,EAAE,cAAc,EAAE,CAAC;AACnB,EAAE,cAAc,EAAE;AAClB,CAAC;AACD,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG;AACjC,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,WAAW,EAAE,GAAG;AAClB,EAAE,KAAK,EAAE,GAAG;AACZ,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,SAAS,EAAE,GAAG;AAChB,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,KAAK,EAAE;AACT,CAAC;AACD,IAAI,YAAY,GAAG,IAAI;;AAEvB;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;AACrC,EAAE,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AACjD,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,EAAE;AAC3C,EAAE,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,EAAE;AAC3C,EAAE,IAAI,iBAAiB,KAAK,CAAC,EAAE;AAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,+BAA+B,EAAE,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC5F,EAAE;AACF,EAAE,MAAM,OAAO,GAAG;AAClB,IAAI,iBAAiB;AACrB,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,kBAAkB,GAAG,CAAC,CAAC,cAAc,CAAC,WAAW;AACzD,IAAI,OAAO,IAAI,CAAC,uBAAuB,EAAE;AACzC,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,WAAW;AACnD,IAAI,OAAO,IAAI,CAAC,qBAAqB,EAAE;AACvC,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,WAAW;AAC1C,IAAI,OAAO,IAAI,CAAC,qBAAqB,EAAE;AACvC,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,WAAW;AAC1C,IAAI,OAAO,IAAI,CAAC,qBAAqB,EAAE;AACvC,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,GAAG;AACP,IAAI;AACJ,GAAG;AACH;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC;AAC9D;AACA,IAAI,YAAY,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;;AAEjE;AACA,IAAI,UAAU,GAAG,WAAW;AAC5B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChD,IAAI,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;AAClE,GAAG;AACH,CAAC;AACD,IAAI,UAAU,GAAG,WAAW;AAC5B,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,EAAE,aAAa,CAAC,QAAQ;AACxB,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;AAChD,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,MAAM,KAAK,CAAC,EAAE;AACpB,IAAI,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;AAC5C,EAAE,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC,EAAE;AAC3B,IAAI,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;AAC5C,EAAE,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC,EAAE;AAC3B,IAAI,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;AAC5C,EAAE;AACF,CAAC;AACD,IAAI,QAAQ,GAAG,WAAW;AAC1B,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AACD,IAAI,YAAY,GAAG,WAAW;AAC9B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChD,IAAI,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AACtD,GAAG;AACH,CAAC;AACD,IAAI,aAAa,GAAG,WAAW;AAC/B,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC;AACD,SAAS,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;AACrC,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC;AACpB,EAAE,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AACnC,EAAE,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACxC,EAAE,aAAa,CAAC,QAAQ;AACxB,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,GAAG;AACtE,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7C,IAAI,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;AAC1C,IAAI,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;AAC9C,IAAI,kBAAkB,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ;AACtD,GAAG;AACH,EAAE,IAAI,YAAY,IAAI,GAAG,EAAE;AAC3B,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC;AACtD,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,IAAI,YAAY,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;;AAE5C;AACA,IAAI,gBAAgB,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;AACpC,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc;AACjD,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,EAAE,IAAI,SAAS,KAAK,CAAC,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,SAAS,EAAE,CAAC;AAClB,MAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AAClD,MAAM,KAAK,EAAE,IAAI,CAAC,gBAAgB;AAClC,KAAK;AACL,EAAE,CAAC,MAAM,IAAI,SAAS,KAAK,CAAC,EAAE;AAC9B,IAAI,OAAO;AACX,MAAM,SAAS,EAAE,CAAC;AAClB,MAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AAClD,MAAM,MAAM,EAAE,IAAI,CAAC,oBAAoB;AACvC,KAAK;AACL,EAAE;AACF,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,6CAA6C,CAAC;AACxG,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc;AACjD,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,6CAA6C,CAAC;AACrI,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;AACzC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;AACzC,EAAE,IAAI,SAAS,KAAK,CAAC,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,YAAY;AAClB,MAAM,YAAY;AAClB,MAAM,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW;AACrE,QAAQ,OAAO;AACf;AACA,UAAU,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AACzC,UAAU,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;AACrD,UAAU,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY;AACpD,SAAS;AACT,MAAM,CAAC,CAAC,CAAC;AACT,KAAK;AACL,EAAE,CAAC,MAAM,IAAI,SAAS,KAAK,CAAC,EAAE;AAC9B,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxD,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxD,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAC1C,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAC1C,IAAI,OAAO;AACX;AACA,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,YAAY;AAClB,MAAM,YAAY;AAClB,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW;AACpF,QAAQ,OAAO;AACf,UAAU,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;AACrD,UAAU,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY;AACpD,SAAS;AACT,MAAM,CAAC,CAAC;AACR,KAAK;AACL,EAAE;AACF,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE;AACjD,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE;AACjD,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE;AACjD,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE;AACjD,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE;AACjD,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,GAAG;AAC/C,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE;AACjD,CAAC;AACD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,YAAY,GAAG;AAC9C,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE;AACjD,CAAC;AACD,SAAS,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;AACrC,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC;AACpB,EAAE,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AACnC,EAAE,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACxC,EAAE,aAAa,CAAC,QAAQ,CAAC,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,GAAG,EAAE,iCAAiC,GAAG,YAAY,CAAC;AACtH,EAAE,IAAI,YAAY,KAAK,CAAC,EAAE;AAC1B,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,YAAY;AAC3B,MAAM,OAAO,EAAE,CAAC,CAAC,eAAe,EAAE;AAClC,MAAM,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE;AACpC,MAAM,OAAO,EAAE,CAAC,CAAC,eAAe,CAAC,gBAAgB;AACjD,KAAK;AACL,EAAE,CAAC,MAAM;AACT,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,YAAY;AAC3B,MAAM,OAAO,EAAE,CAAC,CAAC,eAAe,EAAE;AAClC,MAAM,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE;AACpC,MAAM,OAAO,EAAE,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC;AAClD,MAAM,UAAU,EAAE,CAAC,CAAC,0BAA0B;AAC9C,KAAK;AACL,EAAE;AACF;AACA,IAAI,eAAe,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;AACnC,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE;AACzC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;AACpD,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACzF,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC5F,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;AACxG,GAAG,CAAC;AACJ;AACA,IAAI,YAAY,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE;;AAEjE;AACA,SAAS,qBAAqB,CAAC,CAAC,EAAE;AAClC,EAAE,MAAM,KAAK,GAAG,EAAE;AAClB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClB,EAAE,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,EAAE;AACzC,EAAE,aAAa,CAAC,QAAQ,CAAC,eAAe,KAAK,CAAC,EAAE,qCAAqC,CAAC;AACtF,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrB,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE;AAChC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACtC,IAAI,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE;AACrC,IAAI,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE;AACtC,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE;AAChC,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,KAAK;AAC/C,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,iBAAiB,CAAC,CAAC,EAAE;AAC9B,EAAE,MAAM,KAAK,GAAG,EAAE;AAClB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClB,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE;AAChC,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE;AACnB,IAAI,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC;AAC9D,EAAE;AACF,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AACjB,EAAE,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE;AAClC,EAAE,MAAM,eAAe,GAAG,QAAQ,GAAG,GAAG;AACxC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClB,EAAE,IAAI,eAAe,KAAK,CAAC,EAAE;AAC7B,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE;AAClC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACxC,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE;AACvC,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE;AACxC,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE;AAClC,MAAM,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,KAAK;AACjD,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;AACrC,EAAE,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AACjD,EAAE,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,EAAE;AACtC,EAAE,IAAI,YAAY,KAAK,CAAC,EAAE;AAC1B,IAAI,OAAO,qBAAqB,CAAC,CAAC,CAAC;AACnC,EAAE,CAAC,MAAM,IAAI,YAAY,KAAK,CAAC,EAAE;AACjC,IAAI,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAC/B,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,YAAY,GAAG,IAAI,CAAC;AAC7E,EAAE;AACF;AACA,IAAI,YAAY,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;;AAE5C;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE;AAC9D,EAAE,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AACjD,EAAE,MAAM,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU;AAC7D,EAAE,MAAM,YAAY,GAAG,EAAE;AACzB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AAC7C,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,WAAW,IAAI,CAAC;AACtB,IAAI;AACJ,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAClC,EAAE;AACF,EAAE,OAAO,YAAY;AACrB;AACA,IAAI,YAAY,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;;AAE5C;AACA,SAAS,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE;AACpD,EAAE,MAAM,YAAY,GAAG,EAAE;AACzB,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;AACzC,IAAI,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7C,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AACxD,IAAI,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AACtD,IAAI,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;AACvD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC5E,IAAI,CAAC,IAAI,EAAE;AACX,EAAE;AACF,EAAE,OAAO,YAAY;AACrB;AACA,SAAS,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE;AAChD,EAAE,MAAM,YAAY,GAAG,EAAE;AACzB,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;AACzC,IAAI,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7C,IAAI,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AACtD,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;AAC3D,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI,UAAU,GAAG,UAAU,EAAE;AACjC,MAAM,WAAW,GAAG,MAAM;AAC1B,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,GAAG,KAAK;AACzB,IAAI;AACJ,IAAI,YAAY,CAAC,IAAI,CAAC;AACtB,MAAM,GAAG;AACT,MAAM,MAAM;AACZ,MAAM,WAAW;AACjB,MAAM,gBAAgB,EAAE,UAAU;AAClC,MAAM,MAAM,EAAE;AACd,KAAK,CAAC;AACN,IAAI,CAAC,IAAI,EAAE;AACX,EAAE;AACF,EAAE,OAAO,YAAY;AACrB;AACA,SAAS,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE;AAC3C,EAAE,IAAI,UAAU,CAAC,WAAW,KAAK,MAAM,EAAE;AACzC,IAAI,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC;AACxG,IAAI,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;AACvD,IAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC;AACxC,IAAI,IAAI,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,EAAE;AACpD,MAAM,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,UAAU,CAAC,GAAG,GAAG,oDAAoD,CAAC;AACtH,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AAClD,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;AACpC,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;AAC9C,EAAE;AACF;AACA,SAAS,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE;AACvC,EAAE,IAAI,gBAAgB;AACtB,EAAE,IAAI,SAAS;AACf,EAAE,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAChD,EAAE,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE;AAC1C,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM;AAC1C,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,EAAE,IAAI,SAAS;AACf,EAAE,IAAI,YAAY,GAAG,EAAE;AACvB,EAAE,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,EAAE,IAAI,SAAS,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE;AACrG,IAAI,IAAI,CAAC,cAAc,GAAG,UAAU;AACpC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,IAAI,YAAY,GAAG,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC;AAC7D,EAAE,CAAC,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE;AACnC,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK;AAC/B,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,IAAI,YAAY,GAAG,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC;AAC7D,EAAE,CAAC,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE;AACnC,IAAI,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACpD,MAAM,IAAI,CAAC,cAAc,GAAG,UAAU;AACtC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;AAClC,MAAM,IAAI,CAAC,cAAc,GAAG,KAAK;AACjC,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,SAAS,CAAC;AACjE,IAAI;AACJ,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;AACjD,IAAI,YAAY,GAAG,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC;AACzD,EAAE,CAAC,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE;AACnC,IAAI,MAAM,KAAK,GAAG,8EAA8E;AAChG,IAAI,MAAM,IAAI,KAAK,CAAC,mEAAmE,GAAG,KAAK,CAAC;AAChG,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,SAAS,CAAC;AAClE,EAAE;AACF,EAAE,IAAI,aAAa;AACnB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,cAAc;AACpB,EAAE,IAAI,CAAC;AACP,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;AACzC,IAAI,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC;AACtC,IAAI,IAAI,KAAK;AACb,IAAI,QAAQ,UAAU,CAAC,GAAG;AAC1B,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvE,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1D,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,CAAC,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AAC9D,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AACjE,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,CAAC,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AAC9D,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7D,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvE,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU;AACrD,QAAQ,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB;AAC5D,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvE,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;AACjD,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;AACnD,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB;AACjE,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AAChE,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvE,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvE,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvE,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;AACnD,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACrE,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACvE,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1D,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,CAAC,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AAC9D,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7D,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,aAAa,GAAG,UAAU;AAClC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,cAAc,GAAG,UAAU;AACnC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,IAAI;AACZ,UAAU,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACnD,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACzE,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE;AACpB,UAAU,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC;AAC/D,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACzB,QAAQ;AACR,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACrE,QAAQ;AAGR;AACA,EAAE;AACF,EAAE,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AACzD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;AACpF,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;AAC/B,EAAE,IAAI,cAAc,IAAI,cAAc,EAAE;AACxC,IAAI,MAAM,YAAY,GAAG,gBAAgB,KAAK,CAAC;AAC/C,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;AAC1G,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC;AAC9F,EAAE,CAAC,MAAM,IAAI,aAAa,EAAE;AAC5B,IAAI,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC;AACzD,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC;AAChE,EAAE,CAAC,MAAM,IAAI,cAAc,EAAE;AAC7B,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC;AAClE,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;AAC3E,EAAE;AACF,EAAE,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AACzD,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;AACrH,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;AAC1B,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;AAC5E,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;AAC3E,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;AAC3E,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;AAC3E,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;AACvF,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7F,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC;AAC/G,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,wGAAwG,CAAC;AAC5H,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAC1G,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC;AAC/G,IAAI;AACJ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;AAC1B,MAAM,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC;AACrG,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,wGAAwG,CAAC;AAC5H,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;AACpH,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC;AAChH,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7F,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC;AAChH,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC;AAClF,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7F,EAAE;AACF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;AAC3E,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;AACjC,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC;AAC1C,EAAE,OAAO,IAAI;AACb;;ACn6fA;AACA,SAAS,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE;AAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACxC;AACA;AACA,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE;AAC5B,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE;AAWA,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACvB,IAAI,OAAO;AACX,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,KAAK;AACL;AACA;AACA,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE;AAClC,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1C,IAAI,EAAE,IAAI,EAAE;AACZ,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1C,IAAI,EAAE,IAAI,EAAE;AACZ,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1C,IAAI,EAAE,IAAI,EAAE;AACZ,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1C,IAAI,EAAE,IAAI,EAAE;AACZ,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;AACjB,QAAQ,EAAE,GAAG,EAAE;AACf,IAAI;AACJ,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;AACjB,QAAQ,EAAE,GAAG,EAAE;AACf,IAAI;AACJ,IAAI,OAAO,EAAE,GAAG,EAAE;AAClB;AACA,SAAS,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE;AACnF,IAAI,MAAM,SAAS,GAAG,SAAS,IAAI,EAAE;AACrC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE;AAC9C,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE;AAC9B,YAAY,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACnE,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE;AACvB,gBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAClC,YAAY;AACZ,QAAQ;AACR,aAAa;AACb,YAAY,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9B,QAAQ;AACR,QAAQ,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1C,IAAI;AACJ,SAAS;AACT;AACA,QAAQ,MAAM,CAAC,GAAG,EAAE;AACpB,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACnC,QAAQ,mCAAmC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;AACvF,QAAQ,mCAAmC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;AACvF,IAAI;AACJ,IAAI,OAAO,SAAS;AACpB;AAiCO,SAAS,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE;AACzE,IAAI,MAAM,SAAS,GAAG,EAAE;AACxB,IAAI,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;AAC/C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAQ,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC;AAC5B,QAAQ,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;AACjF,IAAI;AAIJ,IAAI,OAAO,SAAS;AACpB;;AC1HA,MAAM,OAAO,GAAG,CAAC;AACjB,MAAM,MAAM,GAAG,CAAC;AAChB,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzI,SAAS,QAAQ,CAAC,CAAC,EAAE;AACrB,IAAI,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE;AAC9B,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE;AACrB,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;AACvC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;AAC1C,QAAQ;AACR,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE;AACvD,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;AACtE,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;AAC1C,QAAQ;AACR,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,6DAA6D,CAAC,EAAE;AACzF,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;AACtF,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;AAC1C,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,EAAE;AACrB,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;AACnD,IAAI,OAAO,MAAM;AACjB;AACA,SAAS,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE;AAC7B,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI;AAC9B;AACO,SAAS,SAAS,CAAC,CAAC,EAAE;AAC7B,IAAI,MAAM,QAAQ,GAAG,EAAE;AACvB,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC9B,IAAI,IAAI,IAAI,GAAG,KAAK;AACpB,IAAI,IAAI,KAAK,GAAG,CAAC;AACjB,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC7B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;AAChC,QAAQ,IAAI,WAAW,GAAG,CAAC;AAC3B,QAAQ,MAAM,MAAM,GAAG,EAAE;AACzB,QAAQ,IAAI,IAAI,KAAK,KAAK,EAAE;AAC5B,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE;AAC1D,gBAAgB,KAAK,EAAE;AACvB,gBAAgB,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAChD,gBAAgB,IAAI,GAAG,KAAK,CAAC,IAAI;AACjC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,YAAY;AACZ,QAAQ;AACR,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;AACxC,YAAY,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;AACtC,QAAQ;AACR,aAAa;AACb,YAAY,KAAK,EAAE;AACnB,YAAY,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5C,YAAY,IAAI,GAAG,KAAK,CAAC,IAAI;AAC7B,QAAQ;AACR,QAAQ,IAAI,CAAC,KAAK,GAAG,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE;AACnD,YAAY,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;AAC9D,gBAAgB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;AAC5C,gBAAgB,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;AAChD,oBAAoB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI;AAC5D,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC;AAC1F,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AAClD,gBAAgB,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3D,gBAAgB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AACtC,gBAAgB,KAAK,IAAI,WAAW;AACpC,gBAAgB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AACrC,gBAAgB,IAAI,IAAI,KAAK,GAAG;AAChC,oBAAoB,IAAI,GAAG,GAAG;AAC9B,gBAAgB,IAAI,IAAI,KAAK,GAAG;AAChC,oBAAoB,IAAI,GAAG,GAAG;AAC9B,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;AACvD,YAAY;AACZ,QAAQ;AACR,aAAa;AACb,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,QAAQ;AACnB;;ACpFA;AACO,SAAS,UAAU,CAAC,QAAQ,EAAE;AACrC,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AACtB,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC;AAC1B,IAAI,MAAM,GAAG,GAAG,EAAE;AAClB,IAAI,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE;AAC1C,QAAQ,QAAQ,GAAG;AACnB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI;AAC/B,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI;AACnC,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACtD,gBAAgB,IAAI,GAAG,EAAE;AACzB,gBAAgB,IAAI,GAAG,EAAE;AACzB,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI;AAC/B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACtD,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG,EAAE;AACtB,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrD,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG,EAAE;AACtB,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrD,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACnG,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAClD,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAClD,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG,EAAE;AACtB,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrD,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,gBAAgB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACtD,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAChD,gBAAgB,EAAE,GAAG,IAAI;AACzB,gBAAgB,EAAE,GAAG,IAAI;AACzB,gBAAgB;AAChB;AACA,IAAI;AACJ,IAAI,OAAO,GAAG;AACd;;AC7GA;AACO,SAAS,SAAS,CAAC,QAAQ,EAAE;AACpC,IAAI,MAAM,GAAG,GAAG,EAAE;AAClB,IAAI,IAAI,QAAQ,GAAG,EAAE;AACrB,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AACtB,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC;AAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;AACxB,IAAI,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE;AAC1C,QAAQ,QAAQ,GAAG;AACnB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI;AAC/B,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI;AACnC,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACvD,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI;AAC/B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACtD,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACtD,gBAAgB;AAChB,YAAY,KAAK,GAAG,EAAE;AACtB,gBAAgB,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;AACpC,gBAAgB,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC1D,oBAAoB,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;AACzC,oBAAoB,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;AACzC,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,GAAG,GAAG,EAAE;AAC5B,oBAAoB,GAAG,GAAG,EAAE;AAC5B,gBAAgB;AAChB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACjE,gBAAgB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,GAAG,EAAE;AACtB,gBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;AACnC,gBAAgB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AAClC,gBAAgB,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC1D,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;AACxC,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;AACxC,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,EAAE,GAAG,EAAE;AAC3B,oBAAoB,EAAE,GAAG,EAAE;AAC3B,gBAAgB;AAChB,gBAAgB,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;AAClD,gBAAgB,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;AAClD,gBAAgB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;AAChD,gBAAgB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;AAChD,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,gBAAgB,GAAG,GAAG,EAAE;AACxB,gBAAgB,GAAG,GAAG,EAAE;AACxB,gBAAgB,EAAE,GAAG,CAAC;AACtB,gBAAgB,EAAE,GAAG,CAAC;AACtB,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,GAAG,EAAE;AACtB,gBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;AAC3C,gBAAgB,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;AAClD,gBAAgB,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;AAClD,gBAAgB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;AAChD,gBAAgB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;AAChD,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,gBAAgB,GAAG,GAAG,EAAE;AACxB,gBAAgB,GAAG,GAAG,EAAE;AACxB,gBAAgB,EAAE,GAAG,CAAC;AACtB,gBAAgB,EAAE,GAAG,CAAC;AACtB,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,GAAG,EAAE;AACtB,gBAAgB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5C,gBAAgB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5C,gBAAgB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AACrC,gBAAgB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5C,gBAAgB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;AACzC,gBAAgB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACjC,gBAAgB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACjC,gBAAgB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AAC1C,oBAAoB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACtE,oBAAoB,EAAE,GAAG,CAAC;AAC1B,oBAAoB,EAAE,GAAG,CAAC;AAC1B,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AAC9C,wBAAwB,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC;AAC7G,wBAAwB,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACxD,4BAA4B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/D,wBAAwB,CAAC,CAAC;AAC1B,wBAAwB,EAAE,GAAG,CAAC;AAC9B,wBAAwB,EAAE,GAAG,CAAC;AAC9B,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,GAAG;AACpB,gBAAgB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAChD,gBAAgB,EAAE,GAAG,IAAI;AACzB,gBAAgB,EAAE,GAAG,IAAI;AACzB,gBAAgB;AAChB;AACA,QAAQ,QAAQ,GAAG,GAAG;AACtB,IAAI;AACJ,IAAI,OAAO,GAAG;AACd;AACA,SAAS,QAAQ,CAAC,OAAO,EAAE;AAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,IAAI,GAAG;AACpC;AACA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE;AAChC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7D,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7D,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AACjB;AACA,SAAS,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE;AAC7F,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;AACpC,IAAI,IAAI,MAAM,GAAG,EAAE;AACnB,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AACtC,IAAI,IAAI,SAAS,EAAE;AACnB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS;AACpC,IAAI;AACJ,SAAS;AACT,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC5C,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC5C,QAAQ,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC/B,QAAQ,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC/B,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;AACzD,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE;AACnB,YAAY,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE;AACvB,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE;AACvB,QAAQ;AACR,QAAQ,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,GAAG,CAAC;AAC1D,QAAQ,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE;AAC7B,QAAQ,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE;AAC7B,QAAQ,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC;AAClE,QAAQ,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC;AACnD,QAAQ,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1D,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC5C,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAC7C,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,QAAQ,IAAI,EAAE,GAAG,EAAE,EAAE;AACrB,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE;AAC7B,QAAQ;AACR,QAAQ,IAAI,EAAE,GAAG,EAAE,EAAE;AACrB,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE;AAC7B,QAAQ;AACR,QAAQ,IAAI,EAAE,GAAG,CAAC,EAAE;AACpB,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE;AACjC,QAAQ;AACR,QAAQ,IAAI,EAAE,GAAG,CAAC,EAAE;AACpB,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE;AACjC,QAAQ;AACR,QAAQ,IAAI,SAAS,IAAI,EAAE,GAAG,EAAE,EAAE;AAClC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;AACjC,QAAQ;AACR,QAAQ,IAAI,CAAC,SAAS,IAAI,EAAE,GAAG,EAAE,EAAE;AACnC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;AACjC,QAAQ;AACR,IAAI;AACJ,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;AACpB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE;AAC9C,QAAQ,MAAM,KAAK,GAAG,EAAE;AACxB,QAAQ,MAAM,KAAK,GAAG,EAAE;AACxB,QAAQ,MAAM,KAAK,GAAG,EAAE;AACxB,QAAQ,IAAI,SAAS,IAAI,EAAE,GAAG,EAAE,EAAE;AAClC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;AACjD,QAAQ;AACR,aAAa;AACb,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AAClD,QAAQ;AACR,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACnC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACnC,QAAQ,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACzG,IAAI;AACJ,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;AAChB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3B,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3B,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3B,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3B,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9B,IAAI,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAC7B,IAAI,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAC7B,IAAI,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AACvB,IAAI,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC3C,IAAI,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC3C,IAAI,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AACvB,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC7B,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC7B,IAAI,IAAI,SAAS,EAAE;AACnB,QAAQ,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1C,IAAI;AACJ,SAAS;AACT,QAAQ,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5C,QAAQ,MAAM,MAAM,GAAG,EAAE;AACzB,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACnD,YAAY,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;AACnE,YAAY,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;AAC3E,YAAY,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;AAC3E,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,QAAQ;AACR,QAAQ,OAAO,MAAM;AACrB,IAAI;AACJ;;ACxNO,SAAS,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;AACxD,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;AACpC,IAAI,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtD,IAAI,MAAM,IAAI,GAAG,EAAE;AACnB,IAAI,IAAI,aAAa,GAAG,EAAE;AAC1B,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,IAAI,IAAI,YAAY,GAAG,EAAE;AACzB,IAAI,MAAM,kBAAkB,GAAG,MAAM;AACrC,QAAQ,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;AACtC,YAAY,aAAa,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAChF,QAAQ;AACR,QAAQ,YAAY,GAAG,EAAE;AACzB,IAAI,CAAC;AACL,IAAI,MAAM,mBAAmB,GAAG,MAAM;AACtC,QAAQ,kBAAkB,EAAE;AAC5B,QAAQ,IAAI,aAAa,CAAC,MAAM,EAAE;AAClC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACpC,YAAY,aAAa,GAAG,EAAE;AAC9B,QAAQ;AACR,IAAI,CAAC;AACL,IAAI,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE;AAC5C,QAAQ,QAAQ,GAAG;AACnB,YAAY,KAAK,GAAG;AACpB,gBAAgB,mBAAmB,EAAE;AACrC,gBAAgB,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1C,gBAAgB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACzC,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,kBAAkB,EAAE;AACpC,gBAAgB,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAC1C,oBAAoB,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK;AAC5G,oBAAoB,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,gBAAgB;AAChB,gBAAgB,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,gBAAgB,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,gBAAgB,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,kBAAkB,EAAE;AACpC,gBAAgB,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,gBAAgB;AAChB;AACA,IAAI;AACJ,IAAI,mBAAmB,EAAE;AACzB,IAAmB;AACnB,QAAQ,OAAO,IAAI;AACnB,IAAI;AASJ;;AC5DO,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,KAAK,GAAG,CAAC;AACf,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,QAAQ,GAAG,GAAG;;ACC3B,SAAS,sBAAsB,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAA;IACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;AAC9C,IAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CACzB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAqB,CACvD;AAED,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE;AAEpC,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;IAEpC,OAAO;AACL,QAAA,QAAQ,EAAE,IAAI,YAAY,CAAC,YAAY,CAAC;AACxC,QAAA,OAAO,EAAE,IAAI,WAAW,CAAC,OAAO;KACjC;AACH;AAKA;AACA,SAAS,iBAAiB,CAAC,IAAqB,EAAA;AAC9C,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CACtB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CACnB;AAClB;AAEA;AACO,eAAe,gBAAgB,CAAC,QAAgB,EAAA;;AAErD,IAAA,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,OAAO,SAAS,CAAC;QACjB,OAAO,WAAW;AACnB,KAAA,CAAC;;AAEF,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;AAEtC,IAAA,IAAI;AACF,QAAA,OAAO,iBAAiB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACtD;IAAE,OAAO,KAAK,EAAE;;AAEd,QAAA,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AACrE,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,qBAAA,EAAwB,YAAY,CAAA,kCAAA,EAAqC,MAAM,CAAA,CAAE,EACjF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB;IACH;AACF;AAEA;AACO,eAAe,eAAe,CACnC,OAAqB,EAAA;AAErB,IAAA,IAAI,GAAQ;AACZ,IAAA,IAAI;AACF,QAAA,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC;IACxB;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,CAAA,kBAAA,EAAqB,OAAO,CAAA,CAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACnE;;AAGA,IAAA,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;QAC5B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,UAAU,CAAC;AAClD,QAAA,OAAO,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C;AAEA,IAAA,IAAI,QAAkB;AACtB,IAAA,IAAI;AACF,QAAA,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;IAC7B;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,CAAA,0BAAA,EAA6B,GAAG,CAAC,IAAI,CAAA,GAAA,EAAM,MAAM,CAAA,CAAE,EAAE;AACnE,YAAA,KAAK,EAAE;AACR,SAAA,CAAC;IACJ;AACA,IAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,0BAAA,EAA6B,GAAG,CAAC,IAAI,CAAA,GAAA,EAAM,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,CAAE,CACpF;IACH;AACA,IAAA,OAAO,QAAQ,CAAC,WAAW,EAAE;AAC/B;AAEA;AACA,eAAe,eAAe,CAAC,IAAgB,EAAA;IAC7C,IAAI,IAAI,YAAY,WAAW;AAAE,QAAA,OAAO,IAAI;;AAE5C,IAAA,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;AAAE,QAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC;;IAE5D,IAAI,IAAI,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACrD,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC;IAC9B;AACA,IAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B;AAEA;AACA;AACA,MAAM,iBAAiB,GAAG,oCAAoC;AAE9D;AACA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAEhE;;;;;AAKG;AACI,eAAe,YAAY,CAChC,IAAY,EACZ,QAAgB,EAChB,IAAA,GAAmB,YAAY,EAAA;;AAG/B,IAAA,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC;AAE5C,IAAA,IAAI,YAA2B;AAC/B,IAAA,IAAI;AACF,QAAA,YAAY,GAAGC,WAAc,CAAC,QAAQ,CAAC;IACzC;IAAE,OAAO,KAAK,EAAE;;AAEd,QAAA,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AACrE,QAAA,MAAM,IAAI,KAAK,CACb,wBAAwB,YAAY,CAAC,IAAI,CAAC,CAAA,kCAAA,EAAqC,MAAM,CAAA,CAAE,EACvF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB;IACH;;AAGA,IAAA,IAAI,KAAsB;AAC1B,IAAA,IAAI;AACF,QAAA,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC7D;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AACrE,QAAA,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,CAAC,IAAI,CAAC,CAAA,GAAA,EAAM,MAAM,CAAA,CAAE,EACpE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB;IACH;AAEA,IAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACxB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAEnC,QAAA,IAAI,YAAuD;AAC3D,QAAA,IAAI;AACF,YAAA,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC;QACjD;QAAE,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CACb,CAAA,yCAAA,EAA4C,YAAY,CAAC,IAAI,CAAC,CAAA,GAAA,CAAK;gBACjE,iEAAiE;AACjE,gBAAA,wCAAwC,EAC1C,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB;QACH;QAEA,OAAO;AACL,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,IAAI,EAAE;gBACJ,CAAC,EAAE,IAAI,CAAC,EAAE;gBACV,CAAC,EAAE,IAAI,CAAC,EAAE;AACV,gBAAA,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE;AACxB,gBAAA,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AACxB;SACF;AACH,IAAA,CAAC,CAAC;AACJ;AAEA;AACA,SAAS,YAAY,CAAC,IAAgB,EAAA;IACpC,IAAI,IAAI,YAAY,GAAG;QAAE,OAAO,IAAI,CAAC,IAAI;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ;AAAE,QAAA,OAAO,IAAI;AACzC,IAAA,OAAO,kBAAkB;AAC3B;;ACrLA;;;;;AAKG;AAeH;AACO,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT;CACD;AAED;;;;;;;AAOG;AACI,eAAe,kBAAkB,CAAC,QAAgB,EAAE,KAAc,EAAA;AACvE,IAAA,MAAM,MAAM,GAA+B,EAAE;AAC7C,IAAA,MAAM,GAAG,GAAG,CAAA,yCAAA,EAA4C,QAAQ,CAAA,EAAG,MAAM,EAAE;AAE3E,IAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;AAEjC,IAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,mCAAA,EAAsC,QAAQ,CAAA,GAAA,EAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAA,CAAE,CAC7F;IACH;AAEA,IAAA,MAAM,IAAI,GAAqB,MAAM,QAAQ,CAAC,IAAI,EAAE;AAEpD,IAAA,OAAO,IAAI;AACb;;ACxCA;;;;AAIG;AACH,SAAS,WAAW,CAAC,CAAQ,EAAE,CAAQ,EAAE,CAAQ,EAAE,CAAS,EAAA;IAC1D,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxC,IAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC1B;AAEA;;;AAGG;AACH,SAAS,qBAAqB,CAC5B,UAAmB,EACnB,CAAS,EACT,CAAS,EACT,OAAe,EAAA;IAEf,IAAI,GAAG,GAAG,CAAC;AACX,IAAA,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC;AACnB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,CAAC,GAAG,WAAW,CACnB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,EACb,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAChB;QACD,IAAI,CAAC,GAAG,OAAO;AAAE,YAAA,OAAO,QAAQ;QAChC,IAAI,CAAC,GAAG,GAAG;YAAE,GAAG,GAAG,CAAC;IACtB;AACA,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,eAAe,CAAC,SAAiB,EAAA;AACxC,IAAA,IAAI,SAAS,GAAG,CAAC,EAAE;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,CAAA,CAAE,CAAC;IAC7D;AACF;AAEA;AACA,SAAS,aAAa,CACpB,UAAmB,EACnB,IAAe,EAAA;IAEf,MAAM,MAAM,GAAgC,EAAE;IAC9C,IAAI,OAAO,GAAG,CAAC;AACf,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE;AACd,QAAA,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;QACpD,OAAO,GAAG,CAAC;IACb;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;;;;AAUG;SACa,oBAAoB,CAClC,UAAmB,EACnB,YAAoB,CAAC,EAAA;IAErB,eAAe,CAAC,SAAS,CAAC;AAC1B,IAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM;IAC3B,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,EAAE;IACtB,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAEnD,IAAA,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS;;AAErC,IAAA,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AAChD,IAAA,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5C,IAAA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AAEX,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;;AAE1B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;;YAE/B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAAE;YAC5B,IAAI,qBAAqB,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,OAAO;gBAAE;YAChE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACrB,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QACf;IACF;AAEA,IAAA,MAAM,IAAI,GAAG,IAAI,KAAK,CAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AAAE,QAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AACxD,IAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AACd,IAAA,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC;AACxC;AAEA;;;;;;;;;;AAUG;SACa,qBAAqB,CACnC,UAAmB,EACnB,YAAoB,CAAC,EAAA;IAErB,eAAe,CAAC,SAAS,CAAC;AAC1B,IAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM;IAC3B,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,EAAE;IACtB,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAEnD,IAAA,MAAM,IAAI,GAAG,IAAI,KAAK,CAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9C,IAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5B,IAAA,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS;;IAGrC,MAAM,KAAK,GAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,IAAA,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAG;AACjC,QAAA,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC;YAAE;;QAGrB,IAAI,KAAK,GAAG,CAAC;AACb,QAAA,IAAI,MAAM,GAAG,EAAE;AACf,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACpC,YAAA,MAAM,CAAC,GAAG,WAAW,CACnB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,KAAK,CAAC,EACjB,UAAU,CAAC,GAAG,CAAC,EACf,CAAC,CAAC,GAAG,KAAK,KAAK,GAAG,GAAG,KAAK,CAAC,CAC5B;AACD,YAAA,IAAI,CAAC,GAAG,KAAK,EAAE;gBACb,KAAK,GAAG,CAAC;gBACT,MAAM,GAAG,CAAC;YACZ;QACF;;AAGA,QAAA,IAAI,KAAK,GAAG,OAAO,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;AACnB,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5C;IACF;AAEA,IAAA,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC;AACxC;AAEA;;;;;;;;;;AAUG;SACa,wBAAwB,CACtC,UAAmB,EACnB,YAAoB,CAAC,EAAA;IAErB,eAAe,CAAC,SAAS,CAAC;AAC1B,IAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM;IAC3B,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,EAAE;IACtB,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAEnD,IAAA,MAAM,IAAI,GAAG,IAAI,KAAK,CAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9C,IAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5B,IAAA,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS;IAErC,IAAI,CAAC,GAAG,CAAC;AACT,IAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;;AAEhB,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACb,QAAA,OACE,CAAC,GAAG,CAAC,GAAG,CAAC;AACT,YAAA,qBAAqB,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO,EAC/D;AACA,YAAA,CAAC,EAAE;QACL;AACA,QAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;QACd,CAAC,GAAG,CAAC;IACP;AAEA,IAAA,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC;AACxC;AAoBA;;;;AAIG;AACG,SAAU,aAAa,CAC3B,UAEG,EAAA;AAEH,IAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI;IAE1E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACnE,IAAA,MAAM,QAAQ,GAAa,CAAC,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACnC,QAAA,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;;;QAGlB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7D;;IAEA,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;AACjC,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3B;;AChOA;AACA,MAAM,sBAAsB,GAMxB;AACF,IAAA,EAAE,EAAE,oBAAoB;AACxB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,MAAM,EAAE;CACT;MAEY,YAAY,CAAA;AACvB,IAAA,IAAI;AACJ,IAAA,CAAC;AACD,IAAA,CAAC;AACD,IAAA,KAAK;AAEL,IAAA,UAAU;AAKV,IAAA,QAAQ;IAER,WAAA,CAAY,eAAmC,EAAE,QAAkB,EAAA;AACjE,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI;QAChC,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC;AACxD,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE;AAClC,QAAA,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACd,QAAA,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACd,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5C;IAEA,MAAM,GAAA;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AACvC,QAAA,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACd,QAAA,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACd,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAC9C;IAEA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IAEA,MAAM,GAAA;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC;SAClB;IACH;AACD;AAED,eAAe,UAAU,CAAC,KAAa,EAAE,MAAc,EAAA;IACrD,MAAMC,EAAI,EAAE;;AAEZ,IAAA,MAAM,KAAK,GAAG,IAAIC,EAAK,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;AAC3C,IAAA,KAAK,CAAC,UAAU,GAAG,EAAE;;AAGrB,IAAA,KAAK,CAAC,cAAc,CAClBC,EAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAC7B,KAAK,CAAC,eAAe,CAACC,EAAa,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACnE;;AAED,IAAA,KAAK,CAAC,cAAc,CAClBD,EAAY,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAC9B,KAAK,CAAC,eAAe,CAACC,EAAa,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CACtE;AACD,IAAA,KAAK,CAAC,cAAc,CAClBD,EAAY,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAC9B,KAAK,CAAC,eAAe,CAACC,EAAa,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACnE;AAED,IAAA,OAAO,KAAK;AACd;AAEA;AACA,MAAM,kBAAkB,GAAG,IAAI;AA4DxB,eAAe,eAAe,CAAC,EACpC,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,CAAC,EACZ,KAAK,GAAG,QAAQ,EAChB,eAAe,GAAG,aAAa,EAC/B,SAAS,GAAG,OAAO,EACnB,oBAAoB,GAAG,GAAG,EAC1B,kBAAkB,GAAG,KAAK,EAC1B,oBAAoB,GAAG,QAAQ,EAC/B,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,MAAM,EACf,IAAI,GAAG,IAAI,EACX,QAAQ,GAAG,QAAQ,EACnB,IAAI,EACc,EAAA;IAClB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;AAC7C,IAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgB;;;AAIhD,IAAA,MAAM,SAAS,GAAG,oBAAoB,GAAG,KAAK;;IAG9C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;;AAG1D,IAAA,IAAI,IAAI,GAAG,QAAQ,CAAA,CACjB,IAAI,GAAG,CAAC,QAAQ,CAAA,CAEhB,IAAI,GAAG,CAAC;AACV,IAAA,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE;AAChC,QAAA,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI;AAAE,YAAA,IAAI,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;;AAE1D,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AACnB,QAAe,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM;QAErC,IAAI,GAAG,GAAG,IAAI;YAAE,IAAI,GAAG,GAAG;IAC5B;IACA,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC;AACrC,IAAA,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,GAAG,WAAW;;AAEvC,IAAA,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IACvC,MAAM,aAAa,GAAe,EAAE;AAEpC,IAAA,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE;AACjC,QAAA,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE;;QAEzC,MAAM,eAAe,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;AACzD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC3C,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAChC,YAAA,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C;AACA,QAAA,KAAK,CAAC,cAAc,CAClBD,EAAY,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,EAC9C,KAAK,CAAC,eAAe,CACnBC,EAAa,CAAC,KAAK;aAChB,aAAa,CAAC,IAAI;AAClB,aAAA,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CACpC,CACF;AACD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC1C,YAAA,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACvB,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EACvB,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC;AACjB,gBAAA,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC;AAC7B,gBAAA,OAAO,GAAG,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;AACjC,gBAAA,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC;AAC7B,gBAAA,OAAO,GAAG,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;AACjC,gBAAA,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC;AAC7B,gBAAA,OAAO,GAAG,eAAe,CAAC,EAAE,GAAG,CAAC;AACjC,aAAA,CAAC;QACJ;IACF;AAEA,IAAA,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC;AAE9D,IAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,MAAM;AACvD,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ,IAAI,CAAC;AACnC,IAAA,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;AAEtB,IAAA,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC;AACvD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;AAE9B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AACzB,gBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9B;AAEA,YAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AAEzD,YAAA,IAAI,eAAe,CAAC,KAAK,EAAE;gBACzB,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,IAAI,QAAQ;gBAC7C,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,IAAI,SAAS;;AAE7C,gBAAA,MAAM,YAAY,GAChB,KAAK,KAAK;AACR,sBAAED,EAAY,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG;AACzD,sBAAEA,EAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;AAClD,gBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CACtC,YAAY,EACZ,KAAK,CAAC,eAAe,CACnBC,EAAa,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CACjE,CACF;gBAED,gBAAgB,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YACtE;QACF;IACF;;AAGA,IAAA,SAAS,uBAAuB,GAAA;AAC9B,QAAA,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE;YAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,IAAI,IAAI,EAAE;AACR,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;gBAC5B,IACE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB;oBACvC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB;oBACvC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,kBAAkB,EACrC;AACA,oBAAA,OAAO,KAAK;gBACd;YACF;QACF;AACA,QAAA,OAAO,IAAI;IACb;IAEA,IAAI,SAAS,GAAG,CAAC;AACjB,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;IAC5B,OAAO,IAAI,EAAE;QACX,KAAK,CAAC,IAAI,EAAE;AACZ,QAAA,SAAS,EAAE;AAEX,QAAA,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE;YAC3C,YAAY,CAAC,MAAM,EAAE;QACvB;AAEA,QAAA,IAAI,uBAAuB,EAAE;YAAE;IACjC;AAEA,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE;IAE1B,OAAO;QACL,SAAS;QACT,IAAI,EAAE,OAAO,GAAG,SAAS;QACzB,KAAK;AACL,QAAA,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,KAAI;AAC/D,YAAA,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE;AAClC,YAAA,OAAO,CAAC;AACN,kBAAE;AACE,oBAAA,GAAG,IAAI;oBACP,UAAU,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CACtD,IAAI,CAAC,UAAU,EACf,SAAS;AAEZ;kBACD,IAAI;AACV,QAAA,CAAC,CAAC;AACF,QAAA,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;AAChD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,IAAI,EAAE;AACP,SAAA,CAAC,CAAC;QACH,aAAa;QACb,OAAO;QACP,OAAO;QACP,QAAQ;QACR,eAAe;QACf,SAAS;QACT,KAAK;QACL,MAAM;QACN;KACD;AACH;;AC5VA;;;;;;AAMG;AACI,eAAe,MAAM,CAAC,OAA0B,EAAA;AACrD,IAAA,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;AAC7C,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK;AACrC,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK;;AAGvC,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,KAAK,QAAQ;AAC1C,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAC7B,SAAA,GAAG,CAAC,CAAC,YAA8B,KAAI;;AAEtC,QAAA,MAAM,MAAM,GAAG,YAAY,CAAC;AACzB,aAAA,GAAG,CACF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KACP,CAAA,EAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;aAE5E,IAAI,CAAC,GAAG,CAAC;;QAGZ,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC;QACvD,MAAM,YAAY,GAAG;AACnB,cAAE;AACU,kBAAA,EAAA,QAAQ,CAAA,CAAA;cAClB,EAAE;QAEN,MAAM,YAAY,GAAG;AACnB,cAAE,CAAA;AACG,WAAA,EAAA,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAA;AACtB,cAAA,EAAA,YAAY,CAAC,KAAK,CAAA;AACzB,QAAA;AACD,cAAE,CAAA;aACG,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;aAC1B,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;iBACtB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAA;kBAClB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAA;AACrB,cAAA,EAAA,YAAY,CAAC,KAAK,CAAA;SACzB;QAEH,OAAO,CAAA,gBAAA,EAAmB,YAAY,CAAC,IAAI,CAAA;QACzC,YAAY;;;;;AAKF,gBAAA,EAAA,MAAM,IAAI,YAAY;AACzB,aAAA,EAAA,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;;;SAGxC;AACL,IAAA,CAAC;SACA,IAAI,CAAC,IAAI,CAAC;;;AAIb,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC;AACzB,SAAA,GAAG,CACF,CAAC,EAAE,QAAQ,EAAE,KACX,CAAA,aAAA,EAAgB,QAAQ,CAAA,QAAA,EAAW,MAAM,CAAC,SAAS,MAAM;SAE5D,IAAI,CAAC,IAAI,CAAC;AAEb,IAAA,MAAM,YAAY,GAAG;AACO,4BAAA,EAAA,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA,EAAA,EAAK,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,WAAW,KAAK,CAAA;IAC7G,YAAY;SACP;IAEP,OAAO,CAAA;;aAEI,QAAQ,CAAA;cACP,SAAS,CAAA;AACJ,iBAAA,EAAA,QAAQ,IAAI,SAAS,CAAA;;AAErB,iBAAA,EAAA,QAAQ,CAAA,UAAA,EAAa,SAAS,CAAA,QAAA,EAAW,MAAM,CAAC,eAAe,CAAA;IAC9E,gBAAgB;IAChB,YAAY;SACP;AACT;;ACjFA;AACA,SAAS,iBAAiB,CAAC,IAAY,EAAA;IACrC,MAAM,GAAG,GAAGC,QAAa,CAAC,IAAI,CAAC;AAC/B,IAAA,IAAI,CAAC,GAAG;AAAE,QAAA,OAAO,SAAS;AAC1B,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;AACzB,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,CAAA,OAAA,EAAU,IAAI,CAAA,yBAAA,EAA4B,GAAG,CAAA,CAAA,CAAG,CAAC;IACnE;AACA,IAAA,OAAO,KAAK;AACd;AAEA;AACA,SAAS,YAAY,CAAC,IAAY,EAAA;IAChC,MAAM,GAAG,GAAGA,QAAa,CAAC,IAAI,CAAC;AAC/B,IAAA,IAAI,CAAC,GAAG;AAAE,QAAA,OAAO,SAAS;AAC1B,IAAA,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,CAAA,OAAA,EAAU,IAAI,CAAA,kCAAA,EAAqC,GAAG,CAAA,CAAA,CAAG,CAAC;IAC5E;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;;;;;;;;;;;;;;AAcG;AACI,eAAe,GAAG,GAAA;AACvB,IAAA,IAAI;AACF,QAAA,MAAM,QAAQ,GAAWA,QAAa,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,GAAWA,QAAa,CAAC,MAAM,CAAC,IAAI,QAAQ;QACtD,MAAM,UAAU,GAAWA,QAAa,CAAC,aAAa,CAAC,IAAI,aAAa;AACxE,QAAA,MAAM,QAAQ,GAAW,QAAQ,CAACA,QAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACzE,MAAM,KAAK,GAAIA,QAAa,CAAC,OAAO,CAAyB,IAAI,QAAQ;AACzE,QAAA,MAAM,OAAO,GAAW,QAAQ,CAACA,QAAa,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACvE,MAAM,eAAe,GACnBA,QAAa,CAAC,kBAAkB,CAAC,IAAI,aAAa;QACpD,MAAM,SAAS,GAAWA,QAAa,CAAC,YAAY,CAAC,IAAI,OAAO;AAChE,QAAA,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC;AACvE,QAAA,MAAM,oBAAoB,GAAG,YAAY,CAAC,uBAAuB,CAAC;AAClE,QAAA,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACxC,QAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAC1C,QAAA,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;AACtC,QAAA,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAC9C,MAAM,QAAQ,GAAGA,QAAa,CAAC,WAAW,CAAC;AAE3C,QAAAC,IAAS,CAAC,oCAAoC,QAAQ,CAAA,CAAE,CAAC;AACzD,QAAAA,IAAS,CACP,CAAA,OAAA,EAAU,IAAI,iBAAiB,QAAQ,CAAA,SAAA,EAAY,KAAK,CAAA,YAAA,EAAe,OAAO,CAAA,cAAA,EAAiB,eAAe,iBAAiB,SAAS,CAAA,CAAE,CAC3I;AAED,QAAA,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC;YACvB,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,KAAK;YACL,OAAO;YACP,eAAe;YACf,SAAS;AACT,YAAA,IAAI,oBAAoB,KAAK,SAAS,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC;AACvE,YAAA,IAAI,oBAAoB,KAAK,SAAS,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC;AACvE,YAAA,IAAI,KAAK,KAAK,SAAS,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACzC,YAAA,IAAI,MAAM,KAAK,SAAS,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC3C,YAAA,IAAI,IAAI,KAAK,SAAS,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACvC,YAAA,IAAI,QAAQ,KAAK,SAAS,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC/C,YAAA,IAAI,QAAQ,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;AACvC,SAAA,CAAC;AAEF,QAAA,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACnD,QAAA,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC;AACvC,QAAAA,IAAS,CAAC,mBAAmB,UAAU,CAAA,CAAE,CAAC;AAE1C,QAAAC,SAAc,CAAC,UAAU,EAAE,UAAU,CAAC;IACxC;IAAE,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK;AAAE,YAAAC,SAAc,CAAC,KAAK,CAAC,OAAO,CAAC;IAC3D;AACF;;AC1FA;;;AAGG;AAGH;AACA,GAAG,EAAE","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]} \ No newline at end of file diff --git a/package.json b/package.json index 47ff4d0..393d758 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "github-gravity", "description": "Generate an animated SVG of your GitHub contribution graph falling under gravity, with custom text as collision obstacles", - "version": "1.0.0", + "version": "2.0.0", "author": "flycran", "type": "module", "private": true, @@ -31,6 +31,8 @@ "scripts": { "bundle": "bun biome check --write . && npm run package", "ci-test": "bun test", + "build:web": "bun build src/web/index.html --outdir dist-web --minify", + "compare": "bun scripts/compare.ts", "coverage": "npx make-coverage-badge --output-path ./badges/coverage.svg", "format:write": "bun biome format --write .", "format:check": "bun biome format .", @@ -67,4 +69,4 @@ "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "*" } -} \ No newline at end of file +} diff --git a/rollup.config.ts b/rollup.config.ts index 73e7653..9897bfb 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -14,7 +14,7 @@ const config = { }, plugins: [ typescript({ - tsconfig: 'tsconfig.bun.json', + tsconfig: 'tsconfig.json', compilerOptions: { composite: false } }), nodeResolve({ preferBuiltins: true }), diff --git a/scripts/compare.ts b/scripts/compare.ts new file mode 100644 index 0000000..af4fcbf --- /dev/null +++ b/scripts/compare.ts @@ -0,0 +1,92 @@ +/** + * Compression benchmark: fetches real contribution data via the GitHub API, + * simulates with compression disabled to obtain the raw trajectories, then + * compares the DP / RDP / Greedy algorithms over several tolerances. + * + * 文件名不带 .test 后缀,避免被 bun test(CI)收集:真实接口调用 + 物理模拟太慢。 + * 手动运行:bun run compare + */ + +import { maxLerpDeviation, sumSpans } from '../__tests__/simplifyHelpers' +import { startSimulation } from '../src/physics' +import { + CompressedTrajectoryPoint, + simplifyTrajectoryDP, + simplifyTrajectoryGreedy, + simplifyTrajectoryRDP +} from '../src/utils/simplifyTrajectory' + +type Point = { x: number; y: number } +type SimplifyFn = ( + trajectory: Point[], + tolerance: number +) => CompressedTrajectoryPoint[] + +const algorithms: [string, SimplifyFn][] = [ + ['DP', simplifyTrajectoryDP], + ['RDP', simplifyTrajectoryRDP], + ['Greedy', simplifyTrajectoryGreedy] +] + +// 与 physics.ts 相同的换算:容差以 SVG 像素输入,除以 SCALE 转为物理坐标单位 +const SCALE = 3 +const tolerances = [0.5 / SCALE, 1.5 / SCALE, 3 / SCALE] + +// 禁用压缩拿到原始轨迹(不含 span),压缩与计时都在本脚本内进行 +const simulation = await startSimulation({ + username: 'Orta', + disableCompression: true +}) + +const tracks = simulation.contributions.map((c) => c.trajectory) +const totalPoints = tracks.reduce((sum, t) => sum + t.length, 0) +console.log( + `${tracks.length} trajectories, ${totalPoints} points total, ` + + `avg ${Math.round(totalPoints / tracks.length)} points/track, ` + + `${Math.round(simulation.stepCount)} steps` +) + +interface Row { + algorithm: string + 'tolerance(px)': string + 'avg keyframes': number + compression: string + 'max deviation': number + 'runtime(ms)': number +} + +const rows: Row[] = [] + +for (const [name, simplify] of algorithms) { + for (const tolerance of tolerances) { + let kept = 0 + let maxDeviation = 0 + const start = performance.now() + + for (const track of tracks) { + const result = simplify(track, tolerance) + kept += result.length + if (sumSpans(result) !== track.length - 1) { + throw new Error(`${name}: span sum mismatch`) + } + const deviation = maxLerpDeviation(track, result) + if (deviation > tolerance + 1e-9) { + throw new Error( + `${name}: deviation ${deviation} exceeds tolerance ${tolerance}` + ) + } + maxDeviation = Math.max(maxDeviation, deviation) + } + + rows.push({ + algorithm: name, + 'tolerance(px)': (tolerance * SCALE).toFixed(2), + 'avg keyframes': +(kept / tracks.length).toFixed(1), + compression: `${(totalPoints / kept).toFixed(1)}x`, + 'max deviation': +maxDeviation.toFixed(4), + 'runtime(ms)': +(performance.now() - start).toFixed(1) + }) + } +} + +console.table(rows) diff --git a/src/app.ts b/src/app.ts index 4802b00..1bc03e2 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,8 +1,42 @@ import { gensvg } from './gensvg' -import { startSimulation } from './physics' -import { GITHUB_ID, TEXT } from './utils' +import type { SimulationOptions } from './physics' +import { GITHUB_ID } from './utils' import pageApp from './web/index.html' +/** 把 /svg 的查询参数解析为模拟选项,缺失或非法值回退到 startSimulation 的默认值 */ +function parseOptions(url: URL): SimulationOptions { + const params = url.searchParams + const str = (key: string): string | undefined => { + const raw = params.get(key)?.trim() + return raw ? raw : undefined + } + const num = (key: string): number | undefined => { + const raw = str(key) + if (!raw) return undefined + const value = Number(raw) + return Number.isFinite(value) ? value : undefined + } + return { + username: str('username') ?? GITHUB_ID, + text: str('text'), + shape: params.get('shape') === 'square' ? 'square' : 'circle', + backgroundColor: str('backgroundColor'), + textColor: str('textColor'), + stepTime: num('stepTime'), + compressionTolerance: num('compressionTolerance'), + compressionAlgorithm: ['DP', 'RDP', 'Greedy'].includes( + params.get('compressionAlgorithm') ?? '' + ) + ? (params.get('compressionAlgorithm') as 'DP' | 'RDP' | 'Greedy') + : undefined, + disableCompression: ['1', 'true'].includes( + params.get('disableCompression') ?? '' + ), + fontSize: num('fontSize'), + textTop: num('textTop') + } +} + Bun.serve({ port: 3000, development: { @@ -11,26 +45,18 @@ Bun.serve({ }, routes: { '/': pageApp, - '/trajectory': async () => { - return Response.json( - await startSimulation({ - username: GITHUB_ID, - text: TEXT, - sampleRate: 8, - backgroundColor: '#fff', - textColor: '#eb510a' + '/svg': async (req) => { + try { + const svg = await gensvg(parseOptions(new URL(req.url))) + return new Response(svg, { + headers: { 'Content-Type': 'image/svg+xml' } }) - ) - }, - '/svg': async () => { - const svg = await gensvg({ - username: GITHUB_ID, - text: TEXT, - sampleRate: 8 - }) - return new Response(svg, { - headers: { 'Content-Type': 'image/svg+xml' } - }) + } catch (err) { + return Response.json( + { error: err instanceof Error ? err.message : String(err) }, + { status: 500 } + ) + } } } }) diff --git a/src/gensvg.ts b/src/gensvg.ts index ed37588..c358f20 100644 --- a/src/gensvg.ts +++ b/src/gensvg.ts @@ -1,6 +1,6 @@ import { SimulationOptions, startSimulation } from './physics' -import type { ContributionJson, SimulationResult } from './utils' -import { HEIGHT, SCALE, SIZE, WIDTH } from './utils' +import { ContributionJson, SCALE } from './utils' +import { buildKeyTimes } from './utils/simplifyTrajectory' /** * 生成贡献方块重力模拟的 SVG 动画字符串。 @@ -10,12 +10,9 @@ import { HEIGHT, SCALE, SIZE, WIDTH } from './utils' * @returns 完整的 SVG 字符串 */ export async function gensvg(options: SimulationOptions): Promise { - const backgroundColor = options.backgroundColor || 'transparent' - const textColor = options.textColor || 'black' - const result: SimulationResult = await startSimulation(options) - - const svgWidth = WIDTH * SCALE - const svgHeight = HEIGHT * SCALE + const result = await startSimulation(options) + const svgWidth = result.width * SCALE + const svgHeight = result.height * SCALE // 生成每个贡献方块的 SVG 元素 const isCircle = result.shape === 'circle' @@ -25,57 +22,66 @@ export async function gensvg(options: SimulationOptions): Promise { const values = contribution.trajectory .map( ({ x, y }) => - `${+(x * SCALE).toFixed(2)},${+((HEIGHT - y) * SCALE).toFixed(2)}` + `${+(x * SCALE).toFixed(2)},${+((result.height - y) * SCALE).toFixed(2)}` ) .join(';') + // 开启压缩后各段时间跨度不同,需要 keyTimes 还原真实节奏;未压缩时为 null,走 SMIL 默认均分 + const keyTimes = buildKeyTimes(contribution.trajectory) + const keyTimesAttr = keyTimes + ? ` + keyTimes="${keyTimes}"` + : '' + const shapeElement = isCircle ? `` + r="${(result.size / 2) * SCALE}" + fill="${contribution.color}" + />` : `` + x="${-(result.size / 2) * SCALE}" + y="${-(result.size / 2) * SCALE}" + width="${result.size * SCALE}" + height="${result.size * SCALE}" + fill="${contribution.color}" + />` return ` - ${shapeElement} - - ` + ${shapeElement} + + ` }) .join('\n') // 用 path 渲染文字路径,与物理碰撞体坐标对齐 - // opentype 坐标 → SVG 坐标: svgX = (opentypeX + offsetX) * SCALE, svgY = (HEIGHT - centerY + opentypeY) * SCALE + // opentype 坐标 → SVG 坐标: svgX = (opentypeX + offsetX) * SCALE, svgY = (height - centerY + opentypeY) * SCALE const textPathsSvg = result.textPaths - .map(({ pathData }) => ` `) + .map( + ({ pathData }) => + ` ` + ) .join('\n') const textGroupSvg = ` - -${textPathsSvg} - ` + + ${textPathsSvg} + ` - const svg = ` - -${contributionsSvg} -${textGroupSvg} -` - return svg + return ` + + ${contributionsSvg} + ${textGroupSvg} + ` } diff --git a/src/main.ts b/src/main.ts index 634cf67..2fd936e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,6 +3,27 @@ import { dirname } from 'node:path' import * as core from '@actions/core' import { gensvg } from './gensvg.js' +/** 读取可选数字输入,未填写时返回 undefined,由库使用默认值 */ +function getOptionalNumber(name: string): number | undefined { + const raw = core.getInput(name) + if (!raw) return undefined + const value = Number(raw) + if (Number.isNaN(value)) { + throw new Error(`Input "${name}" must be a number, got "${raw}"`) + } + return value +} + +/** 读取压缩算法输入,未填写时返回 undefined;非法值直接报错 */ +function getAlgorithm(name: string): 'Greedy' | 'DP' | 'RDP' | undefined { + const raw = core.getInput(name) + if (!raw) return undefined + if (raw !== 'Greedy' && raw !== 'DP' && raw !== 'RDP') { + throw new Error(`Input "${name}" must be Greedy, DP or RDP, got "${raw}"`) + } + return raw +} + /** * GitHub Action 入口:生成 GitHub 贡献图重力跌落动画 SVG。 * @@ -11,7 +32,9 @@ import { gensvg } from './gensvg.js' * - text: 显示的文字,默认为 username * - output-path: SVG 输出路径,默认为 gravity.svg * - font-size: 文字大小,默认为 80 - * - sample-rate: 轨迹采样率,默认为 4 + * - compression-tolerance: 轨迹压缩容差(SVG 像素),默认为 0.5 + * - compression-algorithm: 轨迹压缩算法(Greedy / DP / RDP),默认为 Greedy + * - width / height / size / interval / font-path: 高级自定义项,改动影响渲染效果 * * 输出: * - svg-path: 生成的 SVG 文件路径 @@ -22,27 +45,39 @@ export async function run(): Promise { const text: string = core.getInput('text') || username const outputPath: string = core.getInput('output-path') || 'gravity.svg' const fontSize: number = parseInt(core.getInput('font-size') || '80', 10) - const sampleRate: number = parseInt(core.getInput('sample-rate') || '4', 10) const shape = (core.getInput('shape') as 'square' | 'circle') || 'circle' const textTop: number = parseInt(core.getInput('text-top') || '50', 10) const backgroundColor: string = core.getInput('background-color') || 'transparent' const textColor: string = core.getInput('text-color') || 'black' + const compressionTolerance = getOptionalNumber('compression-tolerance') + const compressionAlgorithm = getAlgorithm('compression-algorithm') + const width = getOptionalNumber('width') + const height = getOptionalNumber('height') + const size = getOptionalNumber('size') + const interval = getOptionalNumber('interval') + const fontPath = core.getInput('font-path') core.info(`Generating gravity SVG for user: ${username}`) core.info( - `Text: "${text}", Font size: ${fontSize}, Sample rate: ${sampleRate}, Shape: ${shape}, Text top: ${textTop}, Background: ${backgroundColor}, Text color: ${textColor}` + `Text: "${text}", Font size: ${fontSize}, Shape: ${shape}, Text top: ${textTop}, Background: ${backgroundColor}, Text color: ${textColor}` ) const svg = await gensvg({ username, text, fontSize, - sampleRate, shape, textTop, backgroundColor, - textColor + textColor, + ...(compressionTolerance !== undefined ? { compressionTolerance } : {}), + ...(compressionAlgorithm !== undefined ? { compressionAlgorithm } : {}), + ...(width !== undefined ? { width } : {}), + ...(height !== undefined ? { height } : {}), + ...(size !== undefined ? { size } : {}), + ...(interval !== undefined ? { interval } : {}), + ...(fontPath ? { font: fontPath } : {}) }) mkdirSync(dirname(outputPath), { recursive: true }) diff --git a/src/parseTextPath.ts b/src/parseTextPath.ts index 94ce107..e5e3412 100644 --- a/src/parseTextPath.ts +++ b/src/parseTextPath.ts @@ -1,5 +1,3 @@ -import { readFileSync } from 'node:fs' -import { fileURLToPath } from 'node:url' import earcut from 'earcut' import * as opentype from 'opentype.js' import { pointsOnPath } from 'points-on-path' @@ -23,22 +21,148 @@ function svgPathToRapierTrimesh(path: string, scale = 1, tolerance = 1) { } } -const font = opentype.parse( - readFileSync( - fileURLToPath( - new URL('../public/LiberationSerif-Bold.ttf', import.meta.url) +/** 字体数据来源:本地路径、远程 URL(字符串或 URL 对象),或已读取好的字体数据 */ +export type FontSource = string | URL | Buffer | ArrayBuffer + +/** Buffer / Uint8Array 可能是共享 ArrayBuffer 的一段视图,必须按实际偏移截取副本 */ +function viewToArrayBuffer(view: ArrayBufferView): ArrayBuffer { + return view.buffer.slice( + view.byteOffset, + view.byteOffset + view.byteLength + ) as ArrayBuffer +} + +/** 从本地路径读取字体文件(相对路径按当前工作目录解析) */ +export async function loadFontFromPath(fontPath: string): Promise { + // node 模块按需加载:只有真正读取本地文件时才需要,浏览器环境不会引入它们 + const [{ readFileSync }, { resolve }] = await Promise.all([ + import('node:fs'), + import('node:path') + ]) + // 相对路径按当前工作目录解析:模块自身路径在打包后会被压平,不能作为参照基准 + const resolvedPath = resolve(fontPath) + + try { + return viewToArrayBuffer(readFileSync(resolvedPath)) + } catch (error) { + // 带上底层原因:读取失败可能是文件不存在,解析失败可能是不支持的文件格式 + const reason = error instanceof Error ? error.message : String(error) + throw new Error( + `Failed to load font "${resolvedPath}" (only .ttf/.otf are supported): ${reason}`, + { cause: error } ) - ).buffer as ArrayBuffer -) + } +} + +/** 从 URL 下载字体文件,支持 file: 与 http(s): 协议 */ +export async function loadFontFromUrl( + fontUrl: string | URL +): Promise { + let url: URL + try { + url = new URL(fontUrl) + } catch (error) { + throw new Error(`Invalid font URL: ${fontUrl}`, { cause: error }) + } -export function getTextPaths(text: string, fontSize: number): TextPathResult[] { - const paths = font.getPaths(text, 0, 0, fontSize / SCALE) + // Node 的 fetch 不支持 file: 协议,本地文件改用 fs 读取;浏览器走标准 fetch + if (url.protocol === 'file:') { + const { fileURLToPath } = await import('node:url') + return loadFontFromPath(fileURLToPath(url)) + } + + let response: Response + try { + response = await fetch(url) + } catch (error) { + const reason = error instanceof Error ? error.message : String(error) + throw new Error(`Failed to load font from "${url.href}": ${reason}`, { + cause: error + }) + } + if (!response.ok) { + throw new Error( + `Failed to load font from "${url.href}": ${response.status} ${response.statusText}` + ) + } + return response.arrayBuffer() +} + +/** 把用户传入的字体来源归一化为 opentype.js 可解析的 ArrayBuffer */ +async function resolveFontData(font: FontSource): Promise { + if (font instanceof ArrayBuffer) return font + // isView 同时覆盖 Buffer(Node)与 Uint8Array(浏览器),保持对运行环境无假设 + if (ArrayBuffer.isView(font)) return viewToArrayBuffer(font) + // http(s) 开头的字符串视为远程 URL,其余字符串视为本地路径 + if (font instanceof URL || /^https?:\/\//i.test(font)) { + return loadFontFromUrl(font) + } + return loadFontFromPath(font) +} + +// 先取值再构造 URL,避免打包器把「new URL(字面量, import.meta.url)」识别为资源声明 +// 而重排内置字体的输出位置 +const BUNDLED_FONT_HREF = '../public/LiberationSerif-Bold.ttf' + +/** 内置字体:轮廓闭合规整,能稳定三角化 */ +const DEFAULT_FONT = new URL(BUNDLED_FONT_HREF, import.meta.url) + +/** + * 解析文字为可渲染的轮廓路径,同时产出 SVG 用的 pathData 与物理用的三角网格。 + * + * @param font 字体来源(.ttf/.otf):本地路径、URL、URL 字符串,或 + * Buffer / ArrayBuffer(如 `files[0].arrayBuffer()` 的结果);省略时用内置字体 + */ +export async function getTextPaths( + text: string, + fontSize: number, + font: FontSource = DEFAULT_FONT +): Promise { + // 加载失败的原样冒泡:loadFontFromPath / loadFontFromUrl 已给出带来源的消息 + const fontData = await resolveFontData(font) + + let opentypeFont: opentype.Font + try { + opentypeFont = opentype.parse(fontData) + } catch (error) { + // 带上底层原因:解析失败可能是不支持的文件格式,也可能是 opentype.js 无法处理该字体的 GSUB 表 + const reason = error instanceof Error ? error.message : String(error) + throw new Error( + `Failed to load font "${describeFont(font)}" (only .ttf/.otf are supported): ${reason}`, + { cause: error } + ) + } + + // opentype.js 的表结构是懒解析的,GSUB 等高级表的问题要等到取字形时才暴露 + let paths: opentype.Path[] + try { + paths = opentypeFont.getPaths(text, 0, 0, fontSize / SCALE) + } catch (error) { + const reason = error instanceof Error ? error.message : String(error) + throw new Error( + `Failed to read glyphs from font "${describeFont(font)}": ${reason}`, + { cause: error } + ) + } return paths.map((path) => { const bbox = path.getBoundingBox() const pathData = path.toPathData(2) + + let triangulated: ReturnType + try { + triangulated = svgPathToRapierTrimesh(pathData) + } catch (error) { + throw new Error( + `Failed to triangulate a glyph from font "${describeFont(font)}". ` + + 'Some fonts contain open or self-intersecting contours that the ' + + 'triangulation algorithm cannot handle.', + { cause: error } + ) + } + return { - paths: svgPathToRapierTrimesh(pathData), + paths: triangulated, pathData: pathData, rect: { x: bbox.x1, @@ -49,3 +173,10 @@ export function getTextPaths(text: string, fontSize: number): TextPathResult[] { } }) } + +/** 生成字体来源的展示名:URL 用 href,路径与二进制数据截取开头 */ +function describeFont(font: FontSource): string { + if (font instanceof URL) return font.href + if (typeof font === 'string') return font + return 'custom font data' +} diff --git a/src/physics.ts b/src/physics.ts index 6105a00..bd8f152 100644 --- a/src/physics.ts +++ b/src/physics.ts @@ -5,20 +5,40 @@ import { RigidBodyDesc, World } from '@dimforge/rapier2d-compat' -import { - fetchContributions, - INTENSITY_COLORS, - RawContributionDay -} from './github-contributions' -import { getTextPaths } from './parseTextPath' +import { FontSource, getTextPaths } from './parseTextPath' import { ContributionJson, HEIGHT, INTERVAL, + SCALE, SIZE, SimulationResult, WIDTH } from './utils' +import { + fetchContributions, + INTENSITY_COLORS, + RawContributionDay +} from './utils/githubContributions' +import { + CompressedTrajectoryPoint, + simplifyTrajectoryDP, + simplifyTrajectoryGreedy, + simplifyTrajectoryRDP +} from './utils/simplifyTrajectory' + +/** 压缩算法名 → 实现,供 compressionAlgorithm 选项分发 */ +const COMPRESSION_ALGORITHMS: Record< + NonNullable, + ( + trajectory: { x: number; y: number }[], + tolerance: number + ) => CompressedTrajectoryPoint[] +> = { + DP: simplifyTrajectoryDP, + RDP: simplifyTrajectoryRDP, + Greedy: simplifyTrajectoryGreedy +} export class Contribution implements ContributionJson { date: string @@ -32,19 +52,11 @@ export class Contribution implements ContributionJson { }[] collider: Collider - private sampleRate: number - private stepCounter: number - constructor( - contributionDay: RawContributionDay, - collider: Collider, - sampleRate: number - ) { + constructor(contributionDay: RawContributionDay, collider: Collider) { this.collider = collider this.date = contributionDay.date this.color = INTENSITY_COLORS[contributionDay.intensity] - this.sampleRate = sampleRate - this.stepCounter = 0 const pos = collider.translation() this.x = pos.x this.y = pos.y @@ -52,8 +64,6 @@ export class Contribution implements ContributionJson { } update() { - this.stepCounter++ - if (this.stepCounter % this.sampleRate !== 0) return const pos = this.collider.translation() this.x = pos.x this.y = pos.y @@ -73,7 +83,7 @@ export class Contribution implements ContributionJson { } } -async function createWord() { +async function createWord(width: number, height: number) { await init() // 重力 const world = new World({ x: 0.0, y: -30 }) @@ -81,16 +91,16 @@ async function createWord() { // 地面 world.createCollider( - ColliderDesc.cuboid(WIDTH, 1), + ColliderDesc.cuboid(width, 1), world.createRigidBody(RigidBodyDesc.fixed().setTranslation(0, -1)) ) // 墙壁 world.createCollider( - ColliderDesc.cuboid(1, HEIGHT), - world.createRigidBody(RigidBodyDesc.fixed().setTranslation(WIDTH, 0)) + ColliderDesc.cuboid(1, height), + world.createRigidBody(RigidBodyDesc.fixed().setTranslation(width, 0)) ) world.createCollider( - ColliderDesc.cuboid(1, HEIGHT), + ColliderDesc.cuboid(1, height), world.createRigidBody(RigidBodyDesc.fixed().setTranslation(-1, 0)) ) @@ -109,14 +119,53 @@ export interface SimulationOptions { fontSize?: number /** 一步的时间,单位为ms,越小速度越快 */ stepTime?: number - /** 轨迹采样率,每隔 N 步记录一个轨迹点。默认为 1(不采样)。值越大,SVG 越小 */ - sampleRate?: number + /** + * 轨迹压缩容差,单位 SVG 像素。播放时每个原始时刻的插值位置与真实位置的 + * 偏差不超过该值;0 为完全无损(位置与节奏都精确),仅压缩匀速直线段和静止段。 + */ + compressionTolerance?: number + /** 禁用轨迹压缩,保留完整轨迹 */ + disableCompression?: boolean + /** + * 轨迹压缩算法:Greedy(单遍贪心,快,默认)、DP(动态规划全局最优,长轨迹秒级)、 + * RDP(时空版 Ramer-Douglas-Peucker,最快,关键帧略多) + */ + compressionAlgorithm?: 'Greedy' | 'DP' | 'RDP' /** 贡献方块的形状:circle(圆形)或 square(方形)。圆形物理模拟更丝滑,不容易穿模。 */ shape?: 'circle' | 'square' /** 背景颜色,默认透明 */ backgroundColor?: string /** 文字颜色,默认黑色 */ textColor?: string + /** + * 物理世界宽度,默认 300。 + * 谨慎修改:方块横向布局、文字居中位置与最终 SVG 宽度都由它推算,改动后请自行核对效果 + */ + width?: number + /** + * 物理世界高度,默认 150。 + * 谨慎修改:方块起始高度、文字纵向位置与最终 SVG 高度都由它推算,改动后请自行核对效果 + */ + height?: number + /** + * 贡献方块边长,默认 4。 + * 谨慎修改:边长越大越容易相互挤压甚至穿透文字,改动后请自行核对效果 + */ + size?: number + /** + * 贡献方块间距,默认 1.5。 + * 谨慎修改:间距过小会互相堆叠,过大会超出世界边界,改动后请自行核对效果 + */ + interval?: number + /** + * 自定义字体(.ttf/.otf):本地路径、远程 URL(字符串或 URL 对象),或 + * 已读取好的 Buffer / ArrayBuffer(如 `files[0].arrayBuffer()` 的结果), + * 默认使用内置的 Liberation Serif Bold。 + * 谨慎修改:部分字体存在未闭合或自相交的轮廓,操作系统渲染时会自动忽略这些瑕疵, + * 但本项目的轮廓三角化算法会直接报错;另有部分字体因 opentype.js 的 GSUB 解析限制无法使用。 + * 字体度量差异也可能导致文字位置和碰撞形态需要重新调整 + */ + font?: FontSource } export async function startSimulation({ @@ -125,16 +174,27 @@ export async function startSimulation({ textTop = 50, fontSize = 80, stepTime = 8, - sampleRate = 4, shape = 'circle', backgroundColor = 'transparent', - textColor = 'black' + textColor = 'black', + compressionTolerance = 0.5, + disableCompression = false, + compressionAlgorithm = 'Greedy', + width = WIDTH, + height = HEIGHT, + size = SIZE, + interval = INTERVAL, + font }: SimulationOptions): Promise { - const world = await createWord() + const world = await createWord(width, height) const contributionsSet = new Set() + // 容差从 SVG 像素换算回物理坐标单位,让压缩函数与渲染缩放解耦; + // 显式禁用压缩时保留原始轨迹,消费端回退到 SMIL 默认均分时间 + const tolerance = compressionTolerance / SCALE + // 创建用户名文字静止刚体(居中对齐),同时收集三角网格数据 - const textPaths = getTextPaths(text, fontSize) + const textPaths = await getTextPaths(text, fontSize, font) // 计算所有字形的整体包围盒(翻转 Y 轴后) let minX = Infinity, @@ -151,9 +211,9 @@ export async function startSimulation({ if (top > maxY) maxY = top } const bboxCenterX = (minX + maxX) / 2 - const offsetX = WIDTH / 2 - bboxCenterX + const offsetX = width / 2 - bboxCenterX // 文字顶部距离世界顶部的距离 - const centerY = HEIGHT - textTop - maxY + const centerY = height - textTop - maxY const textTriangles: number[][] = [] for (const { paths } of textPaths) { @@ -191,9 +251,9 @@ export async function startSimulation({ const githubContributions = await fetchContributions(username) const rowLen = githubContributions.contributions.length - const rowWidth = SIZE * rowLen + INTERVAL * (rowLen - 1) - const left = (WIDTH - rowWidth) / 2 - const top = HEIGHT * 1 + const rowWidth = size * rowLen + interval * (rowLen - 1) + const left = (width - rowWidth) / 2 + const top = height * 1 for (let rowIndex = 0; rowIndex < rowLen; rowIndex++) { const col = githubContributions.contributions[rowIndex] @@ -207,13 +267,13 @@ export async function startSimulation({ const dayOfWeek = new Date(contributionDay.date).getDay() if (contributionDay.count) { - const x = left + (INTERVAL + SIZE) * rowIndex - const y = top + (INTERVAL + SIZE) * dayOfWeek + const x = left + (interval + size) * rowIndex + const y = top + (interval + size) * dayOfWeek // 动态刚体:圆形物理模拟更丝滑,不容易穿模 const colliderDesc = shape === 'square' - ? ColliderDesc.cuboid(SIZE / 2, SIZE / 2).setFriction(0.2) - : ColliderDesc.ball(SIZE / 2).setFriction(0.2) + ? ColliderDesc.cuboid(size / 2, size / 2).setFriction(0.2) + : ColliderDesc.ball(size / 2).setFriction(0.2) const boxCollider = world.createCollider( colliderDesc, world.createRigidBody( @@ -221,9 +281,7 @@ export async function startSimulation({ ) ) - contributionsSet.add( - new Contribution(contributionDay, boxCollider, sampleRate) - ) + contributionsSet.add(new Contribution(contributionDay, boxCollider)) } } } @@ -266,9 +324,18 @@ export async function startSimulation({ stepCount, time: endTime - startTime, shape, - contributions: Array.from(contributionsSet).map((contribution) => - contribution.toJSON() - ), + contributions: Array.from(contributionsSet).map((contribution) => { + const json = contribution.toJSON() + return !disableCompression + ? { + ...json, + trajectory: COMPRESSION_ALGORITHMS[compressionAlgorithm]( + json.trajectory, + tolerance + ) + } + : json + }), textPaths: textPaths.map(({ pathData, rect }) => ({ pathData: pathData, rect: rect @@ -278,6 +345,9 @@ export async function startSimulation({ centerY, stepTime, backgroundColor, - textColor + textColor, + width, + height, + size } } diff --git a/src/github-contributions.ts b/src/utils/githubContributions.ts similarity index 100% rename from src/github-contributions.ts rename to src/utils/githubContributions.ts diff --git a/src/utils/index.ts b/src/utils/index.ts index 0d2786c..72f9a44 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -20,13 +20,20 @@ export interface TextPathResult { } } +export interface Point { + x: number + y: number + /** + * 启用压缩时,该点与前一个保留点的原始索引差,用于还原关键帧的时间位置; + * 未压缩时不存在,消费端回退到 SMIL 默认的均分时间 + */ + span?: number +} + export interface ContributionJson { date: string color: string - trajectory: { - x: number - y: number - }[] + trajectory: Point[] } export interface SimulationResult { @@ -48,4 +55,10 @@ export interface SimulationResult { backgroundColor: string /** 文字颜色 */ textColor: string + /** 物理世界宽度,渲染时换算成 SVG 宽度 */ + width: number + /** 物理世界高度,同时用于坐标 Y 轴翻转 */ + height: number + /** 贡献方块边长,决定渲染出的方块尺寸 */ + size: number } diff --git a/src/utils/simplifyTrajectory.ts b/src/utils/simplifyTrajectory.ts new file mode 100644 index 0000000..dd282e1 --- /dev/null +++ b/src/utils/simplifyTrajectory.ts @@ -0,0 +1,254 @@ +export interface CompressedTrajectoryPoint { + x: number + y: number + /** + * 与前一个保留点之间的原始轨迹点数(首点为 0)。 + * 全部 span 之和等于原始点数 - 1,消费端可累计 span 还原每个关键帧的时间位置 + */ + span: number +} + +type Point = { x: number; y: number } + +/** + * 点 i 相对段 (s, e) 的时刻插值偏差平方。 + * 播放时相邻关键帧按时间比例线性插值,该值即 i 时刻的插值位置与真实位置的距离平方。 + * 度量含时间维:匀速直线段可整体并段,变速段会自动保留关键帧,速度随位置一同保真。 + */ +function deviationSq(p: Point, s: Point, e: Point, t: number): number { + const dx = p.x - (s.x + (e.x - s.x) * t) + const dy = p.y - (s.y + (e.y - s.y) * t) + return dx * dx + dy * dy +} + +/** + * 段 (s, e) 内各点的最大时刻插值偏差平方,与 limitSq 比较可全程避免开方。 + * 任一点超限立即返回 Infinity(提前终止,长不可行段的开销为常数级)。 + */ +function segmentMaxDeviationSq( + trajectory: Point[], + s: number, + e: number, + limitSq: number +): number { + let max = 0 + const denom = e - s + for (let i = s + 1; i < e; i++) { + const d = deviationSq( + trajectory[i], + trajectory[s], + trajectory[e], + (i - s) / denom + ) + if (d > limitSq) return Infinity + if (d > max) max = d + } + return max +} + +function assertTolerance(tolerance: number): void { + if (tolerance < 0) { + throw new Error(`tolerance must be >= 0, got ${tolerance}`) + } +} + +/** 把保留标记转为输出:保序,span 为相邻保留点的原始索引差 */ +function collectResult( + trajectory: Point[], + keep: boolean[] +): CompressedTrajectoryPoint[] { + const result: CompressedTrajectoryPoint[] = [] + let prevIdx = 0 + for (let i = 0; i < keep.length; i++) { + if (!keep[i]) continue + result.push({ ...trajectory[i], span: i - prevIdx }) + prevIdx = i + } + return result +} + +/** + * 轨迹压缩——动态规划最优分段: + * 在"每个原始点的时刻插值偏差都不超过 tolerance"的约束下, + * 求关键帧数全局最少的分段(等价于 Imai–Iri 最优分段问题的 DP 解法)。 + * + * 保证: + * - 首尾点必保留,返回点按原始顺序排列; + * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance; + * - 相同容差下关键帧数不多于其他策略(全局最优),输出体积最小; + * - span >= 1(首点为 0),span 总和等于原始点数 - 1。 + */ +export function simplifyTrajectoryDP( + trajectory: Point[], + tolerance: number = 0 +): CompressedTrajectoryPoint[] { + assertTolerance(tolerance) + const n = trajectory.length + if (n === 0) return [] + if (n === 1) return [{ ...trajectory[0], span: 0 }] + + const limitSq = tolerance * tolerance + // cost[i]:起点到 i 的最少段数;parent[i]:最优解中 i 的前一个关键帧 + const cost = new Array(n).fill(Infinity) + const parent = new Array(n).fill(-1) + cost[0] = 0 + + for (let i = 1; i < n; i++) { + // j 从近到远:短段检查便宜,且尽早建立 cost[i] 上界以激活剪枝 + for (let j = i - 1; j >= 0; j--) { + // 即使段 (j, i) 可行也不可能给出更优解时,跳过段检查 + if (cost[j] + 1 >= cost[i]) continue + if (segmentMaxDeviationSq(trajectory, j, i, limitSq) > limitSq) continue + cost[i] = cost[j] + 1 + parent[i] = j + } + } + + const keep = new Array(n).fill(false) + for (let i = n - 1; i > 0; i = parent[i]) keep[i] = true + keep[0] = true + return collectResult(trajectory, keep) +} + +/** + * 轨迹压缩——时空版 Ramer-Douglas-Peucker: + * 递归分裂,每次在当前段内找时刻插值偏差最大的点作为新关键帧, + * 直到所有被丢弃点的偏差都落入容差。 + * + * 保证: + * - 首尾点必保留,返回点按原始顺序排列; + * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance; + * - 贪心分裂非全局最优,关键帧数一般多于动态规划; + * - span >= 1(首点为 0),span 总和等于原始点数 - 1。 + */ +export function simplifyTrajectoryRDP( + trajectory: Point[], + tolerance: number = 0 +): CompressedTrajectoryPoint[] { + assertTolerance(tolerance) + const n = trajectory.length + if (n === 0) return [] + if (n === 1) return [{ ...trajectory[0], span: 0 }] + + const keep = new Array(n).fill(false) + keep[0] = keep[n - 1] = true + const limitSq = tolerance * tolerance + + // 显式栈代替递归,栈内为待检查的闭区间 [start, end] + const stack: Array<[number, number]> = [[0, n - 1]] + while (stack.length > 0) { + const [start, end] = stack.pop()! + if (end - start < 2) continue + + // 找开区间内时刻插值偏差最大的点 + let maxSq = 0 + let maxIdx = -1 + for (let i = start + 1; i < end; i++) { + const d = deviationSq( + trajectory[i], + trajectory[start], + trajectory[end], + (i - start) / (end - start) + ) + if (d > maxSq) { + maxSq = d + maxIdx = i + } + } + + // 最大偏差仍在容差内则整段并为一个插值段,否则在最差点处分段 + if (maxSq > limitSq) { + keep[maxIdx] = true + stack.push([start, maxIdx], [maxIdx, end]) + } + } + + return collectResult(trajectory, keep) +} + +/** + * 轨迹压缩——单遍贪心最长段: + * 从当前关键帧出发不断扩展段尾,直到加入下一点会使段内某点的 + * 时刻插值偏差超出容差,此时该段尾即为下一个关键帧。 + * + * 保证: + * - 首尾点必保留,返回点按原始顺序排列; + * - 任意被丢弃点在其原始时刻与相邻关键帧插值位置的偏差不超过 tolerance; + * - 单遍、不回溯,关键帧数通常介于 RDP 与动态规划之间; + * - span >= 1(首点为 0),span 总和等于原始点数 - 1。 + */ +export function simplifyTrajectoryGreedy( + trajectory: Point[], + tolerance: number = 0 +): CompressedTrajectoryPoint[] { + assertTolerance(tolerance) + const n = trajectory.length + if (n === 0) return [] + if (n === 1) return [{ ...trajectory[0], span: 0 }] + + const keep = new Array(n).fill(false) + keep[0] = keep[n - 1] = true + const limitSq = tolerance * tolerance + + let s = 0 + while (s < n - 1) { + // 插值线随段尾变化,段可行性对段尾没有单调性,只能逐步扩展并全段重查 + let e = s + 1 + while ( + e < n - 1 && + segmentMaxDeviationSq(trajectory, s, e + 1, limitSq) <= limitSq + ) { + e++ + } + keep[e] = true + s = e + } + + return collectResult(trajectory, keep) +} + +/** + * 轨迹压缩默认入口——单遍贪心最长段。 + * 真实轨迹上其关键帧数仅比全局最优(simplifyTrajectoryDP)多 1~3%, + * 耗时却低一个数量级:DP 的端点对 × 段检查随轨迹长度超线性膨胀, + * 长轨迹(数千步)会到秒级,Greedy 稳定在毫秒级。 + * 追求极致体积且能接受秒级耗时时可显式改用 simplifyTrajectoryDP。 + * + * tolerance=0 为完全无损:只有插值精确命中的匀速直线段/静止段被合并, + * 位置与播放节奏(速度)都不失真;tolerance>0 时保证播放中 + * 每个原始时刻的插值位置误差不超过 tolerance。 + */ +export function simplifyTrajectory( + trajectory: Point[], + tolerance: number = 0 +): CompressedTrajectoryPoint[] { + return simplifyTrajectoryGreedy(trajectory, tolerance) +} + +/** + * 将简化轨迹的 span 转为 SMIL animateTransform 的 keyTimes 属性值: + * 各关键帧时刻 = span 前缀和占总和的比例,首帧恒为 0、末帧恒为 1。 + * 轨迹未携带 span(未启用压缩)时返回 null,消费端回退到 SMIL 默认均分时间。 + */ +export function buildKeyTimes( + trajectory: { + span?: number + }[] +): string | null { + if (trajectory.length < 2 || trajectory[0].span === undefined) return null + + const total = trajectory.reduce((sum, p) => sum + (p.span ?? 0), 0) + const keyTimes: number[] = [0] + let acc = 0 + for (const p of trajectory.slice(1)) { + acc += p.span ?? 0 + // SMIL 要求 keyTimes 严格递增:归一化后夹到 [prev + 1e-6, 0.999999], + // 避免极长轨迹下小数舍入把相邻值舍成相同 + const prev = keyTimes[keyTimes.length - 1] + const t = +(acc / total).toFixed(6) + keyTimes.push(Math.min(Math.max(t, prev + 1e-6), 0.999999)) + } + // 末帧强制为 1,消除累计浮点误差 + keyTimes[keyTimes.length - 1] = 1 + return keyTimes.join(';') +} diff --git a/src/web/index.html b/src/web/index.html index 43b1074..9d4ea84 100644 --- a/src/web/index.html +++ b/src/web/index.html @@ -1,5 +1,5 @@ - + @@ -7,25 +7,382 @@ name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> - - - + github-gravity player - -
- + +
+
+ + + + + + + + + + +
+ 上传字体 / Upload font +
+ + +
+
+ + +
+ +
+ +
+
+
+ +
+ + + 0.00s / 0.00s +
+ diff --git a/src/web/index.ts b/src/web/index.ts index 9a7de81..ac33e75 100644 --- a/src/web/index.ts +++ b/src/web/index.ts @@ -1,109 +1,223 @@ -import { HEIGHT, SCALE, SIZE, WIDTH } from '../utils' -import type { ContributionJson, SimulationResult } from '../utils/index' - -const trajectoryRes: SimulationResult = await fetch('/trajectory').then((res) => - res.json() -) - -const svg = document.getElementById('canvas') as unknown as SVGSVGElement - -svg.style.width = WIDTH * SCALE + 'px' -svg.style.height = HEIGHT * SCALE + 'px' -svg.setAttribute('viewBox', `0 0 ${svg.style.width} ${svg.style.height}`) - -// 背景 -const background = document.createElementNS( - 'http://www.w3.org/2000/svg', - 'rect' -) -background.setAttribute('width', `${WIDTH * SCALE}`) -background.setAttribute('height', `${HEIGHT * SCALE}`) -background.setAttribute('fill', trajectoryRes.backgroundColor) -svg.appendChild(background) - -function createContribution(contribution: ContributionJson) { - const g = document.createElementNS('http://www.w3.org/2000/svg', 'g') - svg.appendChild(g) - g.setAttribute('data-date', contribution.date) - - const isCircle = trajectoryRes.shape === 'circle' - - if (isCircle) { - const circle = document.createElementNS( - 'http://www.w3.org/2000/svg', - 'circle' - ) as SVGCircleElement - circle.setAttribute('r', `${(SIZE / 2) * SCALE}`) - circle.setAttribute('fill', contribution.color) - g.appendChild(circle) +import { gensvg } from '../gensvg' +import type { SimulationOptions } from '../physics' + +/** 内置字体:浏览器读不到本地文件,直接从仓库获取 */ +const DEFAULT_FONT_URL = + 'https://raw.githubusercontent.com/flycran/github-gravity/main/public/LiberationSerif-Bold.ttf' + +const canvas = document.getElementById('canvas') as HTMLDivElement +const form = document.getElementById('options') as HTMLFormElement +const generateBtn = document.getElementById('generate') as HTMLButtonElement +const playBtn = document.getElementById('play') as HTMLButtonElement +const iconPlay = document.getElementById('icon-play') as HTMLElement +const iconPause = document.getElementById('icon-pause') as HTMLElement +const progress = document.getElementById('progress') as HTMLInputElement +const timeLabel = document.getElementById('time') as HTMLSpanElement +const statsLabel = document.getElementById('stats') as HTMLSpanElement +const fontInput = document.getElementById('font') as HTMLInputElement +const fontLabel = document.getElementById('font-label') as HTMLSpanElement +const fontUrlInput = document.getElementById('font-url') as HTMLInputElement +const clearFontBtn = document.getElementById('clear-font') as HTMLButtonElement + +/** 当前动画总时长(ms),由模拟结果决定 */ +let duration = 0 +let playing = false + +/** 读取表单选项,空值不传,由 startSimulation 回退到默认值 */ +async function readOptions(data: FormData): Promise { + const str = (key: string): string | undefined => { + const value = String(data.get(key) ?? '').trim() + return value === '' ? undefined : value + } + const num = (key: string): number | undefined => { + const raw = str(key) + if (raw === undefined) return undefined + const value = Number(raw) + return Number.isFinite(value) ? value : undefined + } + const algorithm = str('compressionAlgorithm') + const file = data.get('font') + const fontUrl = str('fontUrl') + + return { + username: str('username') ?? '', + text: str('text'), + shape: data.get('shape') === 'square' ? 'square' : 'circle', + backgroundColor: str('backgroundColor'), + textColor: str('textColor'), + stepTime: num('stepTime'), + compressionTolerance: num('compressionTolerance'), + compressionAlgorithm: + algorithm === 'DP' || algorithm === 'RDP' || algorithm === 'Greedy' + ? algorithm + : undefined, + disableCompression: data.get('disableCompression') === 'on', + fontSize: num('fontSize'), + textTop: num('textTop'), + // 优先级:上传的文件 > 填写的 URL > 仓库里的内置字体 + font: + file instanceof File && file.size > 0 + ? await file.arrayBuffer() + : (fontUrl ?? DEFAULT_FONT_URL) + } +} + +function getSvg(): SVGSVGElement | null { + return canvas.querySelector('svg') +} + +function updatePlayIcon() { + iconPlay.toggleAttribute('hidden', playing) + iconPause.toggleAttribute('hidden', !playing) +} + +function renderProgress(ms: number) { + progress.value = String(ms) + timeLabel.textContent = `${(ms / 1000).toFixed(2)}s / ${(duration / 1000).toFixed(2)}s` +} + +// SMIL 文档时间是播放状态的唯一来源,进度条只是它的视图 +function seek(ms: number) { + getSvg()?.setCurrentTime(ms / 1000) + renderProgress(ms) +} + +function tick() { + if (!playing) return + const svg = getSvg() + if (!svg) return + const ms = svg.getCurrentTime() * 1000 + if (ms >= duration) { + // 冻结 SMIL 时钟并钉在末帧,避免文档时间空转 + svg.pauseAnimations() + svg.setCurrentTime(duration / 1000) + playing = false + updatePlayIcon() + renderProgress(duration) + return + } + renderProgress(ms) + requestAnimationFrame(tick) +} + +function togglePlay() { + const svg = getSvg() + if (!svg || duration === 0) return + if (playing) { + svg.pauseAnimations() + playing = false } else { - const rect = document.createElementNS( - 'http://www.w3.org/2000/svg', - 'rect' - ) as SVGRectElement - rect.setAttribute('x', `${-(SIZE / 2) * SCALE}`) - rect.setAttribute('y', `${-(SIZE / 2) * SCALE}`) - rect.setAttribute('width', `${SIZE * SCALE}`) - rect.setAttribute('height', `${SIZE * SCALE}`) - rect.setAttribute('fill', contribution.color) - g.appendChild(rect) + // 播放到末尾后再次播放回到起点 + if (svg.getCurrentTime() * 1000 >= duration) svg.setCurrentTime(0) + svg.unpauseAnimations() + playing = true + requestAnimationFrame(tick) } + updatePlayIcon() +} - const animateTransform = document.createElementNS( - 'http://www.w3.org/2000/svg', - 'animateTransform' - ) - - animateTransform.setAttribute('attributeName', 'transform') - animateTransform.setAttribute('attributeType', 'XML') - animateTransform.setAttribute('type', 'translate') - animateTransform.setAttribute( - 'values', - contribution.trajectory - .map(({ x, y }) => `${x * SCALE},${(HEIGHT - y) * SCALE}`) - .join(';') - ) - animateTransform.setAttribute( - 'dur', - `${trajectoryRes.stepCount * trajectoryRes.stepTime}ms` - ) - animateTransform.setAttribute('fill', 'freeze') - - g.appendChild(animateTransform) +/** 动画总时长(ms),从 SMIL 动画的 dur 属性读取,如 "7872ms" */ +function readDuration(): number { + const dur = canvas.querySelector('animateTransform')?.getAttribute('dur') + const ms = dur ? parseFloat(dur) : NaN + return Number.isFinite(ms) ? ms : 0 } -trajectoryRes.contributions.forEach(createContribution) - -// 用三角网格渲染用户名文字(与物理碰撞体完全一致) -// for (const tri of trajectoryRes.textTriangles) { -// const [x0, y0, x1, y1, x2, y2] = tri -// const poly = document.createElementNS('http://www.w3.org/2000/svg', 'polygon') -// poly.setAttribute( -// 'points', -// `${(x0 * SCALE).toFixed(1)},${((HEIGHT - y0) * SCALE).toFixed(1)} ${(x1 * SCALE).toFixed(1)},${((HEIGHT - y1) * SCALE).toFixed(1)} ${(x2 * SCALE).toFixed(1)},${((HEIGHT - y2) * SCALE).toFixed(1)}` -// ) -// poly.setAttribute('fill', '#000') -// svg.appendChild(poly) -// } - -const g = document.createElementNS('http://www.w3.org/2000/svg', 'g') -// 将 opentype 坐标(Y 轴向上)变换到 SVG 坐标(Y 轴向下),与物理体世界坐标对齐 -// 物理世界: worldX = opentypeX + offsetX, worldY = -opentypeY + centerY -// SVG: svgX = worldX * SCALE, svgY = (HEIGHT - worldY) * SCALE -// 合并: svgX = (opentypeX + offsetX) * SCALE, svgY = (HEIGHT - centerY + opentypeY) * SCALE -g.setAttribute( - 'transform', - `translate(${trajectoryRes.offsetX * SCALE}, ${(HEIGHT - trajectoryRes.centerY) * SCALE}) scale(${SCALE})` -) -svg.appendChild(g) - -trajectoryRes.textPaths.forEach(({ pathData }) => { - const path = document.createElementNS('http://www.w3.org/2000/svg', 'path') - path.setAttribute('d', pathData) - path.setAttribute('fill', trajectoryRes.textColor) - g.appendChild(path) +function formatBytes(bytes: number): string { + return bytes >= 1024 ? `${(bytes / 1024).toFixed(1)} KB` : `${bytes} B` +} + +function formatElapsed(ms: number): string { + return ms >= 1000 ? `${(ms / 1000).toFixed(2)} s` : `${Math.round(ms)} ms` +} + +/** 显示本次生成的 SVG 文件大小与耗时 */ +function renderStats(svgText: string, elapsedMs: number) { + statsLabel.textContent = `文件大小 ${formatBytes( + new Blob([svgText]).size + )} · 生成耗时 ${formatElapsed(elapsedMs)}` + statsLabel.hidden = false +} + +async function generate() { + const data = new FormData(form) + + playing = false + updatePlayIcon() + playBtn.disabled = true + progress.disabled = true + generateBtn.disabled = true + generateBtn.textContent = '生成中…' + canvas.innerHTML = '

模拟计算中…

' + + try { + const startedAt = performance.now() + const svgText = await gensvg(await readOptions(data)) + renderStats(svgText, performance.now() - startedAt) + canvas.innerHTML = svgText + duration = readDuration() + progress.max = String(duration) + playBtn.disabled = false + progress.disabled = false + // SMIL 动画随元素挂载自动开始,这里停在首帧,等用户主动播放 + const svg = getSvg() + svg?.pauseAnimations() + svg?.setCurrentTime(0) + renderProgress(0) + } catch (err) { + // 错误对象带堆栈,控制台能定位到具体是字体、网络还是物理模拟出的问题 + console.error('[github-gravity] 生成失败:', err) + statsLabel.hidden = true + canvas.innerHTML = '' + const error = document.createElement('p') + error.className = 'error' + error.textContent = `${err instanceof Error ? err.message : String(err)} + +打开 DevTools(F12)查看控制台中的详细错误` + canvas.append(error) + } finally { + generateBtn.disabled = false + generateBtn.textContent = '生成' + } +} + +form.addEventListener('submit', (event) => { + event.preventDefault() + generate() +}) +playBtn.addEventListener('click', togglePlay) +progress.addEventListener('input', () => { + // 拖动进度条是在手动定位,暂停正在进行的播放 + if (playing) { + getSvg()?.pauseAnimations() + playing = false + updatePlayIcon() + } + seek(Number(progress.value)) +}) + +/** 清除已上传字体,标签回退到上传入口 */ +function resetFontFile() { + fontInput.value = '' + fontLabel.textContent = '选择文件' +} + +// 原生 file 控件选过文件后没有取消入口,清空 value 才能回退到默认字体 +clearFontBtn.addEventListener('click', resetFontFile) + +// 上传与 URL 二选一:后设置的清空前一个,避免搞不清生效的是哪个 +fontInput.addEventListener('change', () => { + const file = fontInput.files?.[0] + if (!file) return + fontLabel.textContent = file.name + fontUrlInput.value = '' +}) + +fontUrlInput.addEventListener('input', () => { + if (fontUrlInput.value.trim() !== '') resetFontFile() }) -svg.appendChild(g) +// 页面加载后先用表单默认参数生成一次 +generate() export {} diff --git a/tsconfig.web.json b/src/web/tsconfig.json similarity index 80% rename from tsconfig.web.json rename to src/web/tsconfig.json index 9aa258e..12ae68c 100644 --- a/tsconfig.web.json +++ b/src/web/tsconfig.json @@ -1,5 +1,4 @@ { - "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { "allowSyntheticDefaultImports": true, "declarationMap": false, @@ -13,8 +12,7 @@ "noImplicitAny": true, "noUnusedLocals": true, "noUnusedParameters": false, - "rootDir": "./src", - "outDir": "./dist", + "rootDir": "..", "pretty": true, "resolveJsonModule": true, "strict": true, @@ -23,5 +21,5 @@ "composite": true }, "exclude": ["__fixtures__", "__tests__", "coverage", "dist", "node_modules"], - "include": ["src/web", "src/types", "src/utils"] + "include": [".."] } diff --git a/tsconfig.bun.json b/tsconfig.bun.json deleted file mode 100644 index bd476a1..0000000 --- a/tsconfig.bun.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "declarationMap": false, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "isolatedModules": true, - "types": ["node", "bun"], - "lib": ["ES2022"], - "module": "ESNext", - "moduleResolution": "Bundler", - "noImplicitAny": true, - "noUnusedLocals": true, - "noUnusedParameters": false, - "pretty": true, - "resolveJsonModule": true, - "strict": true, - "strictNullChecks": true, - "target": "ES2022", - "composite": true - }, - "include": ["src", "!src/web/**/*", "__tests__", "__fixtures__"] -} diff --git a/tsconfig.json b/tsconfig.json index cc79194..9642d87 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,22 @@ { - "$schema": "https://json.schemastore.org/tsconfig", - "references": [ - { - "path": "./tsconfig.web.json" - }, - { - "path": "./tsconfig.bun.json" - } - ] + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "declarationMap": false, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "types": ["node", "bun"], + "lib": ["ES2022"], + "module": "ESNext", + "moduleResolution": "Bundler", + "noImplicitAny": true, + "noUnusedLocals": true, + "noUnusedParameters": false, + "pretty": true, + "resolveJsonModule": true, + "strict": true, + "strictNullChecks": true, + "target": "ES2022" + }, + "include": ["src", "!src/web/**/*", "__tests__", "__fixtures__"] }