diff --git a/.eslintrc.js b/.eslintrc.cjs similarity index 100% rename from .eslintrc.js rename to .eslintrc.cjs diff --git a/.prettierrc.js b/.prettierrc.cjs similarity index 100% rename from .prettierrc.js rename to .prettierrc.cjs diff --git a/babel.config.cjs b/babel.config.cjs new file mode 100644 index 0000000..3e0b077 --- /dev/null +++ b/babel.config.cjs @@ -0,0 +1 @@ +module.exports = require('@substrate/dev/config/babel') diff --git a/docs/registry.json b/docs/registry.json index b1ec1ee..29b300a 100644 --- a/docs/registry.json +++ b/docs/registry.json @@ -976,6 +976,15 @@ "poolPairsInfo": {}, "specName": "composable" }, + "2025": { + "tokens": [ + "XOR" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "sora_ksm" + }, "2026": { "tokens": [ "NODL" @@ -1783,6 +1792,15 @@ "poolPairsInfo": {}, "specName": "integritee-parachain" }, + "2040": { + "tokens": [ + "PDEX" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "polkadex-parachain" + }, "2043": { "tokens": [ "NEURO" @@ -1838,6 +1856,15 @@ "poolPairsInfo": {}, "specName": "avn-parachain" }, + "2058": { + "tokens": [ + "WATR" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "watr-mainnet" + }, "2086": { "tokens": [ "KILT" @@ -1989,6 +2016,51 @@ "foreignAssetsInfo": {}, "poolPairsInfo": {}, "specName": "t3rn" + }, + "3340": { + "tokens": [ + "VARCH" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "invarch" + }, + "3344": { + "tokens": [ + "PLMC" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "polimec-mainnet" + }, + "3345": { + "tokens": [ + "EWT" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "ewx-parachain" + }, + "3346": { + "tokens": [ + "NUUM" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "continuum-runtime" + }, + "3354": { + "tokens": [ + "LGNT" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "logion" } }, "kusama": { @@ -3759,6 +3831,15 @@ "poolPairsInfo": {}, "specName": "quartz" }, + "2096": { + "tokens": [ + "NEER" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "pioneer-runtime" + }, "2105": { "tokens": [ "CRAB" @@ -3976,6 +4057,15 @@ "poolPairsInfo": {}, "specName": "bajun" }, + "2121": { + "tokens": [ + "IMBU" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "imbue" + }, "2123": { "tokens": [ "FREN", @@ -4056,6 +4146,15 @@ "poolPairsInfo": {}, "specName": "subzero" }, + "2239": { + "tokens": [ + "cACU" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "acurast-parachain" + }, "2241": { "tokens": [ "KREST" @@ -4064,6 +4163,51 @@ "foreignAssetsInfo": {}, "poolPairsInfo": {}, "specName": "peaq-node-krest" + }, + "2281": { + "tokens": [ + "KSM" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "kreivo-parachain" + }, + "3336": { + "tokens": [ + "KLAOS" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "laos" + }, + "3339": { + "tokens": [ + "CGT" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "curio-mainnet" + }, + "3340": { + "tokens": [ + "NAND" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "messier" + }, + "3344": { + "tokens": [ + "XON" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "template-parachain" } }, "westend": { @@ -4111,7 +4255,10 @@ "30": "TRTI", "31": "GTT", "32": "TRTO", + "40": "YOLO", + "41": "YOLO", "42": "HG2G", + "43": "YOLO", "44": "dcUSD", "46": "RASTA", "47": "MRT", @@ -4188,6 +4335,8 @@ "1122": "dmd", "1233": "QTY", "1234": "TEST", + "1284": "FLOKDT", + "1285": "IGN", "1309": "KLO", "1312": "NG1312", "1337": "NACHO", @@ -4473,6 +4622,14 @@ "50": { "lpToken": "50", "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"5679853\"}]}}]]" + }, + "51": { + "lpToken": "51", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"42\"}]}}]]" + }, + "52": { + "lpToken": "52", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"41\"}]}}]]" } }, "specName": "westmint" @@ -4485,6 +4642,33 @@ "foreignAssetsInfo": {}, "poolPairsInfo": {}, "specName": "collectives-westend" + }, + "1002": { + "tokens": [ + "WND" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "bridge-hub-westend" + }, + "1004": { + "tokens": [ + "WND" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "people-westend" + }, + "1005": { + "tokens": [ + "WND" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "coretime-westend" } }, "rococo": { @@ -4835,6 +5019,24 @@ "poolPairsInfo": {}, "specName": "encointer-parachain" }, + "1004": { + "tokens": [ + "ROC" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "people-rococo" + }, + "1005": { + "tokens": [ + "ROC" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "coretime-rococo" + }, "1013": { "tokens": [ "ROC" @@ -4844,6 +5046,15 @@ "poolPairsInfo": {}, "specName": "bridge-hub-rococo" }, + "1836": { + "tokens": [ + "HOP" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "trappist-rococo" + }, "2004": { "tokens": [ "PHA" @@ -4888,6 +5099,15 @@ "poolPairsInfo": {}, "specName": "centrifuge" }, + "2034": { + "tokens": [ + "HDX" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "hydradx" + }, "2043": { "tokens": [ "NEURO" @@ -4960,6 +5180,15 @@ "poolPairsInfo": {}, "specName": "Pangolin2" }, + "2106": { + "tokens": [ + "LIT" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "rococo-parachain" + }, "2110": { "tokens": [ "MGAT" @@ -4996,6 +5225,15 @@ "poolPairsInfo": {}, "specName": "foucoco" }, + "2239": { + "tokens": [ + "tACU" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "acurast-parachain" + }, "3333": { "tokens": [ "T0RN" @@ -5005,6 +5243,24 @@ "poolPairsInfo": {}, "specName": "t0rn" }, + "3339": { + "tokens": [ + "CGT" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "curio-testnet" + }, + "3345": { + "tokens": [ + "VT" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "ewx-parachain" + }, "4044": { "tokens": [ "XRQCY" @@ -5013,6 +5269,42 @@ "foreignAssetsInfo": {}, "poolPairsInfo": {}, "specName": "frequency-testnet" + }, + "4292": { + "tokens": [ + "ROC" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "yerba-rococo" + }, + "4343": { + "tokens": [ + "GIE" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "laos" + }, + "4374": { + "tokens": [ + "tNAND" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "gargantua" + }, + "201804": { + "tokens": [ + "MUSE" + ], + "assetsInfo": {}, + "foreignAssetsInfo": {}, + "poolPairsInfo": {}, + "specName": "muse" } } } diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 92cbf55..0000000 --- a/jest.config.js +++ /dev/null @@ -1,21 +0,0 @@ -const base = require('@substrate/dev/config/jest'); - -module.exports = { - ...base, - verbose: true, - coverageThreshold: { - global: { - branches: 50, - functions: 70, - lines: 70, - statements: 85 - } - }, - testEnvironment: 'node', - maxConcurrency: 3, - maxWorkers: '50%', - testPathIgnorePatterns: ['/lib/', '/node_modules/', '/build/'], - // The below resolves `jest-haste-map:...` - modulePathIgnorePatterns: ['/lib', '/build'], - resetMocks: true, -}; diff --git a/package.json b/package.json index f422c34..65fdf73 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.2.14", "description": "Asset registry for asset-transfer-api", "main": "docs/registry.json", + "type": "module", "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org" @@ -13,17 +14,18 @@ "lint": "substrate-dev-run-lint", "lint:fix": "substrate-dev-run-lint --fix", "deploy": "yarn build && npm publish", - "test": "NODE_ENV=test substrate-exec-jest --detectOpenHandles" + "test": "vitest" }, "keywords": [], "author": "Parity Technologies ", "license": "Apache-2.0", "devDependencies": { - "@polkadot/api": "10.11.2", - "@polkadot/apps-config": "0.132.1", + "@polkadot/api": "^10.12.2", + "@polkadot/apps-config": "^0.134.1", "@substrate/dev": "0.7.1", "@types/node-fetch": "^2.6.9", - "node-fetch": "2.6.7" + "node-fetch": "2.6.7", + "vitest": "^1.4.0" }, "packageManager": "yarn@4.1.0" } diff --git a/src/addParasChainInfoToRelayRegistries.ts b/src/addParasChainInfoToRelayRegistries.ts new file mode 100644 index 0000000..b073413 --- /dev/null +++ b/src/addParasChainInfoToRelayRegistries.ts @@ -0,0 +1,44 @@ +import { EndpointOption } from '@polkadot/apps-config/endpoints/types'; + +import { createChainRegistryFromParas } from './createChainRegistryFromParas.js'; +import { ParaIds, TokenRegistry } from './types.js'; + +export const addParasChainInfoToRelayRegistries = async ( + registry: TokenRegistry, + paraIds: ParaIds, + polkadotEndpoints: Omit[][], + kusamaEndpoints: Omit[][], + westendEndpoints: Omit[][], + rococoEndpoints: Omit[][], +): Promise => { + // store all create chain registry para promises + const chainRegistryFromParasPromises: Promise[] = []; + + for (const endpoints of polkadotEndpoints) { + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('polkadot', endpoints, registry, paraIds), + ); + } + + for (const endpoints of kusamaEndpoints) { + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('kusama', endpoints, registry, paraIds), + ); + } + + for (const endpoints of westendEndpoints) { + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('westend', endpoints, registry, paraIds), + ); + } + for (const endpoints of rococoEndpoints) { + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('rococo', endpoints, registry, paraIds), + ); + } + + // set the paras info to the registry + await Promise.all(chainRegistryFromParasPromises); + + return registry; +}; diff --git a/src/consts.ts b/src/consts.ts index d74b8bb..b428d1c 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -1,8 +1,12 @@ // Copyright 2023 Parity Technologies (UK) Ltd. import path from 'path'; +import { fileURLToPath } from 'url'; -import type { TokenRegistry } from './types'; +import type { TokenRegistry } from './types.js'; + +const __filename = fileURLToPath(import.meta.url); // get the resolved path to the file +const __dirname = path.dirname(__filename); /** * @const MAX_RETRIES Maximum amount of connection attempts diff --git a/src/createChainRegistryFromParas.spec.ts b/src/createChainRegistryFromParas.spec.ts index 5ec4ad8..c58d2ff 100644 --- a/src/createChainRegistryFromParas.spec.ts +++ b/src/createChainRegistryFromParas.spec.ts @@ -1,94 +1,64 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. import { prodParasKusamaCommon } from '@polkadot/apps-config'; -import { EndpointOption } from '@polkadot/apps-config/endpoints/types'; +import { describe, expect, it, vi } from 'vitest'; -import { DEFAULT_REGISTRY } from './consts'; -import { - appendFetchChainInfoPromise, - createChainRegistryFromParas, -} from './createChainRegistryFromParas'; -import { fetchParaIds } from './fetchParaIds'; -import type { ChainName, ParaIds, TokenRegistry } from './types'; -import { twirlTimer } from './util'; +import { DEFAULT_REGISTRY } from './consts.js'; +import type { ParaIds } from './types.js'; +const paraIds: ParaIds = { kusama: [1000, 1001, 1002] }; -jest.mock('./util'); -jest.mock('./createChainRegistryFromParas'); -jest.mock('./fetchChainInfo'); -jest.mock('./fetchParaIds'); +import { createChainRegistryFromParas } from './createChainRegistryFromParas.js'; +import { updateRegistryChainInfo } from './updateRegistryChainInfo.js'; -const registry: TokenRegistry = DEFAULT_REGISTRY; - -describe('CreateRegistryFromParas', () => { - it('Should correctly add the registries for paras when found', async () => { - ( - twirlTimer as jest.MockedFunction<() => NodeJS.Timeout> - ).mockReturnValueOnce(setTimeout(() => {}, 0)); - ( - appendFetchChainInfoPromise as jest.MockedFunction< - ( - fetchChainInfoPromises: Promise[], - endpoint: EndpointOption, - registry: TokenRegistry, - chainName: ChainName, - ) => Promise[] - > - ) - .mockReturnValueOnce([ - Promise.resolve({ - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'statemine', - }).then((res) => { - registry['kusama']['1000'] = res; - }), - ]) - .mockReturnValueOnce([ - Promise.resolve({ - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'encointer-parachain', - }).then((res) => { - registry['kusama']['1001'] = res; - }), - ]) - .mockReturnValueOnce([ - Promise.resolve({ - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'bridge-hub-kusama', - }).then((res) => { - registry['kusama']['1002'] = res; - }), - ]); +vi.mock('./updateRegistryChainInfo', () => { + return { + updateRegistryChainInfo: vi.fn(), + }; +}); - const paraIds: ParaIds = { kusama: [1000, 1001, 1002] }; - ( - fetchParaIds as jest.MockedFunction< - ( - chain: string, - endpointOpts: EndpointOption, - paraIds: ParaIds, - ) => Promise - > - ).mockResolvedValueOnce({ - kusama: [1000, 1001, 1002], - }); +vi.mocked(updateRegistryChainInfo).mockReturnValue( + Promise.resolve({ + polkadot: {}, + kusama: { + '1000': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'statemine', + }, + '1001': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', + }, + '1002': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-kusama', + }, + }, + westend: {}, + rococo: {}, + }), +); - //NOTE: use return value - await createChainRegistryFromParas( +describe('createChainRegistryFromParas', () => { + it('Should correctly add the registries for paras when found', async () => { + const result = await createChainRegistryFromParas( 'kusama', prodParasKusamaCommon, - registry, + DEFAULT_REGISTRY, paraIds, ); - expect(registry).toEqual({ + + expect(vi.isMockFunction(updateRegistryChainInfo)).toBeTruthy(); + expect(updateRegistryChainInfo).toHaveBeenCalled(); + expect(result).toStrictEqual({ polkadot: {}, kusama: { '1000': { diff --git a/src/createChainRegistryFromParas.ts b/src/createChainRegistryFromParas.ts index 1ba4019..0667218 100644 --- a/src/createChainRegistryFromParas.ts +++ b/src/createChainRegistryFromParas.ts @@ -1,11 +1,17 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. import type { EndpointOption } from '@polkadot/apps-config/endpoints/types'; -import FinalRegistry from '../docs/registry.json'; -import { fetchChainInfo } from './fetchChainInfo'; -import type { ChainName, ParaIds, TokenRegistry } from './types'; -import { logWithDate, twirlTimer } from './util'; +import FinalRegistry from '../docs/registry.json' assert { type: 'json' }; +import { fetchChainInfo } from './fetchChainInfo.js'; +import type { + ChainInfoKeys, + ChainName, + ParaIds, + TokenRegistry, +} from './types.js'; +import { updateRegistryChainInfo } from './updateRegistryChainInfo.js'; +import { logWithDate, twirlTimer } from './util.js'; /** * This adds to the chain registry for each chain that is passed in. @@ -19,12 +25,14 @@ export const createChainRegistryFromParas = async ( endpoints: Omit[], registry: TokenRegistry, paraIds: ParaIds, -) => { +): Promise => { logWithDate('Creating chain registry from parachains', true); twirlTimer(); - const fetchChainInfoPromises: Promise[] = []; + const chainInfoPromises: Promise< + [ChainInfoKeys, number | undefined] | null + >[] = []; for (const endpoint of endpoints) { const reliable: boolean = paraIds[chainName].includes( @@ -43,28 +51,17 @@ export const createChainRegistryFromParas = async ( continue; } - appendFetchChainInfoPromise( - fetchChainInfoPromises, - endpoint, - registry, - chainName, - ); + appendFetchChainInfoPromise(chainInfoPromises, endpoint); } - await Promise.all(fetchChainInfoPromises); + return await updateRegistryChainInfo(chainName, registry, chainInfoPromises); }; export const appendFetchChainInfoPromise = ( - fetchChainInfoPromises: Promise[], + chainInfoPromises: Promise<[ChainInfoKeys, number | undefined] | null>[], endpoint: EndpointOption, - registry: TokenRegistry, - chainName: ChainName, ) => { - fetchChainInfoPromises.push( - fetchChainInfo(endpoint, endpoint.info as unknown as string).then((res) => { - if (res !== null) { - registry[chainName][`${endpoint.paraId as number}`] = res; - } - }), + chainInfoPromises.push( + fetchChainInfo(endpoint, endpoint.info as unknown as string, false), ); }; diff --git a/src/createChainRegistryFromRelay.spec.ts b/src/createChainRegistryFromRelay.spec.ts index 1404bcc..63979e0 100644 --- a/src/createChainRegistryFromRelay.spec.ts +++ b/src/createChainRegistryFromRelay.spec.ts @@ -1,49 +1,51 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. import { prodRelayKusama, prodRelayPolkadot } from '@polkadot/apps-config'; -import { EndpointOption } from '@polkadot/apps-config/endpoints/types'; +import { describe, expect, it, vi } from 'vitest'; -import { createChainRegistryFromRelay } from './createChainRegistryFromRelay'; -import { fetchChainInfo } from './fetchChainInfo'; -import type { ChainInfoKeys, TokenRegistry } from './types'; -import { twirlTimer } from './util'; +import { createChainRegistryFromRelay } from './createChainRegistryFromRelay.js'; +import { fetchChainInfo } from './fetchChainInfo.js'; +import { twirlTimer } from './util.js'; -jest.mock('./util'); -jest.mock('./fetchChainInfo'); -jest.mock('./fetchParaIds'); +vi.mock('./fetchChainInfo', () => { + return { + fetchChainInfo: vi.fn(), + }; +}); +vi.mock('./util.js', async (importOriginal) => { + const mod = await importOriginal(); + + return { + ...mod, + twirlTimer: vi.fn(), + }; +}); +vi.mocked(twirlTimer).mockReturnValueOnce(setTimeout(() => {}, 0)); describe('createChainRegistryFromRelay', () => { it('Should correctly create the registry for kusama', async () => { - ( - twirlTimer as jest.MockedFunction<() => NodeJS.Timeout> - ).mockReturnValueOnce(setTimeout(() => {}, 0)); - ( - fetchChainInfo as jest.MockedFunction< - ( - endpointOpts: EndpointOption, - chain: string, - isRelay?: boolean, - ) => Promise - > - ).mockReturnValueOnce( - Promise.resolve({ - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'kusama', - }), + vi.mocked(fetchChainInfo).mockReturnValue( + Promise.resolve([ + { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'kusama', + }, + undefined, + ]), ); - const registry: TokenRegistry = { - polkadot: {}, - kusama: {}, - westend: {}, - rococo: {}, - }; - - await createChainRegistryFromRelay('kusama', prodRelayKusama, registry); - expect(registry).toEqual({ + const result = await createChainRegistryFromRelay( + 'kusama', + prodRelayKusama, + { polkadot: {}, kusama: {}, westend: {}, rococo: {} }, + ); + expect(vi.isMockFunction(fetchChainInfo)).toBeTruthy(); + expect(fetchChainInfo).toHaveBeenCalled(); + expect(twirlTimer).toHaveBeenCalled(); + expect(result).toEqual({ polkadot: {}, kusama: { '0': { @@ -59,36 +61,29 @@ describe('createChainRegistryFromRelay', () => { }); }); it('Should correctly create the registry for polkadot', async () => { - ( - twirlTimer as jest.MockedFunction<() => NodeJS.Timeout> - ).mockReturnValueOnce(setTimeout(() => {}, 0)); - ( - fetchChainInfo as jest.MockedFunction< - ( - endpointOpts: EndpointOption, - chain: string, - isRelay?: boolean, - ) => Promise - > - ).mockReturnValueOnce( - Promise.resolve({ - tokens: ['DOT'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'polkadot', - }), + vi.mocked(fetchChainInfo).mockReturnValue( + Promise.resolve([ + { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'polkadot', + }, + undefined, + ]), ); - const registry: TokenRegistry = { - polkadot: {}, - kusama: {}, - westend: {}, - rococo: {}, - }; - - await createChainRegistryFromRelay('polkadot', prodRelayPolkadot, registry); - expect(registry).toEqual({ + const result = await createChainRegistryFromRelay( + // mockPolkadotApi, + 'polkadot', + prodRelayPolkadot, + { polkadot: {}, kusama: {}, westend: {}, rococo: {} }, + ); + expect(vi.isMockFunction(fetchChainInfo)).toBeTruthy(); + expect(fetchChainInfo).toHaveBeenCalled(); + expect(twirlTimer).toHaveBeenCalled(); + expect(result).toEqual({ polkadot: { '0': { tokens: ['DOT'], diff --git a/src/createChainRegistryFromRelay.ts b/src/createChainRegistryFromRelay.ts index b438cb5..d77aa78 100644 --- a/src/createChainRegistryFromRelay.ts +++ b/src/createChainRegistryFromRelay.ts @@ -1,10 +1,10 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. import type { EndpointOption } from '@polkadot/apps-config/endpoints/types'; -import { fetchChainInfo } from './fetchChainInfo'; -import type { ChainName, TokenRegistry } from './types'; -import { logWithDate, twirlTimer } from './util'; +import { fetchChainInfo } from './fetchChainInfo.js'; +import type { ChainName, TokenRegistry } from './types.js'; +import { logWithDate, twirlTimer } from './util.js'; /** * Similar to `createChainRegistryFromParas`, this will only add to the registry for a single chain, @@ -18,7 +18,7 @@ export const createChainRegistryFromRelay = async ( chainName: ChainName, endpoint: EndpointOption, registry: TokenRegistry, -) => { +): Promise => { logWithDate(`Creating chain registry for ${chainName} relay`, true); twirlTimer(); const res = await fetchChainInfo( @@ -26,7 +26,10 @@ export const createChainRegistryFromRelay = async ( endpoint.info as unknown as string, true, ); - if (res !== null) { - registry[chainName]['0'] = res; + if (res) { + const chainInfoKeys = res[0]; + registry[chainName]['0'] = chainInfoKeys; } + + return registry; }; diff --git a/src/createRegistry.spec.ts b/src/createRegistry.spec.ts index 0e5b054..97b737e 100644 --- a/src/createRegistry.spec.ts +++ b/src/createRegistry.spec.ts @@ -1,414 +1,514 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. -// tslint:disable +// Copyright 2024 Parity Technologies (UK) Ltd. -import { EndpointOption } from '@polkadot/apps-config/endpoints/types'; import fs from 'fs'; +import { describe, expect, it, vi } from 'vitest'; +import { addParasChainInfoToRelayRegistries } from './addParasChainInfoToRelayRegistries'; import { DEFAULT_REGISTRY, TEST_REGISTRY_FILE_PATH } from './consts'; -import { createChainRegistryFromParas } from './createChainRegistryFromParas'; -import { createChainRegistryFromRelay } from './createChainRegistryFromRelay'; -import { main } from './createRegistry'; +import { createChainRegistryFromRelay } from './createChainRegistryFromRelay.js'; +import { main } from './createRegistry.js'; import { fetchParaIds } from './fetchParaIds'; -import { fetchXcAssetsRegistryInfo } from './fetchXcAssetRegistryInfo'; -import type { ChainName, ParaIds, TokenRegistry } from './types'; +import { fetchXcAssetsRegistryInfo } from './fetchXcAssetsRegistryInfo'; +import { getApi } from './getApi'; +import { adjustedMockKusamaRelayApi } from './testHelpers/adjustedMockKusamaRelayApi'; +import { adjustedmockPolkadotApi } from './testHelpers/adjustedMockPolkadotRelayApi'; +import { TokenRegistry } from './types'; -const registry = DEFAULT_REGISTRY; +vi.mock('./fetchParaIds', () => { + return { + fetchParaIds: vi.fn(), + }; +}); +vi.mocked(fetchParaIds) + .mockResolvedValueOnce({ polkadot: [1000, 1001, 1002, 2030] }) + .mockResolvedValueOnce({ kusama: [1000, 1001, 1002] }) + .mockResolvedValueOnce({ westend: [1000, 1001, 1002] }) + .mockResolvedValueOnce({ rococo: [1000, 1001, 1002] }); -jest.mock('./fetchParaIds'); -jest.mock('./fetchXcAssetRegistryInfo'); -( - fetchXcAssetsRegistryInfo as jest.MockedFunction< - (tokenRegistry: TokenRegistry) => Promise - > -).mockReturnValueOnce( - Promise.resolve([ - { - paraID: 0, - nativeChainID: 'polkadot', - symbol: 'DOT', - decimals: 10, - xcmV1MultiLocation: '{"v1":{"parents":1,"interior":{"here":null}}}', - asset: { - Token2: '0', +vi.mock('./fetchXcAssetsRegistryInfo', () => { + return { + fetchXcAssetsRegistryInfo: vi.fn(), + }; +}); +vi.mocked(fetchXcAssetsRegistryInfo).mockReturnValue( + Promise.resolve({ + polkadot: { + '0': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'polkadot', }, - }, - { - paraID: 1000, - nativeChainID: 'statemint', - symbol: 'USDT', - decimals: 6, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x3":[{"parachain":1000},{"palletInstance":50},{"generalIndex":1984}]}}}', - asset: { - Token2: '2', + '1000': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'statemint', }, - }, - { - paraID: 1000, - nativeChainID: 'statemint', - symbol: 'USDC', - decimals: 6, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x3":[{"parachain":1000},{"palletInstance":50},{"generalIndex":1337}]}}}', - asset: { - Token2: '5', + '1001': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', }, - }, - { - paraID: 2004, - nativeChainID: 'moonbeam', - symbol: 'GLMR', - decimals: 18, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2004},{"palletInstance":10}]}}}', - asset: { - Token2: '1', + '1002': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-polkadot', }, - }, - { - paraID: 2006, - nativeChainID: 'astar', - symbol: 'ASTR', - decimals: 18, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x1":{"parachain":2006}}}}', - asset: { - Token2: '3', + '2030': { + tokens: ['BNC'], + specName: 'bifrost-polkadot', + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + xcAssetsData: [ + { + paraID: 0, + nativeChainID: 'polkadot', + symbol: 'DOT', + decimals: 10, + xcmV1MultiLocation: '{"v1":{"parents":1,"interior":{"here":null}}}', + asset: { + Token2: '0', + }, + }, + { + paraID: 1000, + nativeChainID: 'statemint', + symbol: 'USDT', + decimals: 6, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x3":[{"parachain":1000},{"palletInstance":50},{"generalIndex":1984}]}}}', + asset: { + Token2: '2', + }, + }, + { + paraID: 1000, + nativeChainID: 'statemint', + symbol: 'USDC', + decimals: 6, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x3":[{"parachain":1000},{"palletInstance":50},{"generalIndex":1337}]}}}', + asset: { + Token2: '5', + }, + }, + { + paraID: 2004, + nativeChainID: 'moonbeam', + symbol: 'GLMR', + decimals: 18, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2004},{"palletInstance":10}]}}}', + asset: { + Token2: '1', + }, + }, + { + paraID: 2006, + nativeChainID: 'astar', + symbol: 'ASTR', + decimals: 18, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x1":{"parachain":2006}}}}', + asset: { + Token2: '3', + }, + }, + { + paraID: 2030, + nativeChainID: 'bifrost', + symbol: 'vGLMR', + decimals: 18, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0901"}]}}}', + asset: { + VToken2: '1', + }, + }, + { + paraID: 2030, + nativeChainID: 'bifrost', + symbol: 'vFIL', + decimals: 18, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0904"}]}}}', + asset: { + VToken2: '4', + }, + }, + { + paraID: 2030, + nativeChainID: 'bifrost', + symbol: 'FIL', + decimals: 18, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0804"}]}}}', + asset: { + Token2: '4', + }, + }, + { + paraID: 2030, + nativeChainID: 'bifrost', + symbol: 'vASTR', + decimals: 18, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0903"}]}}}', + asset: { + VToken2: '3', + }, + }, + { + paraID: 2030, + nativeChainID: 'bifrost', + symbol: 'vDOT', + decimals: 10, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0900"}]}}}', + asset: { + VToken2: '0', + }, + }, + { + paraID: 2030, + nativeChainID: 'bifrost', + symbol: 'vsDOT', + decimals: 10, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0403"}]}}}', + asset: { + VSToken2: '0', + }, + }, + { + paraID: 2032, + nativeChainID: 'interlay', + symbol: 'IBTC', + decimals: 8, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2032},{"generalKey":"0x0001"}]}}}', + asset: { + Token2: '6', + }, + }, + { + paraID: 2032, + nativeChainID: 'interlay', + symbol: 'INTR', + decimals: 10, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2032},{"generalKey":"0x0002"}]}}}', + asset: { + Token2: '7', + }, + }, + { + paraID: 2104, + nativeChainID: '', + symbol: 'MANTA', + decimals: 18, + xcmV1MultiLocation: + '{"v1":{"parents":1,"interior":{"x1":{"parachain":2104}}}}', + asset: { + Token2: '8', + }, + }, + ], }, }, - { - paraID: 2030, - nativeChainID: 'bifrost', - symbol: 'vGLMR', - decimals: 18, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0901"}]}}}', - asset: { - VToken2: '1', + kusama: { + '0': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'kusama', }, - }, - { - paraID: 2030, - nativeChainID: 'bifrost', - symbol: 'vFIL', - decimals: 18, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0904"}]}}}', - asset: { - VToken2: '4', + '1000': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'statemine', }, - }, - { - paraID: 2030, - nativeChainID: 'bifrost', - symbol: 'FIL', - decimals: 18, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0804"}]}}}', - asset: { - Token2: '4', + '1001': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', }, - }, - { - paraID: 2030, - nativeChainID: 'bifrost', - symbol: 'vASTR', - decimals: 18, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0903"}]}}}', - asset: { - VToken2: '3', + '1002': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-kusama', }, }, - { - paraID: 2030, - nativeChainID: 'bifrost', - symbol: 'vDOT', - decimals: 10, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0900"}]}}}', - asset: { - VToken2: '0', + westend: { + '0': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'westend', }, - }, - { - paraID: 2030, - nativeChainID: 'bifrost', - symbol: 'vsDOT', - decimals: 10, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2030},{"generalKey":"0x0403"}]}}}', - asset: { - VSToken2: '0', + '1000': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'westmint', }, - }, - { - paraID: 2032, - nativeChainID: 'interlay', - symbol: 'IBTC', - decimals: 8, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2032},{"generalKey":"0x0001"}]}}}', - asset: { - Token2: '6', + '1001': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', }, - }, - { - paraID: 2032, - nativeChainID: 'interlay', - symbol: 'INTR', - decimals: 10, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x2":[{"parachain":2032},{"generalKey":"0x0002"}]}}}', - asset: { - Token2: '7', + '1002': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-westend', }, }, - { - paraID: 2104, - nativeChainID: '', - symbol: 'MANTA', - decimals: 18, - xcmV1MultiLocation: - '{"v1":{"parents":1,"interior":{"x1":{"parachain":2104}}}}', - asset: { - Token2: '8', + rococo: { + '0': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'rococo', + }, + '1000': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'statemine', + }, + '1002': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'contracts-rococo', + }, + '1003': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', + }, + '1013': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-rococo', }, }, - ]).then((res) => { - registry['polkadot']['2030']['xcAssetsData'] = res; }), ); -jest.mock('./createChainRegistryFromRelay'); -/* eslint-disable */ -jest.mock('./createChainRegistryFromParas', () => { - const createChainRegistryFromParasModule = jest.requireActual( - './createChainRegistryFromParas', - ); +vi.mock('./addParasChainInfoToRelayRegistries', () => { return { - ...createChainRegistryFromParasModule, - createChainRegistryFromParas: jest - .fn() - .mockReturnValueOnce( - Promise.resolve({ - '1000': { - tokens: ['DOT'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'statemint', - }, - '1001': { - tokens: ['DOT'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'encointer-parachain', - }, - '1002': { - tokens: ['DOT'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'bridge-hub-polkadot', - }, - '2030': { - tokens: ['BNC'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'bifrost-polkadot', - }, - }).then((res) => { - registry['polkadot']['1000'] = res['1000']; - registry['polkadot']['1001'] = res['1001']; - registry['polkadot']['1002'] = res['1002']; - registry['polkadot']['2030'] = res['2030']; - }), - ) - .mockReturnValueOnce( - Promise.resolve({ - '1000': { - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'statemine', - }, - '1001': { - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'encointer-parachain', - }, - '1002': { - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'bridge-hub-kusama', - }, - }).then((res) => { - registry['kusama']['1000'] = res['1000']; - registry['kusama']['1001'] = res['1001']; - registry['kusama']['1002'] = res['1002']; - }), - ) - .mockReturnValueOnce( - Promise.resolve({ - '1000': { - tokens: ['WND'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'westmint', - }, - '1001': { - tokens: ['WND'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'encointer-parachain', - }, - '1002': { - tokens: ['WND'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'bridge-hub-westend', - }, - }).then((res) => { - registry['westend']['1000'] = res['1000']; - registry['westend']['1001'] = res['1001']; - registry['westend']['1002'] = res['1002']; - }), - ) - .mockReturnValueOnce( - Promise.resolve({ - '1000': { - tokens: ['ROC'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'statemine', - }, - '1002': { - tokens: ['ROC'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'contracts-rococo', - }, - '1003': { - tokens: ['ROC'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'encointer-parachain', - }, - '1013': { - tokens: ['ROC'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'bridge-hub-rococo', - }, - }).then((res) => { - registry['rococo']['1000'] = res['1000']; - registry['rococo']['1002'] = res['1002']; - registry['rococo']['1003'] = res['1003']; - registry['rococo']['1013'] = res['1013']; - }), - ), + addParasChainInfoToRelayRegistries: vi.fn(), }; }); +vi.mocked(addParasChainInfoToRelayRegistries).mockResolvedValueOnce({ + polkadot: { + '1000': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'statemint', + }, + '1001': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', + }, + '1002': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-polkadot', + }, + '2030': { + tokens: ['BNC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bifrost-polkadot', + }, + }, + kusama: { + '1000': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'statemine', + }, + '1001': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', + }, + '1002': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-kusama', + }, + }, + westend: { + '1000': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'westmint', + }, + '1001': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', + }, + '1002': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-westend', + }, + }, + rococo: { + '1000': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'statemine', + }, + '1002': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'contracts-rococo', + }, + '1003': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'encointer-parachain', + }, + '1013': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'bridge-hub-rococo', + }, + }, +}); -describe('createRegistry', () => { - it('Should correctly create the Asset Registry', async () => { - ( - fetchParaIds as jest.MockedFunction< - ( - chain: string, - endpointOpts: EndpointOption, - paraIds: ParaIds, - ) => Promise - > - ) - .mockResolvedValueOnce({ - polkadot: [1000, 1001, 1002, 2030], - }) - .mockResolvedValueOnce({ - kusama: [1000, 1001, 1002], - }) - .mockResolvedValueOnce({ - westend: [1000, 1001, 1002], - }) - .mockResolvedValueOnce({ - rococo: [1000, 1001, 1002], - }); +vi.mock('./createChainRegistryFromRelay', () => { + return { + createChainRegistryFromRelay: vi.fn(), + }; +}); +vi.mocked(createChainRegistryFromRelay).mockResolvedValue({ + polkadot: { + '0': { + tokens: ['DOT'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'polkadot', + }, + }, + kusama: { + '0': { + tokens: ['KSM'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'kusama', + }, + }, + westend: { + '0': { + tokens: ['WND'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'westend', + }, + }, + rococo: { + '0': { + tokens: ['ROC'], + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + specName: 'rococo', + }, + }, +}); - ( - createChainRegistryFromRelay as jest.MockedFunction< - ( - chainName: ChainName, - endpoint: EndpointOption, - registry: TokenRegistry, - ) => Promise - > - ) - .mockReturnValueOnce( - Promise.resolve({ - tokens: ['DOT'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'polkadot', - }).then((res) => { - registry['polkadot']['0'] = res; - }), - ) - .mockReturnValueOnce( - Promise.resolve({ - tokens: ['KSM'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'kusama', - }).then((res) => { - registry['kusama']['0'] = res; - }), - ) - .mockReturnValueOnce( - Promise.resolve({ - tokens: ['WND'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'westend', - }).then((res) => { - registry['westend']['0'] = res; - }), - ) - .mockReturnValueOnce( - Promise.resolve({ - tokens: ['ROC'], - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - specName: 'rococo', - }).then((res) => { - registry['rococo']['0'] = res; - }), - ); +vi.mock('./getApi', () => { + return { + getApi: vi.fn(), + }; +}); +vi.mocked(getApi) + .mockResolvedValueOnce(adjustedmockPolkadotApi) + .mockResolvedValueOnce(adjustedMockKusamaRelayApi) + .mockResolvedValueOnce(adjustedmockPolkadotApi) + .mockResolvedValueOnce(adjustedMockKusamaRelayApi); +describe('createRegistry', () => { + it('Should correctly create the Asset Registry', async () => { + expect(vi.isMockFunction(fetchParaIds)).toBeTruthy(); + expect(vi.isMockFunction(addParasChainInfoToRelayRegistries)).toBeTruthy(); + expect(vi.isMockFunction(createChainRegistryFromRelay)).toBeTruthy(); + expect(vi.isMockFunction(fetchXcAssetsRegistryInfo)).toBeTruthy(); + // expect(await fetchXcAssetsRegistryInfo(DEFAULT_REGISTRY)).toStrictEqual('hello'); - await main(TEST_REGISTRY_FILE_PATH, registry); + await main(TEST_REGISTRY_FILE_PATH, DEFAULT_REGISTRY); const registryData = fs.readFileSync(TEST_REGISTRY_FILE_PATH, 'utf8'); const createdRegistry = JSON.parse(registryData) as TokenRegistry; + + expect(fetchParaIds).toHaveBeenCalled(); + expect(fetchXcAssetsRegistryInfo).toHaveBeenCalledOnce(); expect(createChainRegistryFromRelay).toHaveBeenCalledTimes(4); - expect(createChainRegistryFromParas).toHaveBeenCalledTimes(8); + expect(addParasChainInfoToRelayRegistries).toHaveBeenCalledTimes(1); expect(Object.keys(createdRegistry).length).toBeGreaterThan(0); expect(createdRegistry['polkadot']).toEqual({ '0': { diff --git a/src/createRegistry.ts b/src/createRegistry.ts index 42382c4..f68f65c 100644 --- a/src/createRegistry.ts +++ b/src/createRegistry.ts @@ -17,12 +17,12 @@ import { testRelayWestend, } from '@polkadot/apps-config'; -import { createChainRegistryFromParas } from './createChainRegistryFromParas'; -import { createChainRegistryFromRelay } from './createChainRegistryFromRelay'; -import { fetchParaIds } from './fetchParaIds'; -import { fetchXcAssetsRegistryInfo } from './fetchXcAssetRegistryInfo'; -import type { ParaIds, TokenRegistry } from './types'; -import { writeJson } from './util'; +import { addParasChainInfoToRelayRegistries } from './addParasChainInfoToRelayRegistries.js'; +import { createChainRegistryFromRelay } from './createChainRegistryFromRelay.js'; +import { fetchParaIds } from './fetchParaIds.js'; +import { fetchXcAssetsRegistryInfo } from './fetchXcAssetsRegistryInfo.js'; +import type { ParaIds, TokenRegistry } from './types.js'; +import { writeJson } from './util.js'; export const main = async (filePath: string, registry: TokenRegistry) => { const paraIds: ParaIds = {}; @@ -33,7 +33,6 @@ export const main = async (filePath: string, registry: TokenRegistry) => { const rococoEndpoints = [testParasRococo, testParasRococoCommon]; const fetchParaIdsPromises: Promise[] = []; - fetchParaIdsPromises.push( fetchParaIds('polkadot', prodRelayPolkadot, paraIds), ); @@ -45,7 +44,7 @@ export const main = async (filePath: string, registry: TokenRegistry) => { await Promise.all(fetchParaIdsPromises); // store all create chain registry relay promises - const createChainRegistryFromRelayPromises: Promise[] = []; + const createChainRegistryFromRelayPromises: Promise[] = []; createChainRegistryFromRelayPromises.push( createChainRegistryFromRelay('polkadot', prodRelayPolkadot, registry), @@ -63,37 +62,17 @@ export const main = async (filePath: string, registry: TokenRegistry) => { // Set the relay chain info to the registry await Promise.all(createChainRegistryFromRelayPromises); - // store all create chain registry para promises - const chainRegistryFromParasPromises: Promise[] = []; - - for (const endpoints of polkadotEndpoints) { - chainRegistryFromParasPromises.push( - createChainRegistryFromParas('polkadot', endpoints, registry, paraIds), - ); - } - - for (const endpoints of kusamaEndpoints) { - chainRegistryFromParasPromises.push( - createChainRegistryFromParas('kusama', endpoints, registry, paraIds), - ); - } - - for (const endpoints of westendEndpoints) { - chainRegistryFromParasPromises.push( - createChainRegistryFromParas('westend', endpoints, registry, paraIds), - ); - } - for (const endpoints of rococoEndpoints) { - chainRegistryFromParasPromises.push( - createChainRegistryFromParas('rococo', endpoints, registry, paraIds), - ); - } - - // set the paras info to the registry - await Promise.all(chainRegistryFromParasPromises); + registry = await addParasChainInfoToRelayRegistries( + registry, + paraIds, + polkadotEndpoints, + kusamaEndpoints, + westendEndpoints, + rococoEndpoints, + ); // fetch xcAssets and add them to the registry - await fetchXcAssetsRegistryInfo(registry); + registry = await fetchXcAssetsRegistryInfo(registry); writeJson(filePath, registry); }; diff --git a/src/fetchChainInfo.spec.ts b/src/fetchChainInfo.spec.ts index b366114..d6e5a6e 100644 --- a/src/fetchChainInfo.spec.ts +++ b/src/fetchChainInfo.spec.ts @@ -1,53 +1,56 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. -import { ApiPromise } from '@polkadot/api'; import { prodRelayKusama } from '@polkadot/apps-config'; -import { EndpointOption } from '@polkadot/apps-config/endpoints/types'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; -import { fetchChainInfo } from './fetchChainInfo'; -import { fetchSystemParachainAssetConversionPoolInfo } from './fetchSystemParachainAssetConversionPoolInfo'; -import { fetchSystemParachainAssetInfo } from './fetchSystemParachainAssetInfo'; -import { fetchSystemParachainForeignAssetInfo } from './fetchSystemParachainForeignAssetInfo'; -import { getApi } from './getApi'; -import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi'; -import { adjustedMockBifrostKusamaParachainApi } from './testHelpers/adjustedMockBifrostKusamaParachainApi'; -import { adjustedMockKusamaRelayApi } from './testHelpers/adjustedMockKusamaRelayApi'; -import { mockAssetHubKusamaParachainPoolPairsInfo } from './testHelpers/mockSystemParachainAssetConversionPoolInfo'; -import { mockAssetHubKusamaParachainAssetsInfo } from './testHelpers/mockSystemParachainAssetInfo'; -import { mockAssetHubKusamaParachainForeignAssetsInfo } from './testHelpers/mockSystemParachainForeignAssetInfo'; -import type { AssetsInfo, ForeignAssetsInfo, PoolPairsInfo } from './types'; +import { fetchChainInfo } from './fetchChainInfo.js'; +import { fetchSystemParachainAssetConversionPoolInfo } from './fetchSystemParachainAssetConversionPoolInfo.js'; +import { fetchSystemParachainAssetInfo } from './fetchSystemParachainAssetInfo.js'; +import { fetchSystemParachainForeignAssetInfo } from './fetchSystemParachainForeignAssetInfo.js'; +import { getApi } from './getApi.js'; +import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi.js'; +import { adjustedMockBifrostKusamaParachainApi } from './testHelpers/adjustedMockBifrostKusamaParachainApi.js'; +import { adjustedMockKusamaRelayApi } from './testHelpers/adjustedMockKusamaRelayApi.js'; +import { mockAssetHubKusamaParachainPoolPairsInfo } from './testHelpers/mockSystemParachainAssetConversionPoolInfo.js'; +import { mockAssetHubKusamaParachainAssetsInfo } from './testHelpers/mockSystemParachainAssetInfo.js'; +import { mockAssetHubKusamaParachainForeignAssetsInfo } from './testHelpers/mockSystemParachainForeignAssetInfo.js'; -jest.mock('./getApi'); -jest.mock('./fetchSystemParachainAssetInfo'); -jest.mock('./fetchSystemParachainForeignAssetInfo'); -jest.mock('./fetchSystemParachainAssetConversionPoolInfo'); +vi.mock('./getApi.js', () => { + return { + getApi: vi.fn(), + }; +}); +vi.mock('./fetchSystemParachainAssetInfo', () => { + return { + fetchSystemParachainAssetInfo: vi.fn(), + }; +}); +vi.mock('./fetchSystemParachainForeignAssetInfo', () => { + return { + fetchSystemParachainForeignAssetInfo: vi.fn(), + }; +}); +vi.mock('./fetchSystemParachainAssetConversionPoolInfo', () => { + return { + fetchSystemParachainAssetConversionPoolInfo: vi.fn(), + }; +}); describe('fetchChainInfo', () => { + beforeEach(() => { + vi.resetAllMocks(); + }); + describe('Kusama', () => { it('Correctly fetches Kusama ChainInfo', async () => { - ( - getApi as jest.MockedFunction< - ( - endpointOpts: EndpointOption, - chain: string, - isRelay?: boolean, - ) => Promise - > - ).mockResolvedValueOnce(adjustedMockKusamaRelayApi); - ( - fetchSystemParachainAssetInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > - ).mockResolvedValueOnce({}); - ( - fetchSystemParachainForeignAssetInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > - ).mockResolvedValueOnce({}); - ( - fetchSystemParachainAssetConversionPoolInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > + vi.mocked(getApi).mockResolvedValueOnce(adjustedMockKusamaRelayApi); + + vi.mocked(fetchSystemParachainAssetInfo).mockResolvedValueOnce({}); + + vi.mocked(fetchSystemParachainForeignAssetInfo).mockResolvedValueOnce({}); + + vi.mocked( + fetchSystemParachainAssetConversionPoolInfo, ).mockResolvedValueOnce({}); await expect( @@ -56,305 +59,289 @@ describe('fetchChainInfo', () => { prodRelayKusama.info as unknown as string, true, ), - ).resolves.toEqual({ - tokens: ['KSM'], - specName: 'kusama', - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - }); + ).resolves.toEqual([ + { + tokens: ['KSM'], + specName: 'kusama', + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + }, + undefined, + ]); }); }); describe('AssetHub Kusama', () => { it('Correctly fetches AssetHub Kusama ChainInfo', async () => { - ( - getApi as jest.MockedFunction< - ( - endpointOpts: EndpointOption, - chain: string, - isRelay?: boolean, - ) => Promise - > - ).mockResolvedValueOnce(adjustedmockAssetHubKusamaApi); - ( - fetchSystemParachainAssetInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > - ).mockResolvedValueOnce(mockAssetHubKusamaParachainAssetsInfo); - ( - fetchSystemParachainForeignAssetInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > - ).mockResolvedValueOnce(mockAssetHubKusamaParachainForeignAssetsInfo); - ( - fetchSystemParachainAssetConversionPoolInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > + vi.mocked(getApi).mockResolvedValueOnce(adjustedmockAssetHubKusamaApi); + + vi.mocked(fetchSystemParachainAssetInfo).mockResolvedValueOnce( + mockAssetHubKusamaParachainAssetsInfo, + ); + + vi.mocked(fetchSystemParachainForeignAssetInfo).mockResolvedValueOnce( + mockAssetHubKusamaParachainForeignAssetsInfo, + ); + + vi.mocked( + fetchSystemParachainAssetConversionPoolInfo, ).mockResolvedValueOnce(mockAssetHubKusamaParachainPoolPairsInfo); - await expect( - fetchChainInfo( - prodRelayKusama, - prodRelayKusama.info as unknown as string, - false, - ), - ).resolves.toEqual({ - tokens: ['KSM'], - specName: 'asset-hub-kusama', - assetsInfo: { - '0': 'DOG', - '1': 'L T', - '2': 'PNN', - '3': 'Meow', - '4': 'HAPPY', - '5': 'BEER', - '6': 'ZKPD', - '7': 'DOS', - '8': 'RMRK', - '9': 'TOT', - '10': 'USDC', - '11': 'USDT', - '12': 'BUSD', - '13': 'LN', - '14': 'DOT', - '15': 'Web3', - '16': 'ARIS', - '17': 'MEME', - '18': 'HEI', - '19': 'SHOT', - '20': 'BFKK', - '21': 'ELEV', - '22': 'STH', - '23': 'KOJO', - '24': 'test', - '25': 'BABE', - '26': 'BUNGA', - '27': 'RUNE', - '28': 'LAC', - '29': 'CODES', - '30': 'GOL', - '31': 'ki', - '32': 'FAV', - '33': 'BUSSY', - '34': 'PLX', - '35': 'LUCKY', - '36': 'RRT', - '37': 'MNCH', - '38': 'ENT', - '39': 'DSCAN', - '40': 'ERIC', - '41': 'GOOSE', - '42': 'NRNF', - '43': 'TTT', - '44': 'ADVNCE', - '45': 'CRIB', - '46': 'FAN', - '47': 'EUR', - '49': 'DIAN', - '50': 'PROMO', - '55': 'MTS', - '60': 'GAV', - '61': 'CRY', - '64': 'oh!', - '66': 'DAI', - '68': 'ADVERT', - '69': 'NICE', - '70': 'MAR', - '71': 'OAK', - '75': 'cipher', - '77': 'Crypto', - '87': 'XEXR', - '88': 'BTC', - '90': 'SATS', - '91': 'TMJ', - '99': 'BITCOIN', - '100': 'Chralt', - '101': '---', - '102': 'DRX', - '111': 'NO1', - '117': 'TNKR', - '123': 'NFT', - '138': 'Abc', - '168': 'Tokens', - '188': 'ZLK', - '200': 'SIX', - '214': 'LOVE', - '222': 'PNEO', - '223': 'BILL', - '224': 'SIK', - '300': 'PWS', - '333': 'Token', - '345': '345', - '360': 'uni', - '365': 'time', - '374': 'wETH', - '377': 'KAA', - '383': 'KODA', - '404': 'MAXI', - '420': 'BLAZE', - '520': '0xe299a5e299a5e299a5', - '555': 'GAME', - '567': 'CHRWNA', - '569': 'KUSA', - '598': 'EREN', - '666': 'BAD', - '677': 'GRB', - '759': 'bLd', - '777': 'GOD', - '813': 'TBUX', - '841': 'YAYOI', - '888': 'LUCK', - '911': '911', - '969': 'WGTL', - '999': 'CBDC', - '1000': 'SPARK', - '1107': 'HOLIC', - '1111': 'MTVD', - '1123': 'XEN', - '1155': 'WITEK', - '1225': 'GOD', - '1234': 'KSM', - '1313': 'TACP', - '1337': 'TIP', - '1420': 'HYDR', - '1441': 'SPOT', - '1526': 'bcd', - '1607': 'STRGZN', - '1688': 'ali', - '1984': 'USDt', - '1999': 'ADVERT2', - '2021': 'WAVE', - '2048': 'RWS', - '2049': 'Android', - '2050': 'CUT', - '2077': 'XRT', - '3000': 'GRAIN', - '3001': 'DUCK', - '3077': 'ACT', - '3327': 'MVPW', - '3328': 'A42', - '3721': 'fast', - '3943': 'GMK', - '6789': 'VHM', - '6967': 'CHAOS', - '7777': 'lucky7', - '8848': 'top', - '9000': 'KPOTS', - '9999': 'BTC', - '11111': 'KVC', - '12345': 'DREX', - '19840': 'USDt', - '42069': 'INTRN', - '69420': 'CHAOS', - '80815': 'KSMFS', - '80816': 'RUEPP', - '80817': 'FRALEY', - '88888': 'BAILEGO', - '95834': 'LUL', - '131313': 'DMO', - '220204': 'STM', - '314159': 'RTT', - '777777': 'DEFI', - '862812': 'CUBO', - '863012': 'VCOP', - '4206969': 'SHIB', - '5201314': 'belove', - '5797867': 'TAKE', - '7777777': 'king', - '4294967291': 'PRIME', - }, - foreignAssetsInfo: { - '0x7b22706172656e7473223a2232222c22696e746572696f72223a7b225831223a7b22476c6f62616c436f6e73656e737573223a22506f6c6b61646f74227d7d7d': - { - symbol: '', - name: '', + const result = await fetchChainInfo( + prodRelayKusama, + prodRelayKusama.info as unknown as string, + false, + ); + + expect(result).toEqual([ + { + tokens: ['KSM'], + specName: 'asset-hub-kusama', + assetsInfo: { + '0': 'DOG', + '1': 'L T', + '2': 'PNN', + '3': 'Meow', + '4': 'HAPPY', + '5': 'BEER', + '6': 'ZKPD', + '7': 'DOS', + '8': 'RMRK', + '9': 'TOT', + '10': 'USDC', + '11': 'USDT', + '12': 'BUSD', + '13': 'LN', + '14': 'DOT', + '15': 'Web3', + '16': 'ARIS', + '17': 'MEME', + '18': 'HEI', + '19': 'SHOT', + '20': 'BFKK', + '21': 'ELEV', + '22': 'STH', + '23': 'KOJO', + '24': 'test', + '25': 'BABE', + '26': 'BUNGA', + '27': 'RUNE', + '28': 'LAC', + '29': 'CODES', + '30': 'GOL', + '31': 'ki', + '32': 'FAV', + '33': 'BUSSY', + '34': 'PLX', + '35': 'LUCKY', + '36': 'RRT', + '37': 'MNCH', + '38': 'ENT', + '39': 'DSCAN', + '40': 'ERIC', + '41': 'GOOSE', + '42': 'NRNF', + '43': 'TTT', + '44': 'ADVNCE', + '45': 'CRIB', + '46': 'FAN', + '47': 'EUR', + '49': 'DIAN', + '50': 'PROMO', + '55': 'MTS', + '60': 'GAV', + '61': 'CRY', + '64': 'oh!', + '66': 'DAI', + '68': 'ADVERT', + '69': 'NICE', + '70': 'MAR', + '71': 'OAK', + '75': 'cipher', + '77': 'Crypto', + '87': 'XEXR', + '88': 'BTC', + '90': 'SATS', + '91': 'TMJ', + '99': 'BITCOIN', + '100': 'Chralt', + '101': '---', + '102': 'DRX', + '111': 'NO1', + '117': 'TNKR', + '123': 'NFT', + '138': 'Abc', + '168': 'Tokens', + '188': 'ZLK', + '200': 'SIX', + '214': 'LOVE', + '222': 'PNEO', + '223': 'BILL', + '224': 'SIK', + '300': 'PWS', + '333': 'Token', + '345': '345', + '360': 'uni', + '365': 'time', + '374': 'wETH', + '377': 'KAA', + '383': 'KODA', + '404': 'MAXI', + '420': 'BLAZE', + '520': '0xe299a5e299a5e299a5', + '555': 'GAME', + '567': 'CHRWNA', + '569': 'KUSA', + '598': 'EREN', + '666': 'BAD', + '677': 'GRB', + '759': 'bLd', + '777': 'GOD', + '813': 'TBUX', + '841': 'YAYOI', + '888': 'LUCK', + '911': '911', + '969': 'WGTL', + '999': 'CBDC', + '1000': 'SPARK', + '1107': 'HOLIC', + '1111': 'MTVD', + '1123': 'XEN', + '1155': 'WITEK', + '1225': 'GOD', + '1234': 'KSM', + '1313': 'TACP', + '1337': 'TIP', + '1420': 'HYDR', + '1441': 'SPOT', + '1526': 'bcd', + '1607': 'STRGZN', + '1688': 'ali', + '1984': 'USDt', + '1999': 'ADVERT2', + '2021': 'WAVE', + '2048': 'RWS', + '2049': 'Android', + '2050': 'CUT', + '2077': 'XRT', + '3000': 'GRAIN', + '3001': 'DUCK', + '3077': 'ACT', + '3327': 'MVPW', + '3328': 'A42', + '3721': 'fast', + '3943': 'GMK', + '6789': 'VHM', + '6967': 'CHAOS', + '7777': 'lucky7', + '8848': 'top', + '9000': 'KPOTS', + '9999': 'BTC', + '11111': 'KVC', + '12345': 'DREX', + '19840': 'USDt', + '42069': 'INTRN', + '69420': 'CHAOS', + '80815': 'KSMFS', + '80816': 'RUEPP', + '80817': 'FRALEY', + '88888': 'BAILEGO', + '95834': 'LUL', + '131313': 'DMO', + '220204': 'STM', + '314159': 'RTT', + '777777': 'DEFI', + '862812': 'CUBO', + '863012': 'VCOP', + '4206969': 'SHIB', + '5201314': 'belove', + '5797867': 'TAKE', + '7777777': 'king', + '4294967291': 'PRIME', + }, + foreignAssetsInfo: { + '0x7b22706172656e7473223a2232222c22696e746572696f72223a7b225831223a7b22476c6f62616c436f6e73656e737573223a22506f6c6b61646f74227d7d7d': + { + symbol: '', + name: '', + multiLocation: + '{"parents":"2","interior":{"X1":{"GlobalConsensus":"Polkadot"}}}', + }, + TNKR: { + symbol: 'TNKR', + name: 'Tinkernet', multiLocation: - '{"parents":"2","interior":{"X1":{"GlobalConsensus":"Polkadot"}}}', + '{"parents":"1","interior":{"X2":[{"Parachain":"2125"},{"GeneralIndex":"0"}]}}', }, - TNKR: { - symbol: 'TNKR', - name: 'Tinkernet', - multiLocation: - '{"parents":"1","interior":{"X2":[{"Parachain":"2125"},{"GeneralIndex":"0"}]}}', }, - }, - poolPairsInfo: { - '0': { - lpToken: '0', - pairInfo: - '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"5797867"}]}}]]', - }, - '1': { - lpToken: '1', - pairInfo: - '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"1984"}]}}]]', - }, - '2': { - lpToken: '2', - pairInfo: - '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"1313"}]}}]]', - }, - '3': { - lpToken: '3', - pairInfo: - '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"3327"}]}}]]', - }, - '4': { - lpToken: '4', - pairInfo: - '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"3328"}]}}]]', - }, - '5': { - lpToken: '5', - pairInfo: - '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"131313"}]}}]]', + poolPairsInfo: { + '0': { + lpToken: '0', + pairInfo: + '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"5797867"}]}}]]', + }, + '1': { + lpToken: '1', + pairInfo: + '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"1984"}]}}]]', + }, + '2': { + lpToken: '2', + pairInfo: + '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"1313"}]}}]]', + }, + '3': { + lpToken: '3', + pairInfo: + '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"3327"}]}}]]', + }, + '4': { + lpToken: '4', + pairInfo: + '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"3328"}]}}]]', + }, + '5': { + lpToken: '5', + pairInfo: + '[[{"parents":"1","interior":"Here"},{"parents":"0","interior":{"X2":[{"PalletInstance":"50"},{"GeneralIndex":"131313"}]}}]]', + }, }, }, - }); + undefined, + ]); }); }); describe('Bifrost', () => { it('Correctly fetches Bifrost Kusama ChainInfo', async () => { - ( - getApi as jest.MockedFunction< - ( - endpointOpts: EndpointOption, - chain: string, - isRelay?: boolean, - ) => Promise - > - ).mockResolvedValueOnce(adjustedMockBifrostKusamaParachainApi); - ( - fetchSystemParachainAssetInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > - ).mockResolvedValueOnce({}); - ( - fetchSystemParachainForeignAssetInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > - ).mockResolvedValueOnce({}); - ( - fetchSystemParachainAssetConversionPoolInfo as jest.MockedFunction< - (api: ApiPromise) => Promise - > + vi.mocked(getApi).mockResolvedValueOnce( + adjustedMockBifrostKusamaParachainApi, + ); + vi.mocked(fetchSystemParachainAssetInfo).mockResolvedValueOnce({}); + + vi.mocked(fetchSystemParachainForeignAssetInfo).mockResolvedValueOnce({}); + + vi.mocked( + fetchSystemParachainAssetConversionPoolInfo, ).mockResolvedValueOnce({}); - await expect( - fetchChainInfo( - prodRelayKusama, - prodRelayKusama.info as unknown as string, - true, - ), - ).resolves.toEqual({ - tokens: ['BNC'], - specName: 'bifrost', - assetsInfo: {}, - foreignAssetsInfo: {}, - poolPairsInfo: {}, - }); + const result = await fetchChainInfo( + prodRelayKusama, + prodRelayKusama.info as unknown as string, + false, + ); + + expect(result).toEqual([ + { + tokens: ['BNC'], + specName: 'bifrost', + assetsInfo: {}, + foreignAssetsInfo: {}, + poolPairsInfo: {}, + }, + undefined, + ]); }); }); }); diff --git a/src/fetchChainInfo.ts b/src/fetchChainInfo.ts index d127410..9ddf4de 100644 --- a/src/fetchChainInfo.ts +++ b/src/fetchChainInfo.ts @@ -1,18 +1,18 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. -import type { EndpointOption } from '@polkadot/apps-config/endpoints/types'; +import { EndpointOption } from '@polkadot/apps-config/endpoints/types.js'; -import { fetchSystemParachainAssetConversionPoolInfo } from './fetchSystemParachainAssetConversionPoolInfo'; -import { fetchSystemParachainAssetInfo } from './fetchSystemParachainAssetInfo'; -import { fetchSystemParachainForeignAssetInfo } from './fetchSystemParachainForeignAssetInfo'; -import { getApi } from './getApi'; +import { fetchSystemParachainAssetConversionPoolInfo } from './fetchSystemParachainAssetConversionPoolInfo.js'; +import { fetchSystemParachainAssetInfo } from './fetchSystemParachainAssetInfo.js'; +import { fetchSystemParachainForeignAssetInfo } from './fetchSystemParachainForeignAssetInfo.js'; +import { getApi } from './getApi.js'; import type { AssetsInfo, ChainInfoKeys, ForeignAssetsInfo, PoolPairsInfo, -} from './types'; -import { logWithDate } from './util'; +} from './types.js'; +import { logWithDate } from './util.js'; /** * Fetch chain token and spec info. @@ -24,9 +24,10 @@ import { logWithDate } from './util'; export const fetchChainInfo = async ( endpointOpts: EndpointOption, chain: string, - isRelay?: boolean, -): Promise => { + isRelay: boolean, +): Promise<[ChainInfoKeys, number | undefined] | null> => { const api = await getApi(endpointOpts, chain, isRelay); + const connected = api?.isConnected === true; logWithDate(`Api connected for ${chain}: ${connected}`, true); @@ -61,13 +62,16 @@ export const fetchChainInfo = async ( await api.disconnect(); - return { - tokens, - assetsInfo, - foreignAssetsInfo, - poolPairsInfo, - specName: specNameStr, - }; + return [ + { + tokens, + assetsInfo, + foreignAssetsInfo, + poolPairsInfo, + specName: specNameStr, + }, + endpointOpts.paraId, + ]; } else { return null; } diff --git a/src/fetchParaIds.spec.ts b/src/fetchParaIds.spec.ts index dd063f6..3164ef0 100644 --- a/src/fetchParaIds.spec.ts +++ b/src/fetchParaIds.spec.ts @@ -1,32 +1,27 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. -import type { ApiPromise } from '@polkadot/api'; import { prodRelayKusama } from '@polkadot/apps-config'; -import type { EndpointOption } from '@polkadot/apps-config/endpoints/types'; +import { describe, expect, it, vi } from 'vitest'; -import { fetchParaIds } from './fetchParaIds'; -import { getApi } from './getApi'; -import { adjustedMockKusamaRelayApi } from './testHelpers/adjustedMockKusamaRelayApi'; -import type { ParaIds } from './types'; +import { fetchParaIds } from './fetchParaIds.js'; +import { getApi } from './getApi.js'; +import { adjustedMockKusamaRelayApi } from './testHelpers/adjustedMockKusamaRelayApi.js'; +import type { ParaIds } from './types.js'; -jest.mock('./getApi'); +vi.mock('./getApi.js', () => { + return { + getApi: vi.fn(), + }; +}); +vi.mocked(getApi).mockResolvedValue(adjustedMockKusamaRelayApi); describe('fetchParaIds', () => { it('Correctly fetches the parachain Ids for a given relay chain', async () => { - ( - getApi as jest.MockedFunction< - ( - endpointOpts: EndpointOption, - chain: string, - isRelay?: boolean, - ) => Promise - > - ).mockResolvedValueOnce(adjustedMockKusamaRelayApi); - const paraIds: ParaIds = {}; - await expect( - fetchParaIds('kusama', prodRelayKusama, paraIds), - ).resolves.toEqual({ + + const result = await fetchParaIds('kusama', prodRelayKusama, paraIds); + + expect(result).toEqual({ kusama: [ 1000, 1001, 1002, 2000, 2001, 2004, 2007, 2011, 2012, 2015, 2023, 2024, 2048, 2084, 2085, 2087, 2088, 2090, 2092, 2095, 2096, 2105, 2106, 2110, diff --git a/src/fetchParaIds.ts b/src/fetchParaIds.ts index c4827f0..1a841a5 100644 --- a/src/fetchParaIds.ts +++ b/src/fetchParaIds.ts @@ -1,9 +1,9 @@ // Copyright 2023 Parity Technologies (UK) Ltd. -import type { EndpointOption } from '@polkadot/apps-config/endpoints/types'; +import { EndpointOption } from '@polkadot/apps-config/endpoints/types.js'; -import { getApi } from './getApi'; -import type { ParaIds } from './types'; +import { getApi } from './getApi.js'; +import type { ParaIds } from './types.js'; /** * This will create a registry of Parachain Ids. diff --git a/src/fetchSystemParachainAssetConversionPoolInfo.spec.ts b/src/fetchSystemParachainAssetConversionPoolInfo.spec.ts index 774ce18..3d432d0 100644 --- a/src/fetchSystemParachainAssetConversionPoolInfo.spec.ts +++ b/src/fetchSystemParachainAssetConversionPoolInfo.spec.ts @@ -1,7 +1,9 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. -import { fetchSystemParachainAssetConversionPoolInfo } from './fetchSystemParachainAssetConversionPoolInfo'; -import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi'; +import { describe, expect, it } from 'vitest'; + +import { fetchSystemParachainAssetConversionPoolInfo } from './fetchSystemParachainAssetConversionPoolInfo.js'; +import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi.js'; describe('fetchSystemParachainAssetConversionPoolInfo', () => { it('Should correctly return the Asset Conversion Pool Info for Asset Hub', async () => { diff --git a/src/fetchSystemParachainAssetConversionPoolInfo.ts b/src/fetchSystemParachainAssetConversionPoolInfo.ts index 7e5f301..527cca3 100644 --- a/src/fetchSystemParachainAssetConversionPoolInfo.ts +++ b/src/fetchSystemParachainAssetConversionPoolInfo.ts @@ -1,8 +1,12 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. import { ApiPromise } from '@polkadot/api'; -import type { PoolInfo, PoolPairsInfo, UnionXcmMultiLocation } from './types'; +import type { + PoolInfo, + PoolPairsInfo, + UnionXcmMultiLocation, +} from './types.js'; /** * Fetch asset conversion pool info from storage. This will return an object where diff --git a/src/fetchSystemParachainAssetInfo.spec.ts b/src/fetchSystemParachainAssetInfo.spec.ts index 673b141..e6d057c 100644 --- a/src/fetchSystemParachainAssetInfo.spec.ts +++ b/src/fetchSystemParachainAssetInfo.spec.ts @@ -1,7 +1,9 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. -import { fetchSystemParachainAssetInfo } from './fetchSystemParachainAssetInfo'; -import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi'; +import { describe, expect, it } from 'vitest'; + +import { fetchSystemParachainAssetInfo } from './fetchSystemParachainAssetInfo.js'; +import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi.js'; describe('fetchSystemParachainAssetInfo', () => { it('Should correctly return the Asset Info for Asset Hub', async () => { diff --git a/src/fetchSystemParachainAssetInfo.ts b/src/fetchSystemParachainAssetInfo.ts index 60e83b1..d95534c 100644 --- a/src/fetchSystemParachainAssetInfo.ts +++ b/src/fetchSystemParachainAssetInfo.ts @@ -2,7 +2,7 @@ import { ApiPromise } from '@polkadot/api'; -import type { AssetsInfo } from './types'; +import type { AssetsInfo } from './types.js'; /** * Fetch Asset info for system parachains. diff --git a/src/fetchSystemParachainForeignAssetInfo.spec.ts b/src/fetchSystemParachainForeignAssetInfo.spec.ts index 7638355..ba25e17 100644 --- a/src/fetchSystemParachainForeignAssetInfo.spec.ts +++ b/src/fetchSystemParachainForeignAssetInfo.spec.ts @@ -1,7 +1,9 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. -import { fetchSystemParachainForeignAssetInfo } from './fetchSystemParachainForeignAssetInfo'; -import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi'; +import { describe, expect, it } from 'vitest'; + +import { fetchSystemParachainForeignAssetInfo } from './fetchSystemParachainForeignAssetInfo.js'; +import { adjustedmockAssetHubKusamaApi } from './testHelpers/adjustedMockAssetHubKusamaApi.js'; describe('fetchSystemParachainForeignAssetInfo', () => { it('Should correctly return the Foreign Asset Info for Asset Hub', async () => { diff --git a/src/fetchSystemParachainForeignAssetInfo.ts b/src/fetchSystemParachainForeignAssetInfo.ts index ae82a7c..e1b11ba 100644 --- a/src/fetchSystemParachainForeignAssetInfo.ts +++ b/src/fetchSystemParachainForeignAssetInfo.ts @@ -1,4 +1,4 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. import { ApiPromise } from '@polkadot/api'; import { stringToHex } from '@polkadot/util'; @@ -7,7 +7,7 @@ import type { ForeignAssetMetadata, ForeignAssetsInfo, UnionXcmMultiLocation, -} from './types'; +} from './types.js'; /** * This will fetch all the foreign asset entries in storage and return an object diff --git a/src/fetchXcAssetRegistryInfo.spec.ts b/src/fetchXcAssetRegistryInfo.spec.ts index dc64c84..f90096f 100644 --- a/src/fetchXcAssetRegistryInfo.spec.ts +++ b/src/fetchXcAssetRegistryInfo.spec.ts @@ -1,31 +1,29 @@ -// Copyright 2023 Parity Technologies (UK) Ltd. +// Copyright 2024 Parity Technologies (UK) Ltd. -import { fetchXcAssetsRegistryInfo } from './fetchXcAssetRegistryInfo'; -import { astarTestXcAssets } from './testHelpers/astarXcAssets'; -import { bifrostKusamaTestXcAssets } from './testHelpers/bifrostKusamaXcAssets'; -import { moonBeamTestXcAssets } from './testHelpers/moonbeamXcAssets'; -import type { XcAssets, XcAssetsInfo } from './types'; -import { fetchXcAssetData } from './util'; +import { describe, expect, it, vi } from 'vitest'; -jest.mock('./util'); +import { fetchXcAssetsRegistryInfo } from './fetchXcAssetsRegistryInfo.js'; +import { astarTestXcAssets } from './testHelpers/astarXcAssets.js'; +import { bifrostKusamaTestXcAssets } from './testHelpers/bifrostKusamaXcAssets.js'; +import { moonBeamTestXcAssets } from './testHelpers/moonbeamXcAssets.js'; +import type { XcAssetsInfo } from './types.js'; +import { fetchXcAssetData } from './util.js'; + +vi.mock('./util', () => { + return { + fetchXcAssetData: vi.fn(), + }; +}); + +vi.mocked(fetchXcAssetData).mockResolvedValueOnce({ + xcAssets: { + polkadot: [moonBeamTestXcAssets, astarTestXcAssets], + kusama: [bifrostKusamaTestXcAssets], + }, +}); describe('fetchXcAssetsRegistryInfo', () => { it('Should Correctly set xcAssetsData on the Assets Registry', async () => { - ( - fetchXcAssetData as jest.MockedFunction< - (cdnUrl: string) => Promise<{ - xcAssets: XcAssets; - }> - > - ).mockReturnValueOnce( - Promise.resolve({ - xcAssets: { - polkadot: [moonBeamTestXcAssets, astarTestXcAssets], - kusama: [bifrostKusamaTestXcAssets], - }, - }), - ); - const registry = { polkadot: { '2004': { diff --git a/src/fetchXcAssetRegistryInfo.ts b/src/fetchXcAssetsRegistryInfo.ts similarity index 87% rename from src/fetchXcAssetRegistryInfo.ts rename to src/fetchXcAssetsRegistryInfo.ts index 5a75c82..9f3f133 100644 --- a/src/fetchXcAssetRegistryInfo.ts +++ b/src/fetchXcAssetsRegistryInfo.ts @@ -1,22 +1,24 @@ // Copyright 2023 Parity Technologies (UK) Ltd. -import { XC_ASSET_CDN_URL } from './consts'; +import { XC_ASSET_CDN_URL } from './consts.js'; import type { SanitizedXcAssetsData, TokenRegistry, XcAssets, XcAssetsData, -} from './types'; -import { fetchXcAssetData } from './util'; +} from './types.js'; +import { fetchXcAssetData } from './util.js'; export const fetchXcAssetsRegistryInfo = async ( registry: TokenRegistry, -): Promise => { +): Promise => { const xcAssetsRegistry = await fetchXcAssetData(XC_ASSET_CDN_URL); const { xcAssets } = xcAssetsRegistry; assignXcAssetsToRelay(registry, xcAssets, 'polkadot'); assignXcAssetsToRelay(registry, xcAssets, 'kusama'); + + return registry; }; const assignXcAssetsToRelay = ( diff --git a/src/getApi.ts b/src/getApi.ts index feb2d52..d3a468f 100644 --- a/src/getApi.ts +++ b/src/getApi.ts @@ -2,7 +2,7 @@ import type { EndpointOption } from '@polkadot/apps-config/endpoints/types'; -import { startApi } from './startApi'; +import { startApi } from './startApi.js'; /** * This will attempt to retrieve an active api that has succesfully connected to a node. * It will return null if no connection is made. diff --git a/src/getProvider.ts b/src/getProvider.ts index e331527..709a536 100644 --- a/src/getProvider.ts +++ b/src/getProvider.ts @@ -2,9 +2,9 @@ import { WsProvider } from '@polkadot/api'; -import { MAX_RETRIES, WS_DISCONNECT_TIMEOUT_SECONDS } from './consts'; -import { logWithDate, sleep, twirlTimer } from './util'; -import { skipProcessingEndpoint } from './util'; +import { MAX_RETRIES, WS_DISCONNECT_TIMEOUT_SECONDS } from './consts.js'; +import { logWithDate, sleep, twirlTimer } from './util.js'; +import { skipProcessingEndpoint } from './util.js'; /** * This tests the available endpoints to check which are responsive diff --git a/src/index.ts b/src/index.ts index f8b9f76..24115f7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ -import REGISTRY from '../docs/registry.json'; -import { PROD_REGISTRY_FILE_PATH } from './consts'; -import { main } from './createRegistry'; -import type { TokenRegistry } from './types'; +import REGISTRY from '../docs/registry.json' assert { type: 'json' }; +import { PROD_REGISTRY_FILE_PATH } from './consts.js'; +import { main } from './createRegistry.js'; +import type { TokenRegistry } from './types.js'; main(PROD_REGISTRY_FILE_PATH, REGISTRY as unknown as TokenRegistry) .catch((err) => console.error(err)) diff --git a/src/startApi.ts b/src/startApi.ts index b57cc7b..73b64a1 100644 --- a/src/startApi.ts +++ b/src/startApi.ts @@ -2,7 +2,7 @@ import { ApiPromise, WsProvider } from '@polkadot/api'; -import { getProvider } from './getProvider'; +import { getProvider } from './getProvider.js'; const blackListedApis = ['wss://rpc.parallel.fi']; diff --git a/src/testHelpers/adjustedMockAssetHubKusamaApi.ts b/src/testHelpers/adjustedMockAssetHubKusamaApi.ts index ed9da49..04c7870 100644 --- a/src/testHelpers/adjustedMockAssetHubKusamaApi.ts +++ b/src/testHelpers/adjustedMockAssetHubKusamaApi.ts @@ -10,7 +10,7 @@ import { } from '@polkadot/types'; import type { ChainProperties, Header } from '@polkadot/types/interfaces'; import type { - PalletAssetConversionNativeOrAssetId, + PalletAssetConversionEvent, PalletAssetConversionPoolInfo, PalletAssetsAssetDetails, PalletAssetsAssetMetadata, @@ -365,24 +365,17 @@ const poolAsset = (asset: string): Promise> => }); const pools = ( - _arg: ITuple< - [PalletAssetConversionNativeOrAssetId, PalletAssetConversionNativeOrAssetId] - >, -): Promise< - [PalletAssetConversionNativeOrAssetId, PalletAssetConversionPoolInfo] -> => + _arg: ITuple<[PalletAssetConversionEvent, PalletAssetConversionEvent]>, +): Promise<[PalletAssetConversionEvent, PalletAssetConversionPoolInfo]> => Promise.resolve().then(() => { const palletAssetConversionNativeOrAssetId = - mockAssetHubKusamaApi.registry.createType( - 'PalletAssetConversionNativeOrAssetId', - [ - { parents: 0, interior: { Here: '' } }, - { - parents: 0, - interior: { X2: [{ PalletInstance: 50 }, { GeneralIndex: 100 }] }, - }, - ], - ); + mockAssetHubKusamaApi.registry.createType('PalletAssetConversionEvent', [ + { parents: 0, interior: { Here: '' } }, + { + parents: 0, + interior: { X2: [{ PalletInstance: 50 }, { GeneralIndex: 100 }] }, + }, + ]); const poolInfo = mockAssetHubKusamaApi.registry.createType( 'PalletAssetConversionPoolInfo', diff --git a/src/testHelpers/adjustedMockPolkadotRelayApi.ts b/src/testHelpers/adjustedMockPolkadotRelayApi.ts new file mode 100644 index 0000000..f2899d2 --- /dev/null +++ b/src/testHelpers/adjustedMockPolkadotRelayApi.ts @@ -0,0 +1,99 @@ +// Copyright 2023 Parity Technologies (UK) Ltd. + +import type { ApiPromise } from '@polkadot/api'; +import type { Header } from '@polkadot/types/interfaces'; +import { ChainProperties } from '@polkadot/types/interfaces'; + +import { mockPolkadotApi } from './mockPolkadotRelayApi'; + +const getRelaySafeXcmVersion = () => + Promise.resolve().then(() => { + return mockPolkadotApi.registry.createType('Option', 2); + }); + +const getRelayRuntimeVersion = () => + Promise.resolve().then(() => { + return { + specName: mockPolkadotApi.registry.createType('Text', 'polkadot'), + specVersion: mockPolkadotApi.registry.createType('u32', 9420), + }; + }); + +const getHeader = (): Promise
=> + Promise.resolve().then(() => + mockPolkadotApi.registry.createType('Header', { + number: mockPolkadotApi.registry.createType('Compact', 100), + parentHash: mockPolkadotApi.registry.createType('Hash'), + stateRoot: mockPolkadotApi.registry.createType('Hash'), + extrinsicsRoot: mockPolkadotApi.registry.createType('Hash'), + digest: mockPolkadotApi.registry.createType('Digest'), + }), + ); + +const accountNextIndex = () => mockPolkadotApi.registry.createType('u32', 10); +const parachains = () => { + return mockPolkadotApi.registry.createType( + 'Vec', + [ + 1000, 1001, 1002, 2000, 2001, 2004, 2007, 2011, 2012, 2015, 2023, 2024, + 2048, 2084, 2085, 2087, 2088, 2090, 2092, 2095, 2096, 2105, 2106, 2110, + 2113, 2114, 2119, 2121, 2123, 2124, 2125, 2222, 2236, 2239, 2241, 2257, + 2261, 2274, 2275, 2281, 2284, 3334, 3335, + ], + ); +}; +const disconnect = () => { + return; +}; + +const chainProperties = (): Promise => + Promise.resolve().then(() => + mockPolkadotApi.registry.createType('ChainProperties', { + tokenSymbol: ['DOT'], + }), + ); + +export const adjustedmockPolkadotApi = { + registry: mockPolkadotApi.registry, + rpc: { + state: { + getRuntimeVersion: getRelayRuntimeVersion, + }, + system: { + accountNextIndex: accountNextIndex, + properties: chainProperties, + }, + chain: { + getHeader: getHeader, + }, + }, + query: { + paras: { + parachains: parachains, + }, + xcmPallet: { + safeXcmVersion: getRelaySafeXcmVersion, + }, + }, + tx: { + xcmPallet: { + limitedReserveTransferAssets: + mockPolkadotApi.tx['xcmPallet'].limitedReserveTransferAssets, + reserveTransferAssets: + mockPolkadotApi.tx['xcmPallet'].reserveTransferAssets, + teleportAssets: mockPolkadotApi.tx['xcmPallet'].teleportAssets, + limitedTeleportAssets: + mockPolkadotApi.tx['xcmPallet'].limitedTeleportAssets, + }, + balances: { + transfer: mockPolkadotApi.tx.balances.transfer, + transferKeepAlive: mockPolkadotApi.tx.balances.transferKeepAlive, + }, + }, + runtimeVersion: { + transactionVersion: mockPolkadotApi.registry.createType('u32', 4), + specVersion: mockPolkadotApi.registry.createType('u32', 9420), + }, + genesisHash: mockPolkadotApi.registry.createType('BlockHash'), + disconnect: disconnect, +} as unknown as ApiPromise; diff --git a/src/testHelpers/metadata/polkadotV10800.ts b/src/testHelpers/metadata/polkadotV10800.ts new file mode 100644 index 0000000..339ae18 --- /dev/null +++ b/src/testHelpers/metadata/polkadotV10800.ts @@ -0,0 +1,4 @@ +// Copyright 2024 Parity Technologies (UK) Ltd. + +export const polkadotV10800 = + '0x6d6574610ebd0c000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273100120526566436f756e7400012470726f766964657273100120526566436f756e7400012c73756666696369656e7473100120526566436f756e740001106461746114012c4163636f756e74446174610000100000050500140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167731c01284578747261466c61677300001800000507001c0c3c70616c6c65745f62616c616e636573147479706573284578747261466c61677300000400180110753132380000200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c7536340000280000062c002c000005060030083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000034000002080038102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f67733c013c5665633c4469676573744974656d3e00003c000002400040102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e00060024436f6e73656e7375730800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000400105365616c0800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000500144f74686572040034011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e74557064617465640008000044000003040000000800480000024c004c08306672616d655f73797374656d2c4576656e745265636f7264080445015004540130000c011470686173655507011450686173650001146576656e7450010445000118746f70696373810101185665633c543e0000500840706f6c6b61646f745f72756e74696d653052756e74696d654576656e740001981853797374656d04005401706672616d655f73797374656d3a3a4576656e743c52756e74696d653e000000245363686564756c6572040078018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e00010020507265696d61676504008c017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e000a001c496e6469636573040090017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0004002042616c616e636573040094017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000500485472616e73616374696f6e5061796d656e7404009c01a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0020001c5374616b696e670400a0017870616c6c65745f7374616b696e673a3a4576656e743c52756e74696d653e000700204f6666656e6365730400bc015870616c6c65745f6f6666656e6365733a3a4576656e740008001c53657373696f6e0400c4015470616c6c65745f73657373696f6e3a3a4576656e740009001c4772616e6470610400c8015470616c6c65745f6772616e6470613a3a4576656e74000b0020496d4f6e6c696e650400dc018070616c6c65745f696d5f6f6e6c696e653a3a4576656e743c52756e74696d653e000c0020547265617375727904000101017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e00130040436f6e76696374696f6e566f74696e670400510101a070616c6c65745f636f6e76696374696f6e5f766f74696e673a3a4576656e743c52756e74696d653e001400245265666572656e646104005501018070616c6c65745f7265666572656e64613a3a4576656e743c52756e74696d653e0015002457686974656c6973740400bd06018070616c6c65745f77686974656c6973743a3a4576656e743c52756e74696d653e00170018436c61696d730400d1060158636c61696d733a3a4576656e743c52756e74696d653e0018001c56657374696e670400d506017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e0019001c5574696c6974790400d906015470616c6c65745f7574696c6974793a3a4576656e74001a00204964656e746974790400dd06017c70616c6c65745f6964656e746974793a3a4576656e743c52756e74696d653e001c001450726f78790400e106017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e001d00204d756c74697369670400e506017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e001e0020426f756e746965730400e906017c70616c6c65745f626f756e746965733a3a4576656e743c52756e74696d653e002200344368696c64426f756e746965730400ed06019470616c6c65745f6368696c645f626f756e746965733a3a4576656e743c52756e74696d653e00260068456c656374696f6e50726f76696465724d756c746950686173650400f10601d070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173653a3a4576656e743c52756e74696d653e00240024566f7465724c6973740400010701f470616c6c65745f626167735f6c6973743a3a4576656e743c52756e74696d652c2070616c6c65745f626167735f6c6973743a3a496e7374616e6365313e0025003c4e6f6d696e6174696f6e506f6f6c7304000507019c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733a3a4576656e743c52756e74696d653e0027002c46617374556e7374616b6504000907018c70616c6c65745f666173745f756e7374616b653a3a4576656e743c52756e74696d653e0028003450617261496e636c7573696f6e04000d07019070617261636861696e735f696e636c7573696f6e3a3a4576656e743c52756e74696d653e00350014506172617304001d07015c70617261636861696e735f70617261733a3a4576656e740038001048726d7004002107017c70617261636861696e735f68726d703a3a4576656e743c52756e74696d653e003c00345061726173446973707574657304002507018c70617261636861696e735f64697370757465733a3a4576656e743c52756e74696d653e003e002452656769737472617204003107017c70617261735f7265676973747261723a3a4576656e743c52756e74696d653e00460014536c6f7473040035070154736c6f74733a3a4576656e743c52756e74696d653e0047002041756374696f6e7304003907016061756374696f6e733a3a4576656e743c52756e74696d653e0048002443726f77646c6f616e04003d07016463726f77646c6f616e3a3a4576656e743c52756e74696d653e0049002458636d50616c6c657404004107016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e006300304d657373616765517565756504004907019070616c6c65745f6d6573736167655f71756575653a3a4576656e743c52756e74696d653e0064002441737365745261746504005107018470616c6c65745f61737365745f726174653a3a4576656e743c52756e74696d653e00650000540c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5801304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7264013444697370617463684572726f7200013464697370617463685f696e666f5801304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736830011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e580c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735c01344469737061746368436c617373000120706179735f6665656001105061797300005c0c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000600c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000064082873705f72756e74696d653444697370617463684572726f72000138144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040068012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e04006c0128546f6b656e4572726f720007002841726974686d65746963040070013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007401485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c0038526f6f744e6f74416c6c6f776564000d000068082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7244018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d00006c082873705f72756e74696d6528546f6b656e4572726f720001284046756e6473556e617661696c61626c65000000304f6e6c7950726f76696465720001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006004043616e6e6f74437265617465486f6c64000700344e6f74457870656e6461626c650008001c426c6f636b65640009000070083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000074082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000780c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657810010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657810010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736b7c01785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869648001404f7074696f6e3c5461736b4e616d653e000118726573756c748401384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736b7c01785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869648001404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736b7c01785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869648001404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736b7c01785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e00010869648001404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652e7c000004081010008004184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000840418526573756c740804540188044501640108084f6b040088000000000c45727204006400000100008800000400008c0c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736830011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736830011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736830011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574900c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574940c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001541c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e636553657408010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475739801185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e184d696e74656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000a049c536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e184275726e656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000b049c536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e2453757370656e64656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000c041501536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e20526573746f72656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000d04a4536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e20557067726164656404010c77686f000130543a3a4163636f756e744964000e0460416e206163636f756e74207761732075706772616465642e18497373756564040118616d6f756e74180128543a3a42616c616e6365000f042d01546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e2452657363696e646564040118616d6f756e74180128543a3a42616c616e63650010042501546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e184c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500110460536f6d652062616c616e636520776173206c6f636b65642e20556e6c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500120468536f6d652062616c616e63652077617320756e6c6f636b65642e1846726f7a656e08010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500130460536f6d652062616c616e6365207761732066726f7a656e2e1854686177656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500140460536f6d652062616c616e636520776173207468617765642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749814346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e63655374617475730001081046726565000000205265736572766564000100009c0c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a0103870616c6c65745f7374616b696e671870616c6c65741870616c6c6574144576656e740404540001441c457261506169640c01246572615f696e646578100120457261496e64657800014076616c696461746f725f7061796f757418013042616c616e63654f663c543e00012472656d61696e64657218013042616c616e63654f663c543e000008550154686520657261207061796f757420686173206265656e207365743b207468652066697273742062616c616e6365206973207468652076616c696461746f722d7061796f75743b20746865207365636f6e64206973c07468652072656d61696e6465722066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e2052657761726465640c01147374617368000130543a3a4163636f756e74496400011064657374a4017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e000118616d6f756e7418013042616c616e63654f663c543e0001040d01546865206e6f6d696e61746f7220686173206265656e207265776172646564206279207468697320616d6f756e7420746f20746869732064657374696e6174696f6e2e1c536c61736865640801187374616b6572000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0002041d0141207374616b6572202876616c696461746f72206f72206e6f6d696e61746f722920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e34536c6173685265706f727465640c012476616c696461746f72000130543a3a4163636f756e7449640001206672616374696f6ea8011c50657262696c6c000124736c6173685f657261100120457261496e64657800030859014120736c61736820666f722074686520676976656e2076616c696461746f722c20666f722074686520676976656e2070657263656e74616765206f66207468656972207374616b652c2061742074686520676976656e54657261206173206265656e207265706f727465642e684f6c64536c617368696e675265706f727444697363617264656404013473657373696f6e5f696e64657810013053657373696f6e496e6465780004081901416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c64446e6f742062652070726f6365737365642e385374616b657273456c65637465640005048441206e657720736574206f66207374616b6572732077617320656c65637465642e18426f6e6465640801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000610d0416e206163636f756e742068617320626f6e646564207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d004d014e4f54453a2054686973206576656e74206973206f6e6c7920656d6974746564207768656e2066756e64732061726520626f6e64656420766961206120646973706174636861626c652e204e6f7461626c792c210169742077696c6c206e6f7420626520656d697474656420666f72207374616b696e672072657761726473207768656e20746865792061726520616464656420746f207374616b652e20556e626f6e6465640801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e00070490416e206163636f756e742068617320756e626f6e646564207468697320616d6f756e742e2457697468647261776e0801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0008085901416e206163636f756e74206861732063616c6c6564206077697468647261775f756e626f6e6465646020616e642072656d6f76656420756e626f6e64696e67206368756e6b7320776f727468206042616c616e6365606466726f6d2074686520756e6c6f636b696e672071756575652e184b69636b65640801246e6f6d696e61746f72000130543a3a4163636f756e7449640001147374617368000130543a3a4163636f756e744964000904b441206e6f6d696e61746f7220686173206265656e206b69636b65642066726f6d20612076616c696461746f722e545374616b696e67456c656374696f6e4661696c6564000a04ac54686520656c656374696f6e206661696c65642e204e6f206e65772065726120697320706c616e6e65642e1c4368696c6c65640401147374617368000130543a3a4163636f756e744964000b042101416e206163636f756e74206861732073746f707065642070617274696369706174696e672061732065697468657220612076616c696461746f72206f72206e6f6d696e61746f722e345061796f7574537461727465640801246572615f696e646578100120457261496e64657800013c76616c696461746f725f7374617368000130543a3a4163636f756e744964000c0498546865207374616b657273272072657761726473206172652067657474696e6720706169642e4456616c696461746f7250726566735365740801147374617368000130543a3a4163636f756e7449640001147072656673ac013856616c696461746f725072656673000d0498412076616c696461746f72206861732073657420746865697220707265666572656e6365732e68536e617073686f74566f7465727353697a65457863656564656404011073697a6510010c753332000e0468566f746572732073697a65206c696d697420726561636865642e6c536e617073686f745461726765747353697a65457863656564656404011073697a6510010c753332000f046c546172676574732073697a65206c696d697420726561636865642e20466f7263654572610401106d6f6465b8011c466f7263696e670010047441206e657720666f72636520657261206d6f646520776173207365742e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a4083870616c6c65745f7374616b696e674452657761726444657374696e6174696f6e04244163636f756e74496401000114185374616b656400000014537461736800010028436f6e74726f6c6c65720002001c4163636f756e7404000001244163636f756e744964000300104e6f6e6500040000a80c3473705f61726974686d65746963287065725f7468696e67731c50657262696c6c0000040010010c7533320000ac083870616c6c65745f7374616b696e673856616c696461746f7250726566730000080128636f6d6d697373696f6eb0011c50657262696c6c00011c626c6f636b6564b40110626f6f6c0000b0000006a800b40000050000b8083870616c6c65745f7374616b696e671c466f7263696e67000110284e6f74466f7263696e6700000020466f7263654e657700010024466f7263654e6f6e650002002c466f726365416c7761797300030000bc0c3c70616c6c65745f6f6666656e6365731870616c6c6574144576656e740001041c4f6666656e63650801106b696e64c001104b696e6400012074696d65736c6f743401384f706171756554696d65536c6f7400000c5101546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e643501286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e4c5c5b6b696e642c2074696d65736c6f745c5d2e04304576656e747320747970652ec0000003100000000800c40c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e64657810013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c80c3870616c6c65745f6772616e6470611870616c6c6574144576656e7400010c384e6577417574686f726974696573040134617574686f726974795f736574cc0134417574686f726974794c6973740000048c4e657720617574686f726974792073657420686173206265656e206170706c6965642e185061757365640001049843757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640002049c43757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cc000002d000d000000408d42c00d40c5073705f636f6e73656e7375735f6772616e6470610c617070185075626c696300000400d8013c656432353531393a3a5075626c69630000d80c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d0000dc0c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144576656e7404045400010c444865617274626561745265636569766564040130617574686f726974795f6964e00138543a3a417574686f726974794964000004c041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964602e1c416c6c476f6f64000104d041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504011c6f66666c696e65e8016c5665633c4964656e74696669636174696f6e5475706c653c543e3e000204290141742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e0104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139185075626c696300000400e4013c737232353531393a3a5075626c69630000e40c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000e8000002ec00ec0000040800f000f0083870616c6c65745f7374616b696e67204578706f7375726508244163636f756e74496401001c42616c616e63650118000c0114746f74616cf4011c42616c616e636500010c6f776ef4011c42616c616e63650001186f7468657273f801ac5665633c496e646976696475616c4578706f737572653c4163636f756e7449642c2042616c616e63653e3e0000f40000061800f8000002fc00fc083870616c6c65745f7374616b696e6748496e646976696475616c4578706f7375726508244163636f756e74496401001c42616c616e636501180008010c77686f0001244163636f756e74496400011476616c7565f4011c42616c616e6365000001010c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001382050726f706f73656404013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e64657810013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e4841737365745370656e64417070726f766564180114696e6465781001285370656e64496e64657800012861737365745f6b696e6405010130543a3a41737365744b696e64000118616d6f756e74180150417373657442616c616e63654f663c542c20493e00012c62656e656669636961727931010138543a3a42656e656669636961727900012876616c69645f66726f6d100144426c6f636b4e756d626572466f723c543e0001246578706972655f6174100144426c6f636b4e756d626572466f723c543e000904b441206e6577206173736574207370656e642070726f706f73616c20686173206265656e20617070726f7665642e4041737365745370656e64566f69646564040114696e6465781001285370656e64496e646578000a0474416e20617070726f766564207370656e642077617320766f696465642e1050616964080114696e6465781001285370656e64496e6465780001287061796d656e745f69642c01643c543a3a5061796d6173746572206173205061793e3a3a4964000b044c41207061796d656e742068617070656e65642e345061796d656e744661696c6564080114696e6465781001285370656e64496e6465780001287061796d656e745f69642c01643c543a3a5061796d6173746572206173205061793e3a3a4964000c049041207061796d656e74206661696c656420616e642063616e20626520726574726965642e385370656e6450726f636573736564040114696e6465781001285370656e64496e646578000d084d0141207370656e64207761732070726f63657373656420616e642072656d6f7665642066726f6d207468652073746f726167652e204974206d696768742068617665206265656e207375636365737366756c6c797070616964206f72206974206d6179206861766520657870697265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657405010c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e14696d706c735c56657273696f6e65644c6f63617461626c6541737365740001040856330801206c6f636174696f6e0901015878636d3a3a76333a3a4d756c74694c6f636174696f6e00012061737365745f69642d01014078636d3a3a76333a3a41737365744964000300000901102c73746167696e675f78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f720d0101244a756e6374696f6e7300000d01100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400110101204a756e6374696f6e0001000858320800110101204a756e6374696f6e0000110101204a756e6374696f6e0002000858330c00110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0003000858341000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0004000858351400110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0005000858361800110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0006000858371c00110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0007000858382000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e0000110101204a756e6374696f6e000800001101100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e04001501010c7533320000002c4163636f756e744964333208011c6e6574776f726b190101444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b190101444f7074696f6e3c4e6574776f726b49643e000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b190101444f7074696f6e3c4e6574776f726b49643e00010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400f40110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c697479080108696425010118426f647949640001107061727429010120426f6479506172740008003c476c6f62616c436f6e73656e73757304001d0101244e6574776f726b49640009000015010000061000190104184f7074696f6e040454011d010108104e6f6e6500000010536f6d6504001d0100000100001d01100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d6265722c010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f696428010c7536340007002c426974636f696e436f72650008002c426974636f696e436173680009000021010000031400000008002501100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040044011c5b75383b20345d00010014496e64657804001501010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900002901100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e741501010c753332000100204672616374696f6e08010c6e6f6d1501010c75333200011464656e6f6d1501010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6d1501010c75333200011464656e6f6d1501010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6d1501010c75333200011464656e6f6d1501010c753332000400002d01100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400090101344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d000100003101080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563204003501014476323a3a4d756c74694c6f636174696f6e00010008563304000901014476333a3a4d756c74694c6f636174696f6e000300003501100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72390101244a756e6374696f6e7300003901100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e73000124104865726500000008583104003d0101204a756e6374696f6e00010008583208003d0101204a756e6374696f6e00003d0101204a756e6374696f6e0002000858330c003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00030008583410003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00040008583514003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00050008583618003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e0006000858371c003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00070008583820003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e00003d0101204a756e6374696f6e000800003d01100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e04001501010c7533320000002c4163636f756e744964333208011c6e6574776f726b410101244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b410101244e6574776f726b4964000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b410101244e6574776f726b496400010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400f40110753132380005002847656e6572616c4b65790400450101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c697479080108696449010118426f64794964000110706172744d010120426f6479506172740008000041010c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400450101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d610003000045010c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003401185665633c543e000049010c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400450101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e64657804001501010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900004d010c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e741501010c753332000100204672616374696f6e08010c6e6f6d1501010c75333200011464656e6f6d1501010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6d1501010c75333200011464656e6f6d1501010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6d1501010c75333200011464656e6f6d1501010c7533320004000051010c6070616c6c65745f636f6e76696374696f6e5f766f74696e671870616c6c6574144576656e740804540004490001082444656c6567617465640800000130543a3a4163636f756e7449640000000130543a3a4163636f756e7449640000041d01416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e205c5b77686f2c207461726765745c5d2c556e64656c6567617465640400000130543a3a4163636f756e744964000104f4416e205c5b6163636f756e745c5d206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e047c54686520604576656e746020656e756d206f6620746869732070616c6c657455010c4070616c6c65745f7265666572656e64611870616c6c6574144576656e74080454000449000140245375626d69747465640c0114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e0114747261636b5901013c547261636b49644f663c542c20493e04250154686520747261636b2028616e6420627920657874656e73696f6e2070726f706f73616c206469737061746368206f726967696e29206f662074686973207265666572656e64756d2e012070726f706f73616c5d01014c426f756e64656443616c6c4f663c542c20493e04805468652070726f706f73616c20666f7220746865207265666572656e64756d2e00048041207265666572656e64756d20686173206265656e207375626d69747465642e544465636973696f6e4465706f736974506c616365640c0114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e010c77686f000130543a3a4163636f756e744964048c546865206163636f756e742077686f20706c6163656420746865206465706f7369742e0118616d6f756e7418013c42616c616e63654f663c542c20493e048454686520616d6f756e7420706c6163656420627920746865206163636f756e742e010494546865206465636973696f6e206465706f73697420686173206265656e20706c616365642e5c4465636973696f6e4465706f736974526566756e6465640c0114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e010c77686f000130543a3a4163636f756e744964048c546865206163636f756e742077686f20706c6163656420746865206465706f7369742e0118616d6f756e7418013c42616c616e63654f663c542c20493e048454686520616d6f756e7420706c6163656420627920746865206163636f756e742e02049c546865206465636973696f6e206465706f73697420686173206265656e20726566756e6465642e384465706f736974536c617368656408010c77686f000130543a3a4163636f756e744964048c546865206163636f756e742077686f20706c6163656420746865206465706f7369742e0118616d6f756e7418013c42616c616e63654f663c542c20493e048454686520616d6f756e7420706c6163656420627920746865206163636f756e742e03047041206465706f73697420686173206265656e20736c6173686165642e3c4465636973696f6e53746172746564100114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e0114747261636b5901013c547261636b49644f663c542c20493e04250154686520747261636b2028616e6420627920657874656e73696f6e2070726f706f73616c206469737061746368206f726967696e29206f662074686973207265666572656e64756d2e012070726f706f73616c5d01014c426f756e64656443616c6c4f663c542c20493e04805468652070726f706f73616c20666f7220746865207265666572656e64756d2e011474616c6c79b9060120543a3a54616c6c7904b85468652063757272656e742074616c6c79206f6620766f74657320696e2074686973207265666572656e64756d2e0404bc41207265666572656e64756d20686173206d6f76656420696e746f20746865206465636964696e672070686173652e38436f6e6669726d53746172746564040114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e050038436f6e6669726d41626f72746564040114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e060024436f6e6669726d6564080114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e011474616c6c79b9060120543a3a54616c6c7904b05468652066696e616c2074616c6c79206f6620766f74657320696e2074686973207265666572656e64756d2e0704210141207265666572656e64756d2068617320656e6465642069747320636f6e6669726d6174696f6e20706861736520616e6420697320726561647920666f7220617070726f76616c2e20417070726f766564040114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e08040d0141207265666572656e64756d20686173206265656e20617070726f76656420616e64206974732070726f706f73616c20686173206265656e207363686564756c65642e2052656a6563746564080114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e011474616c6c79b9060120543a3a54616c6c7904b05468652066696e616c2074616c6c79206f6620766f74657320696e2074686973207265666572656e64756d2e0904ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2054696d65644f7574080114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e011474616c6c79b9060120543a3a54616c6c7904b05468652066696e616c2074616c6c79206f6620766f74657320696e2074686973207265666572656e64756d2e0a04d841207265666572656e64756d20686173206265656e2074696d6564206f757420776974686f7574206265696e6720646563696465642e2443616e63656c6c6564080114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e011474616c6c79b9060120543a3a54616c6c7904b05468652066696e616c2074616c6c79206f6620766f74657320696e2074686973207265666572656e64756d2e0b048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e184b696c6c6564080114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e011474616c6c79b9060120543a3a54616c6c7904b05468652066696e616c2074616c6c79206f6620766f74657320696e2074686973207265666572656e64756d2e0c047441207265666572656e64756d20686173206265656e206b696c6c65642e645375626d697373696f6e4465706f736974526566756e6465640c0114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e010c77686f000130543a3a4163636f756e744964048c546865206163636f756e742077686f20706c6163656420746865206465706f7369742e0118616d6f756e7418013c42616c616e63654f663c542c20493e048454686520616d6f756e7420706c6163656420627920746865206163636f756e742e0d04a4546865207375626d697373696f6e206465706f73697420686173206265656e20726566756e6465642e2c4d65746164617461536574080114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e01106861736830011c543a3a486173680438507265696d61676520686173682e0e049c4d6574616461746120666f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c6561726564080114696e64657810013c5265666572656e64756d496e6465780460496e646578206f6620746865207265666572656e64756d2e01106861736830011c543a3a486173680438507265696d61676520686173682e0f04ac4d6574616461746120666f722061207265666572656e64756d20686173206265656e20636c65617265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574590100000504005d0110346672616d655f737570706f72741874726169747324707265696d616765731c426f756e646564080454016101044801b106010c184c656761637904011068617368300124483a3a4f757470757400000018496e6c696e650400b5060134426f756e646564496e6c696e65000100184c6f6f6b757008011068617368300124483a3a4f757470757400010c6c656e10010c7533320002000061010840706f6c6b61646f745f72756e74696d652c52756e74696d6543616c6c0001b01853797374656d0400650101ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e000000245363686564756c65720400750101b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e00010020507265696d61676504007d0101b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e000a0010426162650400850101a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426162652c2052756e74696d653e0002002454696d657374616d700400a90101b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0003001c496e64696365730400ad0101b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0004002042616c616e6365730400b90101b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0005001c5374616b696e670400c10101b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5374616b696e672c2052756e74696d653e0007001c53657373696f6e0400e10101b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0009001c4772616e6470610400010201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4772616e6470612c2052756e74696d653e000b0020496d4f6e6c696e650400310201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496d4f6e6c696e652c2052756e74696d653e000c002054726561737572790400410201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e00130040436f6e76696374696f6e566f74696e670400490201d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f6e76696374696f6e566f74696e672c2052756e74696d653e001400245265666572656e646104005d0201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5265666572656e64612c2052756e74696d653e0015002457686974656c6973740400850201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c57686974656c6973742c2052756e74696d653e00170018436c61696d730400890201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436c61696d732c2052756e74696d653e0018001c56657374696e670400ad0201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e0019001c5574696c6974790400b50201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e001a00204964656e746974790400bd0201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4964656e746974792c2052756e74696d653e001c001450726f78790400610301a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e001d00204d756c746973696704006d0301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e001e0020426f756e746965730400790301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426f756e746965732c2052756e74696d653e002200344368696c64426f756e7469657304007d0301c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4368696c64426f756e746965732c2052756e74696d653e00260068456c656374696f6e50726f76696465724d756c746950686173650400810301fd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c456c656374696f6e50726f76696465724d756c746950686173652c2052756e74696d653e00240024566f7465724c6973740400750401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c566f7465724c6973742c2052756e74696d653e0025003c4e6f6d696e6174696f6e506f6f6c730400790401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4e6f6d696e6174696f6e506f6f6c732c2052756e74696d653e0027002c46617374556e7374616b650400a50401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c46617374556e7374616b652c2052756e74696d653e00280034436f6e66696775726174696f6e0400a90401c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f6e66696775726174696f6e2c2052756e74696d653e0033002c50617261735368617265640400c50401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261735368617265642c2052756e74696d653e0034003450617261496e636c7573696f6e0400c90401c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261496e636c7573696f6e2c2052756e74696d653e0035003050617261496e686572656e740400cd0401c50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261496e686572656e742c2052756e74696d653e0036001450617261730400550501a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261732c2052756e74696d653e0038002c496e697469616c697a657204005d0501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e697469616c697a65722c2052756e74696d653e0039001048726d700400610501a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c48726d702c2052756e74696d653e003c0034506172617344697370757465730400690501c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506172617344697370757465732c2052756e74696d653e003e00345061726173536c617368696e6704006d0501c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5061726173536c617368696e672c2052756e74696d653e003f002452656769737472617204007d0501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5265676973747261722c2052756e74696d653e00460014536c6f74730400810501a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c536c6f74732c2052756e74696d653e0047002041756374696f6e730400850501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c41756374696f6e732c2052756e74696d653e0048002443726f77646c6f616e04008d0501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43726f77646c6f616e2c2052756e74696d653e0049002458636d50616c6c65740400a50501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d50616c6c65742c2052756e74696d653e006300304d657373616765517565756504007d0601c50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d65737361676551756575652c2052756e74696d653e006400244173736574526174650400890601b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4173736574526174652c2052756e74696d653e0065001442656566790400910601a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42656566792c2052756e74696d653e00c8000065010c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b34011c5665633c75383e0000045c536565205b6050616c6c65743a3a72656d61726b605d2e387365745f686561705f706167657304011470616765732c010c7536340001047c536565205b6050616c6c65743a3a7365745f686561705f7061676573605d2e207365745f636f6465040110636f646534011c5665633c75383e00020464536565205b6050616c6c65743a3a7365745f636f6465605d2e5c7365745f636f64655f776974686f75745f636865636b73040110636f646534011c5665633c75383e000304a0536565205b6050616c6c65743a3a7365745f636f64655f776974686f75745f636865636b73605d2e2c7365745f73746f726167650401146974656d73690101345665633c4b657956616c75653e00040470536565205b6050616c6c65743a3a7365745f73746f72616765605d2e306b696c6c5f73746f726167650401106b657973710101205665633c4b65793e00050474536565205b6050616c6c65743a3a6b696c6c5f73746f72616765605d2e2c6b696c6c5f70726566697808011870726566697834010c4b657900011c7375626b65797310010c75333200060470536565205b6050616c6c65743a3a6b696c6c5f707265666978605d2e4472656d61726b5f776974685f6576656e7404011872656d61726b34011c5665633c75383e00070488536565205b6050616c6c65743a3a72656d61726b5f776974685f6576656e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e69010000026d01006d01000004083434007101000002340075010c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963790101ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000464536565205b6050616c6c65743a3a7363686564756c65605d2e1863616e63656c0801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657810010c7533320001045c536565205b6050616c6c65743a3a63616e63656c605d2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963790101ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0002047c536565205b6050616c6c65743a3a7363686564756c655f6e616d6564605d2e3063616e63656c5f6e616d656404010869640401205461736b4e616d6500030474536565205b6050616c6c65743a3a63616e63656c5f6e616d6564605d2e387363686564756c655f61667465721001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963790101ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004047c536565205b6050616c6c65743a3a7363686564756c655f6166746572605d2e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963790101ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00050494536565205b6050616c6c65743a3a7363686564756c655f6e616d65645f6166746572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e790104184f7074696f6e040454017c0108104e6f6e6500000010536f6d6504007c00000100007d010c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000114346e6f74655f707265696d616765040114627974657334011c5665633c75383e00000478536565205b6050616c6c65743a3a6e6f74655f707265696d616765605d2e3c756e6e6f74655f707265696d6167650401106861736830011c543a3a4861736800010480536565205b6050616c6c65743a3a756e6e6f74655f707265696d616765605d2e40726571756573745f707265696d6167650401106861736830011c543a3a4861736800020484536565205b6050616c6c65743a3a726571756573745f707265696d616765605d2e48756e726571756573745f707265696d6167650401106861736830011c543a3a486173680003048c536565205b6050616c6c65743a3a756e726571756573745f707265696d616765605d2e38656e737572655f75706461746564040118686173686573810101305665633c543a3a486173683e0004047c536565205b6050616c6c65743a3a656e737572655f75706461746564605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8101000002300085010c2c70616c6c65745f626162651870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f6689010190426f783c45717569766f636174696f6e50726f6f663c486561646572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f6699010140543a3a4b65794f776e657250726f6f6600000490536565205b6050616c6c65743a3a7265706f72745f65717569766f636174696f6e605d2e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f6689010190426f783c45717569766f636174696f6e50726f6f663c486561646572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f6699010140543a3a4b65794f776e657250726f6f66000104b4536565205b6050616c6c65743a3a7265706f72745f65717569766f636174696f6e5f756e7369676e6564605d2e48706c616e5f636f6e6669675f6368616e6765040118636f6e6669679d0101504e657874436f6e66696744657363726970746f720002048c536565205b6050616c6c65743a3a706c616e5f636f6e6669675f6368616e6765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8901084873705f636f6e73656e7375735f736c6f74734445717569766f636174696f6e50726f6f660818486561646572018d01084964019101001001206f6666656e646572910101084964000110736c6f7495010110536c6f7400013066697273745f6865616465728d0101184865616465720001347365636f6e645f6865616465728d01011848656164657200008d01102873705f72756e74696d651c67656e65726963186865616465721848656164657208184e756d62657201101048617368000014012c706172656e745f68617368300130486173683a3a4f75747075740001186e756d626572150101184e756d62657200012873746174655f726f6f74300130486173683a3a4f757470757400013c65787472696e736963735f726f6f74300130486173683a3a4f7574707574000118646967657374380118446967657374000091010c4473705f636f6e73656e7375735f626162650c617070185075626c696300000400e4013c737232353531393a3a5075626c696300009501084873705f636f6e73656e7375735f736c6f747310536c6f74000004002c010c75363400009901082873705f73657373696f6e3c4d656d6265727368697050726f6f6600000c011c73657373696f6e10013053657373696f6e496e646578000128747269655f6e6f646573710101305665633c5665633c75383e3e00013c76616c696461746f725f636f756e7410013856616c696461746f72436f756e7400009d010c4473705f636f6e73656e7375735f626162651c64696765737473504e657874436f6e66696744657363726970746f7200010408563108010463a1010128287536342c2075363429000134616c6c6f7765645f736c6f7473a5010130416c6c6f776564536c6f747300010000a101000004082c2c00a501084473705f636f6e73656e7375735f6261626530416c6c6f776564536c6f747300010c305072696d617279536c6f7473000000745072696d617279416e645365636f6e64617279506c61696e536c6f74730001006c5072696d617279416e645365636f6e64617279565246536c6f747300020000a9010c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400000450536565205b6050616c6c65743a3a736574605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ead010c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e64657800000458536565205b6050616c6c65743a3a636c61696d605d2e207472616e7366657208010c6e6577b10101504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e64657800010464536565205b6050616c6c65743a3a7472616e73666572605d2e1066726565040114696e64657810013c543a3a4163636f756e74496e64657800020454536565205b6050616c6c65743a3a66726565605d2e38666f7263655f7472616e736665720c010c6e6577b10101504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65b40110626f6f6c0003047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004045c536565205b6050616c6c65743a3a667265657a65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb1010c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e6465780188011408496404000001244163636f756e74496400000014496e6465780400b50101304163636f756e74496e6465780001000c526177040034011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400210101205b75383b2032305d00040000b5010000068800b9010c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c08045400044900011c507472616e736665725f616c6c6f775f646561746808011064657374b10101504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565f40128543a3a42616c616e636500000494536565205b6050616c6c65743a3a7472616e736665725f616c6c6f775f6465617468605d2e38666f7263655f7472616e736665720c0118736f75726365b10101504163636f756e7449644c6f6f6b75704f663c543e00011064657374b10101504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565f40128543a3a42616c616e63650002047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e4c7472616e736665725f6b6565705f616c69766508011064657374b10101504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565f40128543a3a42616c616e636500030490536565205b6050616c6c65743a3a7472616e736665725f6b6565705f616c697665605d2e307472616e736665725f616c6c08011064657374b10101504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665b40110626f6f6c00040474536565205b6050616c6c65743a3a7472616e736665725f616c6c605d2e3c666f7263655f756e7265736572766508010c77686fb10101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050480536565205b6050616c6c65743a3a666f7263655f756e72657365727665605d2e40757067726164655f6163636f756e747304010c77686fbd0101445665633c543a3a4163636f756e7449643e00060484536565205b6050616c6c65743a3a757067726164655f6163636f756e7473605d2e44666f7263655f7365745f62616c616e636508010c77686fb10101504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565f40128543a3a42616c616e636500080488536565205b6050616c6c65743a3a666f7263655f7365745f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ebd010000020000c101103870616c6c65745f7374616b696e671870616c6c65741870616c6c65741043616c6c04045400016810626f6e6408011476616c7565f4013042616c616e63654f663c543e0001147061796565a4017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e00000454536565205b6050616c6c65743a3a626f6e64605d2e28626f6e645f65787472610401386d61785f6164646974696f6e616cf4013042616c616e63654f663c543e0001046c536565205b6050616c6c65743a3a626f6e645f6578747261605d2e18756e626f6e6404011476616c7565f4013042616c616e63654f663c543e0002045c536565205b6050616c6c65743a3a756e626f6e64605d2e4477697468647261775f756e626f6e6465640401486e756d5f736c617368696e675f7370616e7310010c75333200030488536565205b6050616c6c65743a3a77697468647261775f756e626f6e646564605d2e2076616c69646174650401147072656673ac013856616c696461746f72507265667300040464536565205b6050616c6c65743a3a76616c6964617465605d2e206e6f6d696e61746504011c74617267657473c50101645665633c4163636f756e7449644c6f6f6b75704f663c543e3e00050464536565205b6050616c6c65743a3a6e6f6d696e617465605d2e146368696c6c00060458536565205b6050616c6c65743a3a6368696c6c605d2e247365745f70617965650401147061796565a4017c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e00070468536565205b6050616c6c65743a3a7365745f7061796565605d2e387365745f636f6e74726f6c6c65720008047c536565205b6050616c6c65743a3a7365745f636f6e74726f6c6c6572605d2e4c7365745f76616c696461746f725f636f756e7404010c6e65771501010c75333200090490536565205b6050616c6c65743a3a7365745f76616c696461746f725f636f756e74605d2e60696e6372656173655f76616c696461746f725f636f756e740401286164646974696f6e616c1501010c753332000a04a4536565205b6050616c6c65743a3a696e6372656173655f76616c696461746f725f636f756e74605d2e547363616c655f76616c696461746f725f636f756e74040118666163746f72c901011c50657263656e74000b0498536565205b6050616c6c65743a3a7363616c655f76616c696461746f725f636f756e74605d2e34666f7263655f6e6f5f65726173000c0478536565205b6050616c6c65743a3a666f7263655f6e6f5f65726173605d2e34666f7263655f6e65775f657261000d0478536565205b6050616c6c65743a3a666f7263655f6e65775f657261605d2e447365745f696e76756c6e657261626c6573040134696e76756c6e657261626c6573bd0101445665633c543a3a4163636f756e7449643e000e0488536565205b6050616c6c65743a3a7365745f696e76756c6e657261626c6573605d2e34666f7263655f756e7374616b650801147374617368000130543a3a4163636f756e7449640001486e756d5f736c617368696e675f7370616e7310010c753332000f0478536565205b6050616c6c65743a3a666f7263655f756e7374616b65605d2e50666f7263655f6e65775f6572615f616c7761797300100494536565205b6050616c6c65743a3a666f7263655f6e65775f6572615f616c77617973605d2e5463616e63656c5f64656665727265645f736c61736808010c657261100120457261496e646578000134736c6173685f696e6469636573cd0101205665633c7533323e00110498536565205b6050616c6c65743a3a63616e63656c5f64656665727265645f736c617368605d2e387061796f75745f7374616b65727308013c76616c696461746f725f7374617368000130543a3a4163636f756e74496400010c657261100120457261496e6465780012047c536565205b6050616c6c65743a3a7061796f75745f7374616b657273605d2e187265626f6e6404011476616c7565f4013042616c616e63654f663c543e0013045c536565205b6050616c6c65743a3a7265626f6e64605d2e28726561705f73746173680801147374617368000130543a3a4163636f756e7449640001486e756d5f736c617368696e675f7370616e7310010c7533320014046c536565205b6050616c6c65743a3a726561705f7374617368605d2e106b69636b04010c77686fc50101645665633c4163636f756e7449644c6f6f6b75704f663c543e3e00150454536565205b6050616c6c65743a3a6b69636b605d2e4c7365745f7374616b696e675f636f6e666967731801486d696e5f6e6f6d696e61746f725f626f6e64d1010158436f6e6669674f703c42616c616e63654f663c543e3e0001486d696e5f76616c696461746f725f626f6e64d1010158436f6e6669674f703c42616c616e63654f663c543e3e00014c6d61785f6e6f6d696e61746f725f636f756e74d5010134436f6e6669674f703c7533323e00014c6d61785f76616c696461746f725f636f756e74d5010134436f6e6669674f703c7533323e00013c6368696c6c5f7468726573686f6c64d9010144436f6e6669674f703c50657263656e743e0001386d696e5f636f6d6d697373696f6edd010144436f6e6669674f703c50657262696c6c3e00160490536565205b6050616c6c65743a3a7365745f7374616b696e675f636f6e66696773605d2e2c6368696c6c5f6f74686572040128636f6e74726f6c6c6572000130543a3a4163636f756e74496400170470536565205b6050616c6c65743a3a6368696c6c5f6f74686572605d2e68666f7263655f6170706c795f6d696e5f636f6d6d697373696f6e04013c76616c696461746f725f7374617368000130543a3a4163636f756e744964001804ac536565205b6050616c6c65743a3a666f7263655f6170706c795f6d696e5f636f6d6d697373696f6e605d2e487365745f6d696e5f636f6d6d697373696f6e04010c6e6577a8011c50657262696c6c0019048c536565205b6050616c6c65743a3a7365745f6d696e5f636f6d6d697373696f6e605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec501000002b10100c9010c3473705f61726974686d65746963287065725f7468696e67731c50657263656e740000040008010875380000cd010000021000d101103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f766500020000d501103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f766500020000d901103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f7004045401c901010c104e6f6f700000000c5365740400c9010104540001001852656d6f766500020000dd01103870616c6c65745f7374616b696e671870616c6c65741870616c6c657420436f6e6669674f7004045401a8010c104e6f6f700000000c5365740400a80104540001001852656d6f766500020000e1010c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973e501011c543a3a4b65797300011470726f6f6634011c5665633c75383e00000464536565205b6050616c6c65743a3a7365745f6b657973605d2e2870757267655f6b6579730001046c536565205b6050616c6c65743a3a70757267655f6b657973605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ee5010840706f6c6b61646f745f72756e74696d652c53657373696f6e4b65797300001c011c6772616e647061d401d03c4772616e647061206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300011062616265910101c43c42616265206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000124696d5f6f6e6c696e65e001d43c496d4f6e6c696e65206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000138706172615f76616c696461746f72e90101e03c496e697469616c697a6572206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300013c706172615f61737369676e6d656e74ed0101f03c5061726153657373696f6e496e666f206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300014c617574686f726974795f646973636f76657279f10101fc3c417574686f72697479446973636f76657279206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630001146265656679f50101c83c4265656679206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630000e901104c706f6c6b61646f745f7072696d6974697665730876363476616c696461746f725f617070185075626c696300000400e4013c737232353531393a3a5075626c69630000ed01104c706f6c6b61646f745f7072696d6974697665730876363861737369676e6d656e745f617070185075626c696300000400e4013c737232353531393a3a5075626c69630000f1010c5873705f617574686f726974795f646973636f766572790c617070185075626c696300000400e4013c737232353531393a3a5075626c69630000f5010c4873705f636f6e73656e7375735f62656566793065636473615f63727970746f185075626c696300000400f901013465636473613a3a5075626c69630000f9010c1c73705f636f7265146563647361185075626c696300000400fd0101805b75383b205055424c49435f4b45595f53455249414c495a45445f53495a455d0000fd0100000321000000080001020c3870616c6c65745f6772616e6470611870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f66050201c8426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20426c6f636b4e756d626572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f6699010140543a3a4b65794f776e657250726f6f6600000490536565205b6050616c6c65743a3a7265706f72745f65717569766f636174696f6e605d2e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f66050201c8426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20426c6f636b4e756d626572466f723c543e3e3e00013c6b65795f6f776e65725f70726f6f6699010140543a3a4b65794f776e657250726f6f66000104b4536565205b6050616c6c65743a3a7265706f72745f65717569766f636174696f6e5f756e7369676e6564605d2e306e6f74655f7374616c6c656408011464656c6179100144426c6f636b4e756d626572466f723c543e00016c626573745f66696e616c697a65645f626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00020474536565205b6050616c6c65743a3a6e6f74655f7374616c6c6564605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0502085073705f636f6e73656e7375735f6772616e6470614445717569766f636174696f6e50726f6f660804480130044e0110000801187365745f69642c0114536574496400013065717569766f636174696f6e0902014845717569766f636174696f6e3c482c204e3e00000902085073705f636f6e73656e7375735f6772616e6470613045717569766f636174696f6e0804480130044e011001081c507265766f746504000d020139016772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c206772616e6470613a3a507265766f74653c482c204e3e2c0a417574686f726974795369676e61747572653e00000024507265636f6d6d6974040025020141016772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c206772616e6470613a3a507265636f6d6d69743c482c204e3e2c0a417574686f726974795369676e61747572653e000100000d02084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401d40456011102045301150200100130726f756e645f6e756d6265722c010c7536340001206964656e74697479d40108496400011466697273742102011828562c2053290001187365636f6e642102011828562c20532900001102084066696e616c6974795f6772616e6470611c507265766f74650804480130044e01100008012c7461726765745f68617368300104480001347461726765745f6e756d6265721001044e000015020c5073705f636f6e73656e7375735f6772616e6470610c617070245369676e61747572650000040019020148656432353531393a3a5369676e6174757265000019020c1c73705f636f72651c65643235353139245369676e6174757265000004001d0201205b75383b2036345d00001d0200000340000000080021020000040811021502002502084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401d40456012902045301150200100130726f756e645f6e756d6265722c010c7536340001206964656e74697479d40108496400011466697273742d02011828562c2053290001187365636f6e642d02011828562c20532900002902084066696e616c6974795f6772616e64706124507265636f6d6d69740804480130044e01100008012c7461726765745f68617368300104480001347461726765745f6e756d6265721001044e00002d0200000408290215020031020c4070616c6c65745f696d5f6f6e6c696e651870616c6c65741043616c6c04045400010424686561727462656174080124686561727462656174350201704865617274626561743c426c6f636b4e756d626572466f723c543e3e0001247369676e6174757265390201bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500000468536565205b6050616c6c65743a3a686561727462656174605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e3502084070616c6c65745f696d5f6f6e6c696e6524486561727462656174042c426c6f636b4e756d626572011000100130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200013473657373696f6e5f696e64657810013053657373696f6e496e64657800013c617574686f726974795f696e64657810012441757468496e64657800013876616c696461746f72735f6c656e10010c75333200003902104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139245369676e6174757265000004003d020148737232353531393a3a5369676e617475726500003d020c1c73705f636f72651c73723235353139245369676e6174757265000004001d0201205b75383b2036345d000041020c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001243470726f706f73655f7370656e6408011476616c7565f4013c42616c616e63654f663c542c20493e00012c62656e6566696369617279b10101504163636f756e7449644c6f6f6b75704f663c543e00000478536565205b6050616c6c65743a3a70726f706f73655f7370656e64605d2e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f69641501013450726f706f73616c496e64657800010480536565205b6050616c6c65743a3a72656a6563745f70726f706f73616c605d2e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f69641501013450726f706f73616c496e64657800020484536565205b6050616c6c65743a3a617070726f76655f70726f706f73616c605d2e2c7370656e645f6c6f63616c080118616d6f756e74f4013c42616c616e63654f663c542c20493e00012c62656e6566696369617279b10101504163636f756e7449644c6f6f6b75704f663c543e00030470536565205b6050616c6c65743a3a7370656e645f6c6f63616c605d2e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f69641501013450726f706f73616c496e64657800040480536565205b6050616c6c65743a3a72656d6f76655f617070726f76616c605d2e147370656e6410012861737365745f6b696e6405010144426f783c543a3a41737365744b696e643e000118616d6f756e74f40150417373657442616c616e63654f663c542c20493e00012c62656e656669636961727931010178426f783c42656e65666963696172794c6f6f6b75704f663c542c20493e3e00012876616c69645f66726f6d450201644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e00050458536565205b6050616c6c65743a3a7370656e64605d2e187061796f7574040114696e6465781001285370656e64496e6465780006045c536565205b6050616c6c65743a3a7061796f7574605d2e30636865636b5f737461747573040114696e6465781001285370656e64496e64657800070474536565205b6050616c6c65743a3a636865636b5f737461747573605d2e28766f69645f7370656e64040114696e6465781001285370656e64496e6465780008046c536565205b6050616c6c65743a3a766f69645f7370656e64605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e450204184f7074696f6e04045401100108104e6f6e6500000010536f6d65040010000001000049020c6070616c6c65745f636f6e76696374696f6e5f766f74696e671870616c6c65741043616c6c08045400044900011810766f7465080128706f6c6c5f696e64657815010144506f6c6c496e6465784f663c542c20493e000110766f74654d0201704163636f756e74566f74653c42616c616e63654f663c542c20493e3e00000454536565205b6050616c6c65743a3a766f7465605d2e2064656c6567617465100114636c61737359010134436c6173734f663c542c20493e000108746fb10101504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6e55020128436f6e76696374696f6e00011c62616c616e636518013c42616c616e63654f663c542c20493e00010464536565205b6050616c6c65743a3a64656c6567617465605d2e28756e64656c6567617465040114636c61737359010134436c6173734f663c542c20493e0002046c536565205b6050616c6c65743a3a756e64656c6567617465605d2e18756e6c6f636b080114636c61737359010134436c6173734f663c542c20493e000118746172676574b10101504163636f756e7449644c6f6f6b75704f663c543e0003045c536565205b6050616c6c65743a3a756e6c6f636b605d2e2c72656d6f76655f766f7465080114636c617373590201544f7074696f6e3c436c6173734f663c542c20493e3e000114696e646578100144506f6c6c496e6465784f663c542c20493e00040470536565205b6050616c6c65743a3a72656d6f76655f766f7465605d2e4472656d6f76655f6f746865725f766f74650c0118746172676574b10101504163636f756e7449644c6f6f6b75704f663c543e000114636c61737359010134436c6173734f663c542c20493e000114696e646578100144506f6c6c496e6465784f663c542c20493e00050488536565205b6050616c6c65743a3a72656d6f76655f6f746865725f766f7465605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4d020c6070616c6c65745f636f6e76696374696f6e5f766f74696e6710766f74652c4163636f756e74566f7465041c42616c616e63650118010c205374616e64617264080110766f746551020110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e63650001003053706c69744162737461696e0c010c61796518011c42616c616e636500010c6e617918011c42616c616e636500011c6162737461696e18011c42616c616e63650002000051020c6070616c6c65745f636f6e76696374696f6e5f766f74696e6710766f746510566f7465000004000800000055020c6070616c6c65745f636f6e76696374696f6e5f766f74696e6728636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000590204184f7074696f6e0404540159010108104e6f6e6500000010536f6d650400590100000100005d020c4070616c6c65745f7265666572656e64611870616c6c65741043616c6c080454000449000124187375626d69740c013c70726f706f73616c5f6f726967696e6102015c426f783c50616c6c6574734f726967696e4f663c543e3e00012070726f706f73616c5d01014c426f756e64656443616c6c4f663c542c20493e000140656e6163746d656e745f6d6f6d656e747d02017c446973706174636854696d653c426c6f636b4e756d626572466f723c543e3e0000045c536565205b6050616c6c65743a3a7375626d6974605d2e58706c6163655f6465636973696f6e5f6465706f736974040114696e64657810013c5265666572656e64756d496e6465780001049c536565205b6050616c6c65743a3a706c6163655f6465636973696f6e5f6465706f736974605d2e5c726566756e645f6465636973696f6e5f6465706f736974040114696e64657810013c5265666572656e64756d496e646578000204a0536565205b6050616c6c65743a3a726566756e645f6465636973696f6e5f6465706f736974605d2e1863616e63656c040114696e64657810013c5265666572656e64756d496e6465780003045c536565205b6050616c6c65743a3a63616e63656c605d2e106b696c6c040114696e64657810013c5265666572656e64756d496e64657800040454536565205b6050616c6c65743a3a6b696c6c605d2e406e756467655f7265666572656e64756d040114696e64657810013c5265666572656e64756d496e64657800050484536565205b6050616c6c65743a3a6e756467655f7265666572656e64756d605d2e486f6e655f66657765725f6465636964696e67040114747261636b5901013c547261636b49644f663c542c20493e0006048c536565205b6050616c6c65743a3a6f6e655f66657765725f6465636964696e67605d2e64726566756e645f7375626d697373696f6e5f6465706f736974040114696e64657810013c5265666572656e64756d496e646578000704a8536565205b6050616c6c65743a3a726566756e645f7375626d697373696f6e5f6465706f736974605d2e307365745f6d65746164617461080114696e64657810013c5265666572656e64756d496e6465780001286d617962655f686173688102013c4f7074696f6e3c543a3a486173683e00080474536565205b6050616c6c65743a3a7365745f6d65746164617461605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e61020840706f6c6b61646f745f72756e74696d65304f726967696e43616c6c65720001141873797374656d0400650201746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c4f726967696e7304006902017470616c6c65745f637573746f6d5f6f726967696e733a3a4f726967696e0016004050617261636861696e734f726967696e04006d02016470617261636861696e735f6f726967696e3a3a4f726967696e0032002458636d50616c6c657404007502014870616c6c65745f78636d3a3a4f726967696e00630010566f69640400790201410173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a0a5f5f707269766174653a3a566f69640004000065020c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e650002000069021440706f6c6b61646f745f72756e74696d6528676f7665726e616e63651c6f726967696e735470616c6c65745f637573746f6d5f6f726967696e73184f726967696e000138305374616b696e6741646d696e000000245472656173757265720001003c46656c6c6f777368697041646d696e0002003047656e6572616c41646d696e0003003041756374696f6e41646d696e000400284c6561736541646d696e0005004c5265666572656e64756d43616e63656c6c6572000600405265666572656e64756d4b696c6c65720007002c536d616c6c5469707065720008002442696754697070657200090030536d616c6c5370656e646572000a00344d656469756d5370656e646572000b00284269675370656e646572000c004457686974656c697374656443616c6c6572000d00006d02106c706f6c6b61646f745f72756e74696d655f70617261636861696e73186f726967696e1870616c6c6574184f726967696e0001042450617261636861696e0400710201185061726149640000000071020c74706f6c6b61646f745f70617261636861696e5f7072696d697469766573287072696d6974697665730849640000040010010c753332000075020c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400090101344d756c74694c6f636174696f6e00000020526573706f6e73650400090101344d756c74694c6f636174696f6e000100007902081c73705f636f726510566f6964000100007d0210346672616d655f737570706f727418747261697473207363686564756c6530446973706174636854696d65042c426c6f636b4e756d62657201100108084174040010012c426c6f636b4e756d626572000000144166746572040010012c426c6f636b4e756d62657200010000810204184f7074696f6e04045401300108104e6f6e6500000010536f6d65040030000001000085020c4070616c6c65745f77686974656c6973741870616c6c65741043616c6c0404540001103877686974656c6973745f63616c6c04012463616c6c5f6861736830011c543a3a486173680000047c536565205b6050616c6c65743a3a77686974656c6973745f63616c6c605d2e5c72656d6f76655f77686974656c69737465645f63616c6c04012463616c6c5f6861736830011c543a3a48617368000104a0536565205b6050616c6c65743a3a72656d6f76655f77686974656c69737465645f63616c6c605d2e6464697370617463685f77686974656c69737465645f63616c6c0c012463616c6c5f6861736830011c543a3a4861736800014063616c6c5f656e636f6465645f6c656e10010c75333200014c63616c6c5f7765696768745f7769746e657373240118576569676874000204a8536565205b6050616c6c65743a3a64697370617463685f77686974656c69737465645f63616c6c605d2e9c64697370617463685f77686974656c69737465645f63616c6c5f776974685f707265696d61676504011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000304e0536565205b6050616c6c65743a3a64697370617463685f77686974656c69737465645f63616c6c5f776974685f707265696d616765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8902105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e18636c61696d731870616c6c65741043616c6c04045400011414636c61696d08011064657374000130543a3a4163636f756e744964000148657468657265756d5f7369676e61747572658d02013845636473615369676e617475726500000458536565205b6050616c6c65743a3a636c61696d605d2e286d696e745f636c61696d10010c77686f9502013c457468657265756d4164647265737300011476616c756518013042616c616e63654f663c543e00014076657374696e675f7363686564756c65990201dc4f7074696f6e3c2842616c616e63654f663c543e2c2042616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e293e00012473746174656d656e74a10201544f7074696f6e3c53746174656d656e744b696e643e0001046c536565205b6050616c6c65743a3a6d696e745f636c61696d605d2e30636c61696d5f6174746573740c011064657374000130543a3a4163636f756e744964000148657468657265756d5f7369676e61747572658d02013845636473615369676e617475726500012473746174656d656e7434011c5665633c75383e00020474536565205b6050616c6c65743a3a636c61696d5f617474657374605d2e1861747465737404012473746174656d656e7434011c5665633c75383e0003045c536565205b6050616c6c65743a3a617474657374605d2e286d6f76655f636c61696d0c010c6f6c649502013c457468657265756d4164647265737300010c6e65779502013c457468657265756d416464726573730001386d617962655f707265636c61696da90201504f7074696f6e3c543a3a4163636f756e7449643e0004046c536565205b6050616c6c65743a3a6d6f76655f636c61696d605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8d020c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e18636c61696d733845636473615369676e617475726500000400910201205b75383b2036355d0000910200000341000000080095020c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e18636c61696d733c457468657265756d4164647265737300000400210101205b75383b2032305d0000990204184f7074696f6e040454019d020108104e6f6e6500000010536f6d6504009d0200000100009d020000040c18181000a10204184f7074696f6e04045401a5020108104e6f6e6500000010536f6d650400a5020000010000a5020c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e18636c61696d733453746174656d656e744b696e640001081c526567756c6172000000105361667400010000a90204184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000ad020c3870616c6c65745f76657374696e671870616c6c65741043616c6c040454000114107665737400000454536565205b6050616c6c65743a3a76657374605d2e28766573745f6f74686572040118746172676574b10101504163636f756e7449644c6f6f6b75704f663c543e0001046c536565205b6050616c6c65743a3a766573745f6f74686572605d2e3c7665737465645f7472616e73666572080118746172676574b10101504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65b10201b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00020480536565205b6050616c6c65743a3a7665737465645f7472616e73666572605d2e54666f7263655f7665737465645f7472616e736665720c0118736f75726365b10101504163636f756e7449644c6f6f6b75704f663c543e000118746172676574b10101504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65b10201b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00030498536565205b6050616c6c65743a3a666f7263655f7665737465645f7472616e73666572605d2e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e64657810010c75333200013c7363686564756c65325f696e64657810010c75333200040480536565205b6050616c6c65743a3a6d657267655f7363686564756c6573605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb1020c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d6265720000b5020c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73b902017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a6261746368605d2e3461735f64657269766174697665080114696e6465785901010c75313600011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00010478536565205b6050616c6c65743a3a61735f64657269766174697665605d2e2462617463685f616c6c04011463616c6c73b902017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00020468536565205b6050616c6c65743a3a62617463685f616c6c605d2e2c64697370617463685f617308012461735f6f726967696e61020154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00030470536565205b6050616c6c65743a3a64697370617463685f6173605d2e2c666f7263655f626174636804011463616c6c73b902017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00040470536565205b6050616c6c65743a3a666f7263655f6261746368605d2e2c776974685f77656967687408011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00011877656967687424011857656967687400050470536565205b6050616c6c65743a3a776974685f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb902000002610100bd020c3c70616c6c65745f6964656e746974791870616c6c65741043616c6c04045400013c346164645f72656769737472617204011c6163636f756e74b10101504163636f756e7449644c6f6f6b75704f663c543e00000478536565205b6050616c6c65743a3a6164645f726567697374726172605d2e307365745f6964656e74697479040110696e666fc102016c426f783c543a3a4964656e74697479496e666f726d6174696f6e3e00010474536565205b6050616c6c65743a3a7365745f6964656e74697479605d2e207365745f73756273040110737562734d0301645665633c28543a3a4163636f756e7449642c2044617461293e00020464536565205b6050616c6c65743a3a7365745f73756273605d2e38636c6561725f6964656e746974790003047c536565205b6050616c6c65743a3a636c6561725f6964656e74697479605d2e44726571756573745f6a756467656d656e740801247265675f696e64657815010138526567697374726172496e64657800011c6d61785f666565f4013042616c616e63654f663c543e00040488536565205b6050616c6c65743a3a726571756573745f6a756467656d656e74605d2e3863616e63656c5f726571756573740401247265675f696e646578100138526567697374726172496e6465780005047c536565205b6050616c6c65743a3a63616e63656c5f72657175657374605d2e1c7365745f666565080114696e64657815010138526567697374726172496e64657800010c666565f4013042616c616e63654f663c543e00060460536565205b6050616c6c65743a3a7365745f666565605d2e387365745f6163636f756e745f6964080114696e64657815010138526567697374726172496e64657800010c6e6577b10101504163636f756e7449644c6f6f6b75704f663c543e0007047c536565205b6050616c6c65743a3a7365745f6163636f756e745f6964605d2e287365745f6669656c6473080114696e64657815010138526567697374726172496e6465780001186669656c647355030161014964656e746974794669656c64733c3c543a3a4964656e74697479496e666f726d6174696f6e206173204964656e74697479496e666f726d6174696f6e50726f76696465723e0a3a3a4964656e746974794669656c642c3e0008046c536565205b6050616c6c65743a3a7365745f6669656c6473605d2e4470726f766964655f6a756467656d656e741001247265675f696e64657815010138526567697374726172496e646578000118746172676574b10101504163636f756e7449644c6f6f6b75704f663c543e0001246a756467656d656e745d03015c4a756467656d656e743c42616c616e63654f663c543e3e0001206964656e7469747930011c543a3a4861736800090488536565205b6050616c6c65743a3a70726f766964655f6a756467656d656e74605d2e346b696c6c5f6964656e74697479040118746172676574b10101504163636f756e7449644c6f6f6b75704f663c543e000a0478536565205b6050616c6c65743a3a6b696c6c5f6964656e74697479605d2e1c6164645f73756208010c737562b10101504163636f756e7449644c6f6f6b75704f663c543e00011064617461cd02011044617461000b0460536565205b6050616c6c65743a3a6164645f737562605d2e2872656e616d655f73756208010c737562b10101504163636f756e7449644c6f6f6b75704f663c543e00011064617461cd02011044617461000c046c536565205b6050616c6c65743a3a72656e616d655f737562605d2e2872656d6f76655f73756204010c737562b10101504163636f756e7449644c6f6f6b75704f663c543e000d046c536565205b6050616c6c65743a3a72656d6f76655f737562605d2e20717569745f737562000e0464536565205b6050616c6c65743a3a717569745f737562605d2e04704964656e746974792070616c6c6574206465636c61726174696f6e2ec1020c3c70616c6c65745f6964656e746974791873696d706c65304964656e74697479496e666f04284669656c644c696d697400002401286164646974696f6e616cc5020190426f756e6465645665633c28446174612c2044617461292c204669656c644c696d69743e00011c646973706c6179cd020110446174610001146c6567616ccd0201104461746100010c776562cd0201104461746100011072696f74cd02011044617461000114656d61696ccd0201104461746100013c7067705f66696e6765727072696e74490301404f7074696f6e3c5b75383b2032305d3e000114696d616765cd0201104461746100011c74776974746572cd020110446174610000c5020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401c902045300000400450301185665633c543e0000c90200000408cd02cd0200cd020c3c70616c6c65745f6964656e746974791474797065731044617461000198104e6f6e6500000010526177300400d1020000010010526177310400d5020000020010526177320400d9020000030010526177330400dd020000040010526177340400440000050010526177350400e1020000060010526177360400e5020000070010526177370400e9020000080010526177380400ed020000090010526177390400f10200000a001452617731300400f50200000b001452617731310400f90200000c001452617731320400fd0200000d001452617731330400010300000e001452617731340400050300000f0014526177313504000903000010001452617731360400c00000110014526177313704000d0300001200145261773138040011030000130014526177313904001503000014001452617732300400210100001500145261773231040019030000160014526177323204001d0300001700145261773233040021030000180014526177323404002503000019001452617732350400290300001a0014526177323604002d0300001b001452617732370400310300001c001452617732380400350300001d001452617732390400390300001e0014526177333004003d0300001f001452617733310400410300002000145261773332040004000021002c426c616b6554776f323536040004000022001853686132353604000400002300244b656363616b323536040004000024002c53686154687265653235360400040000250000d102000003000000000800d502000003010000000800d902000003020000000800dd02000003030000000800e102000003050000000800e502000003060000000800e902000003070000000800ed02000003080000000800f102000003090000000800f5020000030a0000000800f9020000030b0000000800fd020000030c000000080001030000030d000000080005030000030e000000080009030000030f00000008000d030000031100000008001103000003120000000800150300000313000000080019030000031500000008001d030000031600000008002103000003170000000800250300000318000000080029030000031900000008002d030000031a000000080031030000031b000000080035030000031c000000080039030000031d00000008003d030000031e000000080041030000031f00000008004503000002c90200490304184f7074696f6e0404540121010108104e6f6e6500000010536f6d650400210100000100004d0300000251030051030000040800cd020055030c3c70616c6c65745f6964656e7469747914747970657320426974466c6167730404540159030004002c01344964656e746974794669656c64000059030c3c70616c6c65745f6964656e746974791873696d706c65344964656e746974794669656c640001201c446973706c6179000000144c6567616c0001000c5765620002001052696f7400030014456d61696c0004003850677046696e6765727072696e7400050014496d6167650006001c54776974746572000700005d030c3c70616c6c65745f6964656e74697479147479706573244a756467656d656e74041c42616c616e63650118011c1c556e6b6e6f776e0000001c46656550616964040018011c42616c616e636500010028526561736f6e61626c65000200244b6e6f776e476f6f64000300244f75744f6644617465000400284c6f775175616c697479000500244572726f6e656f75730006000061030c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616cb10101504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065650301504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a70726f7879605d2e246164645f70726f78790c012064656c6567617465b10101504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f7479706569030130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00010468536565205b6050616c6c65743a3a6164645f70726f7879605d2e3072656d6f76655f70726f78790c012064656c6567617465b10101504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f7479706569030130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00020474536565205b6050616c6c65743a3a72656d6f76655f70726f7879605d2e3872656d6f76655f70726f786965730003047c536565205b6050616c6c65743a3a72656d6f76655f70726f78696573605d2e2c6372656174655f707572650c012870726f78795f7479706569030130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e000114696e6465785901010c75313600040470536565205b6050616c6c65743a3a6372656174655f70757265605d2e246b696c6c5f7075726514011c737061776e6572b10101504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f7479706569030130543a3a50726f787954797065000114696e6465785901010c75313600011868656967687415010144426c6f636b4e756d626572466f723c543e0001246578745f696e6465781501010c75333200050468536565205b6050616c6c65743a3a6b696c6c5f70757265605d2e20616e6e6f756e63650801107265616cb10101504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00060464536565205b6050616c6c65743a3a616e6e6f756e6365605d2e4c72656d6f76655f616e6e6f756e63656d656e740801107265616cb10101504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00070490536565205b6050616c6c65743a3a72656d6f76655f616e6e6f756e63656d656e74605d2e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465b10101504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00080490536565205b6050616c6c65743a3a72656a6563745f616e6e6f756e63656d656e74605d2e3c70726f78795f616e6e6f756e63656410012064656c6567617465b10101504163636f756e7449644c6f6f6b75704f663c543e0001107265616cb10101504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065650301504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00090480536565205b6050616c6c65743a3a70726f78795f616e6e6f756e636564605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e650304184f7074696f6e0404540169030108104e6f6e6500000010536f6d6504006903000001000069030840706f6c6b61646f745f72756e74696d652450726f7879547970650001200c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002001c5374616b696e67000300444964656e746974794a756467656d656e740005002c43616e63656c50726f78790006001c41756374696f6e0007003c4e6f6d696e6174696f6e506f6f6c73000800006d030c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573bd0101445665633c543a3a4163636f756e7449643e00011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000494536565205b6050616c6c65743a3a61735f6d756c74695f7468726573686f6c645f31605d2e2061735f6d756c74691401247468726573686f6c645901010c7531360001446f746865725f7369676e61746f72696573bd0101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74710301904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00011063616c6c6101017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687424011857656967687400010464536565205b6050616c6c65743a3a61735f6d756c7469605d2e40617070726f76655f61735f6d756c74691401247468726573686f6c645901010c7531360001446f746865725f7369676e61746f72696573bd0101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74710301904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f77656967687424011857656967687400020484536565205b6050616c6c65743a3a617070726f76655f61735f6d756c7469605d2e3c63616e63656c5f61735f6d756c74691001247468726573686f6c645901010c7531360001446f746865725f7369676e61746f72696573bd0101445665633c543a3a4163636f756e7449643e00012474696d65706f696e747503017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e00012463616c6c5f686173680401205b75383b2033325d00030480536565205b6050616c6c65743a3a63616e63656c5f61735f6d756c7469605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e710304184f7074696f6e0404540175030108104e6f6e6500000010536f6d650400750300000100007503083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201100008011868656967687410012c426c6f636b4e756d626572000114696e64657810010c753332000079030c3c70616c6c65745f626f756e746965731870616c6c65741043616c6c0804540004490001243870726f706f73655f626f756e747908011476616c7565f4013c42616c616e63654f663c542c20493e00012c6465736372697074696f6e34011c5665633c75383e0000047c536565205b6050616c6c65743a3a70726f706f73655f626f756e7479605d2e38617070726f76655f626f756e7479040124626f756e74795f69641501012c426f756e7479496e6465780001047c536565205b6050616c6c65743a3a617070726f76655f626f756e7479605d2e3c70726f706f73655f63757261746f720c0124626f756e74795f69641501012c426f756e7479496e64657800011c63757261746f72b10101504163636f756e7449644c6f6f6b75704f663c543e00010c666565f4013c42616c616e63654f663c542c20493e00020480536565205b6050616c6c65743a3a70726f706f73655f63757261746f72605d2e40756e61737369676e5f63757261746f72040124626f756e74795f69641501012c426f756e7479496e64657800030484536565205b6050616c6c65743a3a756e61737369676e5f63757261746f72605d2e386163636570745f63757261746f72040124626f756e74795f69641501012c426f756e7479496e6465780004047c536565205b6050616c6c65743a3a6163636570745f63757261746f72605d2e3061776172645f626f756e7479080124626f756e74795f69641501012c426f756e7479496e64657800012c62656e6566696369617279b10101504163636f756e7449644c6f6f6b75704f663c543e00050474536565205b6050616c6c65743a3a61776172645f626f756e7479605d2e30636c61696d5f626f756e7479040124626f756e74795f69641501012c426f756e7479496e64657800060474536565205b6050616c6c65743a3a636c61696d5f626f756e7479605d2e30636c6f73655f626f756e7479040124626f756e74795f69641501012c426f756e7479496e64657800070474536565205b6050616c6c65743a3a636c6f73655f626f756e7479605d2e50657874656e645f626f756e74795f657870697279080124626f756e74795f69641501012c426f756e7479496e64657800011872656d61726b34011c5665633c75383e00080494536565205b6050616c6c65743a3a657874656e645f626f756e74795f657870697279605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e7d030c5470616c6c65745f6368696c645f626f756e746965731870616c6c65741043616c6c04045400011c406164645f6368696c645f626f756e74790c0140706172656e745f626f756e74795f69641501012c426f756e7479496e64657800011476616c7565f4013042616c616e63654f663c543e00012c6465736372697074696f6e34011c5665633c75383e00000484536565205b6050616c6c65743a3a6164645f6368696c645f626f756e7479605d2e3c70726f706f73655f63757261746f72100140706172656e745f626f756e74795f69641501012c426f756e7479496e64657800013c6368696c645f626f756e74795f69641501012c426f756e7479496e64657800011c63757261746f72b10101504163636f756e7449644c6f6f6b75704f663c543e00010c666565f4013042616c616e63654f663c543e00010480536565205b6050616c6c65743a3a70726f706f73655f63757261746f72605d2e386163636570745f63757261746f72080140706172656e745f626f756e74795f69641501012c426f756e7479496e64657800013c6368696c645f626f756e74795f69641501012c426f756e7479496e6465780002047c536565205b6050616c6c65743a3a6163636570745f63757261746f72605d2e40756e61737369676e5f63757261746f72080140706172656e745f626f756e74795f69641501012c426f756e7479496e64657800013c6368696c645f626f756e74795f69641501012c426f756e7479496e64657800030484536565205b6050616c6c65743a3a756e61737369676e5f63757261746f72605d2e4861776172645f6368696c645f626f756e74790c0140706172656e745f626f756e74795f69641501012c426f756e7479496e64657800013c6368696c645f626f756e74795f69641501012c426f756e7479496e64657800012c62656e6566696369617279b10101504163636f756e7449644c6f6f6b75704f663c543e0004048c536565205b6050616c6c65743a3a61776172645f6368696c645f626f756e7479605d2e48636c61696d5f6368696c645f626f756e7479080140706172656e745f626f756e74795f69641501012c426f756e7479496e64657800013c6368696c645f626f756e74795f69641501012c426f756e7479496e6465780005048c536565205b6050616c6c65743a3a636c61696d5f6368696c645f626f756e7479605d2e48636c6f73655f6368696c645f626f756e7479080140706172656e745f626f756e74795f69641501012c426f756e7479496e64657800013c6368696c645f626f756e74795f69641501012c426f756e7479496e6465780006048c536565205b6050616c6c65743a3a636c6f73655f6368696c645f626f756e7479605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e81030c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c65741043616c6c0404540001143c7375626d69745f756e7369676e65640801307261775f736f6c7574696f6e850301b0426f783c526177536f6c7574696f6e3c536f6c7574696f6e4f663c543a3a4d696e6572436f6e6669673e3e3e00011c7769746e65737359040158536f6c7574696f6e4f72536e617073686f7453697a6500000480536565205b6050616c6c65743a3a7375626d69745f756e7369676e6564605d2e6c7365745f6d696e696d756d5f756e747275737465645f73636f72650401406d617962655f6e6578745f73636f72655d0401544f7074696f6e3c456c656374696f6e53636f72653e000104b0536565205b6050616c6c65743a3a7365745f6d696e696d756d5f756e747275737465645f73636f7265605d2e747365745f656d657267656e63795f656c656374696f6e5f726573756c74040120737570706f72747361040158537570706f7274733c543a3a4163636f756e7449643e000204b8536565205b6050616c6c65743a3a7365745f656d657267656e63795f656c656374696f6e5f726573756c74605d2e187375626d69740401307261775f736f6c7574696f6e850301b0426f783c526177536f6c7574696f6e3c536f6c7574696f6e4f663c543a3a4d696e6572436f6e6669673e3e3e0003045c536565205b6050616c6c65743a3a7375626d6974605d2e4c676f7665726e616e63655f66616c6c6261636b0801406d617962655f6d61785f766f746572734502012c4f7074696f6e3c7533323e0001446d617962655f6d61785f746172676574734502012c4f7074696f6e3c7533323e00040490536565205b6050616c6c65743a3a676f7665726e616e63655f66616c6c6261636b605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8503089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173652c526177536f6c7574696f6e040453018903000c0120736f6c7574696f6e890301045300011473636f726555040134456c656374696f6e53636f7265000114726f756e6410010c753332000089030840706f6c6b61646f745f72756e74696d65544e706f73436f6d70616374536f6c7574696f6e31360000400118766f746573318d0300000118766f74657332990300000118766f74657333ad0300000118766f74657334b90300000118766f74657335c50300000118766f74657336d10300000118766f74657337dd0300000118766f74657338e90300000118766f74657339f5030000011c766f746573313001040000011c766f74657331310d040000011c766f746573313219040000011c766f746573313325040000011c766f746573313431040000011c766f74657331353d040000011c766f746573313649040000008d030000029103009103000004081501950300950300000659010099030000029d03009d030000040c1501a103950300a103000004089503a50300a503000006a90300a9030c3473705f61726974686d65746963287065725f7468696e677318506572553136000004005901010c7531360000ad03000002b10300b1030000040c1501b503950300b50300000302000000a10300b903000002bd0300bd030000040c1501c103950300c10300000303000000a10300c503000002c90300c9030000040c1501cd03950300cd0300000304000000a10300d103000002d50300d5030000040c1501d903950300d90300000305000000a10300dd03000002e10300e1030000040c1501e503950300e50300000306000000a10300e903000002ed0300ed030000040c1501f103950300f10300000307000000a10300f503000002f90300f9030000040c1501fd03950300fd0300000308000000a10300010400000205040005040000040c15010904950300090400000309000000a103000d0400000211040011040000040c1501150495030015040000030a000000a1030019040000021d04001d040000040c1501210495030021040000030b000000a10300250400000229040029040000040c15012d049503002d040000030c000000a10300310400000235040035040000040c1501390495030039040000030d000000a103003d0400000241040041040000040c1501450495030045040000030e000000a1030049040000024d04004d040000040c1501510495030051040000030f000000a103005504084473705f6e706f735f656c656374696f6e7334456c656374696f6e53636f726500000c01346d696e696d616c5f7374616b6518013c457874656e64656442616c616e636500012473756d5f7374616b6518013c457874656e64656442616c616e636500014473756d5f7374616b655f7371756172656418013c457874656e64656442616c616e636500005904089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f706861736558536f6c7574696f6e4f72536e617073686f7453697a650000080118766f746572731501010c75333200011c746172676574731501010c75333200005d0404184f7074696f6e0404540155040108104e6f6e6500000010536f6d650400550400000100006104000002650400650400000408006904006904084473705f6e706f735f656c656374696f6e731c537570706f727404244163636f756e744964010000080114746f74616c18013c457874656e64656442616c616e6365000118766f746572736d0401845665633c284163636f756e7449642c20457874656e64656442616c616e6365293e00006d0400000271040071040000040800180075040c4070616c6c65745f626167735f6c6973741870616c6c65741043616c6c08045400044900010c1472656261670401286469736c6f6361746564b10101504163636f756e7449644c6f6f6b75704f663c543e00000458536565205b6050616c6c65743a3a7265626167605d2e3c7075745f696e5f66726f6e745f6f6604011c6c696768746572b10101504163636f756e7449644c6f6f6b75704f663c543e00010480536565205b6050616c6c65743a3a7075745f696e5f66726f6e745f6f66605d2e547075745f696e5f66726f6e745f6f665f6f7468657208011c68656176696572b10101504163636f756e7449644c6f6f6b75704f663c543e00011c6c696768746572b10101504163636f756e7449644c6f6f6b75704f663c543e00020498536565205b6050616c6c65743a3a7075745f696e5f66726f6e745f6f665f6f74686572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e79040c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c65741043616c6c040454000158106a6f696e080118616d6f756e74f4013042616c616e63654f663c543e00011c706f6f6c5f6964100118506f6f6c496400000454536565205b6050616c6c65743a3a6a6f696e605d2e28626f6e645f657874726104011465787472617d04015c426f6e6445787472613c42616c616e63654f663c543e3e0001046c536565205b6050616c6c65743a3a626f6e645f6578747261605d2e30636c61696d5f7061796f757400020474536565205b6050616c6c65743a3a636c61696d5f7061796f7574605d2e18756e626f6e640801386d656d6265725f6163636f756e74b10101504163636f756e7449644c6f6f6b75704f663c543e000140756e626f6e64696e675f706f696e7473f4013042616c616e63654f663c543e0003045c536565205b6050616c6c65743a3a756e626f6e64605d2e58706f6f6c5f77697468647261775f756e626f6e64656408011c706f6f6c5f6964100118506f6f6c49640001486e756d5f736c617368696e675f7370616e7310010c7533320004049c536565205b6050616c6c65743a3a706f6f6c5f77697468647261775f756e626f6e646564605d2e4477697468647261775f756e626f6e6465640801386d656d6265725f6163636f756e74b10101504163636f756e7449644c6f6f6b75704f663c543e0001486e756d5f736c617368696e675f7370616e7310010c75333200050488536565205b6050616c6c65743a3a77697468647261775f756e626f6e646564605d2e18637265617465100118616d6f756e74f4013042616c616e63654f663c543e000110726f6f74b10101504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f72b10101504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e636572b10101504163636f756e7449644c6f6f6b75704f663c543e0006045c536565205b6050616c6c65743a3a637265617465605d2e4c6372656174655f776974685f706f6f6c5f6964140118616d6f756e74f4013042616c616e63654f663c543e000110726f6f74b10101504163636f756e7449644c6f6f6b75704f663c543e0001246e6f6d696e61746f72b10101504163636f756e7449644c6f6f6b75704f663c543e00011c626f756e636572b10101504163636f756e7449644c6f6f6b75704f663c543e00011c706f6f6c5f6964100118506f6f6c496400070490536565205b6050616c6c65743a3a6372656174655f776974685f706f6f6c5f6964605d2e206e6f6d696e61746508011c706f6f6c5f6964100118506f6f6c496400012876616c696461746f7273bd0101445665633c543a3a4163636f756e7449643e00080464536565205b6050616c6c65743a3a6e6f6d696e617465605d2e247365745f737461746508011c706f6f6c5f6964100118506f6f6c4964000114737461746581040124506f6f6c537461746500090468536565205b6050616c6c65743a3a7365745f7374617465605d2e307365745f6d6574616461746108011c706f6f6c5f6964100118506f6f6c49640001206d6574616461746134011c5665633c75383e000a0474536565205b6050616c6c65743a3a7365745f6d65746164617461605d2e2c7365745f636f6e666967731801346d696e5f6a6f696e5f626f6e6485040158436f6e6669674f703c42616c616e63654f663c543e3e00013c6d696e5f6372656174655f626f6e6485040158436f6e6669674f703c42616c616e63654f663c543e3e0001246d61785f706f6f6c7389040134436f6e6669674f703c7533323e00012c6d61785f6d656d6265727389040134436f6e6669674f703c7533323e0001506d61785f6d656d626572735f7065725f706f6f6c89040134436f6e6669674f703c7533323e000154676c6f62616c5f6d61785f636f6d6d697373696f6e8d040144436f6e6669674f703c50657262696c6c3e000b0470536565205b6050616c6c65743a3a7365745f636f6e66696773605d2e307570646174655f726f6c657310011c706f6f6c5f6964100118506f6f6c49640001206e65775f726f6f7491040158436f6e6669674f703c543a3a4163636f756e7449643e0001346e65775f6e6f6d696e61746f7291040158436f6e6669674f703c543a3a4163636f756e7449643e00012c6e65775f626f756e63657291040158436f6e6669674f703c543a3a4163636f756e7449643e000c0474536565205b6050616c6c65743a3a7570646174655f726f6c6573605d2e146368696c6c04011c706f6f6c5f6964100118506f6f6c4964000d0458536565205b6050616c6c65743a3a6368696c6c605d2e40626f6e645f65787472615f6f746865720801186d656d626572b10101504163636f756e7449644c6f6f6b75704f663c543e00011465787472617d04015c426f6e6445787472613c42616c616e63654f663c543e3e000e0484536565205b6050616c6c65743a3a626f6e645f65787472615f6f74686572605d2e507365745f636c61696d5f7065726d697373696f6e0401287065726d697373696f6e9504013c436c61696d5065726d697373696f6e000f0494536565205b6050616c6c65743a3a7365745f636c61696d5f7065726d697373696f6e605d2e48636c61696d5f7061796f75745f6f746865720401146f74686572000130543a3a4163636f756e7449640010048c536565205b6050616c6c65743a3a636c61696d5f7061796f75745f6f74686572605d2e387365745f636f6d6d697373696f6e08011c706f6f6c5f6964100118506f6f6c49640001386e65775f636f6d6d697373696f6e9904017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e0011047c536565205b6050616c6c65743a3a7365745f636f6d6d697373696f6e605d2e487365745f636f6d6d697373696f6e5f6d617808011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ea8011c50657262696c6c0012048c536565205b6050616c6c65743a3a7365745f636f6d6d697373696f6e5f6d6178605d2e687365745f636f6d6d697373696f6e5f6368616e67655f7261746508011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f72617465a104019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e001304ac536565205b6050616c6c65743a3a7365745f636f6d6d697373696f6e5f6368616e67655f72617465605d2e40636c61696d5f636f6d6d697373696f6e04011c706f6f6c5f6964100118506f6f6c496400140484536565205b6050616c6c65743a3a636c61696d5f636f6d6d697373696f6e605d2e4c61646a7573745f706f6f6c5f6465706f73697404011c706f6f6c5f6964100118506f6f6c496400150490536565205b6050616c6c65743a3a61646a7573745f706f6f6c5f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e7d04085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324426f6e644578747261041c42616c616e6365011801082c4672656542616c616e6365040018011c42616c616e63650000001c52657761726473000100008104085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324506f6f6c537461746500010c104f70656e0000001c426c6f636b65640001002844657374726f79696e67000200008504085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540118010c104e6f6f700000000c5365740400180104540001001852656d6f7665000200008904085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540110010c104e6f6f700000000c5365740400100104540001001852656d6f7665000200008d04085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f7004045401a8010c104e6f6f700000000c5365740400a80104540001001852656d6f7665000200009104085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320436f6e6669674f700404540100010c104e6f6f700000000c5365740400000104540001001852656d6f7665000200009504085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733c436c61696d5065726d697373696f6e000110305065726d697373696f6e6564000000585065726d697373696f6e6c657373436f6d706f756e64000100585065726d697373696f6e6c6573735769746864726177000200445065726d697373696f6e6c657373416c6c00030000990404184f7074696f6e040454019d040108104e6f6e6500000010536f6d6504009d0400000100009d0400000408a80000a104085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7350436f6d6d697373696f6e4368616e676552617465042c426c6f636b4e756d6265720110000801306d61785f696e637265617365a8011c50657262696c6c0001246d696e5f64656c617910012c426c6f636b4e756d6265720000a5040c4c70616c6c65745f666173745f756e7374616b651870616c6c65741043616c6c04045400010c5472656769737465725f666173745f756e7374616b6500000498536565205b6050616c6c65743a3a72656769737465725f666173745f756e7374616b65605d2e28646572656769737465720001046c536565205b6050616c6c65743a3a64657265676973746572605d2e1c636f6e74726f6c040134657261735f746f5f636865636b100120457261496e64657800020460536565205b6050616c6c65743a3a636f6e74726f6c605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea904106c706f6c6b61646f745f72756e74696d655f70617261636861696e7334636f6e66696775726174696f6e1870616c6c65741043616c6c0404540001b47c7365745f76616c69646174696f6e5f757067726164655f636f6f6c646f776e04010c6e6577100144426c6f636b4e756d626572466f723c543e000004c0536565205b6050616c6c65743a3a7365745f76616c69646174696f6e5f757067726164655f636f6f6c646f776e605d2e707365745f76616c69646174696f6e5f757067726164655f64656c617904010c6e6577100144426c6f636b4e756d626572466f723c543e000104b4536565205b6050616c6c65743a3a7365745f76616c69646174696f6e5f757067726164655f64656c6179605d2e647365745f636f64655f726574656e74696f6e5f706572696f6404010c6e6577100144426c6f636b4e756d626572466f723c543e000204a8536565205b6050616c6c65743a3a7365745f636f64655f726574656e74696f6e5f706572696f64605d2e447365745f6d61785f636f64655f73697a6504010c6e657710010c75333200030488536565205b6050616c6c65743a3a7365745f6d61785f636f64655f73697a65605d2e407365745f6d61785f706f765f73697a6504010c6e657710010c75333200040484536565205b6050616c6c65743a3a7365745f6d61785f706f765f73697a65605d2e587365745f6d61785f686561645f646174615f73697a6504010c6e657710010c7533320005049c536565205b6050616c6c65743a3a7365745f6d61785f686561645f646174615f73697a65605d2e4c7365745f6f6e5f64656d616e645f636f72657304010c6e657710010c75333200060490536565205b6050616c6c65743a3a7365745f6f6e5f64656d616e645f636f726573605d2e547365745f6f6e5f64656d616e645f7265747269657304010c6e657710010c75333200070498536565205b6050616c6c65743a3a7365745f6f6e5f64656d616e645f72657472696573605d2e707365745f67726f75705f726f746174696f6e5f6672657175656e637904010c6e6577100144426c6f636b4e756d626572466f723c543e000804b4536565205b6050616c6c65743a3a7365745f67726f75705f726f746174696f6e5f6672657175656e6379605d2e747365745f70617261735f617661696c6162696c6974795f706572696f6404010c6e6577100144426c6f636b4e756d626572466f723c543e000904b8536565205b6050616c6c65743a3a7365745f70617261735f617661696c6162696c6974795f706572696f64605d2e607365745f7363686564756c696e675f6c6f6f6b616865616404010c6e657710010c753332000b04a4536565205b6050616c6c65743a3a7365745f7363686564756c696e675f6c6f6f6b6168656164605d2e6c7365745f6d61785f76616c696461746f72735f7065725f636f726504010c6e65774502012c4f7074696f6e3c7533323e000c04b0536565205b6050616c6c65743a3a7365745f6d61785f76616c696461746f72735f7065725f636f7265605d2e487365745f6d61785f76616c696461746f727304010c6e65774502012c4f7074696f6e3c7533323e000d048c536565205b6050616c6c65743a3a7365745f6d61785f76616c696461746f7273605d2e487365745f646973707574655f706572696f6404010c6e657710013053657373696f6e496e646578000e048c536565205b6050616c6c65743a3a7365745f646973707574655f706572696f64605d2eb47365745f646973707574655f706f73745f636f6e636c7573696f6e5f616363657074616e63655f706572696f6404010c6e6577100144426c6f636b4e756d626572466f723c543e000f04f8536565205b6050616c6c65743a3a7365745f646973707574655f706f73745f636f6e636c7573696f6e5f616363657074616e63655f706572696f64605d2e447365745f6e6f5f73686f775f736c6f747304010c6e657710010c75333200120488536565205b6050616c6c65743a3a7365745f6e6f5f73686f775f736c6f7473605d2e507365745f6e5f64656c61795f7472616e6368657304010c6e657710010c75333200130494536565205b6050616c6c65743a3a7365745f6e5f64656c61795f7472616e63686573605d2e787365745f7a65726f74685f64656c61795f7472616e6368655f776964746804010c6e657710010c753332001404bc536565205b6050616c6c65743a3a7365745f7a65726f74685f64656c61795f7472616e6368655f7769647468605d2e507365745f6e65656465645f617070726f76616c7304010c6e657710010c75333200150494536565205b6050616c6c65743a3a7365745f6e65656465645f617070726f76616c73605d2e707365745f72656c61795f7672665f6d6f64756c6f5f73616d706c657304010c6e657710010c753332001604b4536565205b6050616c6c65743a3a7365745f72656c61795f7672665f6d6f64756c6f5f73616d706c6573605d2e687365745f6d61785f7570776172645f71756575655f636f756e7404010c6e657710010c753332001704ac536565205b6050616c6c65743a3a7365745f6d61785f7570776172645f71756575655f636f756e74605d2e647365745f6d61785f7570776172645f71756575655f73697a6504010c6e657710010c753332001804a8536565205b6050616c6c65743a3a7365745f6d61785f7570776172645f71756575655f73697a65605d2e747365745f6d61785f646f776e776172645f6d6573736167655f73697a6504010c6e657710010c753332001904b8536565205b6050616c6c65743a3a7365745f6d61785f646f776e776172645f6d6573736167655f73697a65605d2e6c7365745f6d61785f7570776172645f6d6573736167655f73697a6504010c6e657710010c753332001b04b0536565205b6050616c6c65743a3a7365745f6d61785f7570776172645f6d6573736167655f73697a65605d2ea07365745f6d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746504010c6e657710010c753332001c04e4536565205b6050616c6c65743a3a7365745f6d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e646964617465605d2e647365745f68726d705f6f70656e5f726571756573745f74746c04010c6e657710010c753332001d04a8536565205b6050616c6c65743a3a7365745f68726d705f6f70656e5f726571756573745f74746c605d2e5c7365745f68726d705f73656e6465725f6465706f73697404010c6e657718011c42616c616e6365001e04a0536565205b6050616c6c65743a3a7365745f68726d705f73656e6465725f6465706f736974605d2e687365745f68726d705f726563697069656e745f6465706f73697404010c6e657718011c42616c616e6365001f04ac536565205b6050616c6c65743a3a7365745f68726d705f726563697069656e745f6465706f736974605d2e747365745f68726d705f6368616e6e656c5f6d61785f636170616369747904010c6e657710010c753332002004b8536565205b6050616c6c65743a3a7365745f68726d705f6368616e6e656c5f6d61785f6361706163697479605d2e7c7365745f68726d705f6368616e6e656c5f6d61785f746f74616c5f73697a6504010c6e657710010c753332002104c0536565205b6050616c6c65743a3a7365745f68726d705f6368616e6e656c5f6d61785f746f74616c5f73697a65605d2e9c7365745f68726d705f6d61785f70617261636861696e5f696e626f756e645f6368616e6e656c7304010c6e657710010c753332002204e0536565205b6050616c6c65743a3a7365745f68726d705f6d61785f70617261636861696e5f696e626f756e645f6368616e6e656c73605d2e847365745f68726d705f6368616e6e656c5f6d61785f6d6573736167655f73697a6504010c6e657710010c753332002404c8536565205b6050616c6c65743a3a7365745f68726d705f6368616e6e656c5f6d61785f6d6573736167655f73697a65605d2ea07365745f68726d705f6d61785f70617261636861696e5f6f7574626f756e645f6368616e6e656c7304010c6e657710010c753332002504e4536565205b6050616c6c65743a3a7365745f68726d705f6d61785f70617261636861696e5f6f7574626f756e645f6368616e6e656c73605d2e987365745f68726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746504010c6e657710010c753332002704dc536565205b6050616c6c65743a3a7365745f68726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e646964617465605d2e487365745f7076665f766f74696e675f74746c04010c6e657710013053657373696f6e496e646578002a048c536565205b6050616c6c65743a3a7365745f7076665f766f74696e675f74746c605d2e907365745f6d696e696d756d5f76616c69646174696f6e5f757067726164655f64656c617904010c6e6577100144426c6f636b4e756d626572466f723c543e002b04d4536565205b6050616c6c65743a3a7365745f6d696e696d756d5f76616c69646174696f6e5f757067726164655f64656c6179605d2e707365745f6279706173735f636f6e73697374656e63795f636865636b04010c6e6577b40110626f6f6c002c04b4536565205b6050616c6c65743a3a7365745f6279706173735f636f6e73697374656e63795f636865636b605d2e607365745f6173796e635f6261636b696e675f706172616d7304010c6e6577ad0401484173796e634261636b696e67506172616d73002d04a4536565205b6050616c6c65743a3a7365745f6173796e635f6261636b696e675f706172616d73605d2e4c7365745f6578656375746f725f706172616d7304010c6e6577b10401384578656375746f72506172616d73002e0490536565205b6050616c6c65743a3a7365745f6578656375746f725f706172616d73605d2e587365745f6f6e5f64656d616e645f626173655f66656504010c6e657718011c42616c616e6365002f049c536565205b6050616c6c65743a3a7365745f6f6e5f64656d616e645f626173655f666565605d2e747365745f6f6e5f64656d616e645f6665655f766172696162696c69747904010c6e6577a8011c50657262696c6c003004b8536565205b6050616c6c65743a3a7365745f6f6e5f64656d616e645f6665655f766172696162696c697479605d2e707365745f6f6e5f64656d616e645f71756575655f6d61785f73697a6504010c6e657710010c753332003104b4536565205b6050616c6c65743a3a7365745f6f6e5f64656d616e645f71756575655f6d61785f73697a65605d2e987365745f6f6e5f64656d616e645f7461726765745f71756575655f7574696c697a6174696f6e04010c6e6577a8011c50657262696c6c003204dc536565205b6050616c6c65743a3a7365745f6f6e5f64656d616e645f7461726765745f71756575655f7574696c697a6174696f6e605d2e447365745f6f6e5f64656d616e645f74746c04010c6e6577100144426c6f636b4e756d626572466f723c543e00330488536565205b6050616c6c65743a3a7365745f6f6e5f64656d616e645f74746c605d2e647365745f6d696e696d756d5f6261636b696e675f766f74657304010c6e657710010c753332003404a8536565205b6050616c6c65743a3a7365745f6d696e696d756d5f6261636b696e675f766f746573605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ead04104c706f6c6b61646f745f7072696d697469766573087636346173796e635f6261636b696e67484173796e634261636b696e67506172616d73000008014c6d61785f63616e6469646174655f646570746810010c753332000150616c6c6f7765645f616e6365737472795f6c656e10010c7533320000b104104c706f6c6b61646f745f7072696d6974697665730876363c6578656375746f725f706172616d73384578656375746f72506172616d7300000400b50401485665633c4578656375746f72506172616d3e0000b504000002b90400b904104c706f6c6b61646f745f7072696d6974697665730876363c6578656375746f725f706172616d73344578656375746f72506172616d00011c384d61784d656d6f72795061676573040010010c7533320001003c537461636b4c6f676963616c4d6178040010010c75333200020038537461636b4e61746976654d6178040010010c75333200030050507265636865636b696e674d61784d656d6f727904002c010c753634000400385076665072657054696d656f75740800bd0401485076665072657054696d656f75744b696e6400002c010c753634000500385076664578656354696d656f75740800c10401485076664578656354696d656f75744b696e6400002c010c753634000600445761736d45787442756c6b4d656d6f727900070000bd040c4c706f6c6b61646f745f7072696d697469766573087636485076665072657054696d656f75744b696e6400010820507265636865636b0000001c4c656e69656e7400010000c1040c4c706f6c6b61646f745f7072696d697469766573087636485076664578656354696d656f75744b696e640001081c4261636b696e6700000020417070726f76616c00010000c504106c706f6c6b61646f745f72756e74696d655f70617261636861696e73187368617265641870616c6c65741043616c6c040454000100040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec904106c706f6c6b61646f745f72756e74696d655f70617261636861696e7324696e636c7573696f6e1870616c6c65741043616c6c040454000100040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ecd04106c706f6c6b61646f745f72756e74696d655f70617261636861696e733870617261735f696e686572656e741870616c6c65741043616c6c04045400010414656e74657204011064617461d104019050617261636861696e73496e686572656e74446174613c486561646572466f723c543e3e00000458536565205b6050616c6c65743a3a656e746572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed1040c4c706f6c6b61646f745f7072696d69746976657308763630496e686572656e7444617461040c484452018d01001001246269746669656c6473d5040190556e636865636b65645369676e6564417661696c6162696c6974794269746669656c64730001446261636b65645f63616e64696461746573f104017c5665633c4261636b656443616e6469646174653c4844523a3a486173683e3e0001206469737075746573350501604d756c74694469737075746553746174656d656e74536574000134706172656e745f6865616465728d01010c4844520000d504000002d90400d904104c706f6c6b61646f745f7072696d697469766573087636187369676e65643c556e636865636b65645369676e6564081c5061796c6f616401dd042c5265616c5061796c6f616401dd04000c011c7061796c6f6164dd04011c5061796c6f616400013c76616c696461746f725f696e646578e904013856616c696461746f72496e6465780001247369676e6174757265ed04014856616c696461746f725369676e61747572650000dd040c4c706f6c6b61646f745f7072696d69746976657308763650417661696c6162696c6974794269746669656c6400000400e104017c4269745665633c75382c206269747665633a3a6f726465723a3a4c7362303e0000e10400000708e50400e5040c18626974766563146f72646572104c73623000000000e9040c4c706f6c6b61646f745f7072696d6974697665730876363856616c696461746f72496e6465780000040010010c7533320000ed04104c706f6c6b61646f745f7072696d6974697665730876363476616c696461746f725f617070245369676e6174757265000004003d020148737232353531393a3a5369676e61747572650000f104000002f50400f5040c4c706f6c6b61646f745f7072696d6974697665730876363c4261636b656443616e6469646174650404480130000c012463616e646964617465f9040170436f6d6d697474656443616e646964617465526563656970743c483e00013876616c69646974795f766f7465732d0501605665633c56616c69646974794174746573746174696f6e3e00014476616c696461746f725f696e6469636573e104017c4269745665633c75382c206269747665633a3a6f726465723a3a4c7362303e0000f9040c4c706f6c6b61646f745f7072696d69746976657308763664436f6d6d697474656443616e6469646174655265636569707404044801300008012864657363726970746f72fd04015843616e64696461746544657363726970746f723c483e00012c636f6d6d69746d656e74730d05015043616e646964617465436f6d6d69746d656e74730000fd040c4c706f6c6b61646f745f7072696d6974697665730876364c43616e64696461746544657363726970746f7204044801300024011c706172615f696471020108496400013072656c61795f706172656e7430010448000120636f6c6c61746f7201050128436f6c6c61746f7249640001787065727369737465645f76616c69646174696f6e5f646174615f6861736830011048617368000120706f765f6861736830011048617368000130657261737572655f726f6f74300110486173680001247369676e617475726505050144436f6c6c61746f725369676e6174757265000124706172615f686561643001104861736800015076616c69646174696f6e5f636f64655f686173680905014856616c69646174696f6e436f64654861736800000105104c706f6c6b61646f745f7072696d69746976657308763630636f6c6c61746f725f617070185075626c696300000400e4013c737232353531393a3a5075626c696300000505104c706f6c6b61646f745f7072696d69746976657308763630636f6c6c61746f725f617070245369676e6174757265000004003d020148737232353531393a3a5369676e6174757265000009050c74706f6c6b61646f745f70617261636861696e5f7072696d697469766573287072696d6974697665734856616c69646174696f6e436f646548617368000004003001104861736800000d050c4c706f6c6b61646f745f7072696d6974697665730876365043616e646964617465436f6d6d69746d656e747304044e01100018013c7570776172645f6d65737361676573110501385570776172644d6573736167657300014c686f72697a6f6e74616c5f6d6573736167657315050148486f72697a6f6e74616c4d6573736167657300014c6e65775f76616c69646174696f6e5f636f6465210501584f7074696f6e3c56616c69646174696f6e436f64653e000124686561645f6461746129050120486561644461746100016c70726f6365737365645f646f776e776172645f6d6573736167657310010c75333200013868726d705f77617465726d61726b1001044e000011050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540134045300000400710101185665633c543e000015050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540119050453000004001d0501185665633c543e000019050860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401710200080124726563697069656e747102010849640001106461746134015073705f7374643a3a7665633a3a5665633c75383e00001d05000002190500210504184f7074696f6e0404540125050108104e6f6e6500000010536f6d6504002505000001000025050c74706f6c6b61646f745f70617261636861696e5f7072696d697469766573287072696d6974697665733856616c69646174696f6e436f64650000040034011c5665633c75383e000029050c74706f6c6b61646f745f70617261636861696e5f7072696d697469766573287072696d6974697665732048656164446174610000040034011c5665633c75383e00002d0500000231050031050c4c706f6c6b61646f745f7072696d6974697665730876364c56616c69646974794174746573746174696f6e00010820496d706c696369740400ed04014856616c696461746f725369676e6174757265000100204578706c696369740400ed04014856616c696461746f725369676e617475726500020000350500000239050039050c4c706f6c6b61646f745f7072696d6974697665730876364c4469737075746553746174656d656e7453657400000c013863616e6469646174655f686173683d05013443616e6469646174654861736800011c73657373696f6e10013053657373696f6e496e64657800012873746174656d656e7473410501ec5665633c284469737075746553746174656d656e742c2056616c696461746f72496e6465782c2056616c696461746f725369676e6174757265293e00003d050860706f6c6b61646f745f636f72655f7072696d6974697665733443616e6469646174654861736800000400300110486173680000410500000245050045050000040c4905e904ed040049050c4c706f6c6b61646f745f7072696d697469766573087636404469737075746553746174656d656e740001081456616c696404004d05016456616c69644469737075746553746174656d656e744b696e640000001c496e76616c696404005105016c496e76616c69644469737075746553746174656d656e744b696e64000100004d050c4c706f6c6b61646f745f7072696d6974697665730876366456616c69644469737075746553746174656d656e744b696e64000110204578706c696369740000003c4261636b696e675365636f6e646564040030011048617368000100304261636b696e6756616c696404003001104861736800020040417070726f76616c436865636b696e670003000051050c4c706f6c6b61646f745f7072696d6974697665730876366c496e76616c69644469737075746553746174656d656e744b696e64000104204578706c69636974000000005505106c706f6c6b61646f745f72756e74696d655f70617261636861696e731470617261731870616c6c65741043616c6c04045400012458666f7263655f7365745f63757272656e745f636f646508011070617261710201185061726149640001206e65775f636f64652505013856616c69646174696f6e436f64650000049c536565205b6050616c6c65743a3a666f7263655f7365745f63757272656e745f636f6465605d2e58666f7263655f7365745f63757272656e745f6865616408011070617261710201185061726149640001206e65775f686561642905012048656164446174610001049c536565205b6050616c6c65743a3a666f7263655f7365745f63757272656e745f68656164605d2e6c666f7263655f7363686564756c655f636f64655f757067726164650c011070617261710201185061726149640001206e65775f636f64652505013856616c69646174696f6e436f646500014c72656c61795f706172656e745f6e756d626572100144426c6f636b4e756d626572466f723c543e000204b0536565205b6050616c6c65743a3a666f7263655f7363686564756c655f636f64655f75706772616465605d2e4c666f7263655f6e6f74655f6e65775f6865616408011070617261710201185061726149640001206e65775f6865616429050120486561644461746100030490536565205b6050616c6c65743a3a666f7263655f6e6f74655f6e65775f68656164605d2e48666f7263655f71756575655f616374696f6e04011070617261710201185061726149640004048c536565205b6050616c6c65743a3a666f7263655f71756575655f616374696f6e605d2e6c6164645f747275737465645f76616c69646174696f6e5f636f646504013c76616c69646174696f6e5f636f64652505013856616c69646174696f6e436f6465000504b0536565205b6050616c6c65743a3a6164645f747275737465645f76616c69646174696f6e5f636f6465605d2e6c706f6b655f756e757365645f76616c69646174696f6e5f636f646504015076616c69646174696f6e5f636f64655f686173680905014856616c69646174696f6e436f646548617368000604b0536565205b6050616c6c65743a3a706f6b655f756e757365645f76616c69646174696f6e5f636f6465605d2e6c696e636c7564655f7076665f636865636b5f73746174656d656e7408011073746d7459050144507666436865636b53746174656d656e740001247369676e6174757265ed04014856616c696461746f725369676e6174757265000704b0536565205b6050616c6c65743a3a696e636c7564655f7076665f636865636b5f73746174656d656e74605d2e74666f7263655f7365745f6d6f73745f726563656e745f636f6e74657874080110706172617102011850617261496400011c636f6e74657874100144426c6f636b4e756d626572466f723c543e000804b8536565205b6050616c6c65743a3a666f7263655f7365745f6d6f73745f726563656e745f636f6e74657874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e59050c4c706f6c6b61646f745f7072696d69746976657308763644507666436865636b53746174656d656e740000100118616363657074b40110626f6f6c00011c7375626a6563740905014856616c69646174696f6e436f64654861736800013473657373696f6e5f696e64657810013053657373696f6e496e64657800013c76616c696461746f725f696e646578e904013856616c696461746f72496e64657800005d05106c706f6c6b61646f745f72756e74696d655f70617261636861696e732c696e697469616c697a65721870616c6c65741043616c6c04045400010434666f7263655f617070726f766504011475705f746f10012c426c6f636b4e756d62657200000478536565205b6050616c6c65743a3a666f7263655f617070726f7665605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e6105106c706f6c6b61646f745f72756e74696d655f70617261636861696e731068726d701870616c6c65741043616c6c0404540001285868726d705f696e69745f6f70656e5f6368616e6e656c0c0124726563697069656e747102011850617261496400015470726f706f7365645f6d61785f636170616369747910010c75333200016470726f706f7365645f6d61785f6d6573736167655f73697a6510010c7533320000049c536565205b6050616c6c65743a3a68726d705f696e69745f6f70656e5f6368616e6e656c605d2e6068726d705f6163636570745f6f70656e5f6368616e6e656c04011873656e64657271020118506172614964000104a4536565205b6050616c6c65743a3a68726d705f6163636570745f6f70656e5f6368616e6e656c605d2e4868726d705f636c6f73655f6368616e6e656c0401286368616e6e656c5f69646505013448726d704368616e6e656c49640002048c536565205b6050616c6c65743a3a68726d705f636c6f73655f6368616e6e656c605d2e40666f7263655f636c65616e5f68726d700c0110706172617102011850617261496400012c6e756d5f696e626f756e6410010c7533320001306e756d5f6f7574626f756e6410010c75333200030484536565205b6050616c6c65743a3a666f7263655f636c65616e5f68726d70605d2e5c666f7263655f70726f636573735f68726d705f6f70656e0401206368616e6e656c7310010c753332000404a0536565205b6050616c6c65743a3a666f7263655f70726f636573735f68726d705f6f70656e605d2e60666f7263655f70726f636573735f68726d705f636c6f73650401206368616e6e656c7310010c753332000504a4536565205b6050616c6c65743a3a666f7263655f70726f636573735f68726d705f636c6f7365605d2e6068726d705f63616e63656c5f6f70656e5f726571756573740801286368616e6e656c5f69646505013448726d704368616e6e656c49640001346f70656e5f726571756573747310010c753332000604a4536565205b6050616c6c65743a3a68726d705f63616e63656c5f6f70656e5f72657175657374605d2e5c666f7263655f6f70656e5f68726d705f6368616e6e656c10011873656e64657271020118506172614964000124726563697069656e74710201185061726149640001306d61785f636170616369747910010c7533320001406d61785f6d6573736167655f73697a6510010c753332000704a0536565205b6050616c6c65743a3a666f7263655f6f70656e5f68726d705f6368616e6e656c605d2e6065737461626c6973685f73797374656d5f6368616e6e656c08011873656e64657271020118506172614964000124726563697069656e7471020118506172614964000804a4536565205b6050616c6c65743a3a65737461626c6973685f73797374656d5f6368616e6e656c605d2e54706f6b655f6368616e6e656c5f6465706f7369747308011873656e64657271020118506172614964000124726563697069656e747102011850617261496400090498536565205b6050616c6c65743a3a706f6b655f6368616e6e656c5f6465706f73697473605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e65050c74706f6c6b61646f745f70617261636861696e5f7072696d697469766573287072696d6974697665733448726d704368616e6e656c4964000008011873656e646572710201084964000124726563697069656e7471020108496400006905106c706f6c6b61646f745f72756e74696d655f70617261636861696e732064697370757465731870616c6c65741043616c6c04045400010438666f7263655f756e667265657a650000047c536565205b6050616c6c65743a3a666f7263655f756e667265657a65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e6d05146c706f6c6b61646f745f72756e74696d655f70617261636861696e7320646973707574657320736c617368696e671870616c6c65741043616c6c040454000104707265706f72745f646973707574655f6c6f73745f756e7369676e6564080134646973707574655f70726f6f6671050144426f783c4469737075746550726f6f663e00013c6b65795f6f776e65725f70726f6f6699010140543a3a4b65794f776e657250726f6f66000004b4536565205b6050616c6c65743a3a7265706f72745f646973707574655f6c6f73745f756e7369676e6564605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e7105104c706f6c6b61646f745f7072696d69746976657308763620736c617368696e67304469737075746550726f6f66000010012474696d655f736c6f7475050140446973707574657354696d65536c6f740001106b696e647905014c536c617368696e674f6666656e63654b696e6400013c76616c696461746f725f696e646578e904013856616c696461746f72496e64657800013076616c696461746f725f6964e901012c56616c696461746f72496400007505104c706f6c6b61646f745f7072696d69746976657308763620736c617368696e6740446973707574657354696d65536c6f74000008013473657373696f6e5f696e64657810013053657373696f6e496e64657800013863616e6469646174655f686173683d05013443616e6469646174654861736800007905104c706f6c6b61646f745f7072696d69746976657308763620736c617368696e674c536c617368696e674f6666656e63654b696e6400010828466f72496e76616c696400000030416761696e737456616c6964000100007d05105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e3c70617261735f7265676973747261721870616c6c65741043616c6c0404540001242072656769737465720c010869647102011850617261496400013067656e657369735f6865616429050120486561644461746100013c76616c69646174696f6e5f636f64652505013856616c69646174696f6e436f646500000464536565205b6050616c6c65743a3a7265676973746572605d2e38666f7263655f726567697374657214010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e00010869647102011850617261496400013067656e657369735f6865616429050120486561644461746100013c76616c69646174696f6e5f636f64652505013856616c69646174696f6e436f64650001047c536565205b6050616c6c65743a3a666f7263655f7265676973746572605d2e28646572656769737465720401086964710201185061726149640002046c536565205b6050616c6c65743a3a64657265676973746572605d2e10737761700801086964710201185061726149640001146f746865727102011850617261496400030454536565205b6050616c6c65743a3a73776170605d2e2c72656d6f76655f6c6f636b040110706172617102011850617261496400040470536565205b6050616c6c65743a3a72656d6f76655f6c6f636b605d2e1c7265736572766500050460536565205b6050616c6c65743a3a72657365727665605d2e206164645f6c6f636b040110706172617102011850617261496400060464536565205b6050616c6c65743a3a6164645f6c6f636b605d2e547363686564756c655f636f64655f7570677261646508011070617261710201185061726149640001206e65775f636f64652505013856616c69646174696f6e436f646500070498536565205b6050616c6c65743a3a7363686564756c655f636f64655f75706772616465605d2e407365745f63757272656e745f6865616408011070617261710201185061726149640001206e65775f6865616429050120486561644461746100080484536565205b6050616c6c65743a3a7365745f63757272656e745f68656164605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8105105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e14736c6f74731870616c6c65741043616c6c04045400010c2c666f7263655f6c6561736514011070617261710201185061726149640001186c6561736572000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000130706572696f645f626567696e1001404c65617365506572696f644f663c543e000130706572696f645f636f756e741001404c65617365506572696f644f663c543e00000470536565205b6050616c6c65743a3a666f7263655f6c65617365605d2e40636c6561725f616c6c5f6c6561736573040110706172617102011850617261496400010484536565205b6050616c6c65743a3a636c6561725f616c6c5f6c6561736573605d2e3c747269676765725f6f6e626f617264040110706172617102011850617261496400020480536565205b6050616c6c65743a3a747269676765725f6f6e626f617264605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8505105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2061756374696f6e731870616c6c65741043616c6c04045400010c2c6e65775f61756374696f6e0801206475726174696f6e15010144426c6f636b4e756d626572466f723c543e0001486c656173655f706572696f645f696e646578150101404c65617365506572696f644f663c543e00000470536565205b6050616c6c65743a3a6e65775f61756374696f6e605d2e0c626964140110706172618905011850617261496400013461756374696f6e5f696e6465781501013041756374696f6e496e64657800012866697273745f736c6f74150101404c65617365506572696f644f663c543e0001246c6173745f736c6f74150101404c65617365506572696f644f663c543e000118616d6f756e74f4013042616c616e63654f663c543e00010450536565205b6050616c6c65743a3a626964605d2e3863616e63656c5f61756374696f6e0002047c536565205b6050616c6c65743a3a63616e63656c5f61756374696f6e605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e89050000067102008d05105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2463726f77646c6f616e1870616c6c65741043616c6c04045400012418637265617465180114696e6465788905011850617261496400010c636170f4013042616c616e63654f663c543e00013066697273745f706572696f64150101404c65617365506572696f644f663c543e00012c6c6173745f706572696f64150101404c65617365506572696f644f663c543e00010c656e6415010144426c6f636b4e756d626572466f723c543e00012076657269666965729105014c4f7074696f6e3c4d756c74695369676e65723e0000045c536565205b6050616c6c65743a3a637265617465605d2e28636f6e747269627574650c0114696e6465788905011850617261496400011476616c7565f4013042616c616e63654f663c543e0001247369676e6174757265990501584f7074696f6e3c4d756c74695369676e61747572653e0001046c536565205b6050616c6c65743a3a636f6e74726962757465605d2e20776974686472617708010c77686f000130543a3a4163636f756e744964000114696e6465788905011850617261496400020464536565205b6050616c6c65743a3a7769746864726177605d2e18726566756e64040114696e646578890501185061726149640003045c536565205b6050616c6c65743a3a726566756e64605d2e20646973736f6c7665040114696e6465788905011850617261496400040464536565205b6050616c6c65743a3a646973736f6c7665605d2e1065646974180114696e6465788905011850617261496400010c636170f4013042616c616e63654f663c543e00013066697273745f706572696f64150101404c65617365506572696f644f663c543e00012c6c6173745f706572696f64150101404c65617365506572696f644f663c543e00010c656e6415010144426c6f636b4e756d626572466f723c543e00012076657269666965729105014c4f7074696f6e3c4d756c74695369676e65723e00050454536565205b6050616c6c65743a3a65646974605d2e206164645f6d656d6f080114696e646578710201185061726149640001106d656d6f34011c5665633c75383e00060464536565205b6050616c6c65743a3a6164645f6d656d6f605d2e10706f6b65040114696e6465787102011850617261496400070454536565205b6050616c6c65743a3a706f6b65605d2e38636f6e747269627574655f616c6c080114696e646578890501185061726149640001247369676e6174757265990501584f7074696f6e3c4d756c74695369676e61747572653e0008047c536565205b6050616c6c65743a3a636f6e747269627574655f616c6c605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e910504184f7074696f6e0404540195050108104e6f6e6500000010536f6d650400950500000100009505082873705f72756e74696d652c4d756c74695369676e657200010c1c456432353531390400d8013c656432353531393a3a5075626c69630000001c537232353531390400e4013c737232353531393a3a5075626c69630001001445636473610400f901013465636473613a3a5075626c696300020000990504184f7074696f6e040454019d050108104e6f6e6500000010536f6d6504009d0500000100009d05082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040019020148656432353531393a3a5369676e61747572650000001c5372323535313904003d020148737232353531393a3a5369676e61747572650001001445636473610400a105014065636473613a3a5369676e617475726500020000a1050c1c73705f636f7265146563647361245369676e6174757265000004009102017c5b75383b205349474e41545552455f53455249414c495a45445f53495a455d0000a5050c2870616c6c65745f78636d1870616c6c65741043616c6c04045400012c1073656e64080110646573743101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d657373616765a9050154426f783c56657273696f6e656458636d3c28293e3e00000454536565205b6050616c6c65743a3a73656e64605d2e3c74656c65706f72745f617373657473100110646573743101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747359060164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d10010c75333200010480536565205b6050616c6c65743a3a74656c65706f72745f617373657473605d2e5c726573657276655f7472616e736665725f617373657473100110646573743101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747359060164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d10010c753332000204a0536565205b6050616c6c65743a3a726573657276655f7472616e736665725f617373657473605d2e1c6578656375746508011c6d6573736167655d0601b4426f783c56657273696f6e656458636d3c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687424011857656967687400030460536565205b6050616c6c65743a3a65786563757465605d2e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6e09010148426f783c4d756c74694c6f636174696f6e3e00011c76657273696f6e10012858636d56657273696f6e00040488536565205b6050616c6c65743a3a666f7263655f78636d5f76657273696f6e605d2e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6e450201484f7074696f6e3c58636d56657273696f6e3e000504a8536565205b6050616c6c65743a3a666f7263655f64656661756c745f78636d5f76657273696f6e605d2e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e3101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000604bc536565205b6050616c6c65743a3a666f7263655f7375627363726962655f76657273696f6e5f6e6f74696679605d2e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e3101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000704c4536565205b6050616c6c65743a3a666f7263655f756e7375627363726962655f76657273696f6e5f6e6f74696679605d2e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573743101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747359060164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d10010c7533320001307765696768745f6c696d69745506012c5765696768744c696d6974000804c0536565205b6050616c6c65743a3a6c696d697465645f726573657276655f7472616e736665725f617373657473605d2e5c6c696d697465645f74656c65706f72745f617373657473140110646573743101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793101016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747359060164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d10010c7533320001307765696768745f6c696d69745506012c5765696768744c696d6974000904a0536565205b6050616c6c65743a3a6c696d697465645f74656c65706f72745f617373657473605d2e40666f7263655f73757370656e73696f6e04012473757370656e646564b40110626f6f6c000a0484536565205b6050616c6c65743a3a666f7263655f73757370656e73696f6e605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea905080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c0001080856320400ad05015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400f905015076333a3a58636d3c52756e74696d6543616c6c3e00030000ad050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400b10501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000b105000002b50500b5050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400b905012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400b905012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400b905012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e7365d1050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e736665724173736574080118617373657473b905012c4d756c746941737365747300012c62656e6566696369617279350101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473b905012c4d756c746941737365747300011064657374350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065e10501284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6ce5050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465721501010c7533320001406d61785f6d6573736167655f73697a651501010c7533320001306d61785f63617061636974791501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e741501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f721501010c75333200011873656e6465721501010c753332000124726563697069656e741501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040039010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374350101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473e90501404d756c7469417373657446696c7465720001286d61785f6173736574731501010c75333200012c62656e6566696369617279350101344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473e90501404d756c7469417373657446696c7465720001286d61785f6173736574731501010c75333200011064657374350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e000e003445786368616e6765417373657408011067697665e90501404d756c7469417373657446696c74657200011c72656365697665b905012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473e90501404d756c7469417373657446696c74657200011c72657365727665350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473e90501404d756c7469417373657446696c74657200011064657374350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374350101344d756c74694c6f636174696f6e000118617373657473e90501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573c10501284d756c746941737365740001307765696768745f6c696d6974f505012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400ad05014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e6469780400ad05014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473b905012c4d756c74694173736574730001187469636b6574350101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b0000b905100c78636d087632286d756c746961737365742c4d756c746941737365747300000400bd05013c5665633c4d756c746941737365743e0000bd05000002c10500c105100c78636d087632286d756c74696173736574284d756c7469417373657400000801086964c505011c4173736574496400010c66756ec905012c46756e676962696c6974790000c505100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400350101344d756c74694c6f636174696f6e000000204162737472616374040034011c5665633c75383e00010000c905100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400f40110753132380000002c4e6f6e46756e6769626c650400cd0501344173736574496e7374616e636500010000cd05100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400f401107531323800010018417272617934040044011c5b75383b20345d000200184172726179380400ed02011c5b75383b20385d0003001c417272617931360400c001205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040034011c5665633c75383e00060000d1050c0c78636d08763220526573706f6e7365000110104e756c6c000000184173736574730400b905012c4d756c74694173736574730001003c457865637574696f6e526573756c740400d50501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040010013873757065723a3a56657273696f6e00030000d50504184f7074696f6e04045401d9050108104e6f6e6500000010536f6d650400d9050000010000d9050000040810dd0500dd05100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e73697665001400105472617004002c010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404002c01185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c6500190000e1050c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d00030000e5050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e0000e905100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400b905012c4d756c74694173736574730000001057696c640400ed05013857696c644d756c7469417373657400010000ed05100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f660801086964c505011c4173736574496400010c66756ef105013c57696c6446756e676962696c69747900010000f105100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c6500010000f5050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028010c75363400010000f9050c0c78636d0876330c58636d041043616c6c00000400fd0501585665633c496e737472756374696f6e3c43616c6c3e3e0000fd0500000201060001060c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404000506012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404000506012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404000506012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e736519060120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572410601544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574730506012c4d756c746941737365747300012c62656e6566696369617279090101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574730506012c4d756c746941737365747300011064657374090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64e10501284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6ce505014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465721501010c7533320001406d61785f6d6573736167655f73697a651501010c7533320001306d61785f63617061636974791501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e741501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f721501010c75333200011873656e6465721501010c753332000124726563697069656e741501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04000d010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400450601445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473490601404d756c7469417373657446696c74657200012c62656e6566696369617279090101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473490601404d756c7469417373657446696c74657200011064657374090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e000e003445786368616e676541737365740c011067697665490601404d756c7469417373657446696c74657200011077616e740506012c4d756c746941737365747300011c6d6178696d616cb40110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473490601404d756c7469417373657446696c74657200011c72657365727665090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473490601404d756c7469417373657446696c74657200011064657374090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f450601445175657279526573706f6e7365496e666f000118617373657473490601404d756c7469417373657446696c74657200120030427579457865637574696f6e080110666565730d0601284d756c746941737365740001307765696768745f6c696d69745506012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400f905012458636d3c43616c6c3e0015002c536574417070656e6469780400f905012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574730506012c4d756c74694173736574730001187469636b6574090101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404000506012c4d756c7469417373657473001c002c457870656374417373657404000506012c4d756c7469417373657473001d00304578706563744f726967696e0400410601544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f7204001d0601504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400390601384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666f450601445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e6465781501010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f721501010c75333200013c6d696e5f63726174655f6d696e6f721501010c753332002200505265706f72745472616e736163745374617475730400450601445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400110101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b1d0101244e6574776f726b496400012c64657374696e6174696f6e0d010154496e746572696f724d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e002600244c6f636b417373657408011461737365740d0601284d756c74694173736574000120756e6c6f636b6572090101344d756c74694c6f636174696f6e0027002c556e6c6f636b417373657408011461737365740d0601284d756c74694173736574000118746172676574090101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c6508011461737365740d0601284d756c746941737365740001146f776e6572090101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b08011461737365740d0601284d756c746941737365740001186c6f636b6572090101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177b40110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400090101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69745506012c5765696768744c696d6974000130636865636b5f6f726967696e410601544f7074696f6e3c4d756c74694c6f636174696f6e3e002f00000506100c78636d087633286d756c746961737365742c4d756c7469417373657473000004000906013c5665633c4d756c746941737365743e000009060000020d06000d06100c78636d087633286d756c74696173736574284d756c74694173736574000008010869642d01011c4173736574496400010c66756e1106012c46756e676962696c69747900001106100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400f40110753132380000002c4e6f6e46756e6769626c650400150601344173736574496e7374616e6365000100001506100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400f401107531323800010018417272617934040044011c5b75383b20345d000200184172726179380400ed02011c5b75383b20385d0003001c417272617931360400c001205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d0005000019060c0c78636d08763320526573706f6e7365000118104e756c6c0000001841737365747304000506012c4d756c74694173736574730001003c457865637574696f6e526573756c7404001d0601504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040010013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f040029060198426f756e6465645665633c50616c6c6574496e666f2c204d617850616c6c657473496e666f3e000400384469737061746368526573756c740400390601384d617962654572726f72436f6465000500001d0604184f7074696f6e0404540121060108104e6f6e6500000010536f6d65040021060000010000210600000408102506002506100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e73697665001400105472617004002c010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002401185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d69740027000029060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012d06045300000400350601185665633c543e00002d060c0c78636d0876332850616c6c6574496e666f0000180114696e6465781501010c7533320001106e616d6531060180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e00012c6d6f64756c655f6e616d6531060180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e0001146d616a6f721501010c7533320001146d696e6f721501010c75333200011470617463681501010c753332000031060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000035060000022d060039060c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f7204003d06018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000100385472756e63617465644572726f7204003d06018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000200003d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000410604184f7074696f6e0404540109010108104e6f6e6500000010536f6d6504000901000001000045060c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6e090101344d756c74694c6f636174696f6e00012071756572795f696428011c517565727949640001286d61785f77656967687424011857656967687400004906100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504000506012c4d756c74694173736574730000001057696c6404004d06013857696c644d756c74694173736574000100004d06100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f6608010869642d01011c4173736574496400010c66756e5106013c57696c6446756e676962696c69747900010028416c6c436f756e74656404001501010c75333200020030416c6c4f66436f756e7465640c010869642d01011c4173736574496400010c66756e5106013c57696c6446756e676962696c697479000114636f756e741501010c753332000300005106100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000055060c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400240118576569676874000100005906080c78636d5056657273696f6e65644d756c74694173736574730001080856320400b905013c76323a3a4d756c746941737365747300010008563304000506013c76333a3a4d756c7469417373657473000300005d06080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204006106015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304007106015076333a3a58636d3c52756e74696d6543616c6c3e0003000061060c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400650601745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000650600000269060069060c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400b905012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400b905012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400b905012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e7365d1050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e736665724173736574080118617373657473b905012c4d756c746941737365747300012c62656e6566696369617279350101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473b905012c4d756c746941737365747300011064657374350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065e10501284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c6d060168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465721501010c7533320001406d61785f6d6573736167655f73697a651501010c7533320001306d61785f63617061636974791501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e741501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f721501010c75333200011873656e6465721501010c753332000124726563697069656e741501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040039010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374350101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473e90501404d756c7469417373657446696c7465720001286d61785f6173736574731501010c75333200012c62656e6566696369617279350101344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473e90501404d756c7469417373657446696c7465720001286d61785f6173736574731501010c75333200011064657374350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e000e003445786368616e6765417373657408011067697665e90501404d756c7469417373657446696c74657200011c72656365697665b905012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473e90501404d756c7469417373657446696c74657200011c72657365727665350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473e90501404d756c7469417373657446696c74657200011064657374350101344d756c74694c6f636174696f6e00010c78636dad05011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374350101344d756c74694c6f636174696f6e000118617373657473e90501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573c10501284d756c746941737365740001307765696768745f6c696d6974f505012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204006106014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804006106014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473b905012c4d756c74694173736574730001187469636b6574350101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b00006d060c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e000071060c0c78636d0876330c58636d041043616c6c00000400750601585665633c496e737472756374696f6e3c43616c6c3e3e0000750600000279060079060c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404000506012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404000506012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404000506012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e736519060120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572410601544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574730506012c4d756c746941737365747300012c62656e6566696369617279090101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574730506012c4d756c746941737365747300011064657374090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64e10501284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c6d06014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465721501010c7533320001406d61785f6d6573736167655f73697a651501010c7533320001306d61785f63617061636974791501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e741501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f721501010c75333200011873656e6465721501010c753332000124726563697069656e741501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04000d010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400450601445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473490601404d756c7469417373657446696c74657200012c62656e6566696369617279090101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473490601404d756c7469417373657446696c74657200011064657374090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e000e003445786368616e676541737365740c011067697665490601404d756c7469417373657446696c74657200011077616e740506012c4d756c746941737365747300011c6d6178696d616cb40110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473490601404d756c7469417373657446696c74657200011c72657365727665090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473490601404d756c7469417373657446696c74657200011064657374090101344d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f450601445175657279526573706f6e7365496e666f000118617373657473490601404d756c7469417373657446696c74657200120030427579457865637574696f6e080110666565730d0601284d756c746941737365740001307765696768745f6c696d69745506012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204007106012458636d3c43616c6c3e0015002c536574417070656e64697804007106012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574730506012c4d756c74694173736574730001187469636b6574090101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404000506012c4d756c7469417373657473001c002c457870656374417373657404000506012c4d756c7469417373657473001d00304578706563744f726967696e0400410601544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f7204001d0601504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400390601384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666f450601445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e6465781501010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f721501010c75333200013c6d696e5f63726174655f6d696e6f721501010c753332002200505265706f72745472616e736163745374617475730400450601445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400110101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b1d0101244e6574776f726b496400012c64657374696e6174696f6e0d010154496e746572696f724d756c74694c6f636174696f6e00010c78636df905011c58636d3c28293e002600244c6f636b417373657408011461737365740d0601284d756c74694173736574000120756e6c6f636b6572090101344d756c74694c6f636174696f6e0027002c556e6c6f636b417373657408011461737365740d0601284d756c74694173736574000118746172676574090101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c6508011461737365740d0601284d756c746941737365740001146f776e6572090101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b08011461737365740d0601284d756c746941737365740001186c6f636b6572090101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177b40110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400090101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69745506012c5765696768744c696d6974000130636865636b5f6f726967696e410601544f7074696f6e3c4d756c74694c6f636174696f6e3e002f00007d060c5070616c6c65745f6d6573736167655f71756575651870616c6c65741043616c6c04045400010824726561705f706167650801386d6573736167655f6f726967696e810601484d6573736167654f726967696e4f663c543e000128706167655f696e64657810012450616765496e64657800000468536565205b6050616c6c65743a3a726561705f70616765605d2e48657865637574655f6f7665727765696768741001386d6573736167655f6f726967696e810601484d6573736167654f726967696e4f663c543e0001107061676510012450616765496e646578000114696e64657810011c543a3a53697a650001307765696768745f6c696d69742401185765696768740001048c536565205b6050616c6c65743a3a657865637574655f6f766572776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e81060c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7324696e636c7573696f6e584167677265676174654d6573736167654f726967696e0001040c556d70040085060128556d70517565756549640000000085060c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7324696e636c7573696f6e28556d705175657565496400010410506172610400710201185061726149640000000089060c4470616c6c65745f61737365745f726174651870616c6c65741043616c6c04045400010c1863726561746508012861737365745f6b696e6405010144426f783c543a3a41737365744b696e643e000110726174658d0601244669786564553132380000045c536565205b6050616c6c65743a3a637265617465605d2e1875706461746508012861737365745f6b696e6405010144426f783c543a3a41737365744b696e643e000110726174658d0601244669786564553132380001045c536565205b6050616c6c65743a3a757064617465605d2e1872656d6f766504012861737365745f6b696e6405010144426f783c543a3a41737365744b696e643e0002045c536565205b6050616c6c65743a3a72656d6f7665605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8d060c3473705f61726974686d657469632c66697865645f706f696e74244669786564553132380000040018011075313238000091060c3070616c6c65745f62656566791870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f669506018d01426f783c45717569766f636174696f6e50726f6f663c426c6f636b4e756d626572466f723c543e2c20543a3a426565667949642c3c543a3a426565667949640a61732052756e74696d654170705075626c69633e3a3a5369676e61747572652c3e2c3e00013c6b65795f6f776e65725f70726f6f6699010140543a3a4b65794f776e657250726f6f6600000490536565205b6050616c6c65743a3a7265706f72745f65717569766f636174696f6e605d2e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f669506018d01426f783c45717569766f636174696f6e50726f6f663c426c6f636b4e756d626572466f723c543e2c20543a3a426565667949642c3c543a3a426565667949640a61732052756e74696d654170705075626c69633e3a3a5369676e61747572652c3e2c3e00013c6b65795f6f776e65725f70726f6f6699010140543a3a4b65794f776e657250726f6f66000104b4536565205b6050616c6c65743a3a7265706f72745f65717569766f636174696f6e5f756e7369676e6564605d2e3c7365745f6e65775f67656e6573697304013c64656c61795f696e5f626c6f636b73100144426c6f636b4e756d626572466f723c543e00020480536565205b6050616c6c65743a3a7365745f6e65775f67656e65736973605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9506084873705f636f6e73656e7375735f62656566794445717569766f636174696f6e50726f6f660c184e756d626572011008496401f501245369676e61747572650199060008011466697273749d060188566f74654d6573736167653c4e756d6265722c2049642c205369676e61747572653e0001187365636f6e649d060188566f74654d6573736167653c4e756d6265722c2049642c205369676e61747572653e000099060c4873705f636f6e73656e7375735f62656566793065636473615f63727970746f245369676e617475726500000400a105014065636473613a3a5369676e617475726500009d06084873705f636f6e73656e7375735f62656566792c566f74654d6573736167650c184e756d626572011008496401f501245369676e6174757265019906000c0128636f6d6d69746d656e74a1060148436f6d6d69746d656e743c4e756d6265723e0001086964f501010849640001247369676e6174757265990601245369676e61747572650000a1060c4873705f636f6e73656e7375735f626565667928636f6d6d69746d656e7428436f6d6d69746d656e74043054426c6f636b4e756d6265720110000c011c7061796c6f6164a506011c5061796c6f6164000130626c6f636b5f6e756d62657210013054426c6f636b4e756d62657200014076616c696461746f725f7365745f69642c013856616c696461746f7253657449640000a5060c4873705f636f6e73656e7375735f62656566791c7061796c6f61641c5061796c6f616400000400a90601785665633c2842656566795061796c6f616449642c205665633c75383e293e0000a906000002ad0600ad0600000408d9023400b1060c2873705f72756e74696d65187472616974732c426c616b6554776f32353600000000b5060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000b9060c6070616c6c65745f636f6e76696374696f6e5f766f74696e671474797065731454616c6c790814566f746573011814546f74616c00000c011061796573180114566f7465730001106e617973180114566f74657300011c737570706f7274180114566f7465730000bd060c4070616c6c65745f77686974656c6973741870616c6c6574144576656e7404045400010c3c43616c6c57686974656c697374656404012463616c6c5f6861736830011c543a3a486173680000005857686974656c697374656443616c6c52656d6f76656404012463616c6c5f6861736830011c543a3a486173680001006457686974656c697374656443616c6c4469737061746368656408012463616c6c5f6861736830011c543a3a48617368000118726573756c74c10601684469737061746368526573756c7457697468506f7374496e666f000200047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c1060418526573756c7408045401c506044501cd060108084f6b0400c506000000000c4572720400cd060000010000c5060c346672616d655f737570706f727420646973706174636840506f73744469737061746368496e666f000008013461637475616c5f776569676874c90601384f7074696f6e3c5765696768743e000120706179735f666565600110506179730000c90604184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000cd06082873705f72756e74696d656444697370617463684572726f7257697468506f7374496e666f0410496e666f01c50600080124706f73745f696e666fc5060110496e666f0001146572726f7264013444697370617463684572726f720000d106105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e18636c61696d731870616c6c6574144576656e740404540001041c436c61696d65640c010c77686f000130543a3a4163636f756e744964000140657468657265756d5f616464726573739502013c457468657265756d41646472657373000118616d6f756e7418013042616c616e63654f663c543e00000468536f6d656f6e6520636c61696d656420736f6d6520444f54732e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574d5060c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574d9060c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e64657810010c7533320001146572726f7264013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7264013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c748401384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dd060c3c70616c6c65745f6964656e746974791870616c6c6574144576656e740404540001282c4964656e7469747953657404010c77686f000130543a3a4163636f756e744964000004ec41206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e3c4964656e74697479436c656172656408010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000104cc41206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e384964656e746974794b696c6c656408010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000204c441206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e484a756467656d656e7452657175657374656408010c77686f000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780003049c41206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e504a756467656d656e74556e72657175657374656408010c77686f000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780004048841206a756467656d656e74207265717565737420776173207265747261637465642e384a756467656d656e74476976656e080118746172676574000130543a3a4163636f756e74496400013c7265676973747261725f696e646578100138526567697374726172496e6465780005049441206a756467656d656e742077617320676976656e2062792061207265676973747261722e38526567697374726172416464656404013c7265676973747261725f696e646578100138526567697374726172496e646578000604584120726567697374726172207761732061646465642e405375624964656e7469747941646465640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000704f441207375622d6964656e746974792077617320616464656420746f20616e206964656e7469747920616e6420746865206465706f73697420706169642e485375624964656e7469747952656d6f7665640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000804090141207375622d6964656e74697479207761732072656d6f7665642066726f6d20616e206964656e7469747920616e6420746865206465706f7369742066726565642e485375624964656e746974795265766f6b65640c010c737562000130543a3a4163636f756e7449640001106d61696e000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000908190141207375622d6964656e746974792077617320636c65617265642c20616e642074686520676976656e206465706f7369742072657061747269617465642066726f6d20746865c86d61696e206964656e74697479206163636f756e7420746f20746865207375622d6964656e74697479206163636f756e742e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e1060c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c748401384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f7479706569030130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e6465785901010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736830013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f7479706569030130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f7479706569030130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00040450412070726f7879207761732072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e5060c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e747503017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e747503017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c748401384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e747503017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e9060c3c70616c6c65745f626f756e746965731870616c6c6574144576656e7408045400044900012c38426f756e747950726f706f736564040114696e64657810012c426f756e7479496e646578000004504e657720626f756e74792070726f706f73616c2e38426f756e747952656a6563746564080114696e64657810012c426f756e7479496e646578000110626f6e6418013c42616c616e63654f663c542c20493e000104cc4120626f756e74792070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e48426f756e7479426563616d65416374697665040114696e64657810012c426f756e7479496e646578000204b84120626f756e74792070726f706f73616c2069732066756e64656420616e6420626563616d65206163746976652e34426f756e747941776172646564080114696e64657810012c426f756e7479496e64657800012c62656e6566696369617279000130543a3a4163636f756e744964000304944120626f756e7479206973206177617264656420746f20612062656e65666963696172792e34426f756e7479436c61696d65640c0114696e64657810012c426f756e7479496e6465780001187061796f757418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640004048c4120626f756e747920697320636c61696d65642062792062656e65666963696172792e38426f756e747943616e63656c6564040114696e64657810012c426f756e7479496e646578000504584120626f756e74792069732063616e63656c6c65642e38426f756e7479457874656e646564040114696e64657810012c426f756e7479496e646578000604704120626f756e74792065787069727920697320657874656e6465642e38426f756e7479417070726f766564040114696e64657810012c426f756e7479496e646578000704544120626f756e747920697320617070726f7665642e3c43757261746f7250726f706f736564080124626f756e74795f696410012c426f756e7479496e64657800011c63757261746f72000130543a3a4163636f756e744964000804744120626f756e74792063757261746f722069732070726f706f7365642e4443757261746f72556e61737369676e6564040124626f756e74795f696410012c426f756e7479496e6465780009047c4120626f756e74792063757261746f7220697320756e61737369676e65642e3c43757261746f724163636570746564080124626f756e74795f696410012c426f756e7479496e64657800011c63757261746f72000130543a3a4163636f756e744964000a04744120626f756e74792063757261746f722069732061636365707465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ed060c5470616c6c65745f6368696c645f626f756e746965731870616c6c6574144576656e74040454000110144164646564080114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780000046041206368696c642d626f756e74792069732061646465642e1c417761726465640c0114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e64657800012c62656e6566696369617279000130543a3a4163636f756e744964000104ac41206368696c642d626f756e7479206973206177617264656420746f20612062656e65666963696172792e1c436c61696d6564100114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780001187061796f757418013042616c616e63654f663c543e00012c62656e6566696369617279000130543a3a4163636f756e744964000204a441206368696c642d626f756e747920697320636c61696d65642062792062656e65666963696172792e2043616e63656c6564080114696e64657810012c426f756e7479496e64657800012c6368696c645f696e64657810012c426f756e7479496e6465780003047041206368696c642d626f756e74792069732063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f1060c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c6574144576656e7404045400011838536f6c7574696f6e53746f7265640c011c636f6d70757465f506013c456c656374696f6e436f6d707574650001186f726967696ea90201504f7074696f6e3c543a3a4163636f756e7449643e000130707265765f656a6563746564b40110626f6f6c00001cb44120736f6c7574696f6e207761732073746f72656420776974682074686520676976656e20636f6d707574652e00510154686520606f726967696e6020696e6469636174657320746865206f726967696e206f662074686520736f6c7574696f6e2e20496620606f726967696e602069732060536f6d65284163636f756e74496429602c55017468652073746f72656420736f6c7574696f6e20776173207375626d6974656420696e20746865207369676e65642070686173652062792061206d696e657220776974682074686520604163636f756e744964602e25014f74686572776973652c2074686520736f6c7574696f6e207761732073746f7265642065697468657220647572696e672074686520756e7369676e6564207068617365206f722062794d0160543a3a466f7263654f726967696e602e205468652060626f6f6c6020697320607472756560207768656e20612070726576696f757320736f6c7574696f6e2077617320656a656374656420746f206d616b6548726f6f6d20666f722074686973206f6e652e44456c656374696f6e46696e616c697a656408011c636f6d70757465f506013c456c656374696f6e436f6d7075746500011473636f726555040134456c656374696f6e53636f7265000104190154686520656c656374696f6e20686173206265656e2066696e616c697a65642c20776974682074686520676976656e20636f6d7075746174696f6e20616e642073636f72652e38456c656374696f6e4661696c656400020c4c416e20656c656374696f6e206661696c65642e0001014e6f74206d7563682063616e20626520736169642061626f757420776869636820636f6d7075746573206661696c656420696e207468652070726f636573732e20526577617264656408011c6163636f756e740001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400011476616c756518013042616c616e63654f663c543e0003042501416e206163636f756e7420686173206265656e20726577617264656420666f72207468656972207369676e6564207375626d697373696f6e206265696e672066696e616c697a65642e1c536c617368656408011c6163636f756e740001983c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e74496400011476616c756518013042616c616e63654f663c543e0004042101416e206163636f756e7420686173206265656e20736c617368656420666f72207375626d697474696e6720616e20696e76616c6964207369676e6564207375626d697373696f6e2e4450686173655472616e736974696f6e65640c011066726f6df906016050686173653c426c6f636b4e756d626572466f723c543e3e000108746ff906016050686173653c426c6f636b4e756d626572466f723c543e3e000114726f756e6410010c753332000504b85468657265207761732061207068617365207472616e736974696f6e20696e206120676976656e20726f756e642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f506089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173653c456c656374696f6e436f6d707574650001141c4f6e436861696e000000185369676e656400010020556e7369676e65640002002046616c6c6261636b00030024456d657267656e637900040000f906089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651450686173650408426e011001100c4f6666000000185369676e656400010020556e7369676e65640400fd06012828626f6f6c2c20426e2900020024456d657267656e637900030000fd0600000408b4100001070c4070616c6c65745f626167735f6c6973741870616c6c6574144576656e740804540004490001082052656261676765640c010c77686f000130543a3a4163636f756e74496400011066726f6d2c0120543a3a53636f7265000108746f2c0120543a3a53636f7265000004a44d6f76656420616e206163636f756e742066726f6d206f6e652062616720746f20616e6f746865722e3053636f72655570646174656408010c77686f000130543a3a4163636f756e7449640001246e65775f73636f72652c0120543a3a53636f7265000104d855706461746564207468652073636f7265206f6620736f6d65206163636f756e7420746f2074686520676976656e20616d6f756e742e047c54686520604576656e746020656e756d206f6620746869732070616c6c657405070c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c6574144576656e740404540001441c437265617465640801246465706f7369746f72000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000004604120706f6f6c20686173206265656e20637265617465642e18426f6e6465641001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c4964000118626f6e64656418013042616c616e63654f663c543e0001186a6f696e6564b40110626f6f6c0001049441206d656d6265722068617320626563616d6520626f6e64656420696e206120706f6f6c2e1c506169644f75740c01186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c49640001187061796f757418013042616c616e63654f663c543e0002048c41207061796f757420686173206265656e206d61646520746f2061206d656d6265722e20556e626f6e6465641401186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e00010c657261100120457261496e64657800032c9841206d656d6265722068617320756e626f6e6465642066726f6d20746865697220706f6f6c2e0039012d206062616c616e6365602069732074686520636f72726573706f6e64696e672062616c616e6365206f6620746865206e756d626572206f6620706f696e7473207468617420686173206265656e5501202072657175657374656420746f20626520756e626f6e646564202874686520617267756d656e74206f66207468652060756e626f6e6460207472616e73616374696f6e292066726f6d2074686520626f6e6465641c2020706f6f6c2e45012d2060706f696e74736020697320746865206e756d626572206f6620706f696e747320746861742061726520697373756564206173206120726573756c74206f66206062616c616e636560206265696e67c0646973736f6c76656420696e746f2074686520636f72726573706f6e64696e6720756e626f6e64696e6720706f6f6c2ee42d206065726160206973207468652065726120696e207768696368207468652062616c616e63652077696c6c20626520756e626f6e6465642e5501496e2074686520616273656e6365206f6620736c617368696e672c2074686573652076616c7565732077696c6c206d617463682e20496e207468652070726573656e6365206f6620736c617368696e672c207468654d016e756d626572206f6620706f696e74732074686174206172652069737375656420696e2074686520756e626f6e64696e6720706f6f6c2077696c6c206265206c657373207468616e2074686520616d6f756e746472657175657374656420746f20626520756e626f6e6465642e2457697468647261776e1001186d656d626572000130543a3a4163636f756e74496400011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e000118706f696e747318013042616c616e63654f663c543e0004189c41206d656d626572206861732077697468647261776e2066726f6d20746865697220706f6f6c2e00210154686520676976656e206e756d626572206f662060706f696e7473602068617665206265656e20646973736f6c76656420696e2072657475726e206f66206062616c616e6365602e00590153696d696c617220746f2060556e626f6e64656460206576656e742c20696e2074686520616273656e6365206f6620736c617368696e672c2074686520726174696f206f6620706f696e7420746f2062616c616e63652877696c6c20626520312e2444657374726f79656404011c706f6f6c5f6964100118506f6f6c4964000504684120706f6f6c20686173206265656e2064657374726f7965642e3053746174654368616e67656408011c706f6f6c5f6964100118506f6f6c49640001246e65775f737461746581040124506f6f6c53746174650006047c546865207374617465206f66206120706f6f6c20686173206368616e676564344d656d62657252656d6f76656408011c706f6f6c5f6964100118506f6f6c49640001186d656d626572000130543a3a4163636f756e74496400070c9841206d656d62657220686173206265656e2072656d6f7665642066726f6d206120706f6f6c2e0051015468652072656d6f76616c2063616e20626520766f6c756e74617279202877697468647261776e20616c6c20756e626f6e6465642066756e647329206f7220696e766f6c756e7461727920286b69636b6564292e30526f6c6573557064617465640c0110726f6f74a90201504f7074696f6e3c543a3a4163636f756e7449643e00011c626f756e636572a90201504f7074696f6e3c543a3a4163636f756e7449643e0001246e6f6d696e61746f72a90201504f7074696f6e3c543a3a4163636f756e7449643e000808550154686520726f6c6573206f66206120706f6f6c2068617665206265656e207570646174656420746f2074686520676976656e206e657720726f6c65732e204e6f7465207468617420746865206465706f7369746f724463616e206e65766572206368616e67652e2c506f6f6c536c617368656408011c706f6f6c5f6964100118506f6f6c496400011c62616c616e636518013042616c616e63654f663c543e0009040d01546865206163746976652062616c616e6365206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e50556e626f6e64696e67506f6f6c536c61736865640c011c706f6f6c5f6964100118506f6f6c496400010c657261100120457261496e64657800011c62616c616e636518013042616c616e63654f663c543e000a04250154686520756e626f6e6420706f6f6c206174206065726160206f6620706f6f6c2060706f6f6c5f69646020686173206265656e20736c617368656420746f206062616c616e6365602e54506f6f6c436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c496400011c63757272656e749904017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e000b04b44120706f6f6c277320636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e60506f6f6c4d6178436f6d6d697373696f6e5570646174656408011c706f6f6c5f6964100118506f6f6c49640001386d61785f636f6d6d697373696f6ea8011c50657262696c6c000c04d44120706f6f6c2773206d6178696d756d20636f6d6d697373696f6e2073657474696e6720686173206265656e206368616e6765642e7c506f6f6c436f6d6d697373696f6e4368616e6765526174655570646174656408011c706f6f6c5f6964100118506f6f6c496400012c6368616e67655f72617465a104019c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e000d04cc4120706f6f6c277320636f6d6d697373696f6e20606368616e67655f726174656020686173206265656e206368616e6765642e54506f6f6c436f6d6d697373696f6e436c61696d656408011c706f6f6c5f6964100118506f6f6c4964000128636f6d6d697373696f6e18013042616c616e63654f663c543e000e0484506f6f6c20636f6d6d697373696f6e20686173206265656e20636c61696d65642e644d696e42616c616e63654465666963697441646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e000f04c8546f70706564207570206465666963697420696e2066726f7a656e204544206f66207468652072657761726420706f6f6c2e604d696e42616c616e636545786365737341646a757374656408011c706f6f6c5f6964100118506f6f6c4964000118616d6f756e7418013042616c616e63654f663c543e001004bc436c61696d6564206578636573732066726f7a656e204544206f66206166207468652072657761726420706f6f6c2e04584576656e7473206f6620746869732070616c6c65742e09070c4c70616c6c65745f666173745f756e7374616b651870616c6c6574144576656e7404045400011420556e7374616b65640801147374617368000130543a3a4163636f756e744964000118726573756c748401384469737061746368526573756c740000045841207374616b65722077617320756e7374616b65642e1c536c61736865640801147374617368000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000104190141207374616b65722077617320736c617368656420666f722072657175657374696e6720666173742d756e7374616b65207768696c7374206265696e67206578706f7365642e304261746368436865636b656404011065726173cd0101345665633c457261496e6465783e00020445014120626174636820776173207061727469616c6c7920636865636b656420666f722074686520676976656e20657261732c20627574207468652070726f6365737320646964206e6f742066696e6973682e34426174636846696e697368656404011073697a6510010c7533320003109c41206261746368206f66206120676976656e2073697a6520776173207465726d696e617465642e0055015468697320697320616c7761797320666f6c6c6f77732062792061206e756d626572206f662060556e7374616b656460206f722060536c617368656460206576656e74732c206d61726b696e672074686520656e64e86f66207468652062617463682e2041206e65772062617463682077696c6c20626520637265617465642075706f6e206e65787420626c6f636b2e34496e7465726e616c4572726f72000404e8416e20696e7465726e616c206572726f722068617070656e65642e204f7065726174696f6e732077696c6c20626520706175736564206e6f772e047c54686520604576656e746020656e756d206f6620746869732070616c6c65740d07106c706f6c6b61646f745f72756e74696d655f70617261636861696e7324696e636c7573696f6e1870616c6c6574144576656e740404540001103c43616e6469646174654261636b656410001107016443616e646964617465526563656970743c543a3a486173683e0000290501204865616444617461000015070124436f7265496e64657800001907012847726f7570496e646578000004c0412063616e64696461746520776173206261636b65642e20605b63616e6469646174652c20686561645f646174615d604443616e646964617465496e636c7564656410001107016443616e646964617465526563656970743c543a3a486173683e0000290501204865616444617461000015070124436f7265496e64657800001907012847726f7570496e646578000104c8412063616e6469646174652077617320696e636c756465642e20605b63616e6469646174652c20686561645f646174615d604443616e64696461746554696d65644f75740c001107016443616e646964617465526563656970743c543a3a486173683e0000290501204865616444617461000015070124436f7265496e646578000204bc412063616e6469646174652074696d6564206f75742e20605b63616e6469646174652c20686561645f646174615d60585570776172644d65737361676573526563656976656408011066726f6d71020118506172614964000114636f756e7410010c753332000304f8536f6d6520757077617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657411070c4c706f6c6b61646f745f7072696d6974697665730876364043616e6469646174655265636569707404044801300008012864657363726970746f72fd04015843616e64696461746544657363726970746f723c483e000140636f6d6d69746d656e74735f6861736830011048617368000015070c4c706f6c6b61646f745f7072696d69746976657308763624436f7265496e6465780000040010010c753332000019070c4c706f6c6b61646f745f7072696d6974697665730876362847726f7570496e6465780000040010010c75333200001d07106c706f6c6b61646f745f72756e74696d655f70617261636861696e731470617261731870616c6c6574144576656e740001204843757272656e74436f646555706461746564040071020118506172614964000004cc43757272656e7420636f646520686173206265656e207570646174656420666f72206120506172612e2060706172615f6964604843757272656e744865616455706461746564040071020118506172614964000104cc43757272656e74206865616420686173206265656e207570646174656420666f72206120506172612e2060706172615f69646050436f6465557067726164655363686564756c6564040071020118506172614964000204dc4120636f6465207570677261646520686173206265656e207363686564756c656420666f72206120506172612e2060706172615f696460304e6577486561644e6f746564040071020118506172614964000304bc41206e6577206865616420686173206265656e206e6f74656420666f72206120506172612e2060706172615f69646030416374696f6e517565756564080071020118506172614964000010013053657373696f6e496e646578000404f041207061726120686173206265656e2071756575656420746f20657865637574652070656e64696e6720616374696f6e732e2060706172615f6964603c507666436865636b5374617274656408000905014856616c69646174696f6e436f646548617368000071020118506172614964000508550154686520676976656e20706172612065697468657220696e69746961746564206f72207375627363726962656420746f20612050564620636865636b20666f722074686520676976656e2076616c69646174696f6e6c636f64652e2060636f64655f68617368602060706172615f69646040507666436865636b416363657074656408000905014856616c69646174696f6e436f646548617368000071020118506172614964000608110154686520676976656e2076616c69646174696f6e20636f6465207761732061636365707465642062792074686520505646207072652d636865636b696e6720766f74652e5460636f64655f68617368602060706172615f69646040507666436865636b52656a656374656408000905014856616c69646174696f6e436f646548617368000071020118506172614964000708110154686520676976656e2076616c69646174696f6e20636f6465207761732072656a65637465642062792074686520505646207072652d636865636b696e6720766f74652e5460636f64655f68617368602060706172615f696460047c54686520604576656e746020656e756d206f6620746869732070616c6c65742107106c706f6c6b61646f745f72756e74696d655f70617261636861696e731068726d701870616c6c6574144576656e7404045400011c504f70656e4368616e6e656c52657175657374656410011873656e64657271020118506172614964000124726563697069656e747102011850617261496400015470726f706f7365645f6d61785f636170616369747910010c75333200016470726f706f7365645f6d61785f6d6573736167655f73697a6510010c753332000004704f70656e2048524d50206368616e6e656c207265717565737465642e4c4f70656e4368616e6e656c43616e63656c656408013062795f70617261636861696e710201185061726149640001286368616e6e656c5f69646505013448726d704368616e6e656c49640001042901416e2048524d50206368616e6e656c20726571756573742073656e7420627920746865207265636569766572207761732063616e63656c6564206279206569746865722070617274792e4c4f70656e4368616e6e656c416363657074656408011873656e64657271020118506172614964000124726563697069656e74710201185061726149640002046c4f70656e2048524d50206368616e6e656c2061636365707465642e344368616e6e656c436c6f73656408013062795f70617261636861696e710201185061726149640001286368616e6e656c5f69646505013448726d704368616e6e656c49640003045048524d50206368616e6e656c20636c6f7365642e5848726d704368616e6e656c466f7263654f70656e656410011873656e64657271020118506172614964000124726563697069656e747102011850617261496400015470726f706f7365645f6d61785f636170616369747910010c75333200016470726f706f7365645f6d61785f6d6573736167655f73697a6510010c753332000404ac416e2048524d50206368616e6e656c20776173206f70656e65642076696120526f6f74206f726967696e2e5c48726d7053797374656d4368616e6e656c4f70656e656410011873656e64657271020118506172614964000124726563697069656e747102011850617261496400015470726f706f7365645f6d61785f636170616369747910010c75333200016470726f706f7365645f6d61785f6d6573736167655f73697a6510010c753332000504d4416e2048524d50206368616e6e656c20776173206f70656e6564206265747765656e2074776f2073797374656d20636861696e732e684f70656e4368616e6e656c4465706f736974735570646174656408011873656e64657271020118506172614964000124726563697069656e7471020118506172614964000604a0416e2048524d50206368616e6e656c2773206465706f73697473207765726520757064617465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65742507106c706f6c6b61646f745f72756e74696d655f70617261636861696e732064697370757465731870616c6c6574144576656e7404045400010c4044697370757465496e6974696174656408003d05013443616e6469646174654861736800002907013c446973707574654c6f636174696f6e000004090141206469737075746520686173206265656e20696e697469617465642e205c5b63616e64696461746520686173682c2064697370757465206c6f636174696f6e5c5d4044697370757465436f6e636c7564656408003d05013443616e6469646174654861736800002d07013444697370757465526573756c74000108cc4120646973707574652068617320636f6e636c7564656420666f72206f7220616761696e737420612063616e6469646174652eb4605c5b706172612069642c2063616e64696461746520686173682c206469737075746520726573756c745c5d60185265766572740400100144426c6f636b4e756d626572466f723c543e000210fc4120646973707574652068617320636f6e636c7564656420776974682073757065726d616a6f7269747920616761696e737420612063616e6469646174652e0d01426c6f636b20617574686f72732073686f756c64206e6f206c6f6e676572206275696c64206f6e20746f70206f662074686973206865616420616e642073686f756c640101696e7374656164207265766572742074686520626c6f636b2061742074686520676976656e206865696768742e20546869732073686f756c6420626520746865fc6e756d626572206f6620746865206368696c64206f6620746865206c617374206b6e6f776e2076616c696420626c6f636b20696e2074686520636861696e2e047c54686520604576656e746020656e756d206f6620746869732070616c6c657429070c6c706f6c6b61646f745f72756e74696d655f70617261636861696e732064697370757465733c446973707574654c6f636174696f6e000108144c6f63616c0000001852656d6f7465000100002d070c6c706f6c6b61646f745f72756e74696d655f70617261636861696e732064697370757465733444697370757465526573756c740001081456616c69640000001c496e76616c6964000100003107105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e3c70617261735f7265676973747261721870616c6c6574144576656e74040454000110285265676973746572656408011c706172615f69647102011850617261496400011c6d616e61676572000130543a3a4163636f756e7449640000003044657265676973746572656404011c706172615f69647102011850617261496400010020526573657276656408011c706172615f69647102011850617261496400010c77686f000130543a3a4163636f756e7449640002001c5377617070656408011c706172615f6964710201185061726149640001206f746865725f696471020118506172614964000300047c54686520604576656e746020656e756d206f6620746869732070616c6c65743507105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e14736c6f74731870616c6c6574144576656e74040454000108384e65774c65617365506572696f640401306c656173655f706572696f641001404c65617365506572696f644f663c543e0000049041206e657720605b6c656173655f706572696f645d6020697320626567696e6e696e672e184c656173656418011c706172615f6964710201185061726149640001186c6561736572000130543a3a4163636f756e744964000130706572696f645f626567696e1001404c65617365506572696f644f663c543e000130706572696f645f636f756e741001404c65617365506572696f644f663c543e00013865787472615f726573657276656418013042616c616e63654f663c543e000130746f74616c5f616d6f756e7418013042616c616e63654f663c543e00010c35014120706172612068617320776f6e2074686520726967687420746f206120636f6e74696e756f757320736574206f66206c6561736520706572696f647320617320612070617261636861696e2e450146697273742062616c616e636520697320616e7920657874726120616d6f756e74207265736572766564206f6e20746f70206f662074686520706172612773206578697374696e67206465706f7369742eb05365636f6e642062616c616e63652069732074686520746f74616c20616d6f756e742072657365727665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65743907105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2061756374696f6e731870616c6c6574144576656e7404045400011c3841756374696f6e537461727465640c013461756374696f6e5f696e64657810013041756374696f6e496e6465780001306c656173655f706572696f641001404c65617365506572696f644f663c543e000118656e64696e67100144426c6f636b4e756d626572466f723c543e0000084901416e2061756374696f6e20737461727465642e2050726f76696465732069747320696e64657820616e642074686520626c6f636b206e756d6265722077686572652069742077696c6c20626567696e20746f1501636c6f736520616e6420746865206669727374206c6561736520706572696f64206f662074686520717561647275706c657420746861742069732061756374696f6e65642e3441756374696f6e436c6f73656404013461756374696f6e5f696e64657810013041756374696f6e496e646578000104b8416e2061756374696f6e20656e6465642e20416c6c2066756e6473206265636f6d6520756e72657365727665642e2052657365727665640c0118626964646572000130543a3a4163636f756e74496400013865787472615f726573657276656418013042616c616e63654f663c543e000130746f74616c5f616d6f756e7418013042616c616e63654f663c543e000208490146756e6473207765726520726573657276656420666f7220612077696e6e696e67206269642e2046697273742062616c616e63652069732074686520657874726120616d6f756e742072657365727665642e505365636f6e642069732074686520746f74616c2e28556e7265736572766564080118626964646572000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000304290146756e6473207765726520756e72657365727665642073696e636520626964646572206973206e6f206c6f6e676572206163746976652e20605b6269646465722c20616d6f756e745d604852657365727665436f6e66697363617465640c011c706172615f6964710201185061726149640001186c6561736572000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e0004085501536f6d656f6e6520617474656d7074656420746f206c65617365207468652073616d6520736c6f7420747769636520666f7220612070617261636861696e2e2054686520616d6f756e742069732068656c6420696eb87265736572766520627574206e6f2070617261636861696e20736c6f7420686173206265656e206c65617365642e2c4269644163636570746564140118626964646572000130543a3a4163636f756e74496400011c706172615f696471020118506172614964000118616d6f756e7418013042616c616e63654f663c543e00012866697273745f736c6f741001404c65617365506572696f644f663c543e0001246c6173745f736c6f741001404c65617365506572696f644f663c543e000504c841206e65772062696420686173206265656e206163636570746564206173207468652063757272656e742077696e6e65722e3457696e6e696e674f666673657408013461756374696f6e5f696e64657810013041756374696f6e496e646578000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00060859015468652077696e6e696e67206f6666736574207761732063686f73656e20666f7220616e2061756374696f6e2e20546869732077696c6c206d617020696e746f20746865206057696e6e696e67602073746f72616765106d61702e047c54686520604576656e746020656e756d206f6620746869732070616c6c65743d07105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2463726f77646c6f616e1870616c6c6574144576656e740404540001281c4372656174656404011c706172615f6964710201185061726149640000048c4372656174652061206e65772063726f77646c6f616e696e672063616d706169676e2e2c436f6e74726962757465640c010c77686f000130543a3a4163636f756e74496400012866756e645f696e64657871020118506172614964000118616d6f756e7418013042616c616e63654f663c543e00010470436f6e747269627574656420746f20612063726f77642073616c652e2057697468647265770c010c77686f000130543a3a4163636f756e74496400012866756e645f696e64657871020118506172614964000118616d6f756e7418013042616c616e63654f663c543e0002049c57697468647265772066756c6c2062616c616e6365206f66206120636f6e7472696275746f722e445061727469616c6c79526566756e64656404011c706172615f6964710201185061726149640003082d01546865206c6f616e7320696e20612066756e642068617665206265656e207061727469616c6c7920646973736f6c7665642c20692e652e2074686572652061726520736f6d65206c656674b46f766572206368696c64206b6579732074686174207374696c6c206e65656420746f206265206b696c6c65642e2c416c6c526566756e64656404011c706172615f6964710201185061726149640004049c416c6c206c6f616e7320696e20612066756e642068617665206265656e20726566756e6465642e24446973736f6c76656404011c706172615f6964710201185061726149640005044846756e6420697320646973736f6c7665642e3c48616e646c65426964526573756c7408011c706172615f696471020118506172614964000118726573756c748401384469737061746368526573756c74000604f454686520726573756c74206f6620747279696e6720746f207375626d69742061206e65772062696420746f2074686520536c6f74732070616c6c65742e1845646974656404011c706172615f696471020118506172614964000704c454686520636f6e66696775726174696f6e20746f20612063726f77646c6f616e20686173206265656e206564697465642e2c4d656d6f557064617465640c010c77686f000130543a3a4163636f756e74496400011c706172615f6964710201185061726149640001106d656d6f34011c5665633c75383e0008046041206d656d6f20686173206265656e20757064617465642e3c4164646564546f4e6577526169736504011c706172615f696471020118506172614964000904a0412070617261636861696e20686173206265656e206d6f76656420746f20604e6577526169736560047c54686520604576656e746020656e756d206f6620746869732070616c6c657441070c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d7074656404011c6f7574636f6d654507015078636d3a3a6c61746573743a3a4f7574636f6d65000004a8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e1053656e741001186f726967696e090101344d756c74694c6f636174696f6e00012c64657374696e6174696f6e090101344d756c74694c6f636174696f6e00011c6d657373616765f905011c58636d3c28293e0001286d6573736167655f696404011c58636d486173680001045c412058434d206d657373616765207761732073656e742e48556e6578706563746564526573706f6e73650801186f726967696e090101344d756c74694c6f636174696f6e00012071756572795f69642c011c5175657279496400020c5901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e34526573706f6e7365526561647908012071756572795f69642c011c51756572794964000120726573706f6e736519060120526573706f6e73650003085d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e204e6f7469666965640c012071756572795f69642c011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380004085901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e404e6f746966794f76657277656967687414012071756572795f69642c011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800013461637475616c5f77656967687424011857656967687400014c6d61785f62756467657465645f77656967687424011857656967687400050c4901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e5901636f756c64206e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e4c4e6f7469667944697370617463684572726f720c012071756572795f69642c011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380006085501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e484e6f746966794465636f64654661696c65640c012071756572795f69642c011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800070c5101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e40496e76616c6964526573706f6e6465720c01186f726967696e090101344d756c74694c6f636174696f6e00012071756572795f69642c011c5175657279496400014465787065637465645f6c6f636174696f6e410601544f7074696f6e3c4d756c74694c6f636174696f6e3e00080c5901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5c496e76616c6964526573706f6e64657256657273696f6e0801186f726967696e090101344d756c74694c6f636174696f6e00012071756572795f69642c011c5175657279496400091c5101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e34526573706f6e736554616b656e04012071756572795f69642c011c51756572794964000a04c8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e34417373657473547261707065640c011068617368300110483235360001186f726967696e090101344d756c74694c6f636174696f6e0001186173736574735906015056657273696f6e65644d756c7469417373657473000b04b8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e5456657273696f6e4368616e67654e6f74696669656410012c64657374696e6174696f6e090101344d756c74694c6f636174696f6e000118726573756c7410012858636d56657273696f6e000110636f73740506012c4d756c74694173736574730001286d6573736167655f696404011c58636d48617368000c0c2501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e5c537570706f7274656456657273696f6e4368616e6765640801206c6f636174696f6e090101344d756c74694c6f636174696f6e00011c76657273696f6e10012858636d56657273696f6e000d08390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e504e6f7469667954617267657453656e644661696c0c01206c6f636174696f6e090101344d756c74694c6f636174696f6e00012071756572795f69642c011c517565727949640001146572726f722506012058636d4572726f72000e0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e644e6f746966795461726765744d6967726174696f6e4661696c0801206c6f636174696f6e3101015856657273696f6e65644d756c74694c6f636174696f6e00012071756572795f69642c011c51756572794964000f0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e54496e76616c69645175657269657256657273696f6e0801186f726967696e090101344d756c74694c6f636174696f6e00012071756572795f69642c011c5175657279496400101c5501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e38496e76616c6964517565726965721001186f726967696e090101344d756c74694c6f636174696f6e00012071756572795f69642c011c5175657279496400014065787065637465645f71756572696572090101344d756c74694c6f636174696f6e0001506d617962655f61637475616c5f71756572696572410601544f7074696f6e3c4d756c74694c6f636174696f6e3e00110c5d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5056657273696f6e4e6f74696679537461727465640c012c64657374696e6174696f6e090101344d756c74694c6f636174696f6e000110636f73740506012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680012085901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e5856657273696f6e4e6f746966795265717565737465640c012c64657374696e6174696f6e090101344d756c74694c6f636174696f6e000110636f73740506012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680013043d015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e642075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e6056657273696f6e4e6f74696679556e7265717565737465640c012c64657374696e6174696f6e090101344d756c74694c6f636174696f6e000110636f73740506012c4d756c74694173736574730001286d6573736167655f696404011c58636d4861736800140825015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765386e6f74696669636174696f6e732e204665657350616964080118706179696e67090101344d756c74694c6f636174696f6e000110666565730506012c4d756c7469417373657473001504310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e34417373657473436c61696d65640c011068617368300110483235360001186f726967696e090101344d756c74694c6f636174696f6e0001186173736574735906015056657273696f6e65644d756c7469417373657473001604c0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e2061737365742074726170047c54686520604576656e746020656e756d206f6620746869732070616c6c65744507100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040024011857656967687400000028496e636f6d706c65746508002401185765696768740000250601144572726f72000100144572726f720400250601144572726f720002000049070c5070616c6c65745f6d6573736167655f71756575651870616c6c6574144576656e740404540001104050726f63657373696e674661696c65640c010869640401205b75383b2033325d0001186f726967696e810601484d6573736167654f726967696e4f663c543e0001146572726f724d07014c50726f636573734d6573736167654572726f7200000455014d657373616765206469736361726465642064756520746f20616e206572726f7220696e2074686520604d65737361676550726f636573736f72602028757375616c6c79206120666f726d6174206572726f72292e2450726f63657373656410010869640401205b75383b2033325d0001186f726967696e810601484d6573736167654f726967696e4f663c543e00012c7765696768745f7573656424011857656967687400011c73756363657373b40110626f6f6c000104544d6573736167652069732070726f6365737365642e484f766572776569676874456e71756575656410010869640401205b75383b2033325d0001186f726967696e810601484d6573736167654f726967696e4f663c543e000128706167655f696e64657810012450616765496e6465780001346d6573736167655f696e64657810011c543a3a53697a650002048c4d65737361676520706c6163656420696e206f7665727765696768742071756575652e28506167655265617065640801186f726967696e810601484d6573736167654f726967696e4f663c543e000114696e64657810012450616765496e6465780003045454686973207061676520776173207265617065642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65744d0710346672616d655f737570706f727418747261697473206d657373616765734c50726f636573734d6573736167654572726f7200011424426164466f726d61740000001c436f72727570740001002c556e737570706f72746564000200284f7665727765696768740400240118576569676874000300145969656c640004000051070c4470616c6c65745f61737365745f726174651870616c6c6574144576656e7404045400010c404173736574526174654372656174656408012861737365745f6b696e6405010130543a3a41737365744b696e64000110726174658d0601244669786564553132380000004041737365745261746552656d6f76656404012861737365745f6b696e6405010130543a3a41737365744b696e6400010040417373657452617465557064617465640c012861737365745f6b696e6405010130543a3a41737365744b696e6400010c6f6c648d06012446697865645531323800010c6e65778d060124466978656455313238000200047c54686520604576656e746020656e756d206f6620746869732070616c6c6574550708306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040010010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e0002000059070000027c005d0708306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6e1501014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d656107016473705f72756e74696d653a3a52756e74696d65537472696e6700006107000005020065070c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c617373690701845065724469737061746368436c6173733c57656967687473506572436c6173733e000069070c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454016d07000c01186e6f726d616c6d0701045400012c6f7065726174696f6e616c6d070104540001246d616e6461746f72796d0701045400006d070c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963c90601384f7074696f6e3c5765696768743e0001246d61785f746f74616cc90601384f7074696f6e3c5765696768743e0001207265736572766564c90601384f7074696f6e3c5765696768743e000071070c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178750701545065724469737061746368436c6173733c7533323e000075070c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540110000c01186e6f726d616c1001045400012c6f7065726174696f6e616c100104540001246d616e6461746f72791001045400007907082873705f776569676874733c52756e74696d6544625765696768740000080110726561642c010c75363400011477726974652c010c75363400007d07082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d656107013452756e74696d65537472696e67000124696d706c5f6e616d656107013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e10010c753332000130737065635f76657273696f6e10010c753332000130696d706c5f76657273696f6e10010c753332000110617069738107011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e10010c75333200013473746174655f76657273696f6e080108753800008107040c436f7704045401850700040085070000008507000002890700890700000408ed0210008d070c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c657491070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540195070453000004009d0701185665633c543e0000950704184f7074696f6e0404540199070108104e6f6e6500000010536f6d650400990700000100009907084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c015d012c426c6f636b4e756d62657201103450616c6c6574734f726967696e016102244163636f756e7449640100001401206d617962655f69648001304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c5d01011043616c6c0001386d617962655f706572696f646963790101944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696e6102013450616c6c6574734f726967696e00009d07000002950700a1070c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea507083c70616c6c65745f707265696d616765404f6c645265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f73697471040150284163636f756e7449642c2042616c616e63652900010c6c656e10010c753332000000245265717565737465640c011c6465706f736974a90701704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e7410010c75333200010c6c656e4502012c4f7074696f6e3c7533323e00010000a90704184f7074696f6e0404540171040108104e6f6e6500000010536f6d65040071040000010000ad07083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e7449640100185469636b657401b10701082c556e7265717565737465640801187469636b6574b507014c284163636f756e7449642c205469636b65742900010c6c656e10010c753332000000245265717565737465640c01306d617962655f7469636b6574b907016c4f7074696f6e3c284163636f756e7449642c205469636b6574293e000114636f756e7410010c7533320001246d617962655f6c656e4502012c4f7074696f6e3c7533323e00010000b10714346672616d655f737570706f72741874726169747318746f6b656e732066756e6769626c6544486f6c64436f6e73696465726174696f6e10044100044600045200044400000400180128463a3a42616c616e63650000b5070000040800b10700b90704184f7074696f6e04045401b5070108104e6f6e6500000010536f6d650400b5070000010000bd0700000408301000c1070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000c5070c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400012018546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e1c546f6f4d616e7900060455014d6f7265207468616e20604d41585f484153485f555047524144455f42554c4b5f434f554e54602068617368657320776572652072657175657374656420746f206265207570677261646564206174206f6e63652e18546f6f466577000704e4546f6f206665772068617368657320776572652072657175657374656420746f2062652075706772616465642028692e652e207a65726f292e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec9070c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401cd07045300000400d10701185665633c543e0000cd070000040891012c00d107000002cd0700d5070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540104045300000400d90701185665633c543e0000d9070000020400dd0704184f7074696f6e04045401e1070108104e6f6e6500000010536f6d650400e1070000010000e1070c4473705f636f6e73656e7375735f626162651c646967657374732450726544696765737400010c1c5072696d6172790400e50701405072696d617279507265446967657374000100385365636f6e64617279506c61696e0400ed07015c5365636f6e64617279506c61696e507265446967657374000200305365636f6e646172795652460400f10701545365636f6e6461727956524650726544696765737400030000e5070c4473705f636f6e73656e7375735f626162651c64696765737473405072696d61727950726544696765737400000c013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7495010110536c6f740001347672665f7369676e6174757265e90701305672665369676e61747572650000e907101c73705f636f72651c737232353531390c767266305672665369676e617475726500000801186f75747075740401245672664f757470757400011470726f6f661d02012056726650726f6f660000ed070c4473705f636f6e73656e7375735f626162651c646967657374735c5365636f6e64617279506c61696e507265446967657374000008013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7495010110536c6f740000f1070c4473705f636f6e73656e7375735f626162651c64696765737473545365636f6e6461727956524650726544696765737400000c013c617574686f726974795f696e64657810015473757065723a3a417574686f72697479496e646578000110736c6f7495010110536c6f740001347672665f7369676e6174757265e90701305672665369676e61747572650000f507084473705f636f6e73656e7375735f62616265584261626545706f6368436f6e66696775726174696f6e000008010463a1010128287536342c2075363429000134616c6c6f7765645f736c6f7473a5010130416c6c6f776564536c6f74730000f9070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401fd07045300000400010801185665633c543e0000fd07000004082c10000108000002fd070005080c2c70616c6c65745f626162651870616c6c6574144572726f7204045400011060496e76616c696445717569766f636174696f6e50726f6f660000043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c69644b65794f776e65727368697050726f6f66000104310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400020415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e50496e76616c6964436f6e66696775726174696f6e0003048c5375626d697474656420636f6e66696775726174696f6e20697320696e76616c69642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e09080000040c0018b4000d080c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e11080c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e6465645665630804540115080453000004001d0801185665633c543e000015080c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c01086964ed0201384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e731908011c526561736f6e73000019080c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c000200001d0800000215080021080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012508045300000400290801185665633c543e000025080c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e74696669657201ed021c42616c616e63650118000801086964ed020144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e6365000029080000022508002d080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540131080453000004003d0801185665633c543e000031080c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640135081c42616c616e63650118000801086964350801084964000118616d6f756e7418011c42616c616e6365000035080840706f6c6b61646f745f72756e74696d654452756e74696d65486f6c64526561736f6e00010420507265696d61676504003908016c70616c6c65745f707265696d6167653a3a486f6c64526561736f6e000a000039080c3c70616c6c65745f707265696d6167651870616c6c657428486f6c64526561736f6e00010420507265696d616765000000003d0800000231080041080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014508045300000400510801185665633c543e000045080c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640149081c42616c616e63650118000801086964490801084964000118616d6f756e7418011c42616c616e6365000049080840706f6c6b61646f745f72756e74696d654c52756e74696d65467265657a65526561736f6e0001043c4e6f6d696e6174696f6e506f6f6c7304004d08019470616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733a3a467265657a65526561736f6e002700004d080c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c657430467265657a65526561736f6e00010438506f6f6c4d696e42616c616e636500000000510800000245080055080c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001283856657374696e6742616c616e63650000049c56657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e544c69717569646974795265737472696374696f6e73000104c84163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304ec56616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e34457870656e646162696c697479000404905472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e5c4578697374696e6756657374696e675363686564756c65000504cc412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e2c446561644163636f756e740006048c42656e6566696369617279206163636f756e74206d757374207072652d65786973742e3c546f6f4d616e795265736572766573000704b84e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e30546f6f4d616e79486f6c6473000804884e756d626572206f6620686f6c64732065786365656420604d6178486f6c6473602e38546f6f4d616e79467265657a6573000904984e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e5908086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e74000000085632000100005d08083870616c6c65745f7374616b696e67345374616b696e674c656467657204045400001401147374617368000130543a3a4163636f756e744964000114746f74616cf4013042616c616e63654f663c543e000118616374697665f4013042616c616e63654f663c543e000124756e6c6f636b696e67610801f0426f756e6465645665633c556e6c6f636b4368756e6b3c42616c616e63654f663c543e3e2c20543a3a4d6178556e6c6f636b696e674368756e6b733e00013c636c61696d65645f726577617264736d080194426f756e6465645665633c457261496e6465782c20543a3a486973746f727944657074683e000061080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016508045300000400690801185665633c543e00006508083870616c6c65745f7374616b696e672c556e6c6f636b4368756e6b041c42616c616e636501180008011476616c7565f4011c42616c616e636500010c65726115010120457261496e646578000069080000026508006d080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540110045300000400cd0101185665633c543e00007108083870616c6c65745f7374616b696e672c4e6f6d696e6174696f6e7304045400000c011c74617267657473750801b4426f756e6465645665633c543a3a4163636f756e7449642c204d61784e6f6d696e6174696f6e734f663c543e3e0001307375626d69747465645f696e100120457261496e64657800012873757070726573736564b40110626f6f6c000075080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400bd0101185665633c543e00007908083870616c6c65745f7374616b696e6734416374697665457261496e666f0000080114696e646578100120457261496e64657800011473746172747d08012c4f7074696f6e3c7536343e00007d0804184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c00000100008108000004081000008508083870616c6c65745f7374616b696e673c457261526577617264506f696e747304244163636f756e744964010000080114746f74616c10012c526577617264506f696e74000128696e646976696475616c8908018042547265654d61703c4163636f756e7449642c20526577617264506f696e743e00008908042042547265654d617008044b0100045601100004008d080000008d0800000291080091080000040800100095080000029908009908083870616c6c65745f7374616b696e6738556e6170706c696564536c61736808244163636f756e74496401001c42616c616e636501180014012476616c696461746f720001244163636f756e74496400010c6f776e18011c42616c616e63650001186f74686572736d0401645665633c284163636f756e7449642c2042616c616e6365293e0001247265706f7274657273bd0101385665633c4163636f756e7449643e0001187061796f757418011c42616c616e636500009d0800000408a81800a1080c3870616c6c65745f7374616b696e6720736c617368696e6734536c617368696e675370616e7300001001287370616e5f696e6465781001245370616e496e6465780001286c6173745f7374617274100120457261496e6465780001486c6173745f6e6f6e7a65726f5f736c617368100120457261496e6465780001147072696f72cd0101345665633c457261496e6465783e0000a5080c3870616c6c65745f7374616b696e6720736c617368696e67285370616e5265636f7264041c42616c616e636501180008011c736c617368656418011c42616c616e6365000120706169645f6f757418011c42616c616e63650000a908000002ad0800ad080000040810b400b108103870616c6c65745f7374616b696e671870616c6c65741870616c6c6574144572726f72040454000164344e6f74436f6e74726f6c6c6572000004644e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f745374617368000104504e6f742061207374617368206163636f756e742e34416c7265616479426f6e64656400020460537461736820697320616c726561647920626f6e6465642e34416c726561647950616972656400030474436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d7074795461726765747300040460546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e646578000504404475706c696361746520696e6465782e44496e76616c6964536c617368496e64657800060484536c617368207265636f726420696e646578206f7574206f6620626f756e64732e40496e73756666696369656e74426f6e6400070c590143616e6e6f74206861766520612076616c696461746f72206f72206e6f6d696e61746f7220726f6c652c20776974682076616c7565206c657373207468616e20746865206d696e696d756d20646566696e65642062793d01676f7665726e616e6365202873656520604d696e56616c696461746f72426f6e646020616e6420604d696e4e6f6d696e61746f72426f6e6460292e20496620756e626f6e64696e67206973207468651501696e74656e74696f6e2c20606368696c6c6020666972737420746f2072656d6f7665206f6e65277320726f6c652061732076616c696461746f722f6e6f6d696e61746f722e304e6f4d6f72654368756e6b730008049043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b000904a043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e3046756e646564546172676574000a04c8417474656d7074696e6720746f2074617267657420612073746173682074686174207374696c6c206861732066756e64732e48496e76616c6964457261546f526577617264000b0458496e76616c69642065726120746f207265776172642e68496e76616c69644e756d6265724f664e6f6d696e6174696f6e73000c0478496e76616c6964206e756d626572206f66206e6f6d696e6174696f6e732e484e6f74536f72746564416e64556e69717565000d04804974656d7320617265206e6f7420736f7274656420616e6420756e697175652e38416c7265616479436c61696d6564000e0409015265776172647320666f72207468697320657261206861766520616c7265616479206265656e20636c61696d656420666f7220746869732076616c696461746f722e54496e636f7272656374486973746f72794465707468000f04c0496e636f72726563742070726576696f757320686973746f727920646570746820696e7075742070726f76696465642e58496e636f7272656374536c617368696e675370616e73001004b0496e636f7272656374206e756d626572206f6620736c617368696e67207370616e732070726f76696465642e2042616453746174650011043901496e7465726e616c20737461746520686173206265636f6d6520736f6d65686f7720636f7272757074656420616e6420746865206f7065726174696f6e2063616e6e6f7420636f6e74696e75652e38546f6f4d616e795461726765747300120494546f6f206d616e79206e6f6d696e6174696f6e207461726765747320737570706c6965642e244261645461726765740013043d0141206e6f6d696e6174696f6e207461726765742077617320737570706c69656420746861742077617320626c6f636b6564206f72206f7468657277697365206e6f7420612076616c696461746f722e4043616e6e6f744368696c6c4f74686572001404550154686520757365722068617320656e6f75676820626f6e6420616e6420746875732063616e6e6f74206265206368696c6c656420666f72636566756c6c7920627920616e2065787465726e616c20706572736f6e2e44546f6f4d616e794e6f6d696e61746f72730015084d0154686572652061726520746f6f206d616e79206e6f6d696e61746f727320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865207374616b696e67b473657474696e677320746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e44546f6f4d616e7956616c696461746f7273001608550154686572652061726520746f6f206d616e792076616c696461746f722063616e6469646174657320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865d47374616b696e672073657474696e677320746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e40436f6d6d697373696f6e546f6f4c6f77001704e0436f6d6d697373696f6e20697320746f6f206c6f772e204d757374206265206174206c6561737420604d696e436f6d6d697373696f6e602e2c426f756e644e6f744d657400180458536f6d6520626f756e64206973206e6f74206d65742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb5080c2873705f7374616b696e671c6f6666656e6365384f6666656e636544657461696c7308205265706f727465720100204f6666656e64657201ec000801206f6666656e646572ec01204f6666656e6465720001247265706f7274657273bd0101345665633c5265706f727465723e0000b90800000408c03400bd08000002c10800c1080000040800e50100c50800000408c9083400c9080c1c73705f636f72651863727970746f244b65795479706549640000040044011c5b75383b20345d0000cd080c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742ed108083870616c6c65745f6772616e6470612c53746f726564537461746504044e01100110104c6976650000003050656e64696e6750617573650801307363686564756c65645f61741001044e00011464656c61791001044e000100185061757365640002003450656e64696e67526573756d650801307363686564756c65645f61741001044e00011464656c61791001044e00030000d508083870616c6c65745f6772616e6470614c53746f72656450656e64696e674368616e676508044e0110144c696d697400001001307363686564756c65645f61741001044e00011464656c61791001044e0001406e6578745f617574686f726974696573d908016c426f756e646564417574686f726974794c6973743c4c696d69743e000118666f72636564450201244f7074696f6e3c4e3e0000d9080c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401d0045300000400cc01185665633c543e0000dd080c3870616c6c65745f6772616e6470611870616c6c6574144572726f7204045400011c2c50617573654661696c65640000080501417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a42865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c65640001081101417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e67000204e8417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e000304bc43616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f66000404310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f660005043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400060415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee1080c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401e0045300000400e50801185665633c543e0000e508000002e000e9080c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144572726f7204045400010828496e76616c69644b6579000004604e6f6e206578697374656e74207075626c6963206b65792e4c4475706c696361746564486561727462656174000104544475706c696361746564206865617274626561742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eed08083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000f1080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540110045300000400cd0101185665633c543e0000f508083c70616c6c65745f74726561737572792c5370656e64537461747573142441737365744b696e6401050130417373657442616c616e636501182c42656e65666963696172790131012c426c6f636b4e756d6265720110245061796d656e744964012c0018012861737365745f6b696e640501012441737365744b696e64000118616d6f756e74180130417373657442616c616e636500012c62656e65666963696172793101012c42656e656669636961727900012876616c69645f66726f6d10012c426c6f636b4e756d6265720001246578706972655f617410012c426c6f636b4e756d626572000118737461747573f908015c5061796d656e7453746174653c5061796d656e7449643e0000f908083c70616c6c65745f7472656173757279305061796d656e74537461746504084964012c010c1c50656e64696e6700000024417474656d7074656404010869642c01084964000100184661696c656400020000fd080c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c0000040010010c7533320000010904184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000050908346672616d655f737570706f72742050616c6c6574496400000400ed02011c5b75383b20385d000009090c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900013070496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104ac4e6f2070726f706f73616c2c20626f756e7479206f72207370656e64206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e584661696c6564546f436f6e7665727442616c616e636500050451015468652062616c616e6365206f6620746865206173736574206b696e64206973206e6f7420636f6e7665727469626c6520746f207468652062616c616e6365206f6620746865206e61746976652061737365742e305370656e6445787069726564000604b0546865207370656e6420686173206578706972656420616e642063616e6e6f7420626520636c61696d65642e2c4561726c795061796f7574000704a4546865207370656e64206973206e6f742079657420656c696769626c6520666f72207061796f75742e40416c7265616479417474656d707465640008049c546865207061796d656e742068617320616c7265616479206265656e20617474656d707465642e2c5061796f75744572726f72000904cc54686572652077617320736f6d65206973737565207769746820746865206d656368616e69736d206f66207061796d656e742e304e6f74417474656d70746564000a04a4546865207061796f757420776173206e6f742079657420617474656d707465642f636c61696d65642e30496e636f6e636c7573697665000b04c4546865207061796d656e7420686173206e656974686572206661696c6564206e6f7220737563636565646564207965742e04784572726f7220666f72207468652074726561737572792070616c6c65742e0d09000004080059010011090c6070616c6c65745f636f6e76696374696f6e5f766f74696e6710766f746518566f74696e67141c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d626572011024506f6c6c496e6465780110204d6178566f7465730001081c43617374696e670400150901c843617374696e673c42616c616e63652c20426c6f636b4e756d6265722c20506f6c6c496e6465782c204d6178566f7465733e0000002844656c65676174696e6704002d0901ac44656c65676174696e673c42616c616e63652c204163636f756e7449642c20426c6f636b4e756d6265723e0001000015090c6070616c6c65745f636f6e76696374696f6e5f766f74696e6710766f74651c43617374696e67101c42616c616e636501182c426c6f636b4e756d626572011024506f6c6c496e6465780110204d6178566f74657300000c0114766f746573190901dc426f756e6465645665633c28506f6c6c496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e732509015044656c65676174696f6e733c42616c616e63653e0001147072696f722909017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e000019090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011d09045300000400210901185665633c543e00001d0900000408104d020021090000021d090025090c6070616c6c65745f636f6e76696374696f6e5f766f74696e671474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000029090c6070616c6c65745f636f6e76696374696f6e5f766f74696e6710766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e636500002d090c6070616c6c65745f636f6e76696374696f6e5f766f74696e6710766f74652844656c65676174696e670c1c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d62657201100014011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6e55020128436f6e76696374696f6e00012c64656c65676174696f6e732509015044656c65676174696f6e733c42616c616e63653e0001147072696f722909017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e000031090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454013509045300000400390901185665633c543e00003509000004085901180039090000023509003d090c6070616c6c65745f636f6e76696374696f6e5f766f74696e671870616c6c6574144572726f72080454000449000130284e6f744f6e676f696e6700000450506f6c6c206973206e6f74206f6e676f696e672e204e6f74566f746572000104ac54686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e2074686520706f6c6c2e304e6f5065726d697373696f6e000204c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e3c4e6f5065726d697373696f6e5965740003045901546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e207269676874206e6f77206275742077696c6c20646f20696e20746865206675747572652e44416c726561647944656c65676174696e6700040488546865206163636f756e7420697320616c72656164792064656c65676174696e672e34416c7265616479566f74696e670005085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e73756666696369656e7446756e6473000604fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000704a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e204e6f6e73656e73650008049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c4d6178566f74657352656163686564000904804d6178696d756d206e756d626572206f6620766f74657320726561636865642e2c436c6173734e6565646564000a04390154686520636c617373206d75737420626520737570706c6965642073696e6365206974206973206e6f7420656173696c792064657465726d696e61626c652066726f6d207468652073746174652e20426164436c617373000b048454686520636c61737320494420737570706c69656420697320696e76616c69642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e41090c4070616c6c65745f7265666572656e6461147479706573385265666572656e64756d496e666f201c547261636b49640159013452756e74696d654f726967696e016102184d6f6d656e7401101043616c6c015d011c42616c616e636501181454616c6c7901b906244163636f756e74496401003c5363686564756c6541646472657373017c01181c4f6e676f696e6704004509018d015265666572656e64756d5374617475733c547261636b49642c2052756e74696d654f726967696e2c204d6f6d656e742c2043616c6c2c2042616c616e63652c2054616c6c792c0a4163636f756e7449642c205363686564756c65416464726573732c3e00000020417070726f7665640c001001184d6f6d656e7400004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e00004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e0001002052656a65637465640c001001184d6f6d656e7400004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e00004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e0002002443616e63656c6c65640c001001184d6f6d656e7400004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e00004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e0003002054696d65644f75740c001001184d6f6d656e7400004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e00004d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e000400184b696c6c656404001001184d6f6d656e740005000045090c4070616c6c65745f7265666572656e6461147479706573405265666572656e64756d537461747573201c547261636b49640159013452756e74696d654f726967696e016102184d6f6d656e7401101043616c6c015d011c42616c616e636501181454616c6c7901b906244163636f756e74496401003c5363686564756c6541646472657373017c002c0114747261636b5901011c547261636b49640001186f726967696e6102013452756e74696d654f726967696e00012070726f706f73616c5d01011043616c6c000124656e6163746d656e747d020150446973706174636854696d653c4d6f6d656e743e0001247375626d69747465641001184d6f6d656e740001487375626d697373696f6e5f6465706f7369744909016c4465706f7369743c4163636f756e7449642c2042616c616e63653e0001406465636973696f6e5f6465706f7369744d09018c4f7074696f6e3c4465706f7369743c4163636f756e7449642c2042616c616e63653e3e0001206465636964696e67510901784f7074696f6e3c4465636964696e675374617475733c4d6f6d656e743e3e00011474616c6c79b906011454616c6c79000120696e5f7175657565b40110626f6f6c000114616c61726d590901844f7074696f6e3c284d6f6d656e742c205363686564756c6541646472657373293e000049090c4070616c6c65745f7265666572656e64611474797065731c4465706f73697408244163636f756e74496401001c42616c616e636501180008010c77686f0001244163636f756e744964000118616d6f756e7418011c42616c616e636500004d0904184f7074696f6e0404540149090108104e6f6e6500000010536f6d65040049090000010000510904184f7074696f6e0404540155090108104e6f6e6500000010536f6d6504005509000001000055090c4070616c6c65745f7265666572656e6461147479706573384465636964696e67537461747573042c426c6f636b4e756d62657201100008011473696e636510012c426c6f636b4e756d626572000128636f6e6669726d696e674502014c4f7074696f6e3c426c6f636b4e756d6265723e0000590904184f7074696f6e040454015d090108104e6f6e6500000010536f6d6504005d0900000100005d0900000408107c0061090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016509045300000400690901185665633c543e000065090000040810180069090000026509006d09000002710900710900000408590175090075090c4070616c6c65745f7265666572656e646114747970657324547261636b496e666f081c42616c616e63650118184d6f6d656e740110002401106e616d65610701302627737461746963207374720001306d61785f6465636964696e6710010c7533320001406465636973696f6e5f6465706f73697418011c42616c616e6365000138707265706172655f706572696f641001184d6f6d656e7400013c6465636973696f6e5f706572696f641001184d6f6d656e74000138636f6e6669726d5f706572696f641001184d6f6d656e740001506d696e5f656e6163746d656e745f706572696f641001184d6f6d656e740001306d696e5f617070726f76616c79090114437572766500012c6d696e5f737570706f7274790901144375727665000079090c4070616c6c65745f7265666572656e646114747970657314437572766500010c404c696e65617244656372656173696e670c01186c656e677468a8011c50657262696c6c000114666c6f6f72a8011c50657262696c6c0001106365696ca8011c50657262696c6c000000445374657070656444656372656173696e67100114626567696ea8011c50657262696c6c00010c656e64a8011c50657262696c6c00011073746570a8011c50657262696c6c000118706572696f64a8011c50657262696c6c000100285265636970726f63616c0c0118666163746f727d0901204669786564493634000120785f6f66667365747d0901204669786564493634000120795f6f66667365747d0901204669786564493634000200007d090c3473705f61726974686d657469632c66697865645f706f696e74204669786564493634000004008109010c693634000081090000050c0085090c4070616c6c65745f7265666572656e64611870616c6c6574144572726f72080454000449000134284e6f744f6e676f696e67000004685265666572656e64756d206973206e6f74206f6e676f696e672e284861734465706f736974000104b85265666572656e64756d2773206465636973696f6e206465706f73697420697320616c726561647920706169642e20426164547261636b0002049c54686520747261636b206964656e74696669657220676976656e2077617320696e76616c69642e1046756c6c000304310154686572652061726520616c726561647920612066756c6c20636f6d706c656d656e74206f66207265666572656e646120696e2070726f677265737320666f72207468697320747261636b2e285175657565456d70747900040480546865207175657565206f662074686520747261636b20697320656d7074792e344261645265666572656e64756d000504e4546865207265666572656e64756d20696e6465782070726f766964656420697320696e76616c696420696e207468697320636f6e746578742e2c4e6f7468696e67546f446f000604ac546865726520776173206e6f7468696e6720746f20646f20696e2074686520616476616e63656d656e742e1c4e6f547261636b000704a04e6f20747261636b2065786973747320666f72207468652070726f706f73616c206f726967696e2e28556e66696e69736865640008040101416e79206465706f7369742063616e6e6f7420626520726566756e64656420756e74696c20616674657220746865206465636973696f6e206973206f7665722e304e6f5065726d697373696f6e000904a8546865206465706f73697420726566756e646572206973206e6f7420746865206465706f7369746f722e244e6f4465706f736974000a04cc546865206465706f7369742063616e6e6f7420626520726566756e6465642073696e6365206e6f6e6520776173206d6164652e24426164537461747573000b04d0546865207265666572656e64756d2073746174757320697320696e76616c696420666f722074686973206f7065726174696f6e2e40507265696d6167654e6f744578697374000c047054686520707265696d61676520646f6573206e6f742065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e89090c4070616c6c65745f77686974656c6973741870616c6c6574144572726f720404540001144c556e617661696c61626c65507265496d616765000004c854686520707265696d616765206f66207468652063616c6c206861736820636f756c64206e6f74206265206c6f616465642e3c556e6465636f6461626c6543616c6c000104785468652063616c6c20636f756c64206e6f74206265206465636f6465642e60496e76616c696443616c6c5765696768745769746e657373000204ec54686520776569676874206f6620746865206465636f6465642063616c6c2077617320686967686572207468616e20746865207769746e6573732e5043616c6c49734e6f7457686974656c6973746564000304745468652063616c6c20776173206e6f742077686974656c69737465642e5843616c6c416c726561647957686974656c6973746564000404a05468652063616c6c2077617320616c72656164792077686974656c69737465643b204e6f2d4f702e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e8d09105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e18636c61696d731870616c6c6574144572726f7204045400011860496e76616c6964457468657265756d5369676e61747572650000046c496e76616c696420457468657265756d207369676e61747572652e405369676e65724861734e6f436c61696d00010478457468657265756d206164647265737320686173206e6f20636c61696d2e4053656e6465724861734e6f436c61696d000204b04163636f756e742049442073656e64696e67207472616e73616374696f6e20686173206e6f20636c61696d2e30506f74556e646572666c6f77000308490154686572652773206e6f7420656e6f75676820696e2074686520706f7420746f20706179206f757420736f6d6520756e76657374656420616d6f756e742e2047656e6572616c6c7920696d706c6965732061306c6f676963206572726f722e40496e76616c696453746174656d656e740004049041206e65656465642073746174656d656e7420776173206e6f7420696e636c756465642e4c56657374656442616c616e6365457869737473000504a4546865206163636f756e7420616c7265616479206861732061207665737465642062616c616e63652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e91090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401b102045300000400950901185665633c543e00009509000002b102009909083870616c6c65745f76657374696e672052656c6561736573000108085630000000085631000100009d090c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742ea1090c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea5090c3c70616c6c65745f6964656e7469747914747970657330526567697374726174696f6e0c1c42616c616e63650118344d61784a756467656d656e747300304964656e74697479496e666f01c102000c01286a756467656d656e7473a90901fc426f756e6465645665633c28526567697374726172496e6465782c204a756467656d656e743c42616c616e63653e292c204d61784a756467656d656e74733e00011c6465706f73697418011c42616c616e6365000110696e666fc10201304964656e74697479496e666f0000a9090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401ad09045300000400b10901185665633c543e0000ad0900000408105d0300b109000002ad0900b5090000040818b90900b9090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400bd0101185665633c543e0000bd090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401c109045300000400c90901185665633c543e0000c10904184f7074696f6e04045401c5090108104e6f6e6500000010536f6d650400c5090000010000c5090c3c70616c6c65745f6964656e7469747914747970657334526567697374726172496e666f0c1c42616c616e63650118244163636f756e74496401001c49644669656c64015903000c011c6163636f756e740001244163636f756e74496400010c66656518011c42616c616e63650001186669656c64735503015c4964656e746974794669656c64733c49644669656c643e0000c909000002c10900cd090c3c70616c6c65745f6964656e746974791870616c6c6574144572726f7204045400014848546f6f4d616e795375624163636f756e74730000045c546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e64000104504163636f756e742069736e277420666f756e642e204e6f744e616d6564000204504163636f756e742069736e2774206e616d65642e28456d707479496e64657800030430456d70747920696e6465782e284665654368616e6765640004043c466565206973206368616e6765642e284e6f4964656e74697479000504484e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e7400060444537469636b79206a756467656d656e742e384a756467656d656e74476976656e000704404a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e7400080448496e76616c6964206a756467656d656e742e30496e76616c6964496e6465780009045454686520696e64657820697320696e76616c69642e34496e76616c6964546172676574000a04585468652074617267657420697320696e76616c69642e34546f6f4d616e794669656c6473000b046c546f6f206d616e79206164646974696f6e616c206669656c64732e44546f6f4d616e7952656769737472617273000c04e84d6178696d756d20616d6f756e74206f66207265676973747261727320726561636865642e2043616e6e6f742061646420616e79206d6f72652e38416c7265616479436c61696d6564000d04704163636f756e7420494420697320616c7265616479206e616d65642e184e6f74537562000e047053656e646572206973206e6f742061207375622d6163636f756e742e204e6f744f776e6564000f04885375622d6163636f756e742069736e2774206f776e65642062792073656e6465722e744a756467656d656e74466f72446966666572656e744964656e74697479001004d05468652070726f7669646564206a756467656d656e742077617320666f72206120646966666572656e74206964656e746974792e584a756467656d656e745061796d656e744661696c6564001104f84572726f722074686174206f6363757273207768656e20746865726520697320616e20697373756520706179696e6720666f72206a756467656d656e742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed10900000408d5091800d5090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d909045300000400dd0901185665633c543e0000d909083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f7879547970650169032c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f747970656903012450726f78795479706500011464656c617910012c426c6f636b4e756d6265720000dd09000002d90900e10900000408e5091800e5090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401e909045300000400ed0901185665633c543e0000e909083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801302c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173683001104861736800011868656967687410012c426c6f636b4e756d6265720000ed09000002e90900f1090c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ef50900000408000400f909083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201101c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656e7503015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c73fd09018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e0000fd090c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400bd0101185665633c543e0000010a0c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e050a083c70616c6c65745f626f756e7469657318426f756e74790c244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201100018012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500010c66656518011c42616c616e636500013c63757261746f725f6465706f73697418011c42616c616e6365000110626f6e6418011c42616c616e6365000118737461747573090a0190426f756e74795374617475733c4163636f756e7449642c20426c6f636b4e756d6265723e0000090a083c70616c6c65745f626f756e7469657330426f756e747953746174757308244163636f756e74496401002c426c6f636b4e756d626572011001182050726f706f73656400000020417070726f7665640001001846756e6465640002003c43757261746f7250726f706f73656404011c63757261746f720001244163636f756e7449640003001841637469766508011c63757261746f720001244163636f756e7449640001287570646174655f64756510012c426c6f636b4e756d6265720004003450656e64696e675061796f75740c011c63757261746f720001244163636f756e74496400012c62656e65666963696172790001244163636f756e744964000124756e6c6f636b5f617410012c426c6f636b4e756d626572000500000d0a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000110a0c3c70616c6c65745f626f756e746965731870616c6c6574144572726f7208045400044900012c70496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e30526561736f6e546f6f4269670002048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e40556e65787065637465645374617475730003048054686520626f756e74792073746174757320697320756e65787065637465642e385265717569726543757261746f720004045c5265717569726520626f756e74792063757261746f722e30496e76616c696456616c756500050454496e76616c696420626f756e74792076616c75652e28496e76616c69644665650006044c496e76616c696420626f756e7479206665652e3450656e64696e675061796f75740007086c4120626f756e7479207061796f75742069732070656e64696e672ef8546f2063616e63656c2074686520626f756e74792c20796f75206d75737420756e61737369676e20616e6420736c617368207468652063757261746f722e245072656d6174757265000804450154686520626f756e746965732063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e504861734163746976654368696c64426f756e7479000904050154686520626f756e74792063616e6e6f7420626520636c6f73656420626563617573652069742068617320616374697665206368696c6420626f756e746965732e34546f6f4d616e79517565756564000a0498546f6f206d616e7920617070726f76616c732061726520616c7265616479207175657565642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e150a085470616c6c65745f6368696c645f626f756e746965732c4368696c64426f756e74790c244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572011000140134706172656e745f626f756e747910012c426f756e7479496e64657800011476616c756518011c42616c616e636500010c66656518011c42616c616e636500013c63757261746f725f6465706f73697418011c42616c616e6365000118737461747573190a01a44368696c64426f756e74795374617475733c4163636f756e7449642c20426c6f636b4e756d6265723e0000190a085470616c6c65745f6368696c645f626f756e74696573444368696c64426f756e747953746174757308244163636f756e74496401002c426c6f636b4e756d626572011001101441646465640000003c43757261746f7250726f706f73656404011c63757261746f720001244163636f756e7449640001001841637469766504011c63757261746f720001244163636f756e7449640002003450656e64696e675061796f75740c011c63757261746f720001244163636f756e74496400012c62656e65666963696172790001244163636f756e744964000124756e6c6f636b5f617410012c426c6f636b4e756d626572000300001d0a0c5470616c6c65745f6368696c645f626f756e746965731870616c6c6574144572726f7204045400010c54506172656e74426f756e74794e6f74416374697665000004a454686520706172656e7420626f756e7479206973206e6f7420696e206163746976652073746174652e64496e73756666696369656e74426f756e747942616c616e6365000104e454686520626f756e74792062616c616e6365206973206e6f7420656e6f75676820746f20616464206e6577206368696c642d626f756e74792e50546f6f4d616e794368696c64426f756e746965730002040d014e756d626572206f66206368696c6420626f756e746965732065786365656473206c696d697420604d61784163746976654368696c64426f756e7479436f756e74602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e210a089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f7068617365345265616479536f6c7574696f6e08244163636f756e74496400284d617857696e6e65727300000c0120737570706f727473250a0198426f756e646564537570706f7274733c4163636f756e7449642c204d617857696e6e6572733e00011473636f726555040134456c656374696f6e53636f726500011c636f6d70757465f506013c456c656374696f6e436f6d707574650000250a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016504045300000400610401185665633c543e0000290a089070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f706861736534526f756e64536e617073686f7408244163636f756e7449640100304461746150726f7669646572012d0a00080118766f74657273310a01445665633c4461746150726f76696465723e00011c74617267657473bd0101385665633c4163636f756e7449643e00002d0a0000040c002c750800310a0000022d0a00350a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401390a0453000004003d0a01185665633c543e0000390a0000040c55041010003d0a000002390a00410a0c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f7068617365187369676e6564405369676e65645375626d697373696f6e0c244163636f756e74496401001c42616c616e6365011820536f6c7574696f6e0189030010010c77686f0001244163636f756e74496400011c6465706f73697418011c42616c616e63650001307261775f736f6c7574696f6e85030154526177536f6c7574696f6e3c536f6c7574696f6e3e00012063616c6c5f66656518011c42616c616e63650000450a0c9070616c6c65745f656c656374696f6e5f70726f76696465725f6d756c74695f70686173651870616c6c6574144572726f720404540001386850726544697370617463684561726c795375626d697373696f6e000004645375626d697373696f6e2077617320746f6f206561726c792e6c507265446973706174636857726f6e6757696e6e6572436f756e740001048857726f6e67206e756d626572206f662077696e6e6572732070726573656e7465642e6450726544697370617463685765616b5375626d697373696f6e000204905375626d697373696f6e2077617320746f6f207765616b2c2073636f72652d776973652e3c5369676e6564517565756546756c6c0003044901546865207175657565207761732066756c6c2c20616e642074686520736f6c7574696f6e20776173206e6f7420626574746572207468616e20616e79206f6620746865206578697374696e67206f6e65732e585369676e656443616e6e6f745061794465706f73697400040494546865206f726967696e206661696c656420746f2070617920746865206465706f7369742e505369676e6564496e76616c69645769746e657373000504a05769746e657373206461746120746f20646973706174636861626c6520697320696e76616c69642e4c5369676e6564546f6f4d756368576569676874000604b8546865207369676e6564207375626d697373696f6e20636f6e73756d657320746f6f206d756368207765696768743c4f637743616c6c57726f6e67457261000704984f4357207375626d697474656420736f6c7574696f6e20666f722077726f6e6720726f756e645c4d697373696e67536e617073686f744d65746164617461000804a8536e617073686f74206d657461646174612073686f756c6420657869737420627574206469646e27742e58496e76616c69645375626d697373696f6e496e646578000904d06053656c663a3a696e736572745f7375626d697373696f6e602072657475726e656420616e20696e76616c696420696e6465782e3843616c6c4e6f74416c6c6f776564000a04985468652063616c6c206973206e6f7420616c6c6f776564206174207468697320706f696e742e3846616c6c6261636b4661696c6564000b044c5468652066616c6c6261636b206661696c65642c426f756e644e6f744d6574000c0448536f6d6520626f756e64206e6f74206d657438546f6f4d616e7957696e6e657273000d049c5375626d697474656420736f6c7574696f6e2068617320746f6f206d616e792077696e6e657273040d014572726f72206f66207468652070616c6c657420746861742063616e2062652072657475726e656420696e20726573706f6e736520746f20646973706174636865732e490a0c4070616c6c65745f626167735f6c697374106c697374104e6f646508045400044900001401086964000130543a3a4163636f756e74496400011070726576a90201504f7074696f6e3c543a3a4163636f756e7449643e0001106e657874a90201504f7074696f6e3c543a3a4163636f756e7449643e0001246261675f75707065722c0120543a3a53636f726500011473636f72652c0120543a3a53636f726500004d0a0c4070616c6c65745f626167735f6c697374106c6973740c426167080454000449000008011068656164a90201504f7074696f6e3c543a3a4163636f756e7449643e0001107461696ca90201504f7074696f6e3c543a3a4163636f756e7449643e0000510a0000022c00550a0c4070616c6c65745f626167735f6c6973741870616c6c6574144572726f72080454000449000104104c6973740400590a01244c6973744572726f72000004b441206572726f7220696e20746865206c69737420696e7465726661636520696d706c656d656e746174696f6e2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e590a0c4070616c6c65745f626167735f6c697374106c697374244c6973744572726f72000110244475706c6963617465000000284e6f7448656176696572000100304e6f74496e53616d65426167000200304e6f64654e6f74466f756e64000300005d0a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328506f6f6c4d656d626572040454000010011c706f6f6c5f6964100118506f6f6c4964000118706f696e747318013042616c616e63654f663c543e0001706c6173745f7265636f726465645f7265776172645f636f756e7465728d060140543a3a526577617264436f756e746572000138756e626f6e64696e675f65726173610a01e0426f756e64656442547265654d61703c457261496e6465782c2042616c616e63654f663c543e2c20543a3a4d6178556e626f6e64696e673e0000610a0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b011004560118045300000400650a013842547265654d61703c4b2c20563e0000650a042042547265654d617008044b0110045601180004006909000000690a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c733c426f6e646564506f6f6c496e6e65720404540000140128636f6d6d697373696f6e6d0a0134436f6d6d697373696f6e3c543e0001386d656d6265725f636f756e74657210010c753332000118706f696e747318013042616c616e63654f663c543e000114726f6c6573790a015c506f6f6c526f6c65733c543a3a4163636f756e7449643e000114737461746581040124506f6f6c537461746500006d0a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328436f6d6d697373696f6e040454000010011c63757272656e749904017c4f7074696f6e3c2850657262696c6c2c20543a3a4163636f756e744964293e00010c6d6178710a013c4f7074696f6e3c50657262696c6c3e00012c6368616e67655f72617465750a01bc4f7074696f6e3c436f6d6d697373696f6e4368616e6765526174653c426c6f636b4e756d626572466f723c543e3e3e0001347468726f74746c655f66726f6d450201644f7074696f6e3c426c6f636b4e756d626572466f723c543e3e0000710a04184f7074696f6e04045401a80108104e6f6e6500000010536f6d650400a80000010000750a04184f7074696f6e04045401a1040108104e6f6e6500000010536f6d650400a1040000010000790a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7324506f6f6c526f6c657304244163636f756e7449640100001001246465706f7369746f720001244163636f756e744964000110726f6f74a90201444f7074696f6e3c4163636f756e7449643e0001246e6f6d696e61746f72a90201444f7074696f6e3c4163636f756e7449643e00011c626f756e636572a90201444f7074696f6e3c4163636f756e7449643e00007d0a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328526577617264506f6f6c04045400001401706c6173745f7265636f726465645f7265776172645f636f756e7465728d060140543a3a526577617264436f756e74657200016c6c6173745f7265636f726465645f746f74616c5f7061796f75747318013042616c616e63654f663c543e000154746f74616c5f726577617264735f636c61696d656418013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f70656e64696e6718013042616c616e63654f663c543e000160746f74616c5f636f6d6d697373696f6e5f636c61696d656418013042616c616e63654f663c543e0000810a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7320537562506f6f6c7304045400000801186e6f5f657261850a0134556e626f6e64506f6f6c3c543e000120776974685f657261890a010101426f756e64656442547265654d61703c457261496e6465782c20556e626f6e64506f6f6c3c543e2c20546f74616c556e626f6e64696e67506f6f6c733c543e3e0000850a085c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c7328556e626f6e64506f6f6c0404540000080118706f696e747318013042616c616e63654f663c543e00011c62616c616e636518013042616c616e63654f663c543e0000890a0c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601850a0453000004008d0a013842547265654d61703c4b2c20563e00008d0a042042547265654d617008044b0110045601850a000400910a000000910a000002950a00950a0000040810850a00990a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00009d0a0c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c6574144572726f7204045400018030506f6f6c4e6f74466f756e6400000488412028626f6e6465642920706f6f6c20696420646f6573206e6f742065786973742e48506f6f6c4d656d6265724e6f74466f756e640001046c416e206163636f756e74206973206e6f742061206d656d6265722e48526577617264506f6f6c4e6f74466f756e640002042101412072657761726420706f6f6c20646f6573206e6f742065786973742e20496e20616c6c206361736573207468697320697320612073797374656d206c6f676963206572726f722e40537562506f6f6c734e6f74466f756e6400030468412073756220706f6f6c20646f6573206e6f742065786973742e644163636f756e7442656c6f6e6773546f4f74686572506f6f6c0004084d01416e206163636f756e7420697320616c72656164792064656c65676174696e6720696e20616e6f7468657220706f6f6c2e20416e206163636f756e74206d6179206f6e6c792062656c6f6e6720746f206f6e653c706f6f6c20617420612074696d652e3846756c6c79556e626f6e64696e670005083d01546865206d656d6265722069732066756c6c7920756e626f6e6465642028616e6420746875732063616e6e6f74206163636573732074686520626f6e64656420616e642072657761726420706f6f6ca8616e796d6f726520746f2c20666f72206578616d706c652c20636f6c6c6563742072657761726473292e444d6178556e626f6e64696e674c696d69740006040901546865206d656d6265722063616e6e6f7420756e626f6e642066757274686572206368756e6b732064756520746f207265616368696e6720746865206c696d69742e4443616e6e6f745769746864726177416e790007044d014e6f6e65206f66207468652066756e64732063616e2062652077697468647261776e2079657420626563617573652074686520626f6e64696e67206475726174696f6e20686173206e6f74207061737365642e444d696e696d756d426f6e644e6f744d6574000814290154686520616d6f756e7420646f6573206e6f74206d65657420746865206d696e696d756d20626f6e6420746f20656974686572206a6f696e206f7220637265617465206120706f6f6c2e005501546865206465706f7369746f722063616e206e6576657220756e626f6e6420746f20612076616c7565206c657373207468616e206050616c6c65743a3a6465706f7369746f725f6d696e5f626f6e64602e205468655d0163616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e204d656d626572732063616e206e6576657220756e626f6e6420746f20616876616c75652062656c6f7720604d696e4a6f696e426f6e64602e304f766572666c6f775269736b0009042101546865207472616e73616374696f6e20636f756c64206e6f742062652065786563757465642064756520746f206f766572666c6f77207269736b20666f722074686520706f6f6c2e344e6f7444657374726f79696e67000a085d014120706f6f6c206d75737420626520696e205b60506f6f6c53746174653a3a44657374726f79696e67605d20696e206f7264657220666f7220746865206465706f7369746f7220746f20756e626f6e64206f7220666f72b86f74686572206d656d6265727320746f206265207065726d697373696f6e6c6573736c7920756e626f6e6465642e304e6f744e6f6d696e61746f72000b04f45468652063616c6c657220646f6573206e6f742068617665206e6f6d696e6174696e67207065726d697373696f6e7320666f722074686520706f6f6c2e544e6f744b69636b65724f7244657374726f79696e67000c043d01456974686572206129207468652063616c6c65722063616e6e6f74206d616b6520612076616c6964206b69636b206f722062292074686520706f6f6c206973206e6f742064657374726f79696e672e1c4e6f744f70656e000d047054686520706f6f6c206973206e6f74206f70656e20746f206a6f696e204d6178506f6f6c73000e04845468652073797374656d206973206d61786564206f7574206f6e20706f6f6c732e384d6178506f6f6c4d656d62657273000f049c546f6f206d616e79206d656d6265727320696e2074686520706f6f6c206f722073797374656d2e4443616e4e6f744368616e676553746174650010048854686520706f6f6c732073746174652063616e6e6f74206265206368616e6765642e54446f65734e6f74486176655065726d697373696f6e001104b85468652063616c6c657220646f6573206e6f742068617665206164657175617465207065726d697373696f6e732e544d65746164617461457863656564734d61784c656e001204ac4d657461646174612065786365656473205b60436f6e6669673a3a4d61784d657461646174614c656e605d24446566656e736976650400a10a0138446566656e736976654572726f720013083101536f6d65206572726f72206f6363757272656420746861742073686f756c64206e657665722068617070656e2e20546869732073686f756c64206265207265706f7274656420746f20746865306d61696e7461696e6572732e9c5061727469616c556e626f6e644e6f74416c6c6f7765645065726d697373696f6e6c6573736c79001404bc5061727469616c20756e626f6e64696e67206e6f7720616c6c6f776564207065726d697373696f6e6c6573736c792e5c4d6178436f6d6d697373696f6e526573747269637465640015041d0154686520706f6f6c2773206d617820636f6d6d697373696f6e2063616e6e6f742062652073657420686967686572207468616e20746865206578697374696e672076616c75652e60436f6d6d697373696f6e457863656564734d6178696d756d001604ec54686520737570706c69656420636f6d6d697373696f6e206578636565647320746865206d617820616c6c6f77656420636f6d6d697373696f6e2e78436f6d6d697373696f6e45786365656473476c6f62616c4d6178696d756d001704e854686520737570706c69656420636f6d6d697373696f6e206578636565647320676c6f62616c206d6178696d756d20636f6d6d697373696f6e2e64436f6d6d697373696f6e4368616e67655468726f74746c656400180409014e6f7420656e6f75676820626c6f636b732068617665207375727061737365642073696e636520746865206c61737420636f6d6d697373696f6e207570646174652e78436f6d6d697373696f6e4368616e6765526174654e6f74416c6c6f7765640019040101546865207375626d6974746564206368616e67657320746f20636f6d6d697373696f6e206368616e6765207261746520617265206e6f7420616c6c6f7765642e4c4e6f50656e64696e67436f6d6d697373696f6e001a04a05468657265206973206e6f2070656e64696e6720636f6d6d697373696f6e20746f20636c61696d2e584e6f436f6d6d697373696f6e43757272656e74536574001b048c4e6f20636f6d6d697373696f6e2063757272656e7420686173206265656e207365742e2c506f6f6c4964496e557365001c0464506f6f6c2069642063757272656e746c7920696e207573652e34496e76616c6964506f6f6c4964001d049c506f6f6c2069642070726f7669646564206973206e6f7420636f72726563742f757361626c652e4c426f6e64457874726152657374726963746564001e04fc426f6e64696e67206578747261206973207265737472696374656420746f207468652065786163742070656e64696e672072657761726420616d6f756e742e3c4e6f7468696e67546f41646a757374001f04b04e6f20696d62616c616e636520696e20746865204544206465706f73697420666f722074686520706f6f6c2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea10a0c5c70616c6c65745f6e6f6d696e6174696f6e5f706f6f6c731870616c6c657438446566656e736976654572726f72000114684e6f74456e6f7567685370616365496e556e626f6e64506f6f6c00000030506f6f6c4e6f74466f756e6400010048526577617264506f6f6c4e6f74466f756e6400020040537562506f6f6c734e6f74466f756e6400030070426f6e64656453746173684b696c6c65645072656d61747572656c7900040000a50a0c4c70616c6c65745f666173745f756e7374616b6514747970657338556e7374616b6552657175657374040454000008011c73746173686573a90a01d8426f756e6465645665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e292c20543a3a426174636853697a653e00011c636865636b6564ad0a0190426f756e6465645665633c457261496e6465782c204d6178436865636b696e673c543e3e0000a90a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540171040453000004006d0401185665633c543e0000ad0a0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540110045300000400cd0101185665633c543e0000b10a0c4c70616c6c65745f666173745f756e7374616b651870616c6c6574144572726f72040454000118344e6f74436f6e74726f6c6c657200000cb85468652070726f766964656420436f6e74726f6c6c6572206163636f756e7420776173206e6f7420666f756e642e00c054686973206d65616e7320746861742074686520676976656e206163636f756e74206973206e6f7420626f6e6465642e34416c7265616479517565756564000104ac54686520626f6e646564206163636f756e742068617320616c7265616479206265656e207175657565642e384e6f7446756c6c79426f6e646564000204bc54686520626f6e646564206163636f756e74206861732061637469766520756e6c6f636b696e67206368756e6b732e244e6f74517565756564000304b45468652070726f766964656420756e2d7374616b6572206973206e6f7420696e2074686520605175657565602e2c416c72656164794865616400040405015468652070726f766964656420756e2d7374616b657220697320616c726561647920696e20486561642c20616e642063616e6e6f7420646572656769737465722e3843616c6c4e6f74416c6c6f7765640005041d015468652063616c6c206973206e6f7420616c6c6f776564206174207468697320706f696e742062656361757365207468652070616c6c6574206973206e6f74206163746976652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb50a0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7334636f6e66696775726174696f6e44486f7374436f6e66696775726174696f6e042c426c6f636b4e756d626572011000ac01346d61785f636f64655f73697a6510010c7533320001486d61785f686561645f646174615f73697a6510010c7533320001586d61785f7570776172645f71756575655f636f756e7410010c7533320001546d61785f7570776172645f71756575655f73697a6510010c75333200015c6d61785f7570776172645f6d6573736167655f73697a6510010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746510010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746510010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e10012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c617910012c426c6f636b4e756d6265720001506173796e635f6261636b696e675f706172616d73ad0401484173796e634261636b696e67506172616d730001306d61785f706f765f73697a6510010c7533320001646d61785f646f776e776172645f6d6573736167655f73697a6510010c75333200019068726d705f6d61785f70617261636861696e5f6f7574626f756e645f6368616e6e656c7310010c75333200014c68726d705f73656e6465725f6465706f73697418011c42616c616e636500015868726d705f726563697069656e745f6465706f73697418011c42616c616e636500016468726d705f6368616e6e656c5f6d61785f636170616369747910010c75333200016c68726d705f6368616e6e656c5f6d61785f746f74616c5f73697a6510010c75333200018c68726d705f6d61785f70617261636861696e5f696e626f756e645f6368616e6e656c7310010c75333200017468726d705f6368616e6e656c5f6d61785f6d6573736167655f73697a6510010c75333200013c6578656375746f725f706172616d73b10401384578656375746f72506172616d73000154636f64655f726574656e74696f6e5f706572696f6410012c426c6f636b4e756d62657200013c6f6e5f64656d616e645f636f72657310010c7533320001446f6e5f64656d616e645f7265747269657310010c7533320001606f6e5f64656d616e645f71756575655f6d61785f73697a6510010c7533320001886f6e5f64656d616e645f7461726765745f71756575655f7574696c697a6174696f6ea8011c50657262696c6c0001646f6e5f64656d616e645f6665655f766172696162696c697479a8011c50657262696c6c0001486f6e5f64656d616e645f626173655f66656518011c42616c616e63650001346f6e5f64656d616e645f74746c10012c426c6f636b4e756d62657200016067726f75705f726f746174696f6e5f6672657175656e637910012c426c6f636b4e756d62657200016470617261735f617661696c6162696c6974795f706572696f6410012c426c6f636b4e756d6265720001507363686564756c696e675f6c6f6f6b616865616410010c75333200015c6d61785f76616c696461746f72735f7065725f636f72654502012c4f7074696f6e3c7533323e0001386d61785f76616c696461746f72734502012c4f7074696f6e3c7533323e000138646973707574655f706572696f6410013053657373696f6e496e6465780001a4646973707574655f706f73745f636f6e636c7573696f6e5f616363657074616e63655f706572696f6410012c426c6f636b4e756d6265720001346e6f5f73686f775f736c6f747310010c7533320001406e5f64656c61795f7472616e6368657310010c7533320001687a65726f74685f64656c61795f7472616e6368655f776964746810010c7533320001406e65656465645f617070726f76616c7310010c75333200016072656c61795f7672665f6d6f64756c6f5f73616d706c657310010c7533320001387076665f766f74696e675f74746c10013053657373696f6e496e6465780001806d696e696d756d5f76616c69646174696f6e5f757067726164655f64656c617910012c426c6f636b4e756d6265720001546d696e696d756d5f6261636b696e675f766f74657310010c7533320000b90a000002bd0a00bd0a0000040810b50a00c10a106c706f6c6b61646f745f72756e74696d655f70617261636861696e7334636f6e66696775726174696f6e1870616c6c6574144572726f720404540001043c496e76616c69644e657756616c7565000004dc546865206e65772076616c756520666f72206120636f6e66696775726174696f6e20706172616d6574657220697320696e76616c69642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec50a000002e90400c90a000002e90100cd0a0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e731873686172656468416c6c6f77656452656c6179506172656e7473547261636b657208104861736801302c426c6f636b4e756d626572011000080118627566666572d10a015856656344657175653c28486173682c2048617368293e0001346c61746573745f6e756d62657210012c426c6f636b4e756d6265720000d10a000002d50a00d50a00000408303000d90a0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7324696e636c7573696f6e68417661696c6162696c6974794269746669656c645265636f726404044e0110000801206269746669656c64dd040150417661696c6162696c6974794269746669656c640001307375626d69747465645f61741001044e0000dd0a0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7324696e636c7573696f6e7043616e64696461746550656e64696e67417661696c6162696c6974790804480130044e011000200110636f726515070124436f7265496e646578000110686173683d05013443616e6469646174654861736800012864657363726970746f72fd04015843616e64696461746544657363726970746f723c483e000148617661696c6162696c6974795f766f746573e10401604269745665633c75382c204269744f726465724c7362303e00011c6261636b657273e10401604269745665633c75382c204269744f726465724c7362303e00014c72656c61795f706172656e745f6e756d6265721001044e0001406261636b65645f696e5f6e756d6265721001044e0001346261636b696e675f67726f75701907012847726f7570496e6465780000e10a106c706f6c6b61646f745f72756e74696d655f70617261636861696e7324696e636c7573696f6e1870616c6c6574144572726f720404540001748c556e736f727465644f724475706c696361746556616c696461746f72496e6469636573000004e856616c696461746f7220696e646963657320617265206f7574206f66206f72646572206f7220636f6e7461696e73206475706c6963617465732e98556e736f727465644f724475706c69636174654469737075746553746174656d656e74536574000104f8446973707574652073746174656d656e74207365747320617265206f7574206f66206f72646572206f7220636f6e7461696e206475706c6963617465732e8c556e736f727465644f724475706c69636174654261636b656443616e6469646174657300020419014261636b65642063616e6469646174657320617265206f7574206f66206f726465722028636f726520696e64657829206f7220636f6e7461696e206475706c6963617465732e54556e657870656374656452656c6179506172656e7400030429014120646966666572656e742072656c617920706172656e74207761732070726f766964656420636f6d706172656420746f20746865206f6e2d636861696e2073746f726564206f6e652e4457726f6e674269746669656c6453697a65000404a8417661696c6162696c697479206269746669656c642068617320756e65787065637465642073697a652e404269746669656c64416c6c5a65726f73000504804269746669656c6420636f6e7369737473206f66207a65726f73206f6e6c792e704269746669656c644475706c69636174654f72556e6f7264657265640006044d014d756c7469706c65206269746669656c6473207375626d69747465642062792073616d652076616c696461746f72206f722076616c696461746f7273206f7574206f66206f7264657220627920696e6465782e6456616c696461746f72496e6465784f75744f66426f756e64730007047856616c696461746f7220696e646578206f7574206f6620626f756e64732e60496e76616c69644269746669656c645369676e617475726500080444496e76616c6964207369676e617475726550556e7363686564756c656443616e646964617465000904ac43616e646964617465207375626d6974746564206275742070617261206e6f74207363686564756c65642e8043616e6469646174655363686564756c65644265666f72655061726146726565000a04310143616e646964617465207363686564756c656420646573706974652070656e64696e672063616e64696461746520616c7265616479206578697374696e6720666f722074686520706172612e4c5363686564756c65644f75744f664f72646572000b04745363686564756c656420636f726573206f7574206f66206f726465722e404865616444617461546f6f4c61726765000c04a448656164206461746120657863656564732074686520636f6e66696775726564206d6178696d756d2e505072656d6174757265436f646555706772616465000d0464436f64652075706772616465207072656d61747572656c792e3c4e6577436f6465546f6f4c61726765000e04604f757470757420636f646520697320746f6f206c6172676554446973616c6c6f77656452656c6179506172656e74000f08ec5468652063616e64696461746527732072656c61792d706172656e7420776173206e6f7420616c6c6f7765642e204569746865722069742077617325016e6f7420726563656e7420656e6f756768206f72206974206469646e277420616476616e6365206261736564206f6e20746865206c6173742070617261636861696e20626c6f636b2e44496e76616c696441737369676e6d656e7400100815014661696c656420746f20636f6d707574652067726f757020696e64657820666f722074686520636f72653a206569746865722069742773206f7574206f6620626f756e6473e86f72207468652072656c617920706172656e7420646f65736e27742062656c6f6e6720746f207468652063757272656e742073657373696f6e2e44496e76616c696447726f7570496e6465780011049c496e76616c69642067726f757020696e64657820696e20636f72652061737369676e6d656e742e4c496e73756666696369656e744261636b696e6700120490496e73756666696369656e7420286e6f6e2d6d616a6f7269747929206261636b696e672e38496e76616c69644261636b696e67001304e4496e76616c69642028626164207369676e61747572652c20756e6b6e6f776e2076616c696461746f722c206574632e29206261636b696e672e444e6f74436f6c6c61746f725369676e656400140468436f6c6c61746f7220646964206e6f74207369676e20506f562e6856616c69646174696f6e44617461486173684d69736d61746368001504c45468652076616c69646174696f6e2064617461206861736820646f6573206e6f74206d617463682065787065637465642e80496e636f7272656374446f776e776172644d65737361676548616e646c696e67001604d854686520646f776e77617264206d657373616765207175657565206973206e6f742070726f63657373656420636f72726563746c792e54496e76616c69645570776172644d657373616765730017041d014174206c65617374206f6e6520757077617264206d6573736167652073656e7420646f6573206e6f7420706173732074686520616363657074616e63652063726974657269612e6048726d7057617465726d61726b4d697368616e646c696e6700180411015468652063616e646964617465206469646e277420666f6c6c6f77207468652072756c6573206f662048524d502077617465726d61726b20616476616e63656d656e742e4c496e76616c69644f7574626f756e6448726d70001904d45468652048524d50206d657373616765732073656e74206279207468652063616e646964617465206973206e6f742076616c69642e64496e76616c696456616c69646174696f6e436f646548617368001a04dc5468652076616c69646174696f6e20636f64652068617368206f66207468652063616e646964617465206973206e6f742076616c69642e4050617261486561644d69736d61746368001b0855015468652060706172615f6865616460206861736820696e207468652063616e6469646174652064657363726970746f7220646f65736e2774206d61746368207468652068617368206f66207468652061637475616c7470617261206865616420696e2074686520636f6d6d69746d656e74732e6c4269746669656c645265666572656e6365734672656564436f7265001c0ca041206269746669656c642074686174207265666572656e636573206120667265656420636f72652cb865697468657220696e74656e74696f6e616c6c79206f722061732070617274206f66206120636f6e636c7564656440696e76616c696420646973707574652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee50a0c4c706f6c6b61646f745f7072696d6974697665730876364c536372617065644f6e436861696e566f7465730404480130000c011c73657373696f6e10013053657373696f6e496e6465780001806261636b696e675f76616c696461746f72735f7065725f63616e646964617465e90a011d015665633c2843616e646964617465526563656970743c483e2c205665633c2856616c696461746f72496e6465782c2056616c69646974794174746573746174696f6e293e290a3e0001206469737075746573350501604d756c74694469737075746553746174656d656e745365740000e90a000002ed0a00ed0a000004081107f10a00f10a000002f50a00f50a00000408e904310500f90a106c706f6c6b61646f745f72756e74696d655f70617261636861696e733870617261735f696e686572656e741870616c6c6574144572726f7204045400011864546f6f4d616e79496e636c7573696f6e496e686572656e7473000004cc496e636c7573696f6e20696e686572656e742063616c6c6564206d6f7265207468616e206f6e63652070657220626c6f636b2e4c496e76616c6964506172656e7448656164657200010855015468652068617368206f6620746865207375626d697474656420706172656e742068656164657220646f65736e277420636f72726573706f6e6420746f2074686520736176656420626c6f636b2068617368206f662c74686520706172656e742e6443616e646964617465436f6e636c75646564496e76616c6964000204b844697370757465642063616e64696461746520746861742077617320636f6e636c7564656420696e76616c69642e48496e686572656e744f7665727765696768740003040901546865206461746120676976656e20746f2074686520696e686572656e742077696c6c20726573756c7420696e20616e206f76657277656967687420626c6f636b2e944469737075746553746174656d656e7473556e736f727465644f724475706c696361746573000404bc546865206f72646572696e67206f6620646973707574652073746174656d656e74732077617320696e76616c69642e3844697370757465496e76616c6964000504804120646973707574652073746174656d656e742077617320696e76616c69642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742efd0a000002c50a00010b000002050b00050b106c706f6c6b61646f745f72756e74696d655f70617261636861696e73247363686564756c65721870616c6c657430436f72654f6363757069656404044e0110010810467265650000001450617261730400090b01345061726173456e7472793c4e3e00010000090b106c706f6c6b61646f745f72756e74696d655f70617261636861696e73247363686564756c65721870616c6c6574285061726173456e74727904044e0110000c012861737369676e6d656e740d0b012841737369676e6d656e74000154617661696c6162696c6974795f74696d656f75747310010c75333200010c74746c1001044e00000d0b106c706f6c6b61646f745f72756e74696d655f70617261636861696e73247363686564756c657218636f6d6d6f6e2841737369676e6d656e74000004011c706172615f6964710201185061726149640000110b042042547265654d617008044b011507045601150b0004001d0b000000150b000002190b00190b04184f7074696f6e04045401090b0108104e6f6e6500000010536f6d650400090b00000100001d0b000002210b00210b000004081507150b00250b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e731470617261735c507666436865636b416374697665566f74655374617465042c426c6f636b4e756d626572011000140130766f7465735f616363657074e10401604269745665633c75382c204269744f726465724c7362303e000130766f7465735f72656a656374e10401604269745665633c75382c204269744f726465724c7362303e00010c61676510013053657373696f6e496e646578000128637265617465645f617410012c426c6f636b4e756d626572000118636175736573290b017c5665633c507666436865636b43617573653c426c6f636b4e756d6265723e3e0000290b0000022d0b002d0b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7314706172617334507666436865636b4361757365042c426c6f636b4e756d62657201100108284f6e626f617264696e670400710201185061726149640000001c557067726164650c010869647102011850617261496400012c696e636c756465645f617410012c426c6f636b4e756d6265720001307365745f676f5f6168656164310b0128536574476f416865616400010000310b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7314706172617328536574476f41686561640001080c596573000000084e6f00010000350b000002090500390b0000027102003d0b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e7314706172617334506172614c6966656379636c6500011c284f6e626f617264696e6700000028506172617468726561640001002450617261636861696e0002004c557067726164696e675061726174687265616400030050446f776e67726164696e6750617261636861696e000400544f6666626f617264696e6750617261746872656164000500504f6666626f617264696e6750617261636861696e00060000410b0000040871021000450b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e73147061726173405061726150617374436f64654d65746104044e011000080134757067726164655f74696d6573490b01605665633c5265706c6163656d656e7454696d65733c4e3e3e00012c6c6173745f7072756e6564450201244f7074696f6e3c4e3e0000490b0000024d0b004d0b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e73147061726173405265706c6163656d656e7454696d657304044e01100008012c65787065637465645f61741001044e0001306163746976617465645f61741001044e0000510b000002410b00550b0c4c706f6c6b61646f745f7072696d6974697665730876363855706772616465476f41686561640001081441626f72740000001c476f416865616400010000590b0c4c706f6c6b61646f745f7072696d69746976657308763648557067726164655265737472696374696f6e0001041c50726573656e74000000005d0b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e731470617261733c5061726147656e657369734172677300000c013067656e657369735f6865616429050120486561644461746100013c76616c69646174696f6e5f636f64652505013856616c69646174696f6e436f6465000124706172615f6b696e64b40120506172614b696e640000610b106c706f6c6b61646f745f72756e74696d655f70617261636861696e731470617261731870616c6c6574144572726f72040454000130344e6f74526567697374657265640000049450617261206973206e6f74207265676973746572656420696e206f75722073797374656d2e3443616e6e6f744f6e626f6172640001041501506172612063616e6e6f74206265206f6e626f6172646564206265636175736520697420697320616c726561647920747261636b6564206279206f75722073797374656d2e3843616e6e6f744f6666626f6172640002049c506172612063616e6e6f74206265206f6666626f617264656420617420746869732074696d652e3443616e6e6f7455706772616465000304d4506172612063616e6e6f7420626520757067726164656420746f2061206c6561736520686f6c64696e672070617261636861696e2e3c43616e6e6f74446f776e6772616465000404d0506172612063616e6e6f7420626520646f776e67726164656420746f20616e206f6e2d64656d616e642070617261636861696e2e58507666436865636b53746174656d656e745374616c65000504b05468652073746174656d656e7420666f7220505646207072652d636865636b696e67206973207374616c652e5c507666436865636b53746174656d656e74467574757265000604ec5468652073746174656d656e7420666f7220505646207072652d636865636b696e6720697320666f722061206675747572652073657373696f6e2e84507666436865636b56616c696461746f72496e6465784f75744f66426f756e6473000704a4436c61696d65642076616c696461746f7220696e646578206973206f7574206f6620626f756e64732e60507666436865636b496e76616c69645369676e6174757265000804c8546865207369676e617475726520666f722074686520505646207072652d636865636b696e6720697320696e76616c69642e48507666436865636b446f75626c65566f7465000904b054686520676976656e2076616c696461746f7220616c7265616479206861732063617374206120766f74652e58507666436865636b5375626a656374496e76616c6964000a04f454686520676976656e2050564620646f6573206e6f7420657869737420617420746865206d6f6d656e74206f662070726f63657373206120766f74652e4443616e6e6f7455706772616465436f6465000b04cc50617261636861696e2063616e6e6f742063757272656e746c79207363686564756c65206120636f646520757067726164652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e650b000002690b00690b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e732c696e697469616c697a657254427566666572656453657373696f6e4368616e676500000c012876616c696461746f7273c90a01405665633c56616c696461746f7249643e000118717565756564c90a01405665633c56616c696461746f7249643e00013473657373696f6e5f696e64657810013053657373696f6e496e64657800006d0b000002710b00710b0860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d62657201100008011c73656e745f617410012c426c6f636b4e756d62657200010c6d736734013c446f776e776172644d6573736167650000750b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e731068726d705848726d704f70656e4368616e6e656c526571756573740000180124636f6e6669726d6564b40110626f6f6c0001105f61676510013053657373696f6e496e64657800013873656e6465725f6465706f73697418011c42616c616e63650001406d61785f6d6573736167655f73697a6510010c7533320001306d61785f636170616369747910010c7533320001386d61785f746f74616c5f73697a6510010c7533320000790b0000026505007d0b0c6c706f6c6b61646f745f72756e74696d655f70617261636861696e731068726d702c48726d704368616e6e656c00002001306d61785f636170616369747910010c7533320001386d61785f746f74616c5f73697a6510010c7533320001406d61785f6d6573736167655f73697a6510010c7533320001246d73675f636f756e7410010c753332000128746f74616c5f73697a6510010c7533320001206d71635f68656164810201304f7074696f6e3c486173683e00013873656e6465725f6465706f73697418011c42616c616e6365000144726563697069656e745f6465706f73697418011c42616c616e63650000810b000002850b00850b0860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d62657201100008011c73656e745f617410012c426c6f636b4e756d6265720001106461746134015073705f7374643a3a7665633a3a5665633c75383e0000890b0000028d0b008d0b0000040810390b00910b106c706f6c6b61646f745f72756e74696d655f70617261636861696e731068726d701870616c6c6574144572726f72040454000150544f70656e48726d704368616e6e656c546f53656c66000004c45468652073656e64657220747269656420746f206f70656e2061206368616e6e656c20746f207468656d73656c7665732e7c4f70656e48726d704368616e6e656c496e76616c6964526563697069656e740001048854686520726563697069656e74206973206e6f7420612076616c696420706172612e6c4f70656e48726d704368616e6e656c5a65726f43617061636974790002047c54686520726571756573746564206361706163697479206973207a65726f2e8c4f70656e48726d704368616e6e656c4361706163697479457863656564734c696d6974000304c05468652072657175657374656420636170616369747920657863656564732074686520676c6f62616c206c696d69742e784f70656e48726d704368616e6e656c5a65726f4d65737361676553697a65000404a054686520726571756573746564206d6178696d756d206d6573736167652073697a6520697320302e984f70656e48726d704368616e6e656c4d65737361676553697a65457863656564734c696d69740005042901546865206f70656e20726571756573742072657175657374656420746865206d6573736167652073697a65207468617420657863656564732074686520676c6f62616c206c696d69742e704f70656e48726d704368616e6e656c416c726561647945786973747300060468546865206368616e6e656c20616c7265616479206578697374737c4f70656e48726d704368616e6e656c416c7265616479526571756573746564000704d0546865726520697320616c72656164792061207265717565737420746f206f70656e207468652073616d65206368616e6e656c2e704f70656e48726d704368616e6e656c4c696d697445786365656465640008041d015468652073656e64657220616c72656164792068617320746865206d6178696d756d206e756d626572206f6620616c6c6f776564206f7574626f756e64206368616e6e656c732e7041636365707448726d704368616e6e656c446f65736e744578697374000904e0546865206368616e6e656c2066726f6d207468652073656e64657220746f20746865206f726967696e20646f65736e27742065786973742e8441636365707448726d704368616e6e656c416c7265616479436f6e6669726d6564000a0484546865206368616e6e656c20697320616c726561647920636f6e6669726d65642e7841636365707448726d704368616e6e656c4c696d69744578636565646564000b04250154686520726563697069656e7420616c72656164792068617320746865206d6178696d756d206e756d626572206f6620616c6c6f77656420696e626f756e64206368616e6e656c732e70436c6f736548726d704368616e6e656c556e617574686f72697a6564000c045501546865206f726967696e20747269657320746f20636c6f73652061206368616e6e656c207768657265206974206973206e656974686572207468652073656e646572206e6f722074686520726563697069656e742e6c436c6f736548726d704368616e6e656c446f65736e744578697374000d049c546865206368616e6e656c20746f20626520636c6f73656420646f65736e27742065786973742e7c436c6f736548726d704368616e6e656c416c7265616479556e646572776179000e04bc546865206368616e6e656c20636c6f7365207265717565737420697320616c7265616479207265717565737465642e8443616e63656c48726d704f70656e4368616e6e656c556e617574686f72697a6564000f045d0143616e63656c696e6720697320726571756573746564206279206e656974686572207468652073656e646572206e6f7220726563697069656e74206f6620746865206f70656e206368616e6e656c20726571756573742e684f70656e48726d704368616e6e656c446f65736e7445786973740010047c546865206f70656e207265717565737420646f65736e27742065786973742e7c4f70656e48726d704368616e6e656c416c7265616479436f6e6669726d65640011042d0143616e6e6f742063616e63656c20616e2048524d50206f70656e206368616e6e656c2072657175657374206265636175736520697420697320616c726561647920636f6e6669726d65642e3057726f6e675769746e6573730012048c5468652070726f7669646564207769746e65737320646174612069732077726f6e672e704368616e6e656c4372656174696f6e4e6f74417574686f72697a6564001304e8546865206368616e6e656c206265747765656e2074686573652074776f20636861696e732063616e6e6f7420626520617574686f72697a65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e950b000002ed0100990b0c4c706f6c6b61646f745f7072696d6974697665730876362c53657373696f6e496e666f00003401606163746976655f76616c696461746f725f696e6469636573c50a014c5665633c56616c696461746f72496e6465783e00012c72616e646f6d5f736565640401205b75383b2033325d000138646973707574655f706572696f6410013053657373696f6e496e64657800012876616c696461746f72739d0b019c496e64657865645665633c56616c696461746f72496e6465782c2056616c696461746f7249643e000138646973636f766572795f6b657973a10b01645665633c417574686f72697479446973636f7665727949643e00013c61737369676e6d656e745f6b657973950b01445665633c41737369676e6d656e7449643e00014076616c696461746f725f67726f757073a50b01ac496e64657865645665633c47726f7570496e6465782c205665633c56616c696461746f72496e6465783e3e00011c6e5f636f72657310010c7533320001687a65726f74685f64656c61795f7472616e6368655f776964746810010c75333200016072656c61795f7672665f6d6f64756c6f5f73616d706c657310010c7533320001406e5f64656c61795f7472616e6368657310010c7533320001346e6f5f73686f775f736c6f747310010c7533320001406e65656465645f617070726f76616c7310010c75333200009d0b0c4c706f6c6b61646f745f7072696d69746976657308763628496e646578656456656308044b01e904045601e901000400c90a01185665633c563e0000a10b000002f10100a50b0c4c706f6c6b61646f745f7072696d69746976657308763628496e646578656456656308044b011907045601c50a000400fd0a01185665633c563e0000a90b00000408103d0500ad0b0c4c706f6c6b61646f745f7072696d6974697665730876363044697370757465537461746504044e01100010013876616c696461746f72735f666f72e104017c4269745665633c75382c206269747665633a3a6f726465723a3a4c7362303e00014876616c696461746f72735f616761696e7374e104017c4269745665633c75382c206269747665633a3a6f726465723a3a4c7362303e00011473746172741001044e000130636f6e636c756465645f6174450201244f7074696f6e3c4e3e0000b10b0420425472656553657404045401e904000400c50a000000b50b106c706f6c6b61646f745f72756e74696d655f70617261636861696e732064697370757465731870616c6c6574144572726f72040454000124744475706c69636174654469737075746553746174656d656e7453657473000004a84475706c696361746520646973707574652073746174656d656e7420736574732070726f76696465642e5c416e6369656e744469737075746553746174656d656e740001048c416e6369656e7420646973707574652073746174656d656e742070726f76696465642e6456616c696461746f72496e6465784f75744f66426f756e6473000204e856616c696461746f7220696e646578206f6e2073746174656d656e74206973206f7574206f6620626f756e647320666f722073657373696f6e2e40496e76616c69645369676e61747572650003047c496e76616c6964207369676e6174757265206f6e2073746174656d656e742e484475706c696361746553746174656d656e74000404cc56616c696461746f7220766f7465207375626d6974746564206d6f7265207468616e206f6e636520746f20646973707574652e4853696e676c65536964656444697370757465000504c441206469737075746520776865726520746865726520617265206f6e6c7920766f746573206f6e206f6e6520736964652e3c4d616c6963696f75734261636b65720006049c41206469737075746520766f74652066726f6d2061206d616c6963696f7573206261636b65722e4c4d697373696e674261636b696e67566f746573000704e04e6f206261636b696e6720766f74657320776572652070726f766964657320616c6f6e6720646973707574652073746174656d656e74732e48556e636f6e6669726d656444697370757465000804b0556e636f6e6669726d656420646973707574652073746174656d656e7420736574732070726f76696465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb90b104c706f6c6b61646f745f7072696d69746976657308763620736c617368696e673850656e64696e67536c617368657300000801106b657973bd0b019442547265654d61703c56616c696461746f72496e6465782c2056616c696461746f7249643e0001106b696e647905014c536c617368696e674f6666656e63654b696e640000bd0b042042547265654d617008044b01e904045601e901000400c10b000000c10b000002c50b00c50b00000408e904e90100c90b146c706f6c6b61646f745f72756e74696d655f70617261636861696e7320646973707574657320736c617368696e671870616c6c6574144572726f7204045400011860496e76616c69644b65794f776e65727368697050726f6f660000048c546865206b6579206f776e6572736869702070726f6f6620697320696e76616c69642e4c496e76616c696453657373696f6e496e646578000104a05468652073657373696f6e20696e64657820697320746f6f206f6c64206f7220696e76616c69642e50496e76616c696443616e64696461746548617368000204785468652063616e646964617465206861736820697320696e76616c69642e54496e76616c696456616c696461746f72496e64657800030801015468657265206973206e6f2070656e64696e6720736c61736820666f722074686520676976656e2076616c696461746f7220696e64657820616e642074696d6514736c6f742e6056616c696461746f72496e64657849644d69736d61746368000404d05468652076616c696461746f7220696e64657820646f6573206e6f74206d61746368207468652076616c696461746f722069642e5c4475706c6963617465536c617368696e675265706f72740005040d0154686520676976656e20736c617368696e67207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ecd0b0c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e3c70617261735f7265676973747261722050617261496e666f081c4163636f756e7401001c42616c616e63650118000c011c6d616e6167657200011c4163636f756e7400011c6465706f73697418011c42616c616e63650001186c6f636b6564d10b01304f7074696f6e3c626f6f6c3e0000d10b04184f7074696f6e04045401b40108104e6f6e6500000010536f6d650400b40000010000d50b105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e3c70617261735f7265676973747261721870616c6c6574144572726f72040454000138344e6f745265676973746572656400000464546865204944206973206e6f7420726567697374657265642e44416c7265616479526567697374657265640001047454686520494420697320616c726561647920726567697374657265642e204e6f744f776e65720002049c5468652063616c6c6572206973206e6f7420746865206f776e6572206f6620746869732049642e30436f6465546f6f4c617267650003045c496e76616c6964207061726120636f64652073697a652e404865616444617461546f6f4c6172676500040470496e76616c69642070617261206865616420646174612073697a652e304e6f7450617261636861696e0005046050617261206973206e6f7420612050617261636861696e2e344e6f7450617261746872656164000604bc50617261206973206e6f742061205061726174687265616420286f6e2d64656d616e642070617261636861696e292e4043616e6e6f74446572656769737465720007045843616e6e6f74206465726567697374657220706172613c43616e6e6f74446f776e67726164650008042d0143616e6e6f74207363686564756c6520646f776e6772616465206f66206c6561736520686f6c64696e672070617261636861696e20746f206f6e2d64656d616e642070617261636861696e3443616e6e6f7455706772616465000904250143616e6e6f74207363686564756c652075706772616465206f66206f6e2d64656d616e642070617261636861696e20746f206c6561736520686f6c64696e672070617261636861696e28506172614c6f636b6564000a08490150617261206973206c6f636b65642066726f6d206d616e6970756c6174696f6e20627920746865206d616e616765722e204d757374207573652070617261636861696e206f722072656c617920636861696e2c676f7665726e616e63652e2c4e6f745265736572766564000b04d054686520494420676976656e20666f7220726567697374726174696f6e20686173206e6f74206265656e2072657365727665642e24456d707479436f6465000c04d45265676973746572696e672070617261636861696e207769746820656d70747920636f6465206973206e6f7420616c6c6f7765642e2843616e6e6f7453776170000d08510143616e6e6f7420706572666f726d20612070617261636861696e20736c6f74202f206c6966656379636c6520737761702e20436865636b207468617420746865207374617465206f6620626f74682070617261738461726520636f727265637420666f7220746865207377617020746f20776f726b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed90b000002a90700dd0b105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e14736c6f74731870616c6c6574144572726f7204045400010844506172614e6f744f6e626f617264696e670000048c5468652070617261636861696e204944206973206e6f74206f6e626f617264696e672e284c656173654572726f720001048854686572652077617320616e206572726f72207769746820746865206c656173652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee10b0000040800710200e50b00000324000000e90b00e90b04184f7074696f6e04045401ed0b0108104e6f6e6500000010536f6d650400ed0b0000010000ed0b0000040c0071021800f10b105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2061756374696f6e731870616c6c6574144572726f7204045400011c4441756374696f6e496e50726f677265737300000490546869732061756374696f6e20697320616c726561647920696e2070726f67726573732e444c65617365506572696f64496e5061737400010480546865206c6561736520706572696f6420697320696e2074686520706173742e44506172614e6f74526567697374657265640002045850617261206973206e6f742072656769737465726564444e6f7443757272656e7441756374696f6e000304584e6f7420612063757272656e742061756374696f6e2e284e6f7441756374696f6e0004043c4e6f7420616e2061756374696f6e2e3041756374696f6e456e6465640005046841756374696f6e2068617320616c726561647920656e6465642e40416c72656164794c65617365644f7574000604d8546865207061726120697320616c7265616479206c6561736564206f757420666f722070617274206f6620746869732072616e67652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ef50b0c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2463726f77646c6f616e2046756e64496e666f10244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201102c4c65617365506572696f640110002801246465706f7369746f720001244163636f756e74496400012076657269666965729105014c4f7074696f6e3c4d756c74695369676e65723e00011c6465706f73697418011c42616c616e636500011872616973656418011c42616c616e636500010c656e6410012c426c6f636b4e756d62657200010c63617018011c42616c616e63650001446c6173745f636f6e747269627574696f6ef90b01744c617374436f6e747269627574696f6e3c426c6f636b4e756d6265723e00013066697273745f706572696f6410012c4c65617365506572696f6400012c6c6173745f706572696f6410012c4c65617365506572696f6400012866756e645f696e64657810012446756e64496e6465780000f90b0c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2463726f77646c6f616e404c617374436f6e747269627574696f6e042c426c6f636b4e756d6265720110010c144e6576657200000024507265456e64696e67040010010c75333200010018456e64696e67040010012c426c6f636b4e756d62657200020000fd0b105c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e2463726f77646c6f616e1870616c6c6574144572726f7204045400015c444669727374506572696f64496e50617374000004f45468652063757272656e74206c6561736520706572696f64206973206d6f7265207468616e20746865206669727374206c6561736520706572696f642e644669727374506572696f64546f6f466172496e4675747572650001041101546865206669727374206c6561736520706572696f64206e6565647320746f206174206c65617374206265206c657373207468616e203320606d61785f76616c7565602e6c4c617374506572696f644265666f72654669727374506572696f64000204e84c617374206c6561736520706572696f64206d7573742062652067726561746572207468616e206669727374206c6561736520706572696f642e604c617374506572696f64546f6f466172496e4675747572650003042d01546865206c617374206c6561736520706572696f642063616e6e6f74206265206d6f7265207468616e203320706572696f64732061667465722074686520666972737420706572696f642e3c43616e6e6f74456e64496e5061737400040445015468652063616d706169676e20656e6473206265666f7265207468652063757272656e7420626c6f636b206e756d6265722e2054686520656e64206d75737420626520696e20746865206675747572652e44456e64546f6f466172496e467574757265000504c054686520656e64206461746520666f7220746869732063726f77646c6f616e206973206e6f742073656e7369626c652e204f766572666c6f770006045854686572652077617320616e206f766572666c6f772e50436f6e747269627574696f6e546f6f536d616c6c000704e854686520636f6e747269627574696f6e207761732062656c6f7720746865206d696e696d756d2c20604d696e436f6e747269627574696f6e602e34496e76616c69645061726149640008044c496e76616c69642066756e6420696e6465782e2c436170457863656564656400090490436f6e747269627574696f6e7320657863656564206d6178696d756d20616d6f756e742e58436f6e747269627574696f6e506572696f644f766572000a04a854686520636f6e747269627574696f6e20706572696f642068617320616c726561647920656e6465642e34496e76616c69644f726967696e000b048c546865206f726967696e206f6620746869732063616c6c20697320696e76616c69642e304e6f7450617261636861696e000c04c8546869732063726f77646c6f616e20646f6573206e6f7420636f72726573706f6e6420746f20612070617261636861696e2e2c4c65617365416374697665000d041501546869732070617261636861696e206c65617365206973207374696c6c2061637469766520616e64207265746972656d656e742063616e6e6f742079657420626567696e2e404269644f724c65617365416374697665000e043101546869732070617261636861696e277320626964206f72206c65617365206973207374696c6c2061637469766520616e642077697468647261772063616e6e6f742079657420626567696e2e3046756e644e6f74456e646564000f04805468652063726f77646c6f616e20686173206e6f742079657420656e6465642e3c4e6f436f6e747269627574696f6e73001004d0546865726520617265206e6f20636f6e747269627574696f6e732073746f72656420696e20746869732063726f77646c6f616e2e484e6f745265616479546f446973736f6c766500110855015468652063726f77646c6f616e206973206e6f7420726561647920746f20646973736f6c76652e20506f74656e7469616c6c79207374696c6c20686173206120736c6f74206f7220696e207265746972656d656e741c706572696f642e40496e76616c69645369676e617475726500120448496e76616c6964207369676e61747572652e304d656d6f546f6f4c617267650013047c5468652070726f7669646564206d656d6f20697320746f6f206c617267652e44416c7265616479496e4e65775261697365001404845468652066756e6420697320616c726561647920696e20604e65775261697365604856726644656c6179496e50726f6772657373001504b44e6f20636f6e747269627574696f6e7320616c6c6f77656420647572696e6720746865205652462064656c6179344e6f4c65617365506572696f640016042d0141206c6561736520706572696f6420686173206e6f742073746172746564207965742c2064756520746f20616e206f666673657420696e20746865207374617274696e6720626c6f636b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e010c0c2870616c6c65745f78636d1870616c6c65742c5175657279537461747573042c426c6f636b4e756d6265720110010c1c50656e64696e67100124726573706f6e6465723101015856657273696f6e65644d756c74694c6f636174696f6e00014c6d617962655f6d617463685f71756572696572050c01784f7074696f6e3c56657273696f6e65644d756c74694c6f636174696f6e3e0001306d617962655f6e6f74696679090c01404f7074696f6e3c2875382c207538293e00011c74696d656f757410012c426c6f636b4e756d6265720000003c56657273696f6e4e6f7469666965720801186f726967696e3101015856657273696f6e65644d756c74694c6f636174696f6e00012469735f616374697665b40110626f6f6c000100145265616479080120726573706f6e7365110c014456657273696f6e6564526573706f6e7365000108617410012c426c6f636b4e756d62657200020000050c04184f7074696f6e0404540131010108104e6f6e6500000010536f6d65040031010000010000090c04184f7074696f6e040454010d0c0108104e6f6e6500000010536f6d6504000d0c00000100000d0c00000408080800110c080c78636d4456657273696f6e6564526573706f6e73650001080856320400d105013076323a3a526573706f6e736500020008563304001906013076333a3a526573706f6e736500030000150c0000040810310100190c0000040c2c2410001d0c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401210c045300000400250c01185665633c543e0000210c0000040831011000250c000002210c00290c0c2870616c6c65745f78636d1870616c6c65745456657273696f6e4d6967726174696f6e53746167650001105c4d696772617465537570706f7274656456657273696f6e0000005c4d69677261746556657273696f6e4e6f74696669657273000100504e6f7469667943757272656e745461726765747304002d0c013c4f7074696f6e3c5665633c75383e3e000200684d696772617465416e644e6f746966794f6c6454617267657473000300002d0c04184f7074696f6e04045401340108104e6f6e6500000010536f6d650400340000010000310c0000040c1000350c00350c080c78636d4056657273696f6e65644173736574496400010408563304002d01012c76333a3a4173736574496400030000390c0c2870616c6c65745f78636d1870616c6c65746852656d6f74654c6f636b656446756e6769626c655265636f72640848436f6e73756d65724964656e7469666965720188304d6178436f6e73756d6572730000100118616d6f756e74180110753132380001146f776e65723101015856657273696f6e65644d756c74694c6f636174696f6e0001186c6f636b65723101015856657273696f6e65644d756c74694c6f636174696f6e000124636f6e73756d6572733d0c01d0426f756e6465645665633c28436f6e73756d65724964656e7469666965722c2075313238292c204d6178436f6e73756d6572733e00003d0c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401410c045300000400450c01185665633c543e0000410c00000408881800450c000002410c00490c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d0c045300000400510c01185665633c543e00004d0c0000040818310100510c0000024d0c00550c0c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108410154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652ec8506572686170732061206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304490154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c20636f6e73756d657273206f6620746865206c6f636b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e590c085070616c6c65745f6d6573736167655f717565756524426f6f6b537461746504344d6573736167654f726967696e01810600180114626567696e10012450616765496e64657800010c656e6410012450616765496e646578000114636f756e7410012450616765496e64657800014072656164795f6e65696768626f7572735d0c01844f7074696f6e3c4e65696768626f7572733c4d6573736167654f726967696e3e3e0001346d6573736167655f636f756e742c010c75363400011073697a652c010c75363400005d0c04184f7074696f6e04045401610c0108104e6f6e6500000010536f6d650400610c0000010000610c085070616c6c65745f6d6573736167655f7175657565284e65696768626f75727304344d6573736167654f726967696e0181060008011070726576810601344d6573736167654f726967696e0001106e657874810601344d6573736167654f726967696e0000650c0000040881061000690c085070616c6c65745f6d6573736167655f71756575651050616765081053697a650110204865617053697a65000018012472656d61696e696e6710011053697a6500013872656d61696e696e675f73697a6510011053697a6500012c66697273745f696e64657810011053697a65000114666972737410011053697a650001106c61737410011053697a65000110686561706d0c019c426f756e6465645665633c75382c20496e746f5533323c4865617053697a652c2053697a653e3e00006d0c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000710c0c5070616c6c65745f6d6573736167655f71756575651870616c6c6574144572726f720404540001202c4e6f745265617061626c65000008490150616765206973206e6f74207265617061626c65206265636175736520697420686173206974656d732072656d61696e696e6720746f2062652070726f63657373656420616e64206973206e6f74206f6c641c656e6f7567682e184e6f50616765000104845061676520746f2062652072656170656420646f6573206e6f742065786973742e244e6f4d657373616765000204a8546865207265666572656e636564206d65737361676520636f756c64206e6f7420626520666f756e642e40416c726561647950726f6365737365640003040101546865206d6573736167652077617320616c72656164792070726f63657373656420616e642063616e6e6f742062652070726f63657373656420616761696e2e18517565756564000404ac546865206d6573736167652069732071756575656420666f722066757475726520657865637574696f6e2e48496e73756666696369656e74576569676874000504190154686572652069732074656d706f726172696c79206e6f7420656e6f7567682077656967687420746f20636f6e74696e756520736572766963696e67206d657373616765732e6054656d706f726172696c79556e70726f6365737361626c65000610a854686973206d6573736167652069732074656d706f726172696c7920756e70726f6365737361626c652e00590153756368206572726f7273206172652065787065637465642c20627574206e6f742067756172616e746565642c20746f207265736f6c7665207468656d73656c766573206576656e7475616c6c79207468726f756768247265747279696e672e2c517565756550617573656400070cec5468652071756575652069732070617573656420616e64206e6f206d6573736167652063616e2062652065786563757465642066726f6d2069742e001d01546869732063616e206368616e676520617420616e792074696d6520616e64206d6179207265736f6c766520696e20746865206675747572652062792072652d747279696e672e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e750c0c4470616c6c65745f61737365745f726174651870616c6c6574144572726f7204045400010840556e6b6e6f776e41737365744b696e640000047854686520676976656e20617373657420494420697320756e6b6e6f776e2e34416c7265616479457869737473000104510154686520676976656e20617373657420494420616c72656164792068617320616e2061737369676e656420636f6e76657273696f6e207261746520616e642063616e6e6f742062652072652d637265617465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e790c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401f5010453000004007d0c01185665633c543e00007d0c000002f50100810c0c3070616c6c65745f62656566791870616c6c6574144572726f7204045400011060496e76616c69644b65794f776e65727368697050726f6f66000004310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f660001043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400020415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e50496e76616c6964436f6e66696775726174696f6e0003048c5375626d697474656420636f6e66696775726174696f6e20697320696e76616c69642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e850c0c4873705f636f6e73656e7375735f62656566790c6d6d72444265656679417574686f726974795365740458417574686f72697479536574436f6d6d69746d656e740130000c010869642c015463726174653a3a56616c696461746f72536574496400010c6c656e10010c7533320001446b65797365745f636f6d6d69746d656e74300158417574686f72697479536574436f6d6d69746d656e740000890c102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301b1011043616c6c016101245369676e6174757265019d05144578747261018d0c000400340000008d0c00000424910c950c990c9d0ca10ca90cad0cb10cb50c00910c10306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000950c10306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000990c10306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000009d0c10306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000a10c10306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c69747904045400000400a50c010c4572610000a50c102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000a90c10306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e63650404540000040015010120543a3a4e6f6e63650000ad0c10306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b57656967687404045400000000b10c086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400f4013042616c616e63654f663c543e0000b50c0c5c706f6c6b61646f745f72756e74696d655f636f6d6d6f6e18636c61696d734850726576616c69646174654174746573747304045400000000b90c0840706f6c6b61646f745f72756e74696d651c52756e74696d6500000000e01853797374656d011853797374656d401c4163636f756e7401010402000c4101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000010040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000010040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510308000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040510340400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d6265720100101000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003080000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010038040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004804001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010010100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104023059070400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d655570677261646500005d0704000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100b40400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100b40400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500005507040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01650101541830426c6f636b576569676874736507010207b0bde93603000b00204aa9d10113ffffffffffffffff222d0d1e00010bb8845c8f580113a3703d0ad7a370bd010b0098f73e5d0113ffffffffffffffbf010000222d0d1e00010bb80caff9cc0113a3703d0ad7a370fd010b00204aa9d10113ffffffffffffffff01070088526a74130000000000000040222d0d1e0000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e67746871073000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e74101000100000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e20446257656967687479074038ca38010000000098aaf904000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e7d073d0420706f6c6b61646f743c7061726974792d706f6c6b61646f74000000002a460f00000000004cdf6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a0600000017a6bc0d0062aeb30100000018ef58a3b67ba77001000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0500000049eaaf1b548a0cb00300000091d5df18b0d2cf58020000002a5e924655399e6001000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000fbc577b9d747efd60100000019000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978590108000014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e018d0700245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e6461010104051091070400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b757000010405047c040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e017501017808344d6178696d756d57656967687424400b00806e87740113cccccccccccccccc04290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b101032000000141d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e0018204e4f54453a5101202b20446570656e64656e742070616c6c657473272062656e63686d61726b73206d696768742072657175697265206120686967686572206c696d697420666f72207468652073657474696e672e205365742061c420686967686572206c696d697420756e646572206072756e74696d652d62656e63686d61726b736020666561747572652e01a1070120507265696d6167650120507265696d6167650c24537461747573466f720001040630a5070400049020546865207265717565737420737461747573206f66206120676976656e20686173682e4052657175657374537461747573466f720001040630ad070400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f7200010406bd07c107040000017d01018c0001c5070a1042616265011042616265442845706f6368496e64657801002c20000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f7269746965730100c9070400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f740100950120000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f740100950120000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e65737301000480000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e6050656e64696e6745706f6368436f6e6669674368616e676500009d0104000461012050656e64696e672065706f636820636f6e66696775726174696f6e206368616e676520746861742077696c6c206265206170706c696564207768656e20746865206e6578742065706f636820697320656e61637465642e384e65787452616e646f6d6e657373010004800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e3c4e657874417574686f7269746965730100c90704000460204e6578742065706f636820617574686f7269746965732e305365676d656e74496e6465780100101000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f8205765206d616b6520612074726164652d6f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101040510d50704000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a65640000dd0704000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e4c417574686f7256726652616e646f6d6e65737301008004001015012054686973206669656c642073686f756c6420616c7761797320626520706f70756c6174656420647572696e6720626c6f636b2070726f63657373696e6720756e6c6573731901207365636f6e6461727920706c61696e20736c6f74732061726520656e61626c65642028776869636820646f6e277420636f6e7461696e206120565246206f7574707574292e0049012049742069732073657420696e20606f6e5f66696e616c697a65602c206265666f72652069742077696c6c20636f6e7461696e207468652076616c75652066726f6d20746865206c61737420626c6f636b2e2845706f6368537461727401007c200000000000000000145d012054686520626c6f636b206e756d62657273207768656e20746865206c61737420616e642063757272656e742065706f6368206861766520737461727465642c20726573706563746976656c7920604e2d316020616e641420604e602e4901204e4f54453a20576520747261636b207468697320697320696e206f7264657220746f20616e6e6f746174652074686520626c6f636b206e756d626572207768656e206120676976656e20706f6f6c206f66590120656e74726f7079207761732066697865642028692e652e20697420776173206b6e6f776e20746f20636861696e206f6273657276657273292e2053696e63652065706f6368732061726520646566696e656420696e590120736c6f74732c207768696368206d617920626520736b69707065642c2074686520626c6f636b206e756d62657273206d6179206e6f74206c696e6520757020776974682074686520736c6f74206e756d626572732e204c6174656e657373010010100000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e2c45706f6368436f6e6669670000f50704000861012054686520636f6e66696775726174696f6e20666f72207468652063757272656e742065706f63682e2053686f756c64206e6576657220626520604e6f6e656020617320697420697320696e697469616c697a656420696e242067656e657369732e3c4e65787445706f6368436f6e6669670000f5070400082d012054686520636f6e66696775726174696f6e20666f7220746865206e6578742065706f63682c20604e6f6e65602069662074686520636f6e6669672077696c6c206e6f74206368616e6765e82028796f752063616e2066616c6c6261636b20746f206045706f6368436f6e6669676020696e737465616420696e20746861742063617365292e34536b697070656445706f6368730100f90704002029012041206c697374206f6620746865206c6173742031303020736b69707065642065706f63687320616e642074686520636f72726573706f6e64696e672073657373696f6e20696e64657870207768656e207468652065706f63682077617320736b69707065642e0031012054686973206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e2070726f6f66732e20416e2065717569766f636174696f6e2070726f6f663501206d75737420636f6e7461696e732061206b65792d6f776e6572736869702070726f6f6620666f72206120676976656e2073657373696f6e2c207468657265666f7265207765206e656564206139012077617920746f2074696520746f6765746865722073657373696f6e7320616e642065706f636820696e64696365732c20692e652e207765206e65656420746f2076616c69646174652074686174290120612076616c696461746f722077617320746865206f776e6572206f66206120676976656e206b6579206f6e206120676976656e2073657373696f6e2c20616e64207768617420746865b0206163746976652065706f636820696e6465782077617320647572696e6720746861742073657373696f6e2e01850100103445706f63684475726174696f6e2c2060090000000000000cec2054686520616d6f756e74206f662074696d652c20696e20736c6f74732c207468617420656163682065706f63682073686f756c64206c6173742e1901204e4f54453a2043757272656e746c79206974206973206e6f7420706f737369626c6520746f206368616e6765207468652065706f6368206475726174696f6e20616674657221012074686520636861696e2068617320737461727465642e20417474656d7074696e6720746f20646f20736f2077696c6c20627269636b20626c6f636b2070726f64756374696f6e2e444578706563746564426c6f636b54696d652c20701700000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e384d6178417574686f7269746965731010a08601000488204d6178206e756d626572206f6620617574686f72697469657320616c6c6f776564344d61784e6f6d696e61746f727310100002000004d420546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320666f7220656163682076616c696461746f722e010508022454696d657374616d70012454696d657374616d70080c4e6f7701002c20000000000000000004a0205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100b4040010d82057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e00550120546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e4501204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e01a9010004344d696e696d756d506572696f642c20b80b000000000000188c20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e004d012042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e4901206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f61012064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e00031c496e6469636573011c496e646963657304204163636f756e7473000104021009080400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01ad010190041c4465706f736974184000e8764817000000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e010d08042042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402001108040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402002108040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e14486f6c647301010402002d080400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a6573010104020041080400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e01b901019414484578697374656e7469616c4465706f736974184000e40b5402000000000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7310103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d61785265736572766573101032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e204d6178486f6c647310100100000004190120546865206d6178696d756d206e756d626572206f6620686f6c647320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e284d6178467265657a657310100800000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e01550805485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c69657201008d0640000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100590804000000019c04604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e002028417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000061c5374616b696e67011c5374616b696e67943856616c696461746f72436f756e740100101000000000049c2054686520696465616c206e756d626572206f66206163746976652076616c696461746f72732e544d696e696d756d56616c696461746f72436f756e740100101000000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100bd0104000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010405000004000c0101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e404d696e4e6f6d696e61746f72426f6e64010018400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f662061206e6f6d696e61746f722e404d696e56616c696461746f72426f6e64010018400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f6620612076616c696461746f722e484d696e696d756d4163746976655374616b65010018400000000000000000000000000000000004110120546865206d696e696d756d20616374697665206e6f6d696e61746f72207374616b65206f6620746865206c617374207375636365737366756c20656c656374696f6e2e344d696e436f6d6d697373696f6e0100a810000000000ce820546865206d696e696d756d20616d6f756e74206f6620636f6d6d697373696f6e20746861742076616c696461746f72732063616e207365742e00802049662073657420746f206030602c206e6f206c696d6974206578697374732e184c656467657200010402005d080400104501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e007501204e6f74653a20416c6c2074686520726561647320616e64206d75746174696f6e7320746f20746869732073746f72616765202a4d5553542a20626520646f6e65207468726f75676820746865206d6574686f6473206578706f736564e8206279205b605374616b696e674c6564676572605d20746f20656e73757265206461746120616e64206c6f636b20636f6e73697374656e63792e1450617965650101040500a404000ce42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e2856616c696461746f72730101040500ac0800000c450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e50436f756e746572466f7256616c696461746f7273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170484d617856616c696461746f7273436f756e7400001004000c310120546865206d6178696d756d2076616c696461746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e284e6f6d696e61746f72730001040500710804004c750120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f207468656972206e6f6d696e6174696f6e20707265666572656e6365732c206e616d656c79207468652076616c696461746f72732074686174582074686579207769736820746f20737570706f72742e003901204e6f7465207468617420746865206b657973206f6620746869732073746f72616765206d6170206d69676874206265636f6d65206e6f6e2d6465636f6461626c6520696e2063617365207468652d01206163636f756e742773205b604e6f6d696e6174696f6e7351756f74613a3a4d61784e6f6d696e6174696f6e73605d20636f6e66696775726174696f6e206973206465637265617365642e9020496e2074686973207261726520636173652c207468657365206e6f6d696e61746f7273650120617265207374696c6c206578697374656e7420696e2073746f726167652c207468656972206b657920697320636f727265637420616e64207265747269657661626c652028692e652e2060636f6e7461696e735f6b657960710120696e6469636174657320746861742074686579206578697374292c206275742074686569722076616c75652063616e6e6f74206265206465636f6465642e205468657265666f72652c20746865206e6f6e2d6465636f6461626c656d01206e6f6d696e61746f72732077696c6c206566666563746976656c79206e6f742d65786973742c20756e74696c20746865792072652d7375626d697420746865697220707265666572656e6365732073756368207468617420697401012069732077697468696e2074686520626f756e6473206f6620746865206e65776c79207365742060436f6e6669673a3a4d61784e6f6d696e6174696f6e73602e006101205468697320696d706c696573207468617420603a3a697465725f6b65797328292e636f756e7428296020616e6420603a3a6974657228292e636f756e74282960206d696768742072657475726e20646966666572656e746d012076616c75657320666f722074686973206d61702e204d6f72656f7665722c20746865206d61696e20603a3a636f756e7428296020697320616c69676e656420776974682074686520666f726d65722c206e616d656c79207468656c206e756d626572206f66206b65797320746861742065786973742e006d01204c6173746c792c20696620616e79206f6620746865206e6f6d696e61746f7273206265636f6d65206e6f6e2d6465636f6461626c652c20746865792063616e206265206368696c6c656420696d6d6564696174656c7920766961b8205b6043616c6c3a3a6368696c6c5f6f74686572605d20646973706174636861626c6520627920616e796f6e652e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e50436f756e746572466f724e6f6d696e61746f7273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170484d61784e6f6d696e61746f7273436f756e7400001004000c310120546865206d6178696d756d206e6f6d696e61746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e2843757272656e744572610000100400105c205468652063757272656e742065726120696e6465782e006501205468697320697320746865206c617465737420706c616e6e6564206572612c20646570656e64696e67206f6e20686f77207468652053657373696f6e2070616c6c657420717565756573207468652076616c696461746f7280207365742c206974206d6967687420626520616374697665206f72206e6f742e2441637469766545726100007908040010d820546865206163746976652065726120696e666f726d6174696f6e2c20697420686f6c647320696e64657820616e642073746172742e0059012054686520616374697665206572612069732074686520657261206265696e672063757272656e746c792072657761726465642e2056616c696461746f7220736574206f66207468697320657261206d757374206265ac20657175616c20746f205b6053657373696f6e496e746572666163653a3a76616c696461746f7273605d2e5445726173537461727453657373696f6e496e6465780001040510100400103101205468652073657373696f6e20696e646578206174207768696368207468652065726120737461727420666f7220746865206c6173742060484953544f52595f44455054486020657261732e006101204e6f74653a205468697320747261636b7320746865207374617274696e672073657373696f6e2028692e652e2073657373696f6e20696e646578207768656e20657261207374617274206265696e672061637469766529f020666f7220746865206572617320696e20605b43757272656e74457261202d20484953544f52595f44455054482c2043757272656e744572615d602e2c457261735374616b65727301010805058108f00c0000001878204578706f73757265206f662076616c696461746f72206174206572612e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e48457261735374616b657273436c697070656401010805058108f00c0000002c9820436c6970706564204578706f73757265206f662076616c696461746f72206174206572612e00590120546869732069732073696d696c617220746f205b60457261735374616b657273605d20627574206e756d626572206f66206e6f6d696e61746f7273206578706f736564206973207265647563656420746f20746865dc2060543a3a4d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732e1d0120284e6f74653a20746865206669656c642060746f74616c6020616e6420606f776e60206f6620746865206578706f737572652072656d61696e7320756e6368616e676564292ef42054686973206973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e005d012054686973206973206b657965642066697374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e484572617356616c696461746f72507265667301010805058108ac0800001411012053696d696c617220746f2060457261735374616b657273602c207468697320686f6c64732074686520707265666572656e636573206f662076616c696461746f72732e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4c4572617356616c696461746f7252657761726400010405101804000c09012054686520746f74616c2076616c696461746f7220657261207061796f757420666f7220746865206c6173742060484953544f52595f44455054486020657261732e0021012045726173207468617420686176656e27742066696e697368656420796574206f7220686173206265656e2072656d6f76656420646f65736e27742068617665207265776172642e4045726173526577617264506f696e74730101040510850814000000000008ac205265776172647320666f7220746865206c6173742060484953544f52595f44455054486020657261732e250120496620726577617264206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207265776172642069732072657475726e65642e3845726173546f74616c5374616b65010104051018400000000000000000000000000000000008ec2054686520746f74616c20616d6f756e74207374616b656420666f7220746865206c6173742060484953544f52595f44455054486020657261732e1d0120496620746f74616c206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207374616b652069732072657475726e65642e20466f7263654572610100b804000454204d6f6465206f662065726120666f7263696e672e4c536c6173685265776172644672616374696f6e0100a810000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401001840000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010405109508040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100590704001025012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e00c8204d75737420636f6e7461696e7320696e666f726d6174696f6e20666f72206572617320666f72207468652072616e67653abc20605b6163746976655f657261202d20626f756e64696e675f6475726174696f6e3b206163746976655f6572615d604c56616c696461746f72536c617368496e457261000108050581089d08040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e4572610001080505810818040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e730001040500a1080400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c617368010104059108a508800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e5443757272656e74506c616e6e656453657373696f6e01001010000000000ce820546865206c61737420706c616e6e65642073657373696f6e207363686564756c6564206279207468652073657373696f6e2070616c6c65742e0071012054686973206973206261736963616c6c7920696e2073796e632077697468207468652063616c6c20746f205b6070616c6c65745f73657373696f6e3a3a53657373696f6e4d616e616765723a3a6e65775f73657373696f6e605d2e4c4f6666656e64696e6756616c696461746f72730100a908040024690120496e6469636573206f662076616c696461746f727320746861742068617665206f6666656e64656420696e20746865206163746976652065726120616e6420776865746865722074686579206172652063757272656e746c79282064697361626c65642e00690120546869732076616c75652073686f756c642062652061207375706572736574206f662064697361626c65642076616c696461746f72732073696e6365206e6f7420616c6c206f6666656e636573206c65616420746f2074686571012076616c696461746f72206265696e672064697361626c65642028696620746865726520776173206e6f20736c617368292e2054686973206973206e656564656420746f20747261636b207468652070657263656e74616765206f6649012076616c696461746f727320746861742068617665206f6666656e64656420696e207468652063757272656e74206572612c20656e737572696e672061206e65772065726120697320666f72636564206966750120604f6666656e64696e6756616c696461746f72735468726573686f6c646020697320726561636865642e205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e6471012077686574686572206120676976656e2076616c696461746f72206861732070726576696f75736c79206f6666656e646564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e38207468652065726120656e64732e384368696c6c5468726573686f6c640000c90104000c510120546865207468726573686f6c6420666f72207768656e2075736572732063616e2073746172742063616c6c696e6720606368696c6c5f6f746865726020666f72206f746865722076616c696461746f7273202f5901206e6f6d696e61746f72732e20546865207468726573686f6c6420697320636f6d706172656420746f207468652061637475616c206e756d626572206f662076616c696461746f7273202f206e6f6d696e61746f72732901202860436f756e74466f722a602920696e207468652073797374656d20636f6d706172656420746f2074686520636f6e66696775726564206d61782028604d61782a436f756e7460292e01c10101a01830486973746f72794465707468101054000000508c204e756d626572206f66206572617320746f206b65657020696e20686973746f72792e00e820466f6c6c6f77696e6720696e666f726d6174696f6e206973206b65707420666f72206572617320696e20605b63757272656e745f657261202d090120486973746f727944657074682c2063757272656e745f6572615d603a2060457261735374616b657273602c2060457261735374616b657273436c6970706564602c050120604572617356616c696461746f725072656673602c20604572617356616c696461746f72526577617264602c206045726173526577617264506f696e7473602cac206045726173546f74616c5374616b65602c206045726173537461727453657373696f6e496e646578602c8420605374616b696e674c65646765722e636c61696d65645f72657761726473602e00e4204d757374206265206d6f7265207468616e20746865206e756d626572206f6620657261732064656c617965642062792073657373696f6e2ef820492e652e2061637469766520657261206d75737420616c7761797320626520696e20686973746f72792e20492e652e20606163746976655f657261203ec42063757272656e745f657261202d20686973746f72795f646570746860206d7573742062652067756172616e746565642e001101204966206d6967726174696e6720616e206578697374696e672070616c6c65742066726f6d2073746f726167652076616c756520746f20636f6e6669672076616c75652cec20746869732073686f756c642062652073657420746f2073616d652076616c7565206f72206772656174657220617320696e2073746f726167652e001501204e6f74653a2060486973746f727944657074686020697320757365642061732074686520757070657220626f756e6420666f72207468652060426f756e646564566563601101206974656d20605374616b696e674c65646765722e636c61696d65645f72657761726473602e2053657474696e6720746869732076616c7565206c6f776572207468616ed820746865206578697374696e672076616c75652063616e206c65616420746f20696e636f6e73697374656e6369657320696e20746865150120605374616b696e674c65646765726020616e642077696c6c206e65656420746f2062652068616e646c65642070726f7065726c7920696e2061206d6967726174696f6e2ef020546865207465737420607265647563696e675f686973746f72795f64657074685f616272757074602073686f77732074686973206566666563742e3853657373696f6e735065724572611010060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e10101c00000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e48536c61736844656665724475726174696f6e10101b000000100101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e000d0120546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2053657420746f203020696620736c617368657315012073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f7220696e74657276656e74696f6e2e804d61784e6f6d696e61746f72526577617264656450657256616c696461746f7210100002000010f820546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320726577617264656420666f7220656163682076616c696461746f722e00510120466f7220656163682076616c696461746f72206f6e6c79207468652060244d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732063616e390120636c61696d207468656972207265776172642e2054686973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e484d6178556e6c6f636b696e674368756e6b7310102000000028050120546865206d6178696d756d206e756d626572206f662060756e6c6f636b696e6760206368756e6b732061205b605374616b696e674c6564676572605d2063616e090120686176652e204566666563746976656c792064657465726d696e657320686f77206d616e7920756e6971756520657261732061207374616b6572206d61792062653820756e626f6e64696e6720696e2e00f8204e6f74653a20604d6178556e6c6f636b696e674368756e6b736020697320757365642061732074686520757070657220626f756e6420666f722074686501012060426f756e64656456656360206974656d20605374616b696e674c65646765722e756e6c6f636b696e67602e2053657474696e6720746869732076616c75650501206c6f776572207468616e20746865206578697374696e672076616c75652063616e206c65616420746f20696e636f6e73697374656e6369657320696e20746865090120605374616b696e674c65646765726020616e642077696c6c206e65656420746f2062652068616e646c65642070726f7065726c7920696e20612072756e74696d650501206d6967726174696f6e2e20546865207465737420607265647563696e675f6d61785f756e6c6f636b696e675f6368756e6b735f616272757074602073686f7773342074686973206566666563742e01b10807204f6666656e63657301204f6666656e636573081c5265706f7274730001040530b508040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e6465780101080505b90881010400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e0001bc00000828486973746f726963616c0000000000211c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100bd010400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010010100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100b4040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100bd080400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100cd010400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500e5010400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405c50800040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01e10101c40001cd08091c4772616e647061011c4772616e647061181453746174650100d10804000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e67650000d508040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000010040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400007c0400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e74536574496401002c200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e000104052c1004002859012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e0045012054686973206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e2070726f6f66732e20416e2065717569766f636174696f6e2070726f6f66206d7573744d0120636f6e7461696e732061206b65792d6f776e6572736869702070726f6f6620666f72206120676976656e2073657373696f6e2c207468657265666f7265207765206e65656420612077617920746f20746965450120746f6765746865722073657373696f6e7320616e64204752414e44504120736574206964732c20692e652e207765206e65656420746f2076616c6964617465207468617420612076616c696461746f7241012077617320746865206f776e6572206f66206120676976656e206b6579206f6e206120676976656e2073657373696f6e2c20616e642077686174207468652061637469766520736574204944207761735420647572696e6720746861742073657373696f6e2e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e01010201c80c384d6178417574686f7269746965731010a0860100045c204d617820417574686f72697469657320696e20757365344d61784e6f6d696e61746f727310100002000004d420546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320666f7220656163682076616c696461746f722e584d6178536574496453657373696f6e456e74726965732c20a80000000000000018390120546865206d6178696d756d206e756d626572206f6620656e747269657320746f206b65657020696e207468652073657420696420746f2073657373696f6e20696e646578206d617070696e672e0031012053696e6365207468652060536574496453657373696f6e60206d6170206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e73207468697329012076616c75652073686f756c642072656c61746520746f2074686520626f6e64696e67206475726174696f6e206f66207768617465766572207374616b696e672073797374656d2069733501206265696e6720757365642028696620616e79292e2049662065717569766f636174696f6e2068616e646c696e67206973206e6f7420656e61626c6564207468656e20746869732076616c7565342063616e206265207a65726f2e01dd080b20496d4f6e6c696e650120496d4f6e6c696e651038486561727462656174416674657201001010000000002c1d012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e207468652063757272656e74242073657373696f6e2e0025012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c642066616c6c350120726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e20546865206964656120697320746f206669727374207761697420666f721901207468652076616c696461746f727320746f2070726f64756365206120626c6f636b20696e207468652063757272656e742073657373696f6e2c20736f207468617420746865a820686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e00390120546869732076616c75652077696c6c206f6e6c79206265207573656420617320612066616c6c6261636b206966207765206661696c20746f2067657420612070726f7065722073657373696f6e2d012070726f677265737320657374696d6174652066726f6d20604e65787453657373696f6e526f746174696f6e602c2061732074686f736520657374696d617465732073686f756c642062650101206d6f7265206163637572617465207468656e207468652076616c75652077652063616c63756c61746520666f7220604865617274626561744166746572602e104b6579730100e108040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e4852656365697665644865617274626561747300010805057cb4040004350120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206053657373696f6e496e6465786020616e64206041757468496e646578602e38417574686f726564426c6f636b730101080505810810100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206056616c696461746f7249643c543e6020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e01310201dc0440556e7369676e65645072696f726974792c20ffffffffffffffff10f0204120636f6e66696775726174696f6e20666f722062617365207072696f72697479206f6620756e7369676e6564207472616e73616374696f6e732e0015012054686973206973206578706f73656420736f20746861742069742063616e2062652074756e656420666f7220706172746963756c61722072756e74696d652c207768656eb4206d756c7469706c652070616c6c6574732073656e6420756e7369676e6564207472616e73616374696f6e732e01e9080c48417574686f72697479446973636f7665727900000000000d20547265617375727901205472656173757279183450726f706f73616c436f756e74010010100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001040510ed080400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100f108040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e285370656e64436f756e74010010100000000004a42054686520636f756e74206f66207370656e647320746861742068617665206265656e206d6164652e185370656e64730001040510f508040004d0205370656e647320746861742068617665206265656e20617070726f76656420616e64206265696e672070726f6365737365642e014102010101203050726f706f73616c426f6e64fd081050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d18400010a5d4e80000000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756d01094401005039278c0400000000000000000000044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f64101000460500048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726efd0810102700000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c6574496405092070792f74727372790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731010640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e305061796f7574506572696f641010809706000419012054686520706572696f6420647572696e6720776869636820616e20617070726f766564207472656173757279207370656e642068617320746f20626520636c61696d65642e0109091340436f6e76696374696f6e566f74696e670140436f6e76696374696f6e566f74696e670824566f74696e67466f7201010805050d091109d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008750120416c6c20766f74696e6720666f72206120706172746963756c617220766f74657220696e206120706172746963756c617220766f74696e6720636c6173732e2057652073746f7265207468652062616c616e636520666f72207468659c206e756d626572206f6620766f74657320746861742077652068617665207265636f726465642e34436c6173734c6f636b73466f720101040500310904000c69012054686520766f74696e6720636c617373657320776869636820686176652061206e6f6e2d7a65726f206c6f636b20726571756972656d656e7420616e6420746865206c6f636b20616d6f756e747320776869636820746865796d0120726571756972652e205468652061637475616c20616d6f756e74206c6f636b6564206f6e20626568616c66206f6620746869732070616c6c65742073686f756c6420616c7761797320626520746865206d6178696d756d206f662c2074686973206c6973742e01490201510108204d6178566f74657310100002000010f020546865206d6178696d756d206e756d626572206f6620636f6e63757272656e7420766f74657320616e206163636f756e74206d617920686176652e00550120416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206c617267652076616c75652063616e206c65616420746f2065787472696e736963732077697468206c61726765c02077656967687420657374696d6174696f6e3a20736565206064656c65676174656020666f7220696e7374616e63652e44566f74654c6f636b696e67506572696f641010c0890100109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e013d0914245265666572656e646101245265666572656e6461143c5265666572656e64756d436f756e74010010100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e445265666572656e64756d496e666f466f7200010402104109040004b420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e28547261636b517565756501010405590161090400105d012054686520736f72746564206c697374206f66207265666572656e646120726561647920746f206265206465636964656420627574206e6f7420796574206265696e6720646563696465642c206f7264657265642062797c20636f6e76696374696f6e2d776569676874656420617070726f76616c732e00410120546869732073686f756c6420626520656d70747920696620604465636964696e67436f756e7460206973206c657373207468616e2060547261636b496e666f3a3a6d61785f6465636964696e67602e344465636964696e67436f756e7401010405590110100000000004c420546865206e756d626572206f66207265666572656e6461206265696e6720646563696465642063757272656e746c792e284d657461646174614f66000104021030040018050120546865206d6574616461746120697320612067656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720746865207265666572656e64756d2e490120546865206048617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e015d0201550114445375626d697373696f6e4465706f736974184000e40b5402000000000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e244d617851756575656410106400000004e4204d6178696d756d2073697a65206f6620746865207265666572656e64756d20717565756520666f7220612073696e676c6520747261636b2e44556e6465636964696e6754696d656f757410108013030008550120546865206e756d626572206f6620626c6f636b73206166746572207375626d697373696f6e20746861742061207265666572656e64756d206d75737420626567696e206265696e6720646563696465642062792ee4204f6e63652074686973207061737365732c207468656e20616e796f6e65206d61792063616e63656c20746865207265666572656e64756d2e34416c61726d496e74657276616c1010010000000c5d01205175616e74697a6174696f6e206c6576656c20666f7220746865207265666572656e64756d2077616b657570207363686564756c65722e204120686967686572206e756d6265722077696c6c20726573756c7420696e5d012066657765722073746f726167652072656164732f777269746573206e656564656420666f7220736d616c6c657220766f746572732c2062757420616c736f20726573756c7420696e2064656c61797320746f207468655501206175746f6d61746963207265666572656e64756d20737461747573206368616e6765732e204578706c6963697420736572766963696e6720696e737472756374696f6e732061726520756e61666665637465642e18547261636b736d09a9153c000010726f6f74010000000080c6a47e8d03000000000000000000b00400000027060040380000403800000290d73e0d000000005743de13000000005443de13000000000000ca9a3b000000000065cd1d01004877686974656c69737465645f63616c6c65726400000000407a10f35a000000000000000000002c01000000270600640000006400000002ec972510000000007b573c170000000042392f1200000000020e00840000000000d6e61f010000000039627902000000000a00347374616b696e675f61646d696e0a00000000203d88792d00000000000000000000b004000000270600080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff0b00247472656173757265720a00000000a0724e180900000000000000000000b004000000270600c0890100403800000290d73e0d000000005743de13000000005443de13000000000000ca9a3b000000000065cd1d0c002c6c656173655f61646d696e0a00000000203d88792d00000000000000000000b004000000270600080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff0d004066656c6c6f77736869705f61646d696e0a00000000203d88792d00000000000000000000b004000000270600080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff0e003467656e6572616c5f61646d696e0a00000000203d88792d00000000000000000000b00400000027060008070000640000000290d73e0d000000005743de13000000005443de13000000000259a2f40200000000a3296b05000000002e6b4afdffffffff0f003461756374696f6e5f61646d696e0a00000000203d88792d00000000000000000000b00400000027060008070000640000000290d73e0d000000005743de13000000005443de13000000000259a2f40200000000a3296b05000000002e6b4afdffffffff1400507265666572656e64756d5f63616e63656c6c6572e803000000407a10f35a00000000000000000000b0040000c0890100080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff1500447265666572656e64756d5f6b696c6c6572e803000000406352bfc601000000000000000000b004000000270600080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff1e0030736d616c6c5f746970706572c800000000e40b540200000000000000000000000a000000c0890100640000000a00000000499149150065cd1d00ca9a3b02f9ba1800000000002a4d3100000000006b59e7ffffffffff1f00286269675f7469707065726400000000e8764817000000000000000000000064000000c0890100580200006400000000499149150065cd1d00ca9a3b02694f3f000000000035967d0000000000e534c1ffffffffff200034736d616c6c5f7370656e646572320000000010a5d4e800000000000000000000006009000000270600807000004038000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff2100386d656469756d5f7370656e6465723200000000204aa9d10100000000000000000000600900000027060000e1000040380000005b01f6300065cd1d00ca9a3b021161db0000000000bfd1aa010000000020972affffffffff22002c6269675f7370656e6465723200000000409452a303000000000000000000006009000000270600c0890100403800000000ca9a3b0065cd1d00ca9a3b02413cb00100000000755d34030000000045d165feffffffff04e020496e666f726d6174696f6e20636f6e6365726e696e672074686520646966666572656e74207265666572656e64756d20747261636b732e018509152457686974656c697374012457686974656c697374043c57686974656c697374656443616c6c00010405308804000001850201bd06000189091718436c61696d730118436c61696d731418436c61696d730001040695021804000014546f74616c0100184000000000000000000000000000000000001c56657374696e670001040695029d02040010782056657374696e67207363686564756c6520666f72206120636c61696d2e0d012046697273742062616c616e63652069732074686520746f74616c20616d6f756e7420746861742073686f756c642062652068656c6420666f722076657374696e672ee4205365636f6e642062616c616e636520697320686f77206d7563682073686f756c6420626520756e6c6f636b65642070657220626c6f636b2ecc2054686520626c6f636b206e756d626572206973207768656e207468652076657374696e672073686f756c642073746172742e1c5369676e696e67000104069502a502040004c0205468652073746174656d656e74206b696e642074686174206d757374206265207369676e65642c20696620616e792e24507265636c61696d73000104060095020400042d01205072652d636c61696d656420457468657265756d206163636f756e74732c20627920746865204163636f756e74204944207468617420746865792061726520636c61696d656420746f2e01890201d106041850726566697834888450617920444f547320746f2074686520506f6c6b61646f74206163636f756e743a00018d09181c56657374696e67011c56657374696e67081c56657374696e6700010402009109040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100990904000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01ad0201d50608444d696e5665737465645472616e73666572184000e40b5402000000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c657310101c00000000019d09191c5574696c6974790001b50201d906044c626174636865645f63616c6c735f6c696d69741010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01a1091a204964656e7469747901204964656e7469747910284964656e746974794f660001040500a50904000c210120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e1c53757065724f66000104020051030400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f660101040500b50944000000000000000000000000000000000014b820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e28526567697374726172730100bd090400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e01bd0201dd06183042617369634465706f7369741840007db52a2f000000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564206964656e74697479304669656c644465706f736974184000cd5627000000000000000000000000042d012054686520616d6f756e742068656c64206f6e206465706f73697420706572206164646974696f6e616c206669656c6420666f7220612072656769737465726564206964656e746974792e445375624163636f756e744465706f736974184080f884b02e00000000000000000000000c65012054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564207375626163636f756e742e20546869732073686f756c64206163636f756e7420666f7220746865206661637465012074686174206f6e652073746f72616765206974656d27732076616c75652077696c6c20696e637265617365206279207468652073697a65206f6620616e206163636f756e742049442c20616e642074686572652077696c6c350120626520616e6f746865722074726965206974656d2077686f73652076616c7565206973207468652073697a65206f6620616e206163636f756e7420494420706c75732033322062797465732e384d61785375624163636f756e7473101064000000040d0120546865206d6178696d756d206e756d626572206f66207375622d6163636f756e747320616c6c6f77656420706572206964656e746966696564206163636f756e742e4c4d61784164646974696f6e616c4669656c6473101064000000086501204d6178696d756d206e756d626572206f66206164646974696f6e616c206669656c64732074686174206d61792062652073746f72656420696e20616e2049442e204e656564656420746f20626f756e642074686520492f4fe020726571756972656420746f2061636365737320616e206964656e746974792c206275742063616e2062652070726574747920686967682e344d617852656769737472617273101014000000085101204d61786d696d756d206e756d626572206f66207265676973747261727320616c6c6f77656420696e207468652073797374656d2e204e656564656420746f20626f756e642074686520636f6d706c65786974797c206f662c20652e672e2c207570646174696e67206a756467656d656e74732e01cd091c1450726f7879011450726f7879081c50726f786965730101040500d1094400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500e10944000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01610301e106184050726f78794465706f7369744261736518400084b2952e000000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f7218408066ab1300000000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f7869657310102000000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e6710102000000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400084b2952e000000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000cd562700000000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e01f1091d204d756c746973696701204d756c746973696704244d756c7469736967730001080502f509f909040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e016d0301e5060c2c4465706f736974426173651840008c61c52e000000000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f72184000d012130000000000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f7269657310106400000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e01010a1e20426f756e746965730120426f756e74696573102c426f756e7479436f756e74010010100000000004c0204e756d626572206f6620626f756e74792070726f706f73616c7320746861742068617665206265656e206d6164652e20426f756e746965730001040510050a0400047820426f756e7469657320746861742068617665206265656e206d6164652e48426f756e74794465736372697074696f6e7300010405100d0a0400048020546865206465736372697074696f6e206f66206561636820626f756e74792e3c426f756e7479417070726f76616c730100f108040004ec20426f756e747920696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f74207965742066756e6465642e01790301e9062444426f756e74794465706f73697442617365184000e40b5402000000000000000000000004e82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120626f756e74792070726f706f73616c2e60426f756e74794465706f7369745061796f757444656c6179101000c20100045901205468652064656c617920706572696f6420666f72207768696368206120626f756e74792062656e6566696369617279206e65656420746f2077616974206265666f726520636c61696d20746865207061796f75742e48426f756e7479557064617465506572696f64101080c61300046c20426f756e7479206475726174696f6e20696e20626c6f636b732e6043757261746f724465706f7369744d756c7469706c696572fd081020a10700101901205468652063757261746f72206465706f7369742069732063616c63756c6174656420617320612070657263656e74616765206f66207468652063757261746f72206665652e0039012054686973206465706f73697420686173206f7074696f6e616c20757070657220616e64206c6f77657220626f756e64732077697468206043757261746f724465706f7369744d61786020616e6454206043757261746f724465706f7369744d696e602e4443757261746f724465706f7369744d61780109440100204aa9d10100000000000000000000044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4443757261746f724465706f7369744d696e0109440100e87648170000000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e48426f756e747956616c75654d696e696d756d184000e876481700000000000000000000000470204d696e696d756d2076616c756520666f72206120626f756e74792e48446174614465706f73697450657242797465184000e1f5050000000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e4c4d6178696d756d526561736f6e4c656e6774681010004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756501110a22344368696c64426f756e7469657301344368696c64426f756e7469657314404368696c64426f756e7479436f756e7401001010000000000480204e756d626572206f6620746f74616c206368696c6420626f756e746965732e4c506172656e744368696c64426f756e74696573010104051010100000000008b0204e756d626572206f66206368696c6420626f756e746965732070657220706172656e7420626f756e74792ee0204d6170206f6620706172656e7420626f756e747920696e64657820746f206e756d626572206f66206368696c6420626f756e746965732e344368696c64426f756e7469657300010805057c150a04000494204368696c6420626f756e7469657320746861742068617665206265656e2061646465642e5c4368696c64426f756e74794465736372697074696f6e7300010405100d0a0400049820546865206465736372697074696f6e206f662065616368206368696c642d626f756e74792e4c4368696c6472656e43757261746f72466565730101040510184000000000000000000000000000000000040101205468652063756d756c6174697665206368696c642d626f756e74792063757261746f722066656520666f72206561636820706172656e7420626f756e74792e017d0301ed0608644d61784163746976654368696c64426f756e7479436f756e74101064000000041d01204d6178696d756d206e756d626572206f66206368696c6420626f756e7469657320746861742063616e20626520616464656420746f206120706172656e7420626f756e74792e5c4368696c64426f756e747956616c75654d696e696d756d184000e40b540200000000000000000000000488204d696e696d756d2076616c756520666f722061206368696c642d626f756e74792e011d0a2668456c656374696f6e50726f76696465724d756c746950686173650168456c656374696f6e50726f76696465724d756c746950686173652814526f756e64010010100100000018ac20496e7465726e616c20636f756e74657220666f7220746865206e756d626572206f6620726f756e64732e00550120546869732069732075736566756c20666f722064652d6475706c69636174696f6e206f66207472616e73616374696f6e73207375626d697474656420746f2074686520706f6f6c2c20616e642067656e6572616c6c20646961676e6f7374696373206f66207468652070616c6c65742e004d012054686973206973206d6572656c7920696e6372656d656e746564206f6e6365207065722065766572792074696d65207468617420616e20757073747265616d2060656c656374602069732063616c6c65642e3043757272656e7450686173650100f9060400043c2043757272656e742070686173652e38517565756564536f6c7574696f6e0000210a04000c3d012043757272656e74206265737420736f6c7574696f6e2c207369676e6564206f7220756e7369676e65642c2071756575656420746f2062652072657475726e65642075706f6e2060656c656374602e006020416c7761797320736f727465642062792073636f72652e20536e617073686f740000290a04000c7020536e617073686f742064617461206f662074686520726f756e642e005d01205468697320697320637265617465642061742074686520626567696e6e696e67206f6620746865207369676e656420706861736520616e6420636c65617265642075706f6e2063616c6c696e672060656c656374602e38446573697265645461726765747300001004000ccc2044657369726564206e756d626572206f66207461726765747320746f20656c65637420666f72207468697320726f756e642e00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e40536e617073686f744d657461646174610000590404000c9820546865206d65746164617461206f6620746865205b60526f756e64536e617073686f74605d00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e645369676e65645375626d697373696f6e4e657874496e646578010010100000000024010120546865206e65787420696e64657820746f2062652061737369676e656420746f20616e20696e636f6d696e67207369676e6564207375626d697373696f6e2e007501204576657279206163636570746564207375626d697373696f6e2069732061737369676e6564206120756e6971756520696e6465783b207468617420696e64657820697320626f756e6420746f207468617420706172746963756c61726501207375626d697373696f6e20666f7220746865206475726174696f6e206f662074686520656c656374696f6e2e204f6e20656c656374696f6e2066696e616c697a6174696f6e2c20746865206e65787420696e6465782069733020726573657420746f20302e0069012057652063616e2774206a7573742075736520605369676e65645375626d697373696f6e496e64696365732e6c656e2829602c206265636175736520746861742773206120626f756e646564207365743b20706173742069747359012063617061636974792c2069742077696c6c2073696d706c792073617475726174652e2057652063616e2774206a7573742069746572617465206f76657220605369676e65645375626d697373696f6e734d6170602cf4206265636175736520697465726174696f6e20697320736c6f772e20496e73746561642c2077652073746f7265207468652076616c756520686572652e5c5369676e65645375626d697373696f6e496e64696365730100350a0400186d01204120736f727465642c20626f756e64656420766563746f72206f6620602873636f72652c20626c6f636b5f6e756d6265722c20696e64657829602c20776865726520656163682060696e6465786020706f696e747320746f2061782076616c756520696e20605369676e65645375626d697373696f6e73602e007101205765206e65766572206e65656420746f2070726f63657373206d6f7265207468616e20612073696e676c65207369676e6564207375626d697373696f6e20617420612074696d652e205369676e6564207375626d697373696f6e7375012063616e206265207175697465206c617267652c20736f2077652772652077696c6c696e6720746f207061792074686520636f7374206f66206d756c7469706c6520646174616261736520616363657373657320746f206163636573732101207468656d206f6e6520617420612074696d6520696e7374656164206f662072656164696e6720616e64206465636f64696e6720616c6c206f66207468656d206174206f6e63652e505369676e65645375626d697373696f6e734d61700001040510410a04001c7420556e636865636b65642c207369676e656420736f6c7574696f6e732e00690120546f676574686572207769746820605375626d697373696f6e496e6469636573602c20746869732073746f726573206120626f756e64656420736574206f6620605369676e65645375626d697373696f6e7360207768696c65ec20616c6c6f77696e6720757320746f206b656570206f6e6c7920612073696e676c65206f6e6520696e206d656d6f727920617420612074696d652e0069012054776f78206e6f74653a20746865206b6579206f6620746865206d617020697320616e206175746f2d696e6372656d656e74696e6720696e6465782077686963682075736572732063616e6e6f7420696e7370656374206f72f4206166666563743b2077652073686f756c646e2774206e65656420612063727970746f67726170686963616c6c7920736563757265206861736865722e544d696e696d756d556e7472757374656453636f7265000055040400105d0120546865206d696e696d756d2073636f7265207468617420656163682027756e747275737465642720736f6c7574696f6e206d7573742061747461696e20696e206f7264657220746f20626520636f6e7369646572656428206665617369626c652e00b82043616e206265207365742076696120607365745f6d696e696d756d5f756e747275737465645f73636f7265602e01810301f1064434556e7369676e656450686173651010580200000480204475726174696f6e206f662074686520756e7369676e65642070686173652e2c5369676e656450686173651010580200000478204475726174696f6e206f6620746865207369676e65642070686173652e544265747465725369676e65645468726573686f6c64a81000000000084d0120546865206d696e696d756d20616d6f756e74206f6620696d70726f76656d656e7420746f2074686520736f6c7574696f6e2073636f7265207468617420646566696e6573206120736f6c7574696f6e2061737820226265747465722220696e20746865205369676e65642070686173652e5c426574746572556e7369676e65645468726573686f6c64a81020a10700084d0120546865206d696e696d756d20616d6f756e74206f6620696d70726f76656d656e7420746f2074686520736f6c7574696f6e2073636f7265207468617420646566696e6573206120736f6c7574696f6e2061738020226265747465722220696e2074686520556e7369676e65642070686173652e384f6666636861696e52657065617410101200000010b42054686520726570656174207468726573686f6c64206f6620746865206f6666636861696e20776f726b65722e00610120466f72206578616d706c652c20696620697420697320352c2074686174206d65616e732074686174206174206c65617374203520626c6f636b732077696c6c20656c61707365206265747765656e20617474656d7074738420746f207375626d69742074686520776f726b6572277320736f6c7574696f6e2e3c4d696e657254785072696f726974792c2065666666666666e604250120546865207072696f72697479206f662074686520756e7369676e6564207472616e73616374696f6e207375626d697474656420696e2074686520756e7369676e65642d7068617365505369676e65644d61785375626d697373696f6e731010100000001ce4204d6178696d756d206e756d626572206f66207369676e6564207375626d697373696f6e7320746861742063616e206265207175657565642e005501204974206973206265737420746f2061766f69642061646a757374696e67207468697320647572696e6720616e20656c656374696f6e2c20617320697420696d706163747320646f776e73747265616d2064617461650120737472756374757265732e20496e20706172746963756c61722c20605369676e65645375626d697373696f6e496e64696365733c543e6020697320626f756e646564206f6e20746869732076616c75652e20496620796f75f42075706461746520746869732076616c756520647572696e6720616e20656c656374696f6e2c20796f75205f6d7573745f20656e7375726520746861744d0120605369676e65645375626d697373696f6e496e64696365732e6c656e282960206973206c657373207468616e206f7220657175616c20746f20746865206e65772076616c75652e204f74686572776973652cf020617474656d70747320746f207375626d6974206e657720736f6c7574696f6e73206d617920636175736520612072756e74696d652070616e69632e3c5369676e65644d617857656967687424400b08c77258550113a3703d0ad7a370bd1494204d6178696d756d20776569676874206f662061207369676e656420736f6c7574696f6e2e005d01204966205b60436f6e6669673a3a4d696e6572436f6e666967605d206973206265696e6720696d706c656d656e74656420746f207375626d6974207369676e656420736f6c7574696f6e7320286f757473696465206f663d0120746869732070616c6c6574292c207468656e205b604d696e6572436f6e6669673a3a736f6c7574696f6e5f776569676874605d206973207573656420746f20636f6d7061726520616761696e73743020746869732076616c75652e405369676e65644d6178526566756e647310100400000004190120546865206d6178696d756d20616d6f756e74206f6620756e636865636b656420736f6c7574696f6e7320746f20726566756e64207468652063616c6c2066656520666f722e405369676e656452657761726442617365184000e40b54020000000000000000000000048820426173652072657761726420666f722061207369676e656420736f6c7574696f6e445369676e65644465706f736974427974651840787d010000000000000000000000000004a0205065722d62797465206465706f73697420666f722061207369676e656420736f6c7574696f6e2e4c5369676e65644465706f73697457656967687418400000000000000000000000000000000004a8205065722d776569676874206465706f73697420666f722061207369676e656420736f6c7574696f6e2e284d617857696e6e6572731010b004000010350120546865206d6178696d756d206e756d626572206f662077696e6e65727320746861742063616e20626520656c656374656420627920746869732060456c656374696f6e50726f7669646572604020696d706c656d656e746174696f6e2e005101204e6f74653a2054686973206d75737420616c776179732062652067726561746572206f7220657175616c20746f2060543a3a4461746150726f76696465723a3a646573697265645f746172676574732829602e384d696e65724d61784c656e67746810100000360000384d696e65724d617857656967687424400b08c77258550113a3703d0ad7a370bd00544d696e65724d6178566f746573506572566f746572101010000000003c4d696e65724d617857696e6e6572731010b00400000001450a2424566f7465724c6973740124566f7465724c6973740c244c6973744e6f6465730001040500490a04000c8020412073696e676c65206e6f64652c2077697468696e20736f6d65206261672e000501204e6f6465732073746f7265206c696e6b7320666f727761726420616e64206261636b2077697468696e207468656972207265737065637469766520626167732e4c436f756e746572466f724c6973744e6f646573010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204c69737442616773000104052c4d0a04000c642041206261672073746f72656420696e2073746f726167652e0019012053746f7265732061206042616760207374727563742c2077686963682073746f726573206865616420616e64207461696c20706f696e7465727320746f20697473656c662e01750401010704344261675468726573686f6c6473510a0919210300e40b5402000000f39e809702000000a8b197e20200000094492e3603000000279c3a930300000003bccefa0300000042c01b6e040000001b4775ee04000000385e557d0500000046dc601c0600000089386ccd06000000b6ee809207000000fe7ee36d08000000e81b1a6209000000b019f4710a000000103592a00b000000cfc96ff10c00000041146d680e000000e79bda0910000000cee885da1100000028a9c7df13000000bb70931f160000008e4089a018000000810a096a1b000000366a48841e0000005bd36af821000000807c9cd025000000c95530182a000000bd63c1db2e00000071e0572934000000689092103a000000edc4d4a240000000699379f3470000008fd80c18500000004baf8a28590000006a16a63f630000000995177b6e00000078c5f4fb7a00000062c811e78800000051bf6d6598000000048eaba4a9000000544698d7bc00000091cac036d2000000175f1801ea000000bd15b27c0401000043358ff721010000b8fc84c84201000099673c506701000007e44efa8f010000b341833ebd010000027f2ea2ef0100009883bcb927020000164d652a66020000b49513acab0200002d8e820bf9020000a1e6982c4f030000a616080daf030000cc9d37c719040000a0d584959004000042e7e0d514050000028cd70da80500000f750aef4b060000ea8d2e5c02070000c3cb996ecd070000b1e5717caf080000aa2b8e1fab090000b5c1203dc30a000026d03d0efb0b000070c75929560d0000ebadda8cd80e0000f797dbaa86100000cff04476651200001f2660717a14000009a611becb1600001dfbe82f60190000943a3c603f1c00008afe89c4711f0000ced963c70023000003a92ae4f6260000fe72eec55f2b000036c9cc6948300000dae33245bf350000062a7470d43b00007c9732d69942000084a32468234a0000571ad45987520000e7f10262de5b00000db8760344660000ae0401ded67100007d9eb308b97e00001e044a76108d00003a1df064079d0000e04fafdaccae00005679f02f95c2000095c3aaa99ad80000967c05251ef10000177a66d6670c010028cb1f1ec82a0100fa282f75984c0100d57dc8743c7201007dc4b3fb229c0100365cde74c7ca01009eb8e142b3fe01000c31ae547f3802005fe101e8d57802006373da7e74c0020051d1a60d2e100300c7e9a468ed68030061c091f7b7cb0300bf27a1b7b03904007b1499941bb404008523ed22613c050069a5d4c512d40500ec8c934def7c0600f5aa901be83807008cbe5ddb260a080002978ce113f30800fae314435df60900ddf12dbafe160b002ebadc6f4a580c000c5518c4f2bd0d00f0bb5431154c0f00498e866b46071100b2c153de9ff41200278a2fb2ce191500b2399f84247d1700e199e704aa251a00ba13f5ab331b1d00264785cc7866200088bf803f2d1124001c9823f81d262800ccc422d450b12c00f088820528c03100367c6d7e896137006e9329d30aa63d008cbc6c1322a044000070f32a5c644c00b43b84699909550080b4abe450a95e00a0cda979db5f69004cc27f4cc74c7500d0ac0eba34938200483e0ccf3d5a910068c68e7469cda100281e6fa52b1db40098a92326747fc800f09a74634d30df0080cdfc4b8d72f8009014602d9a901401f0b413d945dd330120973596c1b4560150dcfbaead7d7d01e01198b947aaa80130c7ee16bbb9d801206e488697390e02a0fa4b1d72c74902c0117170b5128c02808a1643a6ded502c0f823b1a204280380af5970a2768303c06f2d87ff41e90340937fac8f925a040091097117b6d804400fdf5b212065050049c149446e0106008ebca6e56caf0600595686851c71078068aa34a4b7480880a1e29e52b9380900bdabe880e4430a002a72b4204c6d0b80f1c013335cb80c00a03ccbdce3280e80b8629a9e20c30f00de5693d2ca8b11005d7f4c93238813001a87df3504be1500a7ce4b84ef3318000110fbea24f11a00802ae5d1b5fd1d0022a134609d62210044216bf0da2925000261f1828f5e29006620cf851e0d2e008410195252433300a0c18fca8410390026ad1493cc853f00d0cd24662fb646009ce19a1cdab64e0058ccc20c5f9f5700200a7578fb89610030bbbbd6e4936c0060cba7dc9edd7800b83bc0425b8b8600b886236164c59500f8f15fdc93b8a600206a91c0d696b900d8efe28fc097ce0068299bf52ef9e5ffffffffffffffffacd020546865206c697374206f66207468726573686f6c64732073657061726174696e672074686520766172696f757320626167732e00490120496473206172652073657061726174656420696e746f20756e736f727465642062616773206163636f7264696e6720746f2074686569722073636f72652e205468697320737065636966696573207468656101207468726573686f6c64732073657061726174696e672074686520626167732e20416e20696427732062616720697320746865206c6172676573742062616720666f722077686963682074686520696427732073636f7265b8206973206c657373207468616e206f7220657175616c20746f20697473207570706572207468726573686f6c642e006501205768656e20696473206172652069746572617465642c2068696768657220626167732061726520697465726174656420636f6d706c6574656c79206265666f7265206c6f77657220626167732e2054686973206d65616e735901207468617420697465726174696f6e206973205f73656d692d736f727465645f3a20696473206f66206869676865722073636f72652074656e6420746f20636f6d65206265666f726520696473206f66206c6f7765722d012073636f72652c206275742070656572206964732077697468696e206120706172746963756c6172206261672061726520736f7274656420696e20696e73657274696f6e206f726465722e006820232045787072657373696e672074686520636f6e7374616e74004d01205468697320636f6e7374616e74206d75737420626520736f7274656420696e207374726963746c7920696e6372656173696e67206f726465722e204475706c6963617465206974656d7320617265206e6f742c207065726d69747465642e00410120546865726520697320616e20696d706c696564207570706572206c696d6974206f66206053636f72653a3a4d4158603b20746861742076616c756520646f6573206e6f74206e65656420746f2062652101207370656369666965642077697468696e20746865206261672e20466f7220616e792074776f207468726573686f6c64206c697374732c206966206f6e6520656e647320776974683101206053636f72653a3a4d4158602c20746865206f74686572206f6e6520646f6573206e6f742c20616e64207468657920617265206f746865727769736520657175616c2c207468652074776f7c206c697374732077696c6c20626568617665206964656e746963616c6c792e003820232043616c63756c6174696f6e005501204974206973207265636f6d6d656e64656420746f2067656e65726174652074686520736574206f66207468726573686f6c647320696e20612067656f6d6574726963207365726965732c2073756368207468617441012074686572652065786973747320736f6d6520636f6e7374616e7420726174696f2073756368207468617420607468726573686f6c645b6b202b20315d203d3d20287468726573686f6c645b6b5d202ad020636f6e7374616e745f726174696f292e6d6178287468726573686f6c645b6b5d202b2031296020666f7220616c6c20606b602e005901205468652068656c7065727320696e2074686520602f7574696c732f6672616d652f67656e65726174652d6261677360206d6f64756c652063616e2073696d706c69667920746869732063616c63756c6174696f6e2e002c2023204578616d706c6573005101202d20496620604261675468726573686f6c64733a3a67657428292e69735f656d7074792829602c207468656e20616c6c20696473206172652070757420696e746f207468652073616d65206261672c20616e64b0202020697465726174696f6e206973207374726963746c7920696e20696e73657274696f6e206f726465722e6101202d20496620604261675468726573686f6c64733a3a67657428292e6c656e2829203d3d203634602c20616e6420746865207468726573686f6c6473206172652064657465726d696e6564206163636f7264696e6720746f11012020207468652070726f63656475726520676976656e2061626f76652c207468656e2074686520636f6e7374616e7420726174696f20697320657175616c20746f20322e6501202d20496620604261675468726573686f6c64733a3a67657428292e6c656e2829203d3d20323030602c20616e6420746865207468726573686f6c6473206172652064657465726d696e6564206163636f7264696e6720746f59012020207468652070726f63656475726520676976656e2061626f76652c207468656e2074686520636f6e7374616e7420726174696f20697320617070726f78696d6174656c7920657175616c20746f20312e3234382e6101202d20496620746865207468726573686f6c64206c69737420626567696e7320605b312c20322c20332c202e2e2e5d602c207468656e20616e20696420776974682073636f72652030206f7220312077696c6c2066616c6cf0202020696e746f2062616720302c20616e20696420776974682073636f726520322077696c6c2066616c6c20696e746f2062616720312c206574632e00302023204d6967726174696f6e00610120496e20746865206576656e7420746861742074686973206c6973742065766572206368616e6765732c206120636f7079206f6620746865206f6c642062616773206c697374206d7573742062652072657461696e65642e5d012057697468207468617420604c6973743a3a6d696772617465602063616e2062652063616c6c65642c2077686963682077696c6c20706572666f726d2074686520617070726f707269617465206d6967726174696f6e2e01550a253c4e6f6d696e6174696f6e506f6f6c73013c4e6f6d696e6174696f6e506f6f6c735440546f74616c56616c75654c6f636b65640100184000000000000000000000000000000000148c205468652073756d206f662066756e6473206163726f737320616c6c20706f6f6c732e0071012054686973206d69676874206265206c6f77657220627574206e6576657220686967686572207468616e207468652073756d206f662060746f74616c5f62616c616e636560206f6620616c6c205b60506f6f6c4d656d62657273605d590120626563617573652063616c6c696e672060706f6f6c5f77697468647261775f756e626f6e64656460206d696768742064656372656173652074686520746f74616c207374616b65206f662074686520706f6f6c277329012060626f6e6465645f6163636f756e746020776974686f75742061646a757374696e67207468652070616c6c65742d696e7465726e616c2060556e626f6e64696e67506f6f6c6027732e2c4d696e4a6f696e426f6e640100184000000000000000000000000000000000049c204d696e696d756d20616d6f756e7420746f20626f6e6420746f206a6f696e206120706f6f6c2e344d696e437265617465426f6e6401001840000000000000000000000000000000001ca0204d696e696d756d20626f6e6420726571756972656420746f20637265617465206120706f6f6c2e00650120546869732069732074686520616d6f756e74207468617420746865206465706f7369746f72206d7573742070757420617320746865697220696e697469616c207374616b6520696e2074686520706f6f6c2c20617320616e8820696e6469636174696f6e206f662022736b696e20696e207468652067616d65222e0069012054686973206973207468652076616c756520746861742077696c6c20616c7761797320657869737420696e20746865207374616b696e67206c6564676572206f662074686520706f6f6c20626f6e646564206163636f756e7480207768696c6520616c6c206f74686572206163636f756e7473206c656176652e204d6178506f6f6c730000100400086901204d6178696d756d206e756d626572206f66206e6f6d696e6174696f6e20706f6f6c7320746861742063616e2065786973742e20496620604e6f6e65602c207468656e20616e20756e626f756e646564206e756d626572206f664420706f6f6c732063616e2065786973742e384d6178506f6f6c4d656d626572730000100400084901204d6178696d756d206e756d626572206f66206d656d6265727320746861742063616e20657869737420696e207468652073797374656d2e20496620604e6f6e65602c207468656e2074686520636f756e74b8206d656d6265727320617265206e6f7420626f756e64206f6e20612073797374656d20776964652062617369732e544d6178506f6f6c4d656d62657273506572506f6f6c0000100400084101204d6178696d756d206e756d626572206f66206d656d626572732074686174206d61792062656c6f6e6720746f20706f6f6c2e20496620604e6f6e65602c207468656e2074686520636f756e74206f66a8206d656d62657273206973206e6f7420626f756e64206f6e20612070657220706f6f6c2062617369732e4c476c6f62616c4d6178436f6d6d697373696f6e0000a804000c690120546865206d6178696d756d20636f6d6d697373696f6e20746861742063616e2062652063686172676564206279206120706f6f6c2e2055736564206f6e20636f6d6d697373696f6e207061796f75747320746f20626f756e64250120706f6f6c20636f6d6d697373696f6e73207468617420617265203e2060476c6f62616c4d6178436f6d6d697373696f6e602c206e65636573736172792069662061206675747572650d012060476c6f62616c4d6178436f6d6d697373696f6e60206973206c6f776572207468616e20736f6d652063757272656e7420706f6f6c20636f6d6d697373696f6e732e2c506f6f6c4d656d6265727300010405005d0a04000c4020416374697665206d656d626572732e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e54436f756e746572466f72506f6f6c4d656d62657273010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c426f6e646564506f6f6c730001040510690a040004682053746f7261676520666f7220626f6e64656420706f6f6c732e54436f756e746572466f72426f6e646564506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61702c526577617264506f6f6c7300010405107d0a04000875012052657761726420706f6f6c732e2054686973206973207768657265207468657265207265776172647320666f72206561636820706f6f6c20616363756d756c6174652e205768656e2061206d656d62657273207061796f7574206973590120636c61696d65642c207468652062616c616e636520636f6d6573206f757420666f207468652072657761726420706f6f6c2e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e54436f756e746572466f72526577617264506f6f6c73010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c537562506f6f6c7353746f726167650001040510810a04000819012047726f757073206f6620756e626f6e64696e6720706f6f6c732e20456163682067726f7570206f6620756e626f6e64696e6720706f6f6c732062656c6f6e677320746f2061290120626f6e64656420706f6f6c2c2068656e636520746865206e616d65207375622d706f6f6c732e204b657965642062792074686520626f6e64656420706f6f6c73206163636f756e742e64436f756e746572466f72537562506f6f6c7353746f72616765010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170204d657461646174610101040510990a0400045c204d6574616461746120666f722074686520706f6f6c2e48436f756e746572466f724d65746164617461010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170284c617374506f6f6c4964010010100000000004d0204576657220696e6372656173696e67206e756d626572206f6620616c6c20706f6f6c73206372656174656420736f206661722e4c52657665727365506f6f6c49644c6f6f6b7570000104050010040010dc20412072657665727365206c6f6f6b75702066726f6d2074686520706f6f6c2773206163636f756e7420696420746f206974732069642e0055012054686973206973206f6e6c79207573656420666f7220736c617368696e672e20496e20616c6c206f7468657220696e7374616e6365732c2074686520706f6f6c20696420697320757365642c20616e6420746865c0206163636f756e7473206172652064657465726d696e6973746963616c6c7920646572697665642066726f6d2069742e74436f756e746572466f7252657665727365506f6f6c49644c6f6f6b7570010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617040436c61696d5065726d697373696f6e73010104050095040400040101204d61702066726f6d206120706f6f6c206d656d626572206163636f756e7420746f207468656972206f7074656420636c61696d207065726d697373696f6e2e017904010507082050616c6c6574496405092070792f6e6f706c73048420546865206e6f6d696e6174696f6e20706f6f6c27732070616c6c65742069642e484d6178506f696e7473546f42616c616e636508040a301d0120546865206d6178696d756d20706f6f6c20706f696e74732d746f2d62616c616e636520726174696f207468617420616e20606f70656e6020706f6f6c2063616e20686176652e005501205468697320697320696d706f7274616e7420696e20746865206576656e7420736c617368696e672074616b657320706c61636520616e642074686520706f6f6c277320706f696e74732d746f2d62616c616e63657c20726174696f206265636f6d65732064697370726f706f7274696f6e616c2e006501204d6f72656f7665722c20746869732072656c6174657320746f207468652060526577617264436f756e7465726020747970652061732077656c6c2c206173207468652061726974686d65746963206f7065726174696f6e7355012061726520612066756e6374696f6e206f66206e756d626572206f6620706f696e74732c20616e642062792073657474696e6720746869732076616c756520746f20652e672e2031302c20796f7520656e73757265650120746861742074686520746f74616c206e756d626572206f6620706f696e747320696e207468652073797374656d20617265206174206d6f73742031302074696d65732074686520746f74616c5f69737375616e6365206f669c2074686520636861696e2c20696e20746865206162736f6c75746520776f72736520636173652e00490120466f7220612076616c7565206f662031302c20746865207468726573686f6c6420776f756c64206265206120706f6f6c20706f696e74732d746f2d62616c616e636520726174696f206f662031303a312e310120537563682061207363656e6172696f20776f756c6420616c736f20626520746865206571756976616c656e74206f662074686520706f6f6c206265696e672039302520736c61736865642e019d0a272c46617374556e7374616b65012c46617374556e7374616b651010486561640000a50a04000cc0205468652063757272656e74202268656164206f662074686520717565756522206265696e6720756e7374616b65642e00290120546865206865616420696e20697473656c662063616e2062652061206261746368206f6620757020746f205b60436f6e6669673a3a426174636853697a65605d207374616b6572732e14517565756500010405001804000cc020546865206d6170206f6620616c6c206163636f756e74732077697368696e6720746f20626520756e7374616b65642e003901204b6565707320747261636b206f6620604163636f756e744964602077697368696e6720746f20756e7374616b6520616e64206974277320636f72726573706f6e64696e67206465706f7369742e3c436f756e746572466f725175657565010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61704c45726173546f436865636b506572426c6f636b0100101000000000208c204e756d626572206f66206572617320746f20636865636b2070657220626c6f636b2e0035012049662073657420746f20302c20746869732070616c6c657420646f6573206162736f6c7574656c79206e6f7468696e672e2043616e6e6f742062652073657420746f206d6f7265207468616e90205b60436f6e6669673a3a4d617845726173546f436865636b506572426c6f636b605d2e006501204261736564206f6e2074686520616d6f756e74206f662077656967687420617661696c61626c65206174205b6050616c6c65743a3a6f6e5f69646c65605d2c20757020746f2074686973206d616e792065726173206172655d0120636865636b65642e2054686520636865636b696e6720697320726570726573656e746564206279207570646174696e67205b60556e7374616b65526571756573743a3a636865636b6564605d2c207768696368206973502073746f72656420696e205b6048656164605d2e01a504010907041c4465706f736974184000e40b54020000000000000000000000086501204465706f73697420746f2074616b6520666f7220756e7374616b696e672c20746f206d616b6520737572652077652772652061626c6520746f20736c6173682074686520697420696e206f7264657220746f20636f766572c02074686520636f737473206f66207265736f7572636573206f6e20756e7375636365737366756c20756e7374616b652e01b10a284050617261636861696e734f726967696e00000000003234436f6e66696775726174696f6e0134436f6e66696775726174696f6e0c30416374697665436f6e6669670100b50a2d030000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001027000080b2e60e80c3c901809698000000000000000000000000000500000001000000010000000100000000000600000064000000010000000000000000000000000000000000000002000000020000000200000004c8205468652061637469766520636f6e66696775726174696f6e20666f72207468652063757272656e742073657373696f6e2e3850656e64696e67436f6e666967730100b90a04001c7c2050656e64696e6720636f6e66696775726174696f6e206368616e6765732e00590120546869732069732061206c697374206f6620636f6e66696775726174696f6e206368616e6765732c2065616368207769746820612073657373696f6e20696e6465782061742077686963682069742073686f756c6430206265206170706c6965642e00610120546865206c69737420697320736f7274656420617363656e64696e672062792073657373696f6e20696e6465782e20416c736f2c2074686973206c6973742063616e206f6e6c7920636f6e7461696e206174206d6f7374fc2032206974656d733a20666f7220746865206e6578742073657373696f6e20616e6420666f722074686520607363686564756c65645f73657373696f6e602e58427970617373436f6e73697374656e6379436865636b0100b404000861012049662074686973206973207365742c207468656e2074686520636f6e66696775726174696f6e20736574746572732077696c6c206279706173732074686520636f6e73697374656e637920636865636b732e2054686973b4206973206d65616e7420746f2062652075736564206f6e6c7920617320746865206c617374207265736f72742e01a904000001c10a332c5061726173536861726564012c5061726173536861726564104c43757272656e7453657373696f6e496e6465780100101000000000046c205468652063757272656e742073657373696f6e20696e6465782e5841637469766556616c696461746f72496e64696365730100c50a040008090120416c6c207468652076616c696461746f7273206163746976656c792070617274696369706174696e6720696e2070617261636861696e20636f6e73656e7375732eb020496e64696365732061726520696e746f207468652062726f616465722076616c696461746f72207365742e4c41637469766556616c696461746f724b6579730100c90a0400085501205468652070617261636861696e206174746573746174696f6e206b657973206f66207468652076616c696461746f7273206163746976656c792070617274696369706174696e6720696e2070617261636861696e1d0120636f6e73656e7375732e20546869732073686f756c64206265207468652073616d65206c656e677468206173206041637469766556616c696461746f72496e6469636573602e4c416c6c6f77656452656c6179506172656e74730100cd0a140000000000046c20416c6c20616c6c6f7765642072656c61792d706172656e74732e01c504000000343450617261496e636c7573696f6e013450617261496e636c7573696f6e0c54417661696c6162696c6974794269746669656c647300010405e904d90a040004650120546865206c6174657374206269746669656c6420666f7220656163682076616c696461746f722c20726566657272656420746f20627920746865697220696e64657820696e207468652076616c696461746f72207365742e4c50656e64696e67417661696c6162696c697479000104057102dd0a040004b42043616e646964617465732070656e64696e6720617661696c6162696c6974792062792060506172614964602e7850656e64696e67417661696c6162696c697479436f6d6d69746d656e74730001040571020d0504000405012054686520636f6d6d69746d656e7473206f662063616e646964617465732070656e64696e6720617661696c6162696c6974792c2062792060506172614964602e01c904010d070001e10a353050617261496e686572656e74013050617261496e686572656e740820496e636c75646564000088040018ec20576865746865722074686520706172617320696e686572656e742077617320696e636c756465642077697468696e207468697320626c6f636b2e0069012054686520604f7074696f6e3c28293e60206973206566666563746976656c7920612060626f6f6c602c20627574206974206e6576657220686974732073746f7261676520696e2074686520604e6f6e65602076617269616e74bc2064756520746f207468652067756172616e74656573206f66204652414d4527732073746f7261676520415049732e004901204966207468697320697320604e6f6e65602061742074686520656e64206f662074686520626c6f636b2c2077652070616e696320616e642072656e6465722074686520626c6f636b20696e76616c69642e304f6e436861696e566f7465730000e50a04000445012053637261706564206f6e20636861696e206461746120666f722065787472616374696e67207265736f6c7665642064697370757465732061732077656c6c206173206261636b696e6720766f7465732e01cd04000001f90a3634506172615363686564756c65720134506172615363686564756c6572103c56616c696461746f7247726f7570730100fd0a04001c6d0120416c6c207468652076616c696461746f722067726f7570732e204f6e6520666f72206561636820636f72652e20496e64696365732061726520696e746f206041637469766556616c696461746f727360202d206e6f74207468656d012062726f6164657220736574206f6620506f6c6b61646f742076616c696461746f72732c2062757420696e7374656164206a7573742074686520737562736574207573656420666f722070617261636861696e7320647572696e673820746869732073657373696f6e2e00490120426f756e643a20546865206e756d626572206f6620636f726573206973207468652073756d206f6620746865206e756d62657273206f662070617261636861696e7320616e6420706172617468726561646901206d756c7469706c65786572732e20526561736f6e61626c792c203130302d313030302e2054686520646f6d696e616e7420666163746f7220697320746865206e756d626572206f662076616c696461746f72733a20736166655020757070657220626f756e642061742031306b2e44417661696c6162696c697479436f7265730100010b0400205901204f6e6520656e74727920666f72206561636820617661696c6162696c69747920636f72652e20456e74726965732061726520604e6f6e65602069662074686520636f7265206973206e6f742063757272656e746c790d01206f636375706965642e2043616e2062652074656d706f726172696c792060536f6d6560206966207363686564756c656420627574206e6f74206f636375706965642e41012054686520692774682070617261636861696e2062656c6f6e677320746f20746865206927746820636f72652c2077697468207468652072656d61696e696e6720636f72657320616c6c206265696e676420706172617468726561642d6d756c7469706c65786572732e00d820426f756e64656420627920746865206d6178696d756d206f6620656974686572206f662074686573652074776f2076616c7565733ae42020202a20546865206e756d626572206f662070617261636861696e7320616e642070617261746872656164206d756c7469706c657865727345012020202a20546865206e756d626572206f662076616c696461746f727320646976696465642062792060636f6e66696775726174696f6e2e6d61785f76616c696461746f72735f7065725f636f7265602e4453657373696f6e5374617274426c6f636b01001010000000001c69012054686520626c6f636b206e756d626572207768657265207468652073657373696f6e207374617274206f636375727265642e205573656420746f20747261636b20686f77206d616e792067726f757020726f746174696f6e733c2068617665206f636375727265642e005501204e6f7465207468617420696e2074686520636f6e74657874206f662070617261636861696e73206d6f64756c6573207468652073657373696f6e206368616e6765206973207369676e616c656420647572696e6761012074686520626c6f636b20616e6420656e61637465642061742074686520656e64206f662074686520626c6f636b20286174207468652066696e616c697a6174696f6e2073746167652c20746f206265206578616374292e5901205468757320666f7220616c6c20696e74656e747320616e6420707572706f7365732074686520656666656374206f66207468652073657373696f6e206368616e6765206973206f6273657276656420617420746865650120626c6f636b20666f6c6c6f77696e67207468652073657373696f6e206368616e67652c20626c6f636b206e756d626572206f66207768696368207765207361766520696e20746869732073746f726167652076616c75652e28436c61696d51756575650100110b0400145901204f6e6520656e74727920666f72206561636820617661696c6162696c69747920636f72652e20546865206056656344657175656020726570726573656e7473207468652061737369676e6d656e747320746f2062656d01207363686564756c6564206f6e207468617420636f72652e20604e6f6e6560206973207573656420746f207369676e616c20746f206e6f74207363686564756c6520746865206e6578742070617261206f662074686520636f72655501206173207468657265206973206f6e652063757272656e746c79206265696e67207363686564756c65642e204e6f74207573696e6720604e6f6e6560206865726520776f756c64206f76657277726974652074686571012060436f726553746174656020696e207468652072756e74696d65204150492e205468652076616c756520636f6e7461696e656420686572652077696c6c206e6f742062652076616c69642061667465722074686520656e64206f666d01206120626c6f636b2e2052756e74696d6520415049732073686f756c64206265207573656420746f2064657465726d696e65207363686564756c656420636f7265732f20666f7220746865207570636f6d696e6720626c6f636b2e0000000037145061726173011450617261735040507666416374697665566f74654d6170000104050905250b040010b420416c6c2063757272656e746c792061637469766520505646207072652d636865636b696e6720766f7465732e002c20496e76617269616e743a7501202d20546865726520617265206e6f20505646207072652d636865636b696e6720766f74657320746861742065786973747320696e206c69737420627574206e6f7420696e207468652073657420616e6420766963652076657273612e44507666416374697665566f74654c6973740100350b040004350120546865206c697374206f6620616c6c2063757272656e746c79206163746976652050564620766f7465732e20417578696c6961727920746f2060507666416374697665566f74654d6170602e2850617261636861696e730100390b040010690120416c6c206c6561736520686f6c64696e672070617261636861696e732e204f72646572656420617363656e64696e672062792060506172614964602e204f6e2064656d616e642070617261636861696e7320617265206e6f742820696e636c756465642e00e820436f6e7369646572207573696e6720746865205b6050617261636861696e734361636865605d2074797065206f66206d6f64696679696e672e38506172614c6966656379636c65730001040571023d0b040004bc205468652063757272656e74206c6966656379636c65206f66206120616c6c206b6e6f776e2050617261204944732e1448656164730001040571022905040004a02054686520686561642d64617461206f66206576657279207265676973746572656420706172612e444d6f7374526563656e74436f6e746578740001040571021004000429012054686520636f6e74657874202872656c61792d636861696e20626c6f636b206e756d62657229206f6620746865206d6f737420726563656e742070617261636861696e20686561642e3c43757272656e74436f646548617368000104057102090504000cb4205468652076616c69646174696f6e20636f64652068617368206f66206576657279206c69766520706172612e00e420436f72726573706f6e64696e6720636f64652063616e206265207265747269657665642077697468205b60436f6465427948617368605d2e3050617374436f64654861736800010405410b090504001061012041637475616c207061737420636f646520686173682c20696e646963617465642062792074686520706172612069642061732077656c6c2061732074686520626c6f636b206e756d6265722061742077686963682069744420626563616d65206f757464617465642e00e420436f72726573706f6e64696e6720636f64652063616e206265207265747269657665642077697468205b60436f6465427948617368605d2e3050617374436f64654d657461010104057102450b0800000c4901205061737420636f6465206f662070617261636861696e732e205468652070617261636861696e73207468656d73656c766573206d6179206e6f74206265207265676973746572656420616e796d6f72652c49012062757420776520616c736f206b65657020746865697220636f6465206f6e2d636861696e20666f72207468652073616d6520616d6f756e74206f662074696d65206173206f7574646174656420636f6465b020746f206b65657020697420617661696c61626c6520666f7220617070726f76616c20636865636b6572732e3c50617374436f64655072756e696e670100510b04001869012057686963682070617261732068617665207061737420636f64652074686174206e65656473207072756e696e6720616e64207468652072656c61792d636861696e20626c6f636b2061742077686963682074686520636f6465690120776173207265706c616365642e204e6f746520746861742074686973206973207468652061637475616c20686569676874206f662074686520696e636c7564656420626c6f636b2c206e6f74207468652065787065637465643d01206865696768742061742077686963682074686520636f6465207570677261646520776f756c64206265206170706c6965642c20616c74686f7567682074686579206d617920626520657175616c2e6d01205468697320697320746f20656e737572652074686520656e7469726520616363657074616e636520706572696f6420697320636f76657265642c206e6f7420616e206f666673657420616363657074616e636520706572696f646d01207374617274696e672066726f6d207468652074696d65206174207768696368207468652070617261636861696e20706572636569766573206120636f6465207570677261646520617320686176696e67206f636375727265642e5501204d756c7469706c6520656e747269657320666f7220612073696e676c65207061726120617265207065726d69747465642e204f72646572656420617363656e64696e6720627920626c6f636b206e756d6265722e48467574757265436f646555706772616465730001040571021004000c29012054686520626c6f636b206e756d6265722061742077686963682074686520706c616e6e656420636f6465206368616e676520697320657870656374656420666f72206120706172612e650120546865206368616e67652077696c6c206265206170706c696564206166746572207468652066697273742070617261626c6f636b20666f72207468697320494420696e636c75646564207768696368206578656375746573190120696e2074686520636f6e74657874206f6620612072656c617920636861696e20626c6f636b20776974682061206e756d626572203e3d206065787065637465645f6174602e38467574757265436f646548617368000104057102090504000c9c205468652061637475616c2066757475726520636f64652068617368206f66206120706172612e00e420436f72726573706f6e64696e6720636f64652063616e206265207265747269657665642077697468205b60436f6465427948617368605d2e5055706772616465476f41686561645369676e616c000104057102550b040028750120546869732069732075736564206279207468652072656c61792d636861696e20746f20636f6d6d756e696361746520746f20612070617261636861696e206120676f2d6168656164207769746820696e2074686520757067726164652c2070726f6365647572652e00750120546869732076616c756520697320616273656e74207768656e20746865726520617265206e6f207570677261646573207363686564756c6564206f7220647572696e67207468652074696d65207468652072656c617920636861696e550120706572666f726d732074686520636865636b732e20497420697320736574206174207468652066697273742072656c61792d636861696e20626c6f636b207768656e2074686520636f72726573706f6e64696e6775012070617261636861696e2063616e207377697463682069747320757067726164652066756e6374696f6e2e20417320736f6f6e206173207468652070617261636861696e277320626c6f636b20697320696e636c756465642c20746865702076616c7565206765747320726573657420746f20604e6f6e65602e006501204e4f544520746861742074686973206669656c6420697320757365642062792070617261636861696e7320766961206d65726b6c652073746f726167652070726f6f66732c207468657265666f7265206368616e67696e67c42074686520666f726d61742077696c6c2072657175697265206d6967726174696f6e206f662070617261636861696e732e60557067726164655265737472696374696f6e5369676e616c000104057102590b040024690120546869732069732075736564206279207468652072656c61792d636861696e20746f20636f6d6d756e6963617465207468617420746865726520617265207265737472696374696f6e7320666f7220706572666f726d696e677c20616e207570677261646520666f7220746869732070617261636861696e2e0059012054686973206d617920626520612062656361757365207468652070617261636861696e20776169747320666f7220746865207570677261646520636f6f6c646f776e20746f206578706972652e20416e6f746865726d0120706f74656e7469616c207573652063617365206973207768656e2077652077616e7420746f20706572666f726d20736f6d65206d61696e74656e616e63652028737563682061732073746f72616765206d6967726174696f6e29e020776520636f756c6420726573747269637420757067726164657320746f206d616b65207468652070726f636573732073696d706c65722e006501204e4f544520746861742074686973206669656c6420697320757365642062792070617261636861696e7320766961206d65726b6c652073746f726167652070726f6f66732c207468657265666f7265206368616e67696e67c42074686520666f726d61742077696c6c2072657175697265206d6967726174696f6e206f662070617261636861696e732e4055706772616465436f6f6c646f776e730100510b04000c510120546865206c697374206f662070617261636861696e73207468617420617265206177616974696e6720666f722074686569722075706772616465207265737472696374696f6e20746f20636f6f6c646f776e2e008c204f72646572656420617363656e64696e6720627920626c6f636b206e756d6265722e405570636f6d696e6755706772616465730100510b040010590120546865206c697374206f66207570636f6d696e6720636f64652075706772616465732e2045616368206974656d20697320612070616972206f66207768696368207061726120706572666f726d73206120636f6465e8207570677261646520616e642061742077686963682072656c61792d636861696e20626c6f636b2069742069732065787065637465642061742e008c204f72646572656420617363656e64696e6720627920626c6f636b206e756d6265722e30416374696f6e7351756575650101040510390b04000415012054686520616374696f6e7320746f20706572666f726d20647572696e6720746865207374617274206f6620612073706563696669632073657373696f6e20696e6465782e505570636f6d696e67506172617347656e657369730001040571025d0b040010a0205570636f6d696e6720706172617320696e7374616e74696174696f6e20617267756d656e74732e006501204e4f5445207468617420616674657220505646207072652d636865636b696e6720697320656e61626c65642074686520706172612067656e65736973206172672077696c6c2068617665206974277320636f646520736574610120746f20656d7074792e20496e73746561642c2074686520636f64652077696c6c20626520736176656420696e746f207468652073746f726167652072696768742061776179207669612060436f6465427948617368602e38436f64654279486173685265667301010406090510100000000004290120546865206e756d626572206f66207265666572656e6365206f6e207468652076616c69646174696f6e20636f646520696e205b60436f6465427948617368605d2073746f726167652e28436f64654279486173680001040609052505040010902056616c69646174696f6e20636f64652073746f7265642062792069747320686173682e00310120546869732073746f7261676520697320636f6e73697374656e742077697468205b60467574757265436f646548617368605d2c205b6043757272656e74436f646548617368605d20616e6448205b6050617374436f646548617368605d2e015505011d070440556e7369676e65645072696f726974792c20ffffffffffffffff0001610b382c496e697469616c697a6572012c496e697469616c697a65720838486173496e697469616c697a656400008804002021012057686574686572207468652070617261636861696e73206d6f64756c65732068617665206265656e20696e697469616c697a65642077697468696e207468697320626c6f636b2e0025012053656d616e746963616c6c7920612060626f6f6c602c2062757420746869732067756172616e746565732069742073686f756c64206e65766572206869742074686520747269652c6901206173207468697320697320636c656172656420696e20606f6e5f66696e616c697a656020616e64204672616d65206f7074696d697a657320604e6f6e65602076616c75657320746f20626520656d7074792076616c7565732e00710120417320612060626f6f6c602c20607365742866616c7365296020616e64206072656d6f766528296020626f7468206c65616420746f20746865206e6578742060676574282960206265696e672066616c73652c20627574206f6e657501206f66207468656d2077726974657320746f20746865207472696520616e64206f6e6520646f6573206e6f742e205468697320636f6e667573696f6e206d616b657320604f7074696f6e3c28293e60206d6f7265207375697461626c659020666f72207468652073656d616e74696373206f662074686973207661726961626c652e58427566666572656453657373696f6e4368616e6765730100650b04001c59012042756666657265642073657373696f6e206368616e67657320616c6f6e6720776974682074686520626c6f636b206e756d62657220617420776869636820746865792073686f756c64206265206170706c6965642e005d01205479706963616c6c7920746869732077696c6c20626520656d707479206f72206f6e6520656c656d656e74206c6f6e672e2041706172742066726f6d20746861742074686973206974656d206e65766572206869747334207468652073746f726167652e00690120486f776576657220746869732069732061206056656360207265676172646c65737320746f2068616e646c6520766172696f757320656467652063617365732074686174206d6179206f636375722061742072756e74696d65c0207570677261646520626f756e646172696573206f7220696620676f7665726e616e636520696e74657276656e65732e015d05000000390c446d70010c446d700c54446f776e776172644d6573736167655175657565730101040571026d0b040004d02054686520646f776e77617264206d657373616765732061646472657373656420666f722061206365727461696e20706172612e64446f776e776172644d65737361676551756575654865616473010104057102308000000000000000000000000000000000000000000000000000000000000000001c25012041206d617070696e6720746861742073746f7265732074686520646f776e77617264206d657373616765207175657565204d5143206865616420666f72206561636820706172612e00902045616368206c696e6b20696e207468697320636861696e20686173206120666f726d3a78206028707265765f686561642c20422c2048284d2929602c207768657265e8202d2060707265765f68656164603a206973207468652070726576696f757320686561642068617368206f72207a65726f206966206e6f6e652e2101202d206042603a206973207468652072656c61792d636861696e20626c6f636b206e756d62657220696e2077686963682061206d6573736167652077617320617070656e6465642ed4202d206048284d29603a206973207468652068617368206f6620746865206d657373616765206265696e6720617070656e6465642e4444656c6976657279466565466163746f720101040571028d0640000064a7b3b6e00d000000000000000004c42054686520666163746f7220746f206d756c7469706c792074686520626173652064656c6976657279206665652062792e000000003a1048726d70011048726d70305c48726d704f70656e4368616e6e656c5265717565737473000104056505750b040018bc2054686520736574206f662070656e64696e672048524d50206f70656e206368616e6e656c2072657175657374732e00c02054686520736574206973206163636f6d70616e6965642062792061206c69737420666f7220697465726174696f6e2e002c20496e76617269616e743a3d01202d20546865726520617265206e6f206368616e6e656c7320746861742065786973747320696e206c69737420627574206e6f7420696e207468652073657420616e6420766963652076657273612e6c48726d704f70656e4368616e6e656c52657175657374734c6973740100790b0400006c48726d704f70656e4368616e6e656c52657175657374436f756e740101040571021010000000000c65012054686973206d617070696e6720747261636b7320686f77206d616e79206f70656e206368616e6e656c2072657175657374732061726520696e69746961746564206279206120676976656e2073656e64657220706172612e590120496e76617269616e743a206048726d704f70656e4368616e6e656c5265717565737473602073686f756c6420636f6e7461696e207468652073616d65206e756d626572206f66206974656d732074686174206861730501206028582c205f296020617320746865206e756d626572206f66206048726d704f70656e4368616e6e656c52657175657374436f756e746020666f72206058602e7c48726d7041636365707465644368616e6e656c52657175657374436f756e740101040571021010000000000c71012054686973206d617070696e6720747261636b7320686f77206d616e79206f70656e206368616e6e656c2072657175657374732077657265206163636570746564206279206120676976656e20726563697069656e7420706172612e6d0120496e76617269616e743a206048726d704f70656e4368616e6e656c5265717565737473602073686f756c6420636f6e7461696e207468652073616d65206e756d626572206f66206974656d732060285f2c20582960207769746855012060636f6e6669726d6564602073657420746f20747275652c20617320746865206e756d626572206f66206048726d7041636365707465644368616e6e656c52657175657374436f756e746020666f72206058602e6048726d70436c6f73654368616e6e656c52657175657374730001040565058804001c7101204120736574206f662070656e64696e672048524d5020636c6f7365206368616e6e656c20726571756573747320746861742061726520676f696e6720746f20626520636c6f73656420647572696e67207468652073657373696f6e2101206368616e67652e205573656420666f7220636865636b696e67206966206120676976656e206368616e6e656c206973207265676973746572656420666f7220636c6f737572652e00c02054686520736574206973206163636f6d70616e6965642062792061206c69737420666f7220697465726174696f6e2e002c20496e76617269616e743a3d01202d20546865726520617265206e6f206368616e6e656c7320746861742065786973747320696e206c69737420627574206e6f7420696e207468652073657420616e6420766963652076657273612e7048726d70436c6f73654368616e6e656c52657175657374734c6973740100790b0400003848726d7057617465726d61726b7300010405710210040010b8205468652048524d502077617465726d61726b206173736f6369617465642077697468206561636820706172612e2c20496e76617269616e743a5501202d2065616368207061726120605060207573656420686572652061732061206b65792073686f756c642073617469736679206050617261733a3a69735f76616c69645f70617261285029602077697468696e20612c20202073657373696f6e2e3048726d704368616e6e656c730001040565057d0b04000cb42048524d50206368616e6e656c2064617461206173736f6369617465642077697468206561636820706172612e2c20496e76617269616e743a7501202d2065616368207061727469636970616e7420696e20746865206368616e6e656c2073686f756c642073617469736679206050617261733a3a69735f76616c69645f70617261285029602077697468696e20612073657373696f6e2e6048726d70496e67726573734368616e6e656c73496e646578010104057102390b040034710120496e67726573732f65677265737320696e646578657320616c6c6f7720746f2066696e6420616c6c207468652073656e6465727320616e642072656365697665727320676976656e20746865206f70706f7369746520736964652e1420492e652e0021012028612920696e677265737320696e64657820616c6c6f777320746f2066696e6420616c6c207468652073656e6465727320666f72206120676976656e20726563697069656e742e1d01202862292065677265737320696e64657820616c6c6f777320746f2066696e6420616c6c2074686520726563697069656e747320666f72206120676976656e2073656e6465722e003020496e76617269616e74733a5101202d20666f72206561636820696e677265737320696e64657820656e74727920666f72206050602065616368206974656d2060496020696e2074686520696e6465782073686f756c642070726573656e7420696e782020206048726d704368616e6e656c7360206173206028492c205029602e4d01202d20666f7220656163682065677265737320696e64657820656e74727920666f72206050602065616368206974656d2060456020696e2074686520696e6465782073686f756c642070726573656e7420696e782020206048726d704368616e6e656c7360206173206028502c204529602e0101202d2074686572652073686f756c64206265206e6f206f746865722064616e676c696e67206368616e6e656c7320696e206048726d704368616e6e656c73602e68202d2074686520766563746f72732061726520736f727465642e5c48726d704567726573734368616e6e656c73496e646578010104057102390b0400004c48726d704368616e6e656c436f6e74656e7473010104056505810b040008ac2053746f7261676520666f7220746865206d6573736167657320666f722065616368206368616e6e656c2e650120496e76617269616e743a2063616e6e6f74206265206e6f6e2d656d7074792069662074686520636f72726573706f6e64696e67206368616e6e656c20696e206048726d704368616e6e656c736020697320604e6f6e65602e4848726d704368616e6e656c44696765737473010104057102890b0400186901204d61696e7461696e732061206d617070696e6720746861742063616e206265207573656420746f20616e7377657220746865207175657374696f6e3a20576861742070617261732073656e742061206d657373616765206174e42074686520676976656e20626c6f636b206e756d62657220666f72206120676976656e2072656365697665722e20496e76617269616e74733aa8202d2054686520696e6e657220605665633c5061726149643e60206973206e6576657220656d7074792ee8202d2054686520696e6e657220605665633c5061726149643e602063616e6e6f742073746f72652074776f2073616d652060506172614964602e6d01202d20546865206f7574657220766563746f7220697320736f7274656420617363656e64696e6720627920626c6f636b206e756d62657220616e642063616e6e6f742073746f72652074776f206974656d732077697468207468655420202073616d6520626c6f636b206e756d6265722e0161050121070001910b3c3c5061726153657373696f6e496e666f013c5061726153657373696f6e496e666f145041737369676e6d656e744b657973556e736166650100950b04000ca42041737369676e6d656e74206b65797320666f72207468652063757272656e742073657373696f6e2e6d01204e6f7465207468617420746869732041504920697320707269766174652064756520746f206974206265696e672070726f6e6520746f20276f66662d62792d6f6e65272061742073657373696f6e20626f756e6461726965732eac205768656e20696e20646f7562742c20757365206053657373696f6e73602041504920696e73746561642e544561726c6965737453746f72656453657373696f6e010010100000000004010120546865206561726c696573742073657373696f6e20666f722077686963682070726576696f75732073657373696f6e20696e666f2069732073746f7265642e2053657373696f6e730001040610990b04000ca42053657373696f6e20696e666f726d6174696f6e20696e206120726f6c6c696e672077696e646f772e35012053686f756c64206861766520616e20656e74727920696e2072616e676520604561726c6965737453746f72656453657373696f6e2e2e3d43757272656e7453657373696f6e496e646578602e750120446f6573206e6f74206861766520616e7920656e7472696573206265666f7265207468652073657373696f6e20696e64657820696e207468652066697273742073657373696f6e206368616e6765206e6f74696669636174696f6e2e2c4163636f756e744b6579730001040610bd010400047101205468652076616c696461746f72206163636f756e74206b657973206f66207468652076616c696461746f7273206163746976656c792070617274696369706174696e6720696e2070617261636861696e20636f6e73656e7375732e5453657373696f6e4578656375746f72506172616d730001040610b104040004c4204578656375746f7220706172616d657465722073657420666f72206120676976656e2073657373696f6e20696e646578000000003d345061726173446973707574657301345061726173446973707574657314444c6173745072756e656453657373696f6e000010040008010120546865206c617374207072756e65642073657373696f6e2c20696620616e792e20416c6c20646174612073746f7265642062792074686973206d6f64756c6554207265666572656e6365732073657373696f6e732e2044697370757465730001080502a90bad0b040004050120416c6c206f6e676f696e67206f7220636f6e636c7564656420646973707574657320666f7220746865206c617374207365766572616c2073657373696f6e732e444261636b6572734f6e44697370757465730001080502a90bb10b0400089c204261636b696e6720766f7465732073746f72656420666f72206561636820646973707574652e8c20546869732073746f72616765206973207573656420666f7220736c617368696e672e20496e636c756465640001080502a90b10040008450120416c6c20696e636c7564656420626c6f636b73206f6e2074686520636861696e2c2061732077656c6c2061732074686520626c6f636b206e756d62657220696e207468697320636861696e207468617459012073686f756c64206265207265766572746564206261636b20746f206966207468652063616e64696461746520697320646973707574656420616e642064657465726d696e656420746f20626520696e76616c69642e1846726f7a656e01004502040010110120576865746865722074686520636861696e2069732066726f7a656e2e2053746172747320617320604e6f6e65602e205768656e20746869732069732060536f6d65602c35012074686520636861696e2077696c6c206e6f742061636365707420616e79206e65772070617261636861696e20626c6f636b7320666f72206261636b696e67206f7220696e636c7573696f6e2c090120616e64206974732076616c756520696e6469636174657320746865206c6173742076616c696420626c6f636b206e756d62657220696e2074686520636861696e2ef82049742063616e206f6e6c7920626520736574206261636b20746f20604e6f6e656020627920676f7665726e616e636520696e74657276656e74696f6e2e0169050125070001b50b3e345061726173536c617368696e6701345061726173536c617368696e670840556e6170706c696564536c61736865730001080502a90bb90b040004902056616c696461746f72732070656e64696e67206469737075746520736c61736865732e4856616c696461746f72536574436f756e747300010405101004000484206056616c696461746f72536574436f756e7460207065722073657373696f6e2e016d05000001c90b3f585061726141737369676e6d656e7450726f76696465720000000000402452656769737472617201245265676973747261720c2c50656e64696e67537761700001040571027102040004642050656e64696e672073776170206f7065726174696f6e732e145061726173000104057102cd0b040010050120416d6f756e742068656c64206f6e206465706f73697420666f722065616368207061726120616e6420746865206f726967696e616c206465706f7369746f722e0071012054686520676976656e206163636f756e7420494420697320726573706f6e7369626c6520666f72207265676973746572696e672074686520636f646520616e6420696e697469616c206865616420646174612c20627574206d61795501206f6e6c7920646f20736f2069662069742069736e27742079657420726567697374657265642e2028416674657220746861742c206974277320757020746f20676f7665726e616e636520746f20646f20736f2e29384e65787446726565506172614964010071021000000000046020546865206e65787420667265652060506172614964602e017d05013107082c506172614465706f73697418400010a5d4e8000000000000000000000008d420546865206465706f73697420746f206265207061696420746f2072756e2061206f6e2d64656d616e642070617261636861696e2e3d0120546869732073686f756c6420696e636c7564652074686520636f737420666f722073746f72696e67207468652067656e65736973206865616420616e642076616c69646174696f6e20636f64652e48446174614465706f7369745065724279746518408096980000000000000000000000000004c420546865206465706f73697420746f20626520706169642070657220627974652073746f726564206f6e20636861696e2e01d50b4614536c6f74730114536c6f747304184c6561736573010104057102d90b040040150120416d6f756e74732068656c64206f6e206465706f73697420666f7220656163682028706f737369626c792066757475726529206c65617365642070617261636861696e2e006101205468652061637475616c20616d6f756e74206c6f636b6564206f6e2069747320626568616c6620627920616e79206163636f756e7420617420616e792074696d6520697320746865206d6178696d756d206f66207468652901207365636f6e642076616c756573206f6620746865206974656d7320696e2074686973206c6973742077686f73652066697273742076616c756520697320746865206163636f756e742e00610120546865206669727374206974656d20696e20746865206c6973742069732074686520616d6f756e74206c6f636b656420666f72207468652063757272656e74204c6561736520506572696f642e20466f6c6c6f77696e67b0206974656d732061726520666f72207468652073756273657175656e74206c6561736520706572696f64732e006101205468652064656661756c742076616c75652028616e20656d707479206c6973742920696d706c6965732074686174207468652070617261636861696e206e6f206c6f6e6765722065786973747320286f72206e65766572b42065786973746564292061732066617220617320746869732070616c6c657420697320636f6e6365726e65642e00510120496620612070617261636861696e20646f65736e2774206578697374202a7965742a20627574206973207363686564756c656420746f20657869737420696e20746865206675747572652c207468656e20697461012077696c6c206265206c6566742d7061646465642077697468206f6e65206f72206d6f726520604e6f6e65607320746f2064656e6f74652074686520666163742074686174206e6f7468696e672069732068656c64206f6e5d01206465706f73697420666f7220746865206e6f6e2d6578697374656e7420636861696e2063757272656e746c792c206275742069732068656c6420617420736f6d6520706f696e7420696e20746865206675747572652e00dc20497420697320696c6c6567616c20666f72206120604e6f6e65602076616c756520746f20747261696c20696e20746865206c6973742e018105013507082c4c65617365506572696f6410100075120004dc20546865206e756d626572206f6620626c6f636b73206f76657220776869636820612073696e676c6520706572696f64206c617374732e2c4c656173654f6666736574101000100e0004d420546865206e756d626572206f6620626c6f636b7320746f206f66667365742065616368206c6561736520706572696f642062792e01dd0b472041756374696f6e73012041756374696f6e73103841756374696f6e436f756e7465720100101000000000048c204e756d626572206f662061756374696f6e73207374617274656420736f206661722e2c41756374696f6e496e666f00007c040014f820496e666f726d6174696f6e2072656c6174696e6720746f207468652063757272656e742061756374696f6e2c206966207468657265206973206f6e652e00450120546865206669727374206974656d20696e20746865207475706c6520697320746865206c6561736520706572696f6420696e646578207468617420746865206669727374206f662074686520666f7572510120636f6e746967756f7573206c6561736520706572696f6473206f6e2061756374696f6e20697320666f722e20546865207365636f6e642069732074686520626c6f636b206e756d626572207768656e207468655d012061756374696f6e2077696c6c2022626567696e20746f20656e64222c20692e652e2074686520666972737420626c6f636b206f662074686520456e64696e6720506572696f64206f66207468652061756374696f6e2e3c5265736572766564416d6f756e747300010405e10b18040008310120416d6f756e74732063757272656e746c7920726573657276656420696e20746865206163636f756e7473206f662074686520626964646572732063757272656e746c792077696e6e696e673820287375622d2972616e6765732e1c57696e6e696e670001040510e50b04000c6101205468652077696e6e696e67206269647320666f722065616368206f66207468652031302072616e67657320617420656163682073616d706c6520696e207468652066696e616c20456e64696e6720506572696f64206f664901207468652063757272656e742061756374696f6e2e20546865206d61702773206b65792069732074686520302d626173656420696e64657820696e746f207468652053616d706c652053697a652e205468651d012066697273742073616d706c65206f662074686520656e64696e6720706572696f6420697320303b20746865206c617374206973206053616d706c652053697a65202d2031602e0185050139071030456e64696e67506572696f64101040190100041d0120546865206e756d626572206f6620626c6f636b73206f76657220776869636820616e2061756374696f6e206d617920626520726574726f6163746976656c7920656e6465642e3053616d706c654c656e6774681010140000000cf020546865206c656e677468206f6620656163682073616d706c6520746f2074616b6520647572696e672074686520656e64696e6720706572696f642e00d42060456e64696e67506572696f6460202f206053616d706c654c656e67746860203d20546f74616c2023206f662053616d706c657338536c6f7452616e6765436f756e74101024000000004c4c65617365506572696f6473506572536c6f741010080000000001f10b482443726f77646c6f616e012443726f77646c6f616e101446756e6473000104057102f50b0400046820496e666f206f6e20616c6c206f66207468652066756e64732e204e657752616973650100390b0400085501205468652066756e64732074686174206861766520686164206164646974696f6e616c20636f6e747269627574696f6e7320647572696e6720746865206c61737420626c6f636b2e20546869732069732075736564150120696e206f7264657220746f2064657465726d696e652077686963682066756e64732073686f756c64207375626d6974206e6577206f72207570646174656420626964732e30456e64696e6773436f756e74010010100000000004290120546865206e756d626572206f662061756374696f6e732074686174206861766520656e746572656420696e746f20746865697220656e64696e6720706572696f6420736f206661722e344e65787446756e64496e646578010010100000000004a820547261636b657220666f7220746865206e65787420617661696c61626c652066756e6420696e646578018d05013d070c2050616c6c6574496405092070792f6366756e64080d01206050616c6c657449646020666f72207468652063726f77646c6f616e2070616c6c65742e20416e20617070726f7072696174652076616c756520636f756c6420626564206050616c6c65744964282a622270792f6366756e642229603c4d696e436f6e747269627574696f6e184000743ba40b000000000000000000000008610120546865206d696e696d756d20616d6f756e742074686174206d617920626520636f6e747269627574656420696e746f20612063726f77646c6f616e2e2053686f756c6420616c6d6f7374206365727461696e6c792062657c206174206c6561737420604578697374656e7469616c4465706f736974602e3c52656d6f76654b6579734c696d69741010e803000004e4204d6178206e756d626572206f662073746f72616765206b65797320746f2072656d6f7665207065722065787472696e7369632063616c6c2e01fd0b492458636d50616c6c6574012458636d50616c6c657430305175657279436f756e74657201002c200000000000000000048820546865206c617465737420617661696c61626c6520717565727920696e6465782e1c51756572696573000104022c010c0400045420546865206f6e676f696e6720717565726965732e28417373657454726170730101040630101000000000106820546865206578697374696e672061737365742074726170732e007501204b65792069732074686520626c616b6532203235362068617368206f6620286f726967696e2c2076657273696f6e656420604d756c7469417373657473602920706169722e2056616c756520697320746865206e756d626572206f661d012074696d65732074686973207061697220686173206265656e20747261707065642028757375616c6c79206a75737420312069662069742065786973747320617420616c6c292e385361666558636d56657273696f6e00001004000861012044656661756c742076657273696f6e20746f20656e636f64652058434d207768656e206c61746573742076657273696f6e206f662064657374696e6174696f6e20697320756e6b6e6f776e2e20496620604e6f6e65602c3d01207468656e207468652064657374696e6174696f6e732077686f73652058434d2076657273696f6e20697320756e6b6e6f776e2061726520636f6e7369646572656420756e726561636861626c652e40537570706f7274656456657273696f6e0001080502150c10040004f020546865204c61746573742076657273696f6e732074686174207765206b6e6f7720766172696f7573206c6f636174696f6e7320737570706f72742e4056657273696f6e4e6f746966696572730001080502150c2c040004050120416c6c206c6f636174696f6e7320746861742077652068617665207265717565737465642076657273696f6e206e6f74696669636174696f6e732066726f6d2e5056657273696f6e4e6f74696679546172676574730001080502150c190c04000871012054686520746172676574206c6f636174696f6e73207468617420617265207375627363726962656420746f206f75722076657273696f6e206368616e6765732c2061732077656c6c20617320746865206d6f737420726563656e7494206f66206f75722076657273696f6e7320776520696e666f726d6564207468656d206f662e5456657273696f6e446973636f76657279517565756501001d0c04000c65012044657374696e6174696f6e732077686f7365206c61746573742058434d2076657273696f6e20776520776f756c64206c696b6520746f206b6e6f772e204475706c696361746573206e6f7420616c6c6f7765642c20616e6471012074686520607533326020636f756e74657220697320746865206e756d626572206f662074696d6573207468617420612073656e6420746f207468652064657374696e6174696f6e20686173206265656e20617474656d707465642c8c20776869636820697320757365642061732061207072696f726974697a6174696f6e2e4043757272656e744d6967726174696f6e0000290c0400049c205468652063757272656e74206d6967726174696f6e27732073746167652c20696620616e792e5452656d6f74654c6f636b656446756e6769626c657300010c050202310c390c040004f02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e20612072656d6f746520636861696e2e3c4c6f636b656446756e6769626c65730001040200490c040004e02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e207468697320636861696e2e5458636d457865637574696f6e53757370656e6465640100b4040004b420476c6f62616c2073757370656e73696f6e207374617465206f66207468652058434d206578656375746f722e01a5050141070001550c63304d657373616765517565756501304d65737361676551756575650c30426f6f6b5374617465466f72010104058106590c74000000000000000000000000000000000000000000000000000000000004cc2054686520696e646578206f662074686520666972737420616e64206c61737420286e6f6e2d656d707479292070616765732e2c536572766963654865616400008106040004bc20546865206f726967696e2061742077686963682077652073686f756c6420626567696e20736572766963696e672e1450616765730001080505650c690c0400048820546865206d6170206f66207061676520696e646963657320746f2070616765732e017d060149070c204865617053697a65101000000100143d01205468652073697a65206f662074686520706167653b207468697320696d706c69657320746865206d6178696d756d206d6573736167652073697a652077686963682063616e2062652073656e742e005901204120676f6f642076616c756520646570656e6473206f6e20746865206578706563746564206d6573736167652073697a65732c20746865697220776569676874732c207468652077656967687420746861742069735d0120617661696c61626c6520666f722070726f63657373696e67207468656d20616e6420746865206d6178696d616c206e6565646564206d6573736167652073697a652e20546865206d6178696d616c206d65737361676511012073697a6520697320736c696768746c79206c6f776572207468616e207468697320617320646566696e6564206279205b604d61784d6573736167654c656e4f66605d2e204d61785374616c651010080000000c5d0120546865206d6178696d756d206e756d626572206f66207374616c652070616765732028692e652e206f66206f766572776569676874206d657373616765732920616c6c6f776564206265666f72652063756c6c696e6751012063616e2068617070656e2e204f6e636520746865726520617265206d6f7265207374616c65207061676573207468616e20746869732c207468656e20686973746f726963616c207061676573206d6179206265fc2064726f707065642c206576656e206966207468657920636f6e7461696e20756e70726f636573736564206f766572776569676874206d657373616765732e3453657276696365576569676874c90640010700a0db215d1333333333333333331441012054686520616d6f756e74206f66207765696768742028696620616e79292077686963682073686f756c642062652070726f766964656420746f20746865206d65737361676520717565756520666f726820736572766963696e6720656e717565756564206974656d732e00fc2054686973206d6179206265206c65676974696d6174656c7920604e6f6e656020696e207468652063617365207468617420796f752077696c6c2063616c6ca82060536572766963655175657565733a3a736572766963655f71756575657360206d616e75616c6c792e01710c642441737365745261746501244173736574526174650458436f6e76657273696f6e52617465546f4e61746976650001040205018d0604000c1d01204d61707320616e20617373657420746f2069747320666978656420706f696e7420726570726573656e746174696f6e20696e20746865206e61746976652062616c616e63652e004d0120452e672e20606e61746976655f616d6f756e74203d2061737365745f616d6f756e74202a20436f6e76657273696f6e52617465546f4e61746976653a3a3c543e3a3a6765742861737365745f6b696e6429600189060151070001750c6514426565667901144265656679142c417574686f7269746965730100790c04000470205468652063757272656e7420617574686f726974696573207365743856616c696461746f72536574496401002c2000000000000000000474205468652063757272656e742076616c696461746f72207365742069643c4e657874417574686f7269746965730100790c040004ec20417574686f72697469657320736574207363686564756c656420746f2062652075736564207769746820746865206e6578742073657373696f6e30536574496453657373696f6e000104052c1004002851012041206d617070696e672066726f6d2042454546592073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e0045012054686973206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e2070726f6f66732e20416e2065717569766f636174696f6e2070726f6f66206d7573744d0120636f6e7461696e732061206b65792d6f776e6572736869702070726f6f6620666f72206120676976656e2073657373696f6e2c207468657265666f7265207765206e65656420612077617920746f207469653d0120746f6765746865722073657373696f6e7320616e6420424545465920736574206964732c20692e652e207765206e65656420746f2076616c6964617465207468617420612076616c696461746f7241012077617320746865206f776e6572206f66206120676976656e206b6579206f6e206120676976656e2073657373696f6e2c20616e642077686174207468652061637469766520736574204944207761735420647572696e6720746861742073657373696f6e2e00dc2054574f582d4e4f54453a206056616c696461746f72536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e3047656e65736973426c6f636b0100450204000cdc20426c6f636b206e756d62657220776865726520424545465920636f6e73656e73757320697320656e61626c65642f737461727465642e6901204279206368616e67696e67207468697320287468726f7567682070726976696c6567656420607365745f6e65775f67656e65736973282960292c20424545465920636f6e73656e737573206973206566666563746976656c79ac207265737461727465642066726f6d20746865206e65776c792073657420626c6f636b206e756d6265722e019106000c384d6178417574686f7269746965731010a086010004d420546865206d6178696d756d206e756d626572206f6620617574686f72697469657320746861742063616e2062652061646465642e344d61784e6f6d696e61746f727310100002000004d420546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320666f7220656163682076616c696461746f722e584d6178536574496453657373696f6e456e74726965732c20a80000000000000018390120546865206d6178696d756d206e756d626572206f6620656e747269657320746f206b65657020696e207468652073657420696420746f2073657373696f6e20696e646578206d617070696e672e0031012053696e6365207468652060536574496453657373696f6e60206d6170206973206f6e6c79207573656420666f722076616c69646174696e672065717569766f636174696f6e73207468697329012076616c75652073686f756c642072656c61746520746f2074686520626f6e64696e67206475726174696f6e206f66207768617465766572207374616b696e672073797374656d2069733501206265696e6720757365642028696620616e79292e2049662065717569766f636174696f6e2068616e646c696e67206973206e6f7420656e61626c6564207468656e20746869732076616c7565342063616e206265207a65726f2e01810cc80c4d6d72010c4d6d720c20526f6f74486173680100308000000000000000000000000000000000000000000000000000000000000000000458204c6174657374204d4d5220526f6f7420686173682e384e756d6265724f664c656176657301002c20000000000000000004b02043757272656e742073697a65206f6620746865204d4d5220286e756d626572206f66206c6561766573292e144e6f646573000104062c300400108020486173686573206f6620746865206e6f64657320696e20746865204d4d522e002d01204e6f7465207468697320636f6c6c656374696f6e206f6e6c7920636f6e7461696e73204d4d52207065616b732c2074686520696e6e6572206e6f6465732028616e64206c656176657329bc20617265207072756e656420616e64206f6e6c792073746f72656420696e20746865204f6666636861696e2044422e00000000c93042656566794d6d724c656166013042656566794d6d724c65616608404265656679417574686f7269746965730100850cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a02044657461696c73206f662063757272656e7420424545465920617574686f72697479207365742e5042656566794e657874417574686f7269746965730100850cb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c942044657461696c73206f66206e65787420424545465920617574686f72697479207365742e00510120546869732073746f7261676520656e747279206973207573656420617320636163686520666f722063616c6c7320746f20607570646174655f62656566795f6e6578745f617574686f726974795f736574602e00000000ca890c042448436865636b4e6f6e5a65726f53656e646572910c8840436865636b5370656356657273696f6e950c1038436865636b547856657273696f6e990c1030436865636b47656e657369739d0c3038436865636b4d6f7274616c697479a10c3028436865636b4e6f6e6365a90c882c436865636b576569676874ad0c88604368617267655472616e73616374696f6e5061796d656e74b10c884850726576616c696461746541747465737473b50c88b90c'; diff --git a/src/testHelpers/mockPolkadotRelayApi.ts b/src/testHelpers/mockPolkadotRelayApi.ts new file mode 100644 index 0000000..ff2537f --- /dev/null +++ b/src/testHelpers/mockPolkadotRelayApi.ts @@ -0,0 +1,6 @@ +// Copyright 2024 Parity Technologies (UK) Ltd. + +import { createApiWithAugmentations } from './createApiWithAugmentations'; +import { polkadotV10800 } from './metadata/polkadotV10800'; + +export const mockPolkadotApi = createApiWithAugmentations(polkadotV10800); diff --git a/src/testHelpers/testRegistry.json b/src/testHelpers/testRegistry.json index aae47a2..f677147 100644 --- a/src/testHelpers/testRegistry.json +++ b/src/testHelpers/testRegistry.json @@ -40,10 +40,10 @@ "tokens": [ "BNC" ], + "specName": "bifrost-polkadot", "assetsInfo": {}, "foreignAssetsInfo": {}, "poolPairsInfo": {}, - "specName": "bifrost-polkadot", "xcAssetsData": [ { "paraID": 0, diff --git a/src/updateRegistryChainInfo.ts b/src/updateRegistryChainInfo.ts new file mode 100644 index 0000000..16e9985 --- /dev/null +++ b/src/updateRegistryChainInfo.ts @@ -0,0 +1,18 @@ +import { ChainInfo, ChainInfoKeys, TokenRegistry } from './types'; + +export const updateRegistryChainInfo = async ( + chainName: string, + registry: TokenRegistry, + chainInfoPromises: Promise<[ChainInfoKeys, number | undefined] | null>[], +): Promise => { + await Promise.all(chainInfoPromises).then((chainInfoData) => { + for (const chainInfo of chainInfoData) { + if (chainInfo) { + const [info, paraId] = chainInfo; + (registry[chainName] as ChainInfo)[paraId as number] = info; + } + } + }); + + return registry; +}; diff --git a/src/util.ts b/src/util.ts index 9105abb..4a5e014 100644 --- a/src/util.ts +++ b/src/util.ts @@ -4,8 +4,8 @@ import { formatDate } from '@polkadot/util'; import fs from 'fs'; import fetch from 'node-fetch'; -import { RPC_BLACK_LIST } from './consts'; -import type { TokenRegistry, XcAssets } from './types'; +import { RPC_BLACK_LIST } from './consts.js'; +import type { TokenRegistry, XcAssets } from './types.js'; /** * Write Json to a file path. diff --git a/tsconfig.json b/tsconfig.json index af9f8c4..422d7da 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,10 @@ "ignoreDeprecations": "5.0", "resolveJsonModule": true, "esModuleInterop": true, + "module": "ESNext", + "target": "ES2015", + "allowJs": true, + "moduleResolution": "Node" }, "typeRoots": [ "./node_modules/@types" @@ -17,5 +21,10 @@ ], "include": [ "./src/**/*.ts", - ] + "./**/*.ts" + ], + "ts-node": { + "esm": true, + "experimentalSpecifierResolution": "node", + }, } diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..a251c7f --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + include: ['./src/**/*.spec.ts'], + globals: true, + }, +}); diff --git a/yarn.lock b/yarn.lock index b50ad7f..25d5deb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,12 +12,12 @@ __metadata: languageName: node linkType: hard -"@acala-network/type-definitions@npm:5.1.1": - version: 5.1.1 - resolution: "@acala-network/type-definitions@npm:5.1.1" +"@acala-network/type-definitions@npm:5.1.2": + version: 5.1.2 + resolution: "@acala-network/type-definitions@npm:5.1.2" peerDependencies: "@polkadot/types": ^10.5.1 - checksum: 10/f42c33f9659f654893963a5c74de2047456970bcfa116c9c82a49ea7af3437920b21ee6c167293f9c56170b72894979db7983578ede75419c6a9aed19b0bb0bb + checksum: 10/3af053d76b87c5586139448add02347b90f168ce2bb956d946d71955f8a754e41924944832e0e160464fdbe69ff85946fc879d86c2d7ab91ab061cc7fdd816d1 languageName: node linkType: hard @@ -390,12 +390,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.14.6, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6": - version: 7.23.6 - resolution: "@babel/runtime@npm:7.23.6" +"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.14.6, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6": + version: 7.24.0 + resolution: "@babel/runtime@npm:7.24.0" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10/4c4ab16f0361c59fb23956e4d0a29935f1f8a64aa8dd37876ce38355b6f4d8f0e54237aacb89c73b1532def60539ddde2d651523c8fa887b30b19a8cf0c465b0 + checksum: 10/8d32c7e116606ea322b89f9fde8ffae6be9503b549dc0d0abb38bd9dc26e87469b9fb7a66964cc089ee558fd0a97d304fb0a3cfec140694764fb0d71b6a6f5e4 languageName: node linkType: hard @@ -446,12 +446,12 @@ __metadata: languageName: node linkType: hard -"@bifrost-finance/type-definitions@npm:1.8.4": - version: 1.8.4 - resolution: "@bifrost-finance/type-definitions@npm:1.8.4" +"@bifrost-finance/type-definitions@npm:1.11.3": + version: 1.11.3 + resolution: "@bifrost-finance/type-definitions@npm:1.11.3" peerDependencies: "@polkadot/api": ^10.7.3 - checksum: 10/5f8882c2b9f4c4976d67863e69eac5fa092cf7d368decd9fdda9796b6e9d0029c03d820e20c6667dc7243b4afdbe61737fca7af1bb8e2f605233b8a174912527 + checksum: 10/af6ad64f87a2a58d7c11db9a4d3016661efa42495a95bc9938cbbc725a17bfc3750fa351211f290b6c3c0eccb778bc8d36d868ac38916b7002918a958e2dd1a6 languageName: node linkType: hard @@ -532,6 +532,167 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/aix-ppc64@npm:0.20.2" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm64@npm:0.20.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm@npm:0.20.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-x64@npm:0.20.2" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-arm64@npm:0.20.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-x64@npm:0.20.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-arm64@npm:0.20.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-x64@npm:0.20.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm64@npm:0.20.2" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm@npm:0.20.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ia32@npm:0.20.2" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-loong64@npm:0.20.2" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-mips64el@npm:0.20.2" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ppc64@npm:0.20.2" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-riscv64@npm:0.20.2" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-s390x@npm:0.20.2" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-x64@npm:0.20.2" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/netbsd-x64@npm:0.20.2" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/openbsd-x64@npm:0.20.2" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/sunos-x64@npm:0.20.2" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-arm64@npm:0.20.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-ia32@npm:0.20.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-x64@npm:0.20.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -585,14 +746,14 @@ __metadata: languageName: node linkType: hard -"@frequency-chain/api-augment@npm:1.7.0-rc1": - version: 1.7.0-rc1 - resolution: "@frequency-chain/api-augment@npm:1.7.0-rc1" +"@frequency-chain/api-augment@npm:1.9.0": + version: 1.9.0 + resolution: "@frequency-chain/api-augment@npm:1.9.0" dependencies: - "@polkadot/api": "npm:^10.7.3" - "@polkadot/rpc-provider": "npm:^10.7.3" - "@polkadot/types": "npm:^10.7.3" - checksum: 10/c7c33d738442a5f52c9621fe6ee58e52f57f2e923c8cb57ef783ea06d8b2221cd87832ef80b392133ea98c9e1995e28c0faa3c6577f9f08e4ec359580cda7e3c + "@polkadot/api": "npm:^10.9.1" + "@polkadot/rpc-provider": "npm:^10.9.1" + "@polkadot/types": "npm:^10.9.1" + checksum: 10/88dea981d8c735a042064c534fb10db4e8351008f334321ebb7b22666c9f00db83e70d6df6a3919d0863bd4b20e4dd695a6305cb94a8b3a1b4c1f174e5eb0155 languageName: node linkType: hard @@ -621,10 +782,10 @@ __metadata: languageName: node linkType: hard -"@interlay/interbtc-types@npm:1.12.0": - version: 1.12.0 - resolution: "@interlay/interbtc-types@npm:1.12.0" - checksum: 10/cad78ce983423827d14d67f6e624131f1bb346e36841e25acb20c556431e787e047bfda50f2445db7727922471b22cd85c45608789070559518fad9620784277 +"@interlay/interbtc-types@npm:1.13.0": + version: 1.13.0 + resolution: "@interlay/interbtc-types@npm:1.13.0" + checksum: 10/8c338d075e20c85beace6dd0f661c37dc6ec37207cb6f9c76abbd81cc4f446e36ad82c82006054c0b8bedf318cdf8c9ec2cf1e5ae35bc0abeca55a54cd2d8eb1 languageName: node linkType: hard @@ -917,7 +1078,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: 10/89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09 @@ -934,10 +1095,10 @@ __metadata: languageName: node linkType: hard -"@kiltprotocol/type-definitions@npm:0.33.1": - version: 0.33.1 - resolution: "@kiltprotocol/type-definitions@npm:0.33.1" - checksum: 10/a81d2229d6842f16e247c32c96c93e17b9b1b7cabb0435268a8a838b5666c23fc1fc57fe64ea4915e1ec17758466f2e7e7ccad9d0ea4bef952adf8f0a8116659 +"@kiltprotocol/type-definitions@npm:0.34.0": + version: 0.34.0 + resolution: "@kiltprotocol/type-definitions@npm:0.34.0" + checksum: 10/21a814822b623a73299639010c6b1cc79519cc54ecc82f8553b569afb481728b7d18b4dcdadc54b904f9a9ae3f3a8dee5cfb093f1a4c80df0d8a21221e2bbbb4 languageName: node linkType: hard @@ -950,17 +1111,26 @@ __metadata: languageName: node linkType: hard -"@logion/node-api@npm:0.16.0": - version: 0.16.0 - resolution: "@logion/node-api@npm:0.16.0" +"@logion/node-api@npm:0.27.0-4": + version: 0.27.0-4 + resolution: "@logion/node-api@npm:0.27.0-4" dependencies: - "@polkadot/api": "npm:^10.4.1" - "@polkadot/util": "npm:^12.0.1" - "@polkadot/util-crypto": "npm:^12.0.1" + "@polkadot/api": "npm:^10.10.1" + "@polkadot/util": "npm:^12.5.1" + "@polkadot/util-crypto": "npm:^12.5.1" "@types/uuid": "npm:^9.0.2" fast-sha256: "npm:^1.3.0" uuid: "npm:^9.0.0" - checksum: 10/9341afa658f41e1dbfa5a25191f9905b1c73a0b5935af3da5a13ce11e22c77f9465f861dd89b8a13e8ea73c55ba6074ff14296b3d9d3d74755cc23dcfeee29cd + checksum: 10/a6ef4741b7a8d56405f77a6f7ac19d69a5d535a0e0930d0a055b1b515172d511f6595cd35d57d1c5f02a4a489cd3dfb4a67352dc6adc1615d9aa5f5c1be5e278 + languageName: node + linkType: hard + +"@mangata-finance/type-definitions@npm:^2.1.2": + version: 2.1.2 + resolution: "@mangata-finance/type-definitions@npm:2.1.2" + peerDependencies: + "@polkadot/types": ^10.9.1 + checksum: 10/268209142e7a2b8a4cf45ac9a6f7c8c2f4244fb99972e245eb2be57385252ab893ae2d295f1b2001ddd0c86b20169a249b76b90c12863355343022f79e3da048 languageName: node linkType: hard @@ -996,13 +1166,20 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.3.3, @noble/hashes@npm:^1.3.3": +"@noble/hashes@npm:1.3.3": version: 1.3.3 resolution: "@noble/hashes@npm:1.3.3" checksum: 10/1025ddde4d24630e95c0818e63d2d54ee131b980fe113312d17ed7468bc18f54486ac86c907685759f8a7e13c2f9b9e83ec7b67d1cc20836f36b5e4a65bb102d languageName: node linkType: hard +"@noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.3.3": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 10/e156e65794c473794c52fa9d06baf1eb20903d0d96719530f523cc4450f6c721a957c544796e6efd0197b2296e7cd70efeb312f861465e17940a3e3c7e0febc6 + languageName: node + linkType: hard + "@noble/secp256k1@npm:1.5.5": version: 1.5.5 resolution: "@noble/secp256k1@npm:1.5.5" @@ -1066,7 +1243,7 @@ __metadata: languageName: node linkType: hard -"@open-web3/orml-type-definitions@npm:1.1.4": +"@open-web3/orml-type-definitions@npm:1.1.4, @open-web3/orml-type-definitions@npm:^1.1.4": version: 1.1.4 resolution: "@open-web3/orml-type-definitions@npm:1.1.4" dependencies: @@ -1100,12 +1277,12 @@ __metadata: languageName: node linkType: hard -"@parallel-finance/type-definitions@npm:1.7.17": - version: 1.7.17 - resolution: "@parallel-finance/type-definitions@npm:1.7.17" +"@parallel-finance/type-definitions@npm:2.0.1": + version: 2.0.1 + resolution: "@parallel-finance/type-definitions@npm:2.0.1" dependencies: "@open-web3/orml-type-definitions": "npm:^2.0.1" - checksum: 10/922741feff6fde626ac91debbfe6d9b149d2a04da837a59d23d4fa9faada06bcccf968b195655a193fe367a46618dff42ad4d6b3588b7176e7d7f08d70697c65 + checksum: 10/10667f654ef80f11b75c68ba6a8a69536b06b5c83bba8a313220963cca433735917bcc237f9799834793a949a61e2a293b30cb252e78a3ccf249e290177e78ae languageName: node linkType: hard @@ -1118,6 +1295,16 @@ __metadata: languageName: node linkType: hard +"@pendulum-chain/type-definitions@npm:0.3.8": + version: 0.3.8 + resolution: "@pendulum-chain/type-definitions@npm:0.3.8" + dependencies: + "@babel/runtime": "npm:^7.10.2" + "@open-web3/orml-type-definitions": "npm:^1.1.4" + checksum: 10/64fc2a4d505abb00dc28e9901c7ac2c97c726601debf8b76182d4a93ee277e4e6ccb2109e31d11239cecb7a07e6109685c01476646633e13e4a2329de3da8cc4 + languageName: node + linkType: hard + "@phala/typedefs@npm:0.2.33": version: 0.2.33 resolution: "@phala/typedefs@npm:0.2.33" @@ -1146,6 +1333,70 @@ __metadata: languageName: node linkType: hard +"@polkadot-api/client@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version: 0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0 + resolution: "@polkadot-api/client@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + dependencies: + "@polkadot-api/metadata-builders": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/substrate-bindings": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/substrate-client": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/utils": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + peerDependencies: + rxjs: ">=7.8.0" + checksum: 10/3a41b87ff0c5b251df7f348050470030bfaba5a9c1a308c3ec8ee97aff7f780e24ca220bdeaeded6a1cafd2dbd7b7e81859a068e24ef454d78b13d58b939f538 + languageName: node + linkType: hard + +"@polkadot-api/json-rpc-provider-proxy@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version: 0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0 + resolution: "@polkadot-api/json-rpc-provider-proxy@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + checksum: 10/ae36deb438820251e85b24c90766ef9c5cf77f1d9069bf06a78c5f8ed10e9a4168108b016f2ff3357e585fc47ddec3f23d19e7e234122b21d6ea9f9386ae7a6f + languageName: node + linkType: hard + +"@polkadot-api/json-rpc-provider@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version: 0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0 + resolution: "@polkadot-api/json-rpc-provider@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + checksum: 10/fb028b1d16e2c39e5130f90e340691afcd1c45f08f39f56e3a46aa5a87f2bdfd2f71ad81f348d7fe78aceae483c50be4eb55e572f5fdf273beab5ac7b253a59c + languageName: node + linkType: hard + +"@polkadot-api/metadata-builders@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version: 0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0 + resolution: "@polkadot-api/metadata-builders@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + dependencies: + "@polkadot-api/substrate-bindings": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/utils": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + checksum: 10/b4b7d12f8ba410ee99c2cebd72835419fff2431099d70337427875ce9c54e02d78586fd5d87e623fa94cc3743491856844cb0b041998c5784d4bdb7c7b436e67 + languageName: node + linkType: hard + +"@polkadot-api/substrate-bindings@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version: 0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0 + resolution: "@polkadot-api/substrate-bindings@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + dependencies: + "@noble/hashes": "npm:^1.3.1" + "@polkadot-api/utils": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@scure/base": "npm:^1.1.1" + scale-ts: "npm:^1.4.3" + checksum: 10/7b80f9eb6b1c55c4939297dad2ec94d231a0fedf84662f34ba2dfa97c9c55123e51c4f95d091318ededfedec821b34fabb66c129358b3501d08f4d9179aeba19 + languageName: node + linkType: hard + +"@polkadot-api/substrate-client@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version: 0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0 + resolution: "@polkadot-api/substrate-client@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + checksum: 10/3604879cd49806363eaf19a0ce5e835361c5bbc8df731d13935ee77356ec90a060b8622ede2a2943d10654b5d3fb01d6f7210e776bb7504c23b924f170e5ad5b + languageName: node + linkType: hard + +"@polkadot-api/utils@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version: 0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0 + resolution: "@polkadot-api/utils@npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + checksum: 10/46cb47e4236e7861667ceff425a60a701df0be609e364bddaab50011b3d8ba7f2758cc7ba4881f660c4d3aaf151edaf58965ce88fc0fb4d1ccce40efda60ad65 + languageName: node + linkType: hard + "@polkadot/api-augment@npm:10.11.1": version: 10.11.1 resolution: "@polkadot/api-augment@npm:10.11.1" @@ -1161,18 +1412,18 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-augment@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/api-augment@npm:10.11.2" +"@polkadot/api-augment@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/api-augment@npm:10.12.2" dependencies: - "@polkadot/api-base": "npm:10.11.2" - "@polkadot/rpc-augment": "npm:10.11.2" - "@polkadot/types": "npm:10.11.2" - "@polkadot/types-augment": "npm:10.11.2" - "@polkadot/types-codec": "npm:10.11.2" + "@polkadot/api-base": "npm:10.12.2" + "@polkadot/rpc-augment": "npm:10.12.2" + "@polkadot/types": "npm:10.12.2" + "@polkadot/types-augment": "npm:10.12.2" + "@polkadot/types-codec": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" tslib: "npm:^2.6.2" - checksum: 10/8362ae5e5768ab60c00d588b67f47eabe80246d7f70336786e5393310ae3b64d5eb5d7d11eb50d5743e4c3aad1cd5da02e7192f079a016be3692123a456cceec + checksum: 10/c0da2680a47113aedcad7311bec4844bcfb99300a7029e766b2bebf9692779d0499904fa135b2807c02f420f14d23f90b94c699e4bb3a4902d4697debe004f0b languageName: node linkType: hard @@ -1219,16 +1470,16 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-base@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/api-base@npm:10.11.2" +"@polkadot/api-base@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/api-base@npm:10.12.2" dependencies: - "@polkadot/rpc-core": "npm:10.11.2" - "@polkadot/types": "npm:10.11.2" + "@polkadot/rpc-core": "npm:10.12.2" + "@polkadot/types": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" rxjs: "npm:^7.8.1" tslib: "npm:^2.6.2" - checksum: 10/927d61cc53885d2ab7d7011e95e1802cd8e999fe06e3d9da29c292b6a1d0c6b7214ef2f973e458ab90c8acfec0761028ed0e000365f3cebea8c379f8c60aff20 + checksum: 10/a02457d01d4b6a00b4eae6a614e83d03a1ba0acf16ac782a330da1f2e80bf1424862f8e8e8032ec2f9e9706d2038b47a3a0e9407e7cdf10b1012bf12f50eaaf1 languageName: node linkType: hard @@ -1276,21 +1527,21 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-derive@npm:10.11.2, @polkadot/api-derive@npm:^10.9.1": - version: 10.11.2 - resolution: "@polkadot/api-derive@npm:10.11.2" +"@polkadot/api-derive@npm:10.12.2, @polkadot/api-derive@npm:^10.12.2": + version: 10.12.2 + resolution: "@polkadot/api-derive@npm:10.12.2" dependencies: - "@polkadot/api": "npm:10.11.2" - "@polkadot/api-augment": "npm:10.11.2" - "@polkadot/api-base": "npm:10.11.2" - "@polkadot/rpc-core": "npm:10.11.2" - "@polkadot/types": "npm:10.11.2" - "@polkadot/types-codec": "npm:10.11.2" + "@polkadot/api": "npm:10.12.2" + "@polkadot/api-augment": "npm:10.12.2" + "@polkadot/api-base": "npm:10.12.2" + "@polkadot/rpc-core": "npm:10.12.2" + "@polkadot/types": "npm:10.12.2" + "@polkadot/types-codec": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" "@polkadot/util-crypto": "npm:^12.6.2" rxjs: "npm:^7.8.1" tslib: "npm:^2.6.2" - checksum: 10/47a1a002030c9e304abc2411f8f6ef28797f45e4388ee514734a326d4c687204d3d8b526896e5448e18208677d604ade3ee28554c32fe764709c3e640ce9ad27 + checksum: 10/3fef9947e4f149a2fb694a22b38800628381d0f9e8fa00a02c8f5551dbd09d6a3689b46bbb057ccf5e5cc1bd585ac26a75c77c4d163d7566524614ee8768e8d0 languageName: node linkType: hard @@ -1355,28 +1606,28 @@ __metadata: languageName: node linkType: hard -"@polkadot/api@npm:10.11.2, @polkadot/api@npm:^10.4.1, @polkadot/api@npm:^10.7.3, @polkadot/api@npm:^10.9.1": - version: 10.11.2 - resolution: "@polkadot/api@npm:10.11.2" +"@polkadot/api@npm:10.12.2, @polkadot/api@npm:^10.10.1, @polkadot/api@npm:^10.12.2, @polkadot/api@npm:^10.9.1": + version: 10.12.2 + resolution: "@polkadot/api@npm:10.12.2" dependencies: - "@polkadot/api-augment": "npm:10.11.2" - "@polkadot/api-base": "npm:10.11.2" - "@polkadot/api-derive": "npm:10.11.2" + "@polkadot/api-augment": "npm:10.12.2" + "@polkadot/api-base": "npm:10.12.2" + "@polkadot/api-derive": "npm:10.12.2" "@polkadot/keyring": "npm:^12.6.2" - "@polkadot/rpc-augment": "npm:10.11.2" - "@polkadot/rpc-core": "npm:10.11.2" - "@polkadot/rpc-provider": "npm:10.11.2" - "@polkadot/types": "npm:10.11.2" - "@polkadot/types-augment": "npm:10.11.2" - "@polkadot/types-codec": "npm:10.11.2" - "@polkadot/types-create": "npm:10.11.2" - "@polkadot/types-known": "npm:10.11.2" + "@polkadot/rpc-augment": "npm:10.12.2" + "@polkadot/rpc-core": "npm:10.12.2" + "@polkadot/rpc-provider": "npm:10.12.2" + "@polkadot/types": "npm:10.12.2" + "@polkadot/types-augment": "npm:10.12.2" + "@polkadot/types-codec": "npm:10.12.2" + "@polkadot/types-create": "npm:10.12.2" + "@polkadot/types-known": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" "@polkadot/util-crypto": "npm:^12.6.2" eventemitter3: "npm:^5.0.1" rxjs: "npm:^7.8.1" tslib: "npm:^2.6.2" - checksum: 10/0e4b2a47b25129fafcea07f93c358f56ea8728933c5300af34f435e6b15a12f2cb5fba664a09d64ef347ddc942e43ce2ee118086cd477f91b58b9eb04b2596ef + checksum: 10/758aa7f6fd4e31c6c631b89c454b03ed3115c3866d581cccb6b90a2c4f1e68c32c5688448b567a65c26587b1b74f32f578c6c53c0a9047ef957daf4cfad334e5 languageName: node linkType: hard @@ -1430,12 +1681,12 @@ __metadata: languageName: node linkType: hard -"@polkadot/apps-config@npm:0.132.1": - version: 0.132.1 - resolution: "@polkadot/apps-config@npm:0.132.1" +"@polkadot/apps-config@npm:^0.134.1": + version: 0.134.1 + resolution: "@polkadot/apps-config@npm:0.134.1" dependencies: - "@acala-network/type-definitions": "npm:5.1.1" - "@bifrost-finance/type-definitions": "npm:1.8.4" + "@acala-network/type-definitions": "npm:5.1.2" + "@bifrost-finance/type-definitions": "npm:1.11.3" "@crustio/type-definitions": "npm:1.3.0" "@darwinia/types": "npm:2.8.10" "@darwinia/types-known": "npm:2.8.10" @@ -1444,40 +1695,42 @@ __metadata: "@edgeware/node-types": "npm:3.6.2-wako" "@equilab/definitions": "npm:1.4.18" "@fragnova/api-augment": "npm:0.1.0-spec-1.0.4-mainnet" - "@frequency-chain/api-augment": "npm:1.7.0-rc1" - "@interlay/interbtc-types": "npm:1.12.0" - "@kiltprotocol/type-definitions": "npm:0.33.1" + "@frequency-chain/api-augment": "npm:1.9.0" + "@interlay/interbtc-types": "npm:1.13.0" + "@kiltprotocol/type-definitions": "npm:0.34.0" "@laminar/type-definitions": "npm:0.3.1" - "@logion/node-api": "npm:0.16.0" + "@logion/node-api": "npm:0.27.0-4" + "@mangata-finance/type-definitions": "npm:^2.1.2" "@metaverse-network-sdk/type-definitions": "npm:0.0.1-16" - "@parallel-finance/type-definitions": "npm:1.7.17" + "@parallel-finance/type-definitions": "npm:2.0.1" "@peaqnetwork/type-definitions": "npm:0.0.4" + "@pendulum-chain/type-definitions": "npm:0.3.8" "@phala/typedefs": "npm:0.2.33" - "@polkadot/api": "npm:^10.9.1" - "@polkadot/api-derive": "npm:^10.9.1" - "@polkadot/networks": "npm:^12.3.2" - "@polkadot/react-identicon": "npm:^3.5.1" - "@polkadot/types": "npm:^10.9.1" - "@polkadot/types-codec": "npm:^10.9.1" - "@polkadot/util": "npm:^12.3.2" - "@polkadot/wasm-util": "npm:^7.2.1" - "@polkadot/x-fetch": "npm:^12.3.2" - "@polkadot/x-ws": "npm:^12.3.2" - "@polymeshassociation/polymesh-types": "npm:5.4.1" + "@polkadot/api": "npm:^10.12.2" + "@polkadot/api-derive": "npm:^10.12.2" + "@polkadot/networks": "npm:^12.6.2" + "@polkadot/react-identicon": "npm:^3.6.5" + "@polkadot/types": "npm:^10.12.2" + "@polkadot/types-codec": "npm:^10.12.2" + "@polkadot/util": "npm:^12.6.2" + "@polkadot/wasm-util": "npm:^7.3.2" + "@polkadot/x-fetch": "npm:^12.6.2" + "@polkadot/x-ws": "npm:^12.6.2" + "@polymeshassociation/polymesh-types": "npm:5.7.0" "@snowfork/snowbridge-types": "npm:0.2.7" - "@sora-substrate/type-definitions": "npm:1.17.16" - "@subsocial/definitions": "npm:0.8.13" - "@unique-nft/opal-testnet-types": "npm:942.57.0" - "@unique-nft/quartz-mainnet-types": "npm:942.57.0" - "@unique-nft/sapphire-mainnet-types": "npm:942.57.0" - "@unique-nft/unique-mainnet-types": "npm:941.56.0" + "@sora-substrate/type-definitions": "npm:1.27.7" + "@subsocial/definitions": "npm:0.8.14" + "@unique-nft/opal-testnet-types": "npm:1003.70.0" + "@unique-nft/quartz-mainnet-types": "npm:1003.70.0" + "@unique-nft/sapphire-mainnet-types": "npm:1003.70.0" + "@unique-nft/unique-mainnet-types": "npm:1001.63.0" "@zeitgeistpm/type-defs": "npm:1.0.0" "@zeroio/type-definitions": "npm:0.0.14" moonbeam-types-bundle: "npm:2.0.10" pontem-types-bundle: "npm:1.0.15" rxjs: "npm:^7.8.1" - tslib: "npm:^2.5.3" - checksum: 10/c8ea9fad06b9f91098def86df52fd9d0fba889da6515962f6a3c98d3122ccc9e16a0b5e1b9fb01d2b06de527bc7f3aab0839dd19df63916340e643fb62b2a194 + tslib: "npm:^2.6.2" + checksum: 10/36464400daa13ee6df18824c331eb066bc671b23d07ec6838bbcb90bbcad740f9f918ba593eb4db1b58bc3b9cc17710d75eafb129b20ee35fa62ce9d9e787b40 languageName: node linkType: hard @@ -1575,7 +1828,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/networks@npm:12.6.2, @polkadot/networks@npm:^12.3.2, @polkadot/networks@npm:^12.6.1, @polkadot/networks@npm:^12.6.2": +"@polkadot/networks@npm:12.6.2, @polkadot/networks@npm:^12.6.1, @polkadot/networks@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/networks@npm:12.6.2" dependencies: @@ -1615,15 +1868,15 @@ __metadata: languageName: node linkType: hard -"@polkadot/react-identicon@npm:^3.5.1": - version: 3.6.4 - resolution: "@polkadot/react-identicon@npm:3.6.4" +"@polkadot/react-identicon@npm:^3.6.5": + version: 3.6.5 + resolution: "@polkadot/react-identicon@npm:3.6.5" dependencies: - "@polkadot/keyring": "npm:^12.6.1" - "@polkadot/ui-settings": "npm:3.6.4" - "@polkadot/ui-shared": "npm:3.6.4" - "@polkadot/util": "npm:^12.6.1" - "@polkadot/util-crypto": "npm:^12.6.1" + "@polkadot/keyring": "npm:^12.6.2" + "@polkadot/ui-settings": "npm:3.6.5" + "@polkadot/ui-shared": "npm:3.6.5" + "@polkadot/util": "npm:^12.6.2" + "@polkadot/util-crypto": "npm:^12.6.2" ethereum-blockies-base64: "npm:^1.0.2" jdenticon: "npm:3.2.0" react-copy-to-clipboard: "npm:^5.1.0" @@ -1636,7 +1889,7 @@ __metadata: react: "*" react-dom: "*" react-is: "*" - checksum: 10/603f7eecd32e1a4ae283f843c1dbe47c453cf42c536c7675caea721bf51c81e2c5320a25636f84c6cdd7e2aa88ceaef6f523d1ff90279692f640cc6d0408e225 + checksum: 10/3187bfe0caf3f9dfcbeaddad511a08abc92e5810280a98a51bafd433370d7ad86cd5f6fa2f60a2868c3b629f13cd10d55c41d62620a2caa35866b6ed6f997dac languageName: node linkType: hard @@ -1653,16 +1906,16 @@ __metadata: languageName: node linkType: hard -"@polkadot/rpc-augment@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/rpc-augment@npm:10.11.2" +"@polkadot/rpc-augment@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/rpc-augment@npm:10.12.2" dependencies: - "@polkadot/rpc-core": "npm:10.11.2" - "@polkadot/types": "npm:10.11.2" - "@polkadot/types-codec": "npm:10.11.2" + "@polkadot/rpc-core": "npm:10.12.2" + "@polkadot/types": "npm:10.12.2" + "@polkadot/types-codec": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" tslib: "npm:^2.6.2" - checksum: 10/113d5c75b278136d4e684183844e1d5e5dd3820c3cf9c39c311fbc569d039741c28023fb644866004d7d0f7c7e8616b997c3bd9317b443ce2061b0d4da19d1f7 + checksum: 10/bf055f3030dda55933912fdc10cc245c4364e64fb9a86fb057e8607768f2fea83d64feac9cb68eec30b6f8b9ad5e821bde73049ccf9f685c6a844adc0ae55f8a languageName: node linkType: hard @@ -1706,17 +1959,17 @@ __metadata: languageName: node linkType: hard -"@polkadot/rpc-core@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/rpc-core@npm:10.11.2" +"@polkadot/rpc-core@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/rpc-core@npm:10.12.2" dependencies: - "@polkadot/rpc-augment": "npm:10.11.2" - "@polkadot/rpc-provider": "npm:10.11.2" - "@polkadot/types": "npm:10.11.2" + "@polkadot/rpc-augment": "npm:10.12.2" + "@polkadot/rpc-provider": "npm:10.12.2" + "@polkadot/types": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" rxjs: "npm:^7.8.1" tslib: "npm:^2.6.2" - checksum: 10/967bf97cddcbd92585efbe8afb414f82e99cf437e0f3a03a91ed05d4d5df4f79b6dc50e50fe6bb63ed9be4a825a3cab556798006d9b5e86c769d829b43c6abd6 + checksum: 10/d5e4a20c85f3a36d2a05446d2545460d739bd2b0eabdd96a14e192cf66ba2abedcf9e66a989f12ea02d51754fbb05e0617ddafc683b49f5c17e652f707b93576 languageName: node linkType: hard @@ -1772,27 +2025,27 @@ __metadata: languageName: node linkType: hard -"@polkadot/rpc-provider@npm:10.11.2, @polkadot/rpc-provider@npm:^10.7.3": - version: 10.11.2 - resolution: "@polkadot/rpc-provider@npm:10.11.2" +"@polkadot/rpc-provider@npm:10.12.2, @polkadot/rpc-provider@npm:^10.9.1": + version: 10.12.2 + resolution: "@polkadot/rpc-provider@npm:10.12.2" dependencies: "@polkadot/keyring": "npm:^12.6.2" - "@polkadot/types": "npm:10.11.2" - "@polkadot/types-support": "npm:10.11.2" + "@polkadot/types": "npm:10.12.2" + "@polkadot/types-support": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" "@polkadot/util-crypto": "npm:^12.6.2" "@polkadot/x-fetch": "npm:^12.6.2" "@polkadot/x-global": "npm:^12.6.2" "@polkadot/x-ws": "npm:^12.6.2" - "@substrate/connect": "npm:0.7.35" + "@substrate/connect": "npm:0.8.7" eventemitter3: "npm:^5.0.1" mock-socket: "npm:^9.3.1" - nock: "npm:^13.4.0" + nock: "npm:^13.5.0" tslib: "npm:^2.6.2" dependenciesMeta: "@substrate/connect": optional: true - checksum: 10/adb1a371b0db1087f33f9d68bd672a3ab5a95357bea47099dd34a106bc3f110fa60854d07f539a8b1fb55de913d183de69c06f3081d44cd29e2754cef232bc35 + checksum: 10/ba57003cd02feb350ccd55723d887f1b71d1d1fc1d5e6e821d2bed8e0a679474a35a01ab5cdb1498769275039158fa41c7f57db41220d57c913a7fd58f7fb029 languageName: node linkType: hard @@ -1853,15 +2106,15 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-augment@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/types-augment@npm:10.11.2" +"@polkadot/types-augment@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/types-augment@npm:10.12.2" dependencies: - "@polkadot/types": "npm:10.11.2" - "@polkadot/types-codec": "npm:10.11.2" + "@polkadot/types": "npm:10.12.2" + "@polkadot/types-codec": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" tslib: "npm:^2.6.2" - checksum: 10/93ebf8d654bd1f78bcd822b9d83a52de4476782aaf6815697015125bd2928e2d867096229a631189db1b15724a0e681f510a613663f18ebbaa44878799ad9607 + checksum: 10/755c8a50c8832139e035b095bf6a3afba73d7d43f34c317c02e0d2efe5da023c7d8768e127f0650c6042b81c75c126408e6dae37d9db474f2ca7997247cace99 languageName: node linkType: hard @@ -1900,14 +2153,14 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-codec@npm:10.11.2, @polkadot/types-codec@npm:^10.9.1": - version: 10.11.2 - resolution: "@polkadot/types-codec@npm:10.11.2" +"@polkadot/types-codec@npm:10.12.2, @polkadot/types-codec@npm:^10.12.2": + version: 10.12.2 + resolution: "@polkadot/types-codec@npm:10.12.2" dependencies: "@polkadot/util": "npm:^12.6.2" "@polkadot/x-bigint": "npm:^12.6.2" tslib: "npm:^2.6.2" - checksum: 10/87f0af0e6b26e463bcf693d3d2a9af204cd0def277164dfe6a87671688aa351dcf5cebd6ec4668cd6a40df303f8f5dfe7cd1cd8ead3063148c489ff0ccc752a7 + checksum: 10/0e1c1b42718b301e6d1a3303dc7f333377991129477aa1b37f09bc7f0318aeab5b7de810e7175a2c4bf0177ae6e5e914b2c5c50244174cf7ab9d1f9d8ca6f182 languageName: node linkType: hard @@ -1943,14 +2196,14 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-create@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/types-create@npm:10.11.2" +"@polkadot/types-create@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/types-create@npm:10.12.2" dependencies: - "@polkadot/types-codec": "npm:10.11.2" + "@polkadot/types-codec": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" tslib: "npm:^2.6.2" - checksum: 10/7468a64ae75290e8dc210c57193c0719a9772b66164388ffd9f5f04967b10397b93305b0b93b03eb578a6fc66aa6bf51c25d785ba906defd807843bd7f5998da + checksum: 10/0ee3304219a14cba0ab89b3b938bc06c230ee340587ec7f25b96809847888f49512ce6563a6556313836dd84dc09e2fbe78e60de2bc30a2ac463140e5862d19a languageName: node linkType: hard @@ -1990,17 +2243,17 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-known@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/types-known@npm:10.11.2" +"@polkadot/types-known@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/types-known@npm:10.12.2" dependencies: "@polkadot/networks": "npm:^12.6.2" - "@polkadot/types": "npm:10.11.2" - "@polkadot/types-codec": "npm:10.11.2" - "@polkadot/types-create": "npm:10.11.2" + "@polkadot/types": "npm:10.12.2" + "@polkadot/types-codec": "npm:10.12.2" + "@polkadot/types-create": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" tslib: "npm:^2.6.2" - checksum: 10/3268322e60e34bc3c0196b5e50e5f64b8f7b8c71154330772fd2bb3233a8bfc6eb1f7af8775fb428661920bce23fa16ff73f7ab51d274cc0cad0d381f6951bc8 + checksum: 10/b693610c1d936d2c754f390b672531d549b775c04742f6598b3191f15d1f84d682971e53a9569184d52e70b6dd2d797be6b1e348fd7750891d5782021a6b85f7 languageName: node linkType: hard @@ -2066,13 +2319,13 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-support@npm:10.11.2": - version: 10.11.2 - resolution: "@polkadot/types-support@npm:10.11.2" +"@polkadot/types-support@npm:10.12.2": + version: 10.12.2 + resolution: "@polkadot/types-support@npm:10.12.2" dependencies: "@polkadot/util": "npm:^12.6.2" tslib: "npm:^2.6.2" - checksum: 10/9b7d2ef36d19d0f48438fe7e2e0b5e2a4b5088310e097068d0a8f7357de3e1872d823d49d6d97d2d260fd1bf2de1e33875ddfd9dd35afaee8c6d9ba4d83efe8b + checksum: 10/ae413d343a181f7dce90c5aa62042d372059fec3e36ddad2fd5064dacd2ba2f0f3d37f6ffe1562d0e4733c72e946da3f4a38e02ed0d7381eb0f975897940d13f languageName: node linkType: hard @@ -2112,19 +2365,19 @@ __metadata: languageName: node linkType: hard -"@polkadot/types@npm:10.11.2, @polkadot/types@npm:^10.7.3, @polkadot/types@npm:^10.9.1": - version: 10.11.2 - resolution: "@polkadot/types@npm:10.11.2" +"@polkadot/types@npm:10.12.2, @polkadot/types@npm:^10.12.2, @polkadot/types@npm:^10.9.1": + version: 10.12.2 + resolution: "@polkadot/types@npm:10.12.2" dependencies: "@polkadot/keyring": "npm:^12.6.2" - "@polkadot/types-augment": "npm:10.11.2" - "@polkadot/types-codec": "npm:10.11.2" - "@polkadot/types-create": "npm:10.11.2" + "@polkadot/types-augment": "npm:10.12.2" + "@polkadot/types-codec": "npm:10.12.2" + "@polkadot/types-create": "npm:10.12.2" "@polkadot/util": "npm:^12.6.2" "@polkadot/util-crypto": "npm:^12.6.2" rxjs: "npm:^7.8.1" tslib: "npm:^2.6.2" - checksum: 10/86b6a76f3fe12cfe95d3bebf7b7becb6cf69777c8535b140048db6b46f3394286860c333c0d72944e12d038d6cc636fea6a2a211f3f429285ca273e6ecd09811 + checksum: 10/b3234da13becf4da94b56487344f682b0a8c6ee721812b352917bd61e41cd7bca40e3d16523456f3483da0f8b429550905d59959b7f024ed9adc1609454a2ada languageName: node linkType: hard @@ -2186,32 +2439,32 @@ __metadata: languageName: node linkType: hard -"@polkadot/ui-settings@npm:3.6.4": - version: 3.6.4 - resolution: "@polkadot/ui-settings@npm:3.6.4" +"@polkadot/ui-settings@npm:3.6.5": + version: 3.6.5 + resolution: "@polkadot/ui-settings@npm:3.6.5" dependencies: - "@polkadot/networks": "npm:^12.6.1" - "@polkadot/util": "npm:^12.6.1" + "@polkadot/networks": "npm:^12.6.2" + "@polkadot/util": "npm:^12.6.2" eventemitter3: "npm:^5.0.1" store: "npm:^2.0.12" tslib: "npm:^2.6.2" peerDependencies: "@polkadot/networks": "*" "@polkadot/util": "*" - checksum: 10/f66a88fb2da7f274cc7dcd487342ab03ea2c5ff481a309a1a8ee50d702fa6774d4ffa7972eeaa796c0dabc7d1d5f9c2a03bc4ffde12c2f0271168ac20d61146b + checksum: 10/70a017480b6f3f6757aef65e89c97aa164ff31c6b3b45f076878bf18c6d0959088beadf5fcc16a30b6cba8b9b7927952a7ad9347b113d630417bfbc4d8ef58c4 languageName: node linkType: hard -"@polkadot/ui-shared@npm:3.6.4": - version: 3.6.4 - resolution: "@polkadot/ui-shared@npm:3.6.4" +"@polkadot/ui-shared@npm:3.6.5": + version: 3.6.5 + resolution: "@polkadot/ui-shared@npm:3.6.5" dependencies: colord: "npm:^2.9.3" tslib: "npm:^2.6.2" peerDependencies: "@polkadot/util": "*" "@polkadot/util-crypto": "*" - checksum: 10/ba69542fd46aad52b144449c97f1a756504470a54b03a960c1d9bb2abc0b7c97a4d864022b22b41d74088a9939dc3f4da1a7b7921422aa9aa63cd7a4fd20fb4d + checksum: 10/b9831c37950edf6cef0ad313490479a49d66118a9924102a03e7de7d2c5a9f591d1eac15b88d124b39de76e9ed8c7578b59a0e92e6171f64c5d4217859f073c6 languageName: node linkType: hard @@ -2236,7 +2489,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util-crypto@npm:12.6.2, @polkadot/util-crypto@npm:^12.0.1, @polkadot/util-crypto@npm:^12.6.1, @polkadot/util-crypto@npm:^12.6.2": +"@polkadot/util-crypto@npm:12.6.2, @polkadot/util-crypto@npm:^12.5.1, @polkadot/util-crypto@npm:^12.6.1, @polkadot/util-crypto@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util-crypto@npm:12.6.2" dependencies: @@ -2344,7 +2597,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util@npm:12.6.2, @polkadot/util@npm:^12.0.1, @polkadot/util@npm:^12.3.2, @polkadot/util@npm:^12.6.1, @polkadot/util@npm:^12.6.2": +"@polkadot/util@npm:12.6.2, @polkadot/util@npm:^12.5.1, @polkadot/util@npm:^12.6.1, @polkadot/util@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util@npm:12.6.2" dependencies: @@ -2624,7 +2877,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/wasm-util@npm:7.3.2, @polkadot/wasm-util@npm:^7.2.1, @polkadot/wasm-util@npm:^7.3.2": +"@polkadot/wasm-util@npm:7.3.2, @polkadot/wasm-util@npm:^7.3.2": version: 7.3.2 resolution: "@polkadot/wasm-util@npm:7.3.2" dependencies: @@ -2677,7 +2930,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-fetch@npm:^12.3.2, @polkadot/x-fetch@npm:^12.6.1, @polkadot/x-fetch@npm:^12.6.2": +"@polkadot/x-fetch@npm:^12.6.1, @polkadot/x-fetch@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/x-fetch@npm:12.6.2" dependencies: @@ -2920,7 +3173,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-ws@npm:^12.3.2, @polkadot/x-ws@npm:^12.6.1, @polkadot/x-ws@npm:^12.6.2": +"@polkadot/x-ws@npm:^12.6.1, @polkadot/x-ws@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/x-ws@npm:12.6.2" dependencies: @@ -2943,10 +3196,101 @@ __metadata: languageName: node linkType: hard -"@polymeshassociation/polymesh-types@npm:5.4.1": - version: 5.4.1 - resolution: "@polymeshassociation/polymesh-types@npm:5.4.1" - checksum: 10/538034c263852872a37f549154c83757604537f3890396665870bcab782cb32035d5fcd930728efa69c39cc4cccb7e7e6d0ace52ee0fea7146f05f15ccaec8d6 +"@polymeshassociation/polymesh-types@npm:5.7.0": + version: 5.7.0 + resolution: "@polymeshassociation/polymesh-types@npm:5.7.0" + checksum: 10/7beefbe20ceb896a739e12241af8ac02245af0bc7383b7c36bcbd019d559eae2bcc27f06034f7845989674568a7fc2cd3b16793d2cd1499cbd5cf681ac088799 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.13.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-android-arm64@npm:4.13.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.13.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.13.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.13.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.13.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.13.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.13.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.13.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.13.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.13.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.13.0": + version: 4.13.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.13.0" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2964,7 +3308,7 @@ __metadata: languageName: node linkType: hard -"@scure/base@npm:^1.1.5": +"@scure/base@npm:^1.1.1, @scure/base@npm:^1.1.5": version: 1.1.5 resolution: "@scure/base@npm:1.1.5" checksum: 10/543fa9991c6378b6a0d5ab7f1e27b30bb9c1e860d3ac81119b4213cfdf0ad7b61be004e06506e89de7ce0cec9391c17f5c082bb34c3b617a2ee6a04129f52481 @@ -3007,22 +3351,22 @@ __metadata: languageName: node linkType: hard -"@sora-substrate/type-definitions@npm:1.17.16": - version: 1.17.16 - resolution: "@sora-substrate/type-definitions@npm:1.17.16" +"@sora-substrate/type-definitions@npm:1.27.7": + version: 1.27.7 + resolution: "@sora-substrate/type-definitions@npm:1.27.7" dependencies: "@open-web3/orml-type-definitions": "npm:1.1.4" - checksum: 10/e384e122464b5095a52a3de7206fbf8eead98fc31369cc628943d3019edbab53d941fb03d449c47c628aa14fd6b94d96931c748dbe6fe66ffb09e93d1f0d2fd6 + checksum: 10/31ee7e11ff062ec3775faa3bc1c03fad534cb8cacbbb029ae62a1c28e2b07dd317922c87fc81be33bd67889754ed1d1b1444f708469026dc1ef8a48df1c698f8 languageName: node linkType: hard -"@subsocial/definitions@npm:0.8.13": - version: 0.8.13 - resolution: "@subsocial/definitions@npm:0.8.13" +"@subsocial/definitions@npm:0.8.14": + version: 0.8.14 + resolution: "@subsocial/definitions@npm:0.8.14" dependencies: "@polkadot/api": "npm:latest" lodash.camelcase: "npm:^4.3.0" - checksum: 10/1c1e2ff53b8b1b2630c6d302dae24177be4191248cc1c1b8107f68d844bb53e432df235b9adb07cd564777c577d23327027eba0ac2a08b9901145a1db51ebd8d + checksum: 10/03bd2dab161815c3c109289c1d7a185fd0be880c66ab9be3ce670a7aa1547e8cf0a46b1131ffbb477314f444dbcb72a3b821da8e13964c6220702a47c08d0510 languageName: node linkType: hard @@ -3030,11 +3374,12 @@ __metadata: version: 0.0.0-use.local resolution: "@substrate/asset-transfer-api-registry@workspace:." dependencies: - "@polkadot/api": "npm:10.11.2" - "@polkadot/apps-config": "npm:0.132.1" + "@polkadot/api": "npm:^10.12.2" + "@polkadot/apps-config": "npm:^0.134.1" "@substrate/dev": "npm:0.7.1" "@types/node-fetch": "npm:^2.6.9" node-fetch: "npm:2.6.7" + vitest: "npm:^1.4.0" languageName: unknown linkType: soft @@ -3045,6 +3390,20 @@ __metadata: languageName: node linkType: hard +"@substrate/connect-extension-protocol@npm:^2.0.0": + version: 2.0.0 + resolution: "@substrate/connect-extension-protocol@npm:2.0.0" + checksum: 10/167538db3370c37abd60881e947f07788c52e42e1c46cd77a5e19eff64cb7784dff9abbbc4d2138a862a35c7262f151459e1631a8a36ee02fcff90ed5ec74c7b + languageName: node + linkType: hard + +"@substrate/connect-known-chains@npm:^1.0.7": + version: 1.1.2 + resolution: "@substrate/connect-known-chains@npm:1.1.2" + checksum: 10/9aff94053ee3c5e9c38529258774337716d35ca1b386cc10f1d4ecc1fdc56574d7a233bfb5fe1a9cee9aa6551d6f18c777342607c83dff7d220e0576e63b4098 + languageName: node + linkType: hard + "@substrate/connect@npm:0.7.0-alpha.0": version: 0.7.0-alpha.0 resolution: "@substrate/connect@npm:0.7.0-alpha.0" @@ -3077,6 +3436,18 @@ __metadata: languageName: node linkType: hard +"@substrate/connect@npm:0.8.7": + version: 0.8.7 + resolution: "@substrate/connect@npm:0.8.7" + dependencies: + "@substrate/connect-extension-protocol": "npm:^2.0.0" + "@substrate/connect-known-chains": "npm:^1.0.7" + "@substrate/light-client-extension-helpers": "npm:^0.0.3" + smoldot: "npm:2.0.21" + checksum: 10/f38eba52fee080dce79b934636f471a5c779b79e4a0dd6e5b2e756f782e61d53a6243fe90a93e23178b9c2bbda89c99884a6cd7e1a0c07e92ce11b0764b949af + languageName: node + linkType: hard + "@substrate/dev@npm:0.7.1": version: 0.7.1 resolution: "@substrate/dev@npm:0.7.1" @@ -3106,6 +3477,23 @@ __metadata: languageName: node linkType: hard +"@substrate/light-client-extension-helpers@npm:^0.0.3": + version: 0.0.3 + resolution: "@substrate/light-client-extension-helpers@npm:0.0.3" + dependencies: + "@polkadot-api/client": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/json-rpc-provider": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/json-rpc-provider-proxy": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/substrate-client": "npm:0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@substrate/connect-extension-protocol": "npm:^2.0.0" + "@substrate/connect-known-chains": "npm:^1.0.7" + rxjs: "npm:^7.8.1" + peerDependencies: + smoldot: 2.x + checksum: 10/7e22cc4ee196d757b1a81c6e1f57b9d7293b98c675098e40d4a3bee11d1f7d1693a97580448241acaf763bf52b7dd6b781089e798e297ffa50464c78d9fd4b88 + languageName: node + linkType: hard + "@substrate/smoldot-light@npm:0.6.8": version: 0.6.8 resolution: "@substrate/smoldot-light@npm:0.6.8" @@ -3193,6 +3581,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10/7de6d928dd4010b0e20c6919e1a6c27b61f8d4567befa89252055fad503d587ecb9a1e3eab1b1901f923964d7019796db810b7fd6430acb26c32866d126fd408 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -3445,43 +3840,97 @@ __metadata: languageName: node linkType: hard -"@unique-nft/opal-testnet-types@npm:942.57.0": - version: 942.57.0 - resolution: "@unique-nft/opal-testnet-types@npm:942.57.0" +"@unique-nft/opal-testnet-types@npm:1003.70.0": + version: 1003.70.0 + resolution: "@unique-nft/opal-testnet-types@npm:1003.70.0" peerDependencies: - "@polkadot/api": ^10.7.2 - "@polkadot/types": ^10.7.2 - checksum: 10/4cb9acf8198ffdde03f0083301a9aa27ef844996765d05e37f8875a3448ef6faf42c3be61ec219226ca776b93b4a679c13086104e3bca9e51972b0076320693d + "@polkadot/api": ^10.10.1 + "@polkadot/types": ^10.10.1 + checksum: 10/29c2a3a6c2a3efc18788bc7ff490361456eda8d61db2f087de6aad7cb7aa5e57bf52bbdddbb1e7872b67655535fe84feb43048671ba74e9300de94ac0a5fd968 languageName: node linkType: hard -"@unique-nft/quartz-mainnet-types@npm:942.57.0": - version: 942.57.0 - resolution: "@unique-nft/quartz-mainnet-types@npm:942.57.0" +"@unique-nft/quartz-mainnet-types@npm:1003.70.0": + version: 1003.70.0 + resolution: "@unique-nft/quartz-mainnet-types@npm:1003.70.0" peerDependencies: - "@polkadot/api": ^10.7.2 - "@polkadot/types": ^10.7.2 - checksum: 10/31a68ed9008e195efab5561b55c377f417bbd13711582610de3bc6a7bfb13cc58a7243b85ea46f19c49fc1b676da22121be118fa3190e2d1ae976969954d9d62 + "@polkadot/api": ^10.10.1 + "@polkadot/types": ^10.10.1 + checksum: 10/55881b33bc5e83aaecf6da2436dcac9738411735f0af6d94e245b11cc44f0535b9893fe1b9e1fc4b6ad00847b0ce7bff2c6c9ab9ff955175a0556f8bb9ea8ae2 languageName: node linkType: hard -"@unique-nft/sapphire-mainnet-types@npm:942.57.0": - version: 942.57.0 - resolution: "@unique-nft/sapphire-mainnet-types@npm:942.57.0" +"@unique-nft/sapphire-mainnet-types@npm:1003.70.0": + version: 1003.70.0 + resolution: "@unique-nft/sapphire-mainnet-types@npm:1003.70.0" peerDependencies: - "@polkadot/api": ^10.7.2 - "@polkadot/types": ^10.7.2 - checksum: 10/f32a761165bcd5950c3fd17e2521876b013a7fa852b67e1531c78cc98762759f1e140444fdbacce15c2c19c826363a726ee1d383eb3954d1001d12e30e0efa5b + "@polkadot/api": ^10.10.1 + "@polkadot/types": ^10.10.1 + checksum: 10/6824d97614cff065e93fb944b3f34cbf38ae0f9e92e82b1e57ea4020863aecb96091f4895c8ad6c08ebff7791f26dc7d7cfe2ba21c11153febf6b307fb6b092b languageName: node linkType: hard -"@unique-nft/unique-mainnet-types@npm:941.56.0": - version: 941.56.0 - resolution: "@unique-nft/unique-mainnet-types@npm:941.56.0" +"@unique-nft/unique-mainnet-types@npm:1001.63.0": + version: 1001.63.0 + resolution: "@unique-nft/unique-mainnet-types@npm:1001.63.0" peerDependencies: - "@polkadot/api": ^10.2.1 - "@polkadot/types": ^10.2.1 - checksum: 10/a23b36575d5e6eb43c051dda6ee5750abca9ed26c835c60f3f6957b3089e6fee757d5802d4171877cabb1e47f2b97a79c2a35faa65477a942a531ca42f715b81 + "@polkadot/api": ^10.10.1 + "@polkadot/types": ^10.10.1 + checksum: 10/131afd9a9f77bb0bb78caff911fd1dc9999381b31689bd7b1dea4123efdb8b0c074683c8b0e4cd189cc060149cbd2720a98060902e93c2494237bf681edbba92 + languageName: node + linkType: hard + +"@vitest/expect@npm:1.4.0": + version: 1.4.0 + resolution: "@vitest/expect@npm:1.4.0" + dependencies: + "@vitest/spy": "npm:1.4.0" + "@vitest/utils": "npm:1.4.0" + chai: "npm:^4.3.10" + checksum: 10/00d794a807b7e496d8450133430c8528d4b6cfaba9520bf49640c941b14acaa7b28f151c249b44d935740cae887f0648980db63f38e37bdeb6c2906387e15188 + languageName: node + linkType: hard + +"@vitest/runner@npm:1.4.0": + version: 1.4.0 + resolution: "@vitest/runner@npm:1.4.0" + dependencies: + "@vitest/utils": "npm:1.4.0" + p-limit: "npm:^5.0.0" + pathe: "npm:^1.1.1" + checksum: 10/7b8a692de5cef72ef698e83eb5bbb89076924e7a557ed087e80c5080e000a575f34c481f3b880aa2588da5a095504dc55216c319f6924eddfcfc3412f10a27b2 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:1.4.0": + version: 1.4.0 + resolution: "@vitest/snapshot@npm:1.4.0" + dependencies: + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + checksum: 10/43e22f8aeef4b87bcce79b37775415d4b558e32d906992d4a0acbe81c8e84cbfe3e488dd32c504c4f4d8f2c3f96842acb524b4b210036fda6796e64d0140d5f6 + languageName: node + linkType: hard + +"@vitest/spy@npm:1.4.0": + version: 1.4.0 + resolution: "@vitest/spy@npm:1.4.0" + dependencies: + tinyspy: "npm:^2.2.0" + checksum: 10/0e48f9a64f62801c2abf10df1013ec5e5b75c47bdca6a5d4c8246b3dd7bdf01ade3df6c99fd0751a870a16bd63c127b3e58e0f5cbc320c48d0727ab5da89d028 + languageName: node + linkType: hard + +"@vitest/utils@npm:1.4.0": + version: 1.4.0 + resolution: "@vitest/utils@npm:1.4.0" + dependencies: + diff-sequences: "npm:^29.6.3" + estree-walker: "npm:^3.0.3" + loupe: "npm:^2.3.7" + pretty-format: "npm:^29.7.0" + checksum: 10/2261705e2edc10376f2524a4bf6616688680094d94fff683681a1ef8d3d59271dee2d80893efad8e6437bbdb00390e2edd754d94cf42100db86f2cfd9c44826f languageName: node linkType: hard @@ -3515,6 +3964,22 @@ __metadata: languageName: node linkType: hard +"acorn-walk@npm:^8.3.2": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 10/57dbe2fd8cf744f562431775741c5c087196cd7a65ce4ccb3f3981cdfad25cd24ad2bad404997b88464ac01e789a0a61e5e355b2a84876f13deef39fb39686ca + languageName: node + linkType: hard + +"acorn@npm:^8.11.3": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" + bin: + acorn: bin/acorn + checksum: 10/b688e7e3c64d9bfb17b596e1b35e4da9d50553713b3b3630cf5690f2b023a84eac90c56851e6912b483fe60e8b4ea28b254c07e92f17ef83d72d78745a8352dd + languageName: node + linkType: hard + "acorn@npm:^8.9.0": version: 8.11.2 resolution: "acorn@npm:8.11.2" @@ -3643,6 +4108,13 @@ __metadata: languageName: node linkType: hard +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 10/fd9429d3a3d4fd61782eb3962ae76b6d08aa7383123fca0596020013b3ebd6647891a85b05ce821c47d1471ed1271f00b0545cf6a4326cf2fc91efcc3b0fbecf + languageName: node + linkType: hard + "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -3889,6 +4361,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10/002769a0fbfc51c062acd2a59df465a2a947916b02ac50b56c69ec6c018ee99ac3e7f4dd7366334ea847f1ecacf4defaa61bcd2ac283db50156ce1f1d8c8ad42 + languageName: node + linkType: hard + "cacache@npm:^18.0.0": version: 18.0.0 resolution: "cacache@npm:18.0.0" @@ -3953,6 +4432,21 @@ __metadata: languageName: node linkType: hard +"chai@npm:^4.3.10": + version: 4.4.1 + resolution: "chai@npm:4.4.1" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.3" + deep-eql: "npm:^4.1.3" + get-func-name: "npm:^2.0.2" + loupe: "npm:^2.3.6" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.0.8" + checksum: 10/c6d7aba913a67529c68dbec3673f94eb9c586c5474cc5142bd0b587c9c9ec9e5fbaa937e038ecaa6475aea31433752d5fabdd033b9248bde6ae53befcde774ae + languageName: node + linkType: hard + "chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -3981,6 +4475,15 @@ __metadata: languageName: node linkType: hard +"check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: "npm:^2.0.2" + checksum: 10/e2131025cf059b21080f4813e55b3c480419256914601750b0fee3bd9b2b8315b531e551ef12560419b8b6d92a3636511322752b1ce905703239e7cc451b6399 + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -4238,6 +4741,15 @@ __metadata: languageName: node linkType: hard +"deep-eql@npm:^4.1.3": + version: 4.1.3 + resolution: "deep-eql@npm:4.1.3" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10/12ce93ae63de187e77b076d3d51bfc28b11f98910a22c18714cce112791195e86a94f97788180994614b14562a86c9763f67c69f785e4586f806b5df39bf9301 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -4444,6 +4956,86 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.20.1": + version: 0.20.2 + resolution: "esbuild@npm:0.20.2" + dependencies: + "@esbuild/aix-ppc64": "npm:0.20.2" + "@esbuild/android-arm": "npm:0.20.2" + "@esbuild/android-arm64": "npm:0.20.2" + "@esbuild/android-x64": "npm:0.20.2" + "@esbuild/darwin-arm64": "npm:0.20.2" + "@esbuild/darwin-x64": "npm:0.20.2" + "@esbuild/freebsd-arm64": "npm:0.20.2" + "@esbuild/freebsd-x64": "npm:0.20.2" + "@esbuild/linux-arm": "npm:0.20.2" + "@esbuild/linux-arm64": "npm:0.20.2" + "@esbuild/linux-ia32": "npm:0.20.2" + "@esbuild/linux-loong64": "npm:0.20.2" + "@esbuild/linux-mips64el": "npm:0.20.2" + "@esbuild/linux-ppc64": "npm:0.20.2" + "@esbuild/linux-riscv64": "npm:0.20.2" + "@esbuild/linux-s390x": "npm:0.20.2" + "@esbuild/linux-x64": "npm:0.20.2" + "@esbuild/netbsd-x64": "npm:0.20.2" + "@esbuild/openbsd-x64": "npm:0.20.2" + "@esbuild/sunos-x64": "npm:0.20.2" + "@esbuild/win32-arm64": "npm:0.20.2" + "@esbuild/win32-ia32": "npm:0.20.2" + "@esbuild/win32-x64": "npm:0.20.2" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10/663215ab7e599651e00d61b528a63136e1f1d397db8b9c3712540af928c9476d61da95aefa81b7a8dfc7a9fdd7616fcf08395c27be68be8c99953fb461863ce4 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -4634,6 +5226,15 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10/a65728d5727b71de172c5df323385755a16c0fdab8234dc756c3854cfee343261ddfbb72a809a5660fac8c75d960bb3e21aa898c2d7e9b19bb298482ca58a3af + languageName: node + linkType: hard + "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -4708,6 +5309,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10/d2ab5fe1e2bb92b9788864d0713f1fce9a07c4594e272c0c97bc18c90569897ab262e4ea58d27a694d288227a2e24f16f5e2575b44224ad9983b799dc7f1098d + languageName: node + linkType: hard + "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -4931,7 +5549,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2": +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -4941,7 +5559,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -4971,6 +5589,13 @@ __metadata: languageName: node linkType: hard +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 10/3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -4985,6 +5610,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10/dde5511e2e65a48e9af80fea64aff11b4921b14b6e874c6f8294c50975095af08f41bfb0b680c887f28b566dd6ec2cb2f960f9d36a323359be324ce98b766e9e + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -5179,6 +5811,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10/30f8870d831cdcd2d6ec0486a7d35d49384996742052cee792854273fa9dd9e7d5db06bb7985d4953e337e10714e994e0302e90dc6848069171b05ec836d65b0 + languageName: node + linkType: hard + "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -5951,6 +6590,13 @@ __metadata: languageName: node linkType: hard +"js-tokens@npm:^8.0.2": + version: 8.0.3 + resolution: "js-tokens@npm:8.0.3" + checksum: 10/af5ed8ddbc446a868c026599214f4a482ab52461edb82e547949255f98910a14bd81ddab88a8d570d74bd7dc96c6d4df7f963794ec5aaf13c53918cc46b9caa6 + languageName: node + linkType: hard + "js-yaml@npm:^3.13.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" @@ -6027,6 +6673,13 @@ __metadata: languageName: node linkType: hard +"jsonc-parser@npm:^3.2.0": + version: 3.2.1 + resolution: "jsonc-parser@npm:3.2.1" + checksum: 10/fe2df6f39e21653781d52cae20c5b9e0ab62461918d97f9430b216cea9b6500efc1d8b42c6584cc0a7548b4c996055e9cdc39f09b9782fa6957af2f45306c530 + languageName: node + linkType: hard + "keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -6067,6 +6720,16 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: "npm:^1.4.2" + pkg-types: "npm:^1.0.3" + checksum: 10/20f4caba50dc6fb00ffcc1a78bc94b5acb33995e0aadf4d4edcdeab257e891aa08f50afddf02f3240b2c3d02432bc2078f2a916a280ed716b64753a3d250db70 + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -6117,6 +6780,15 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^2.3.6, loupe@npm:^2.3.7": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: "npm:^2.0.1" + checksum: 10/635c8f0914c2ce7ecfe4e239fbaf0ce1d2c00e4246fafcc4ed000bfdb1b8f89d05db1a220054175cca631ebf3894872a26fffba0124477fcb562f78762848fb1 + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": version: 10.0.3 resolution: "lru-cache@npm:10.0.3" @@ -6142,6 +6814,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.5": + version: 0.30.8 + resolution: "magic-string@npm:0.30.8" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 10/72ab63817af600e92c19dc8489c1aa4a9599da00cfd59b2319709bd48fb0cf533fdf354bf140ac86e598dbd63e6b2cc83647fe8448f864a3eb6061c62c94e784 + languageName: node + linkType: hard + "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -6383,6 +7064,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.2.0, mlly@npm:^1.4.2": + version: 1.6.1 + resolution: "mlly@npm:1.6.1" + dependencies: + acorn: "npm:^8.11.3" + pathe: "npm:^1.1.2" + pkg-types: "npm:^1.0.3" + ufo: "npm:^1.3.2" + checksum: 10/00b4c355236eb3d0294106f208718db486f6e34e28bbb7f6965bd9d6237db338e566f2e13489fbf8bfa9b1337c0f2568d4aeac1840f9963054c91881acc974a9 + languageName: node + linkType: hard + "mock-socket@npm:^9.1.2, mock-socket@npm:^9.2.1, mock-socket@npm:^9.3.1": version: 9.3.1 resolution: "mock-socket@npm:9.3.1" @@ -6444,14 +7137,14 @@ __metadata: languageName: node linkType: hard -"nock@npm:^13.2.4, nock@npm:^13.3.0, nock@npm:^13.3.8, nock@npm:^13.4.0": - version: 13.4.0 - resolution: "nock@npm:13.4.0" +"nock@npm:^13.2.4, nock@npm:^13.3.0, nock@npm:^13.3.8, nock@npm:^13.5.0": + version: 13.5.4 + resolution: "nock@npm:13.5.4" dependencies: debug: "npm:^4.1.0" json-stringify-safe: "npm:^5.0.1" propagate: "npm:^2.0.0" - checksum: 10/269c4d4e2ae250e0af361548ab0ba11a18831cfb3edfd8c6f6b1e4b02c7ffc3b1c8ac04ac33edfd3e114110f4836ab8bb8df398da893cd18fef47d9c256acf7f + checksum: 10/75bad391bae4efb81b742734af5f2d87309cd93d3ca6b78372fd37946d78ccb254d79104676619866915e6734abfc1b00fee2aa42073a4843ca3c746aad35a4d languageName: node linkType: hard @@ -6660,6 +7353,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10/87bf5837dee6942f0dbeff318436179931d9a97848d1b07dbd86140a477a5d2e6b90d9701b210b4e21fe7beaea2979dfde366e4f576fa644a59bd4d6a6371da7 + languageName: node + linkType: hard + "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -6774,6 +7476,20 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^1.1.0, pathe@npm:^1.1.1, pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10/f201d796351bf7433d147b92c20eb154a4e0ea83512017bf4ec4e492a5d6e738fb45798be4259a61aa81270179fce11026f6ff0d3fa04173041de044defe9d80 + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: 10/b50a4751068aa3a5428f5a0b480deecedc6f537666a3630a0c2ae2d5e7c0f4bf0ee77b48404441ec1220bef0c91625e6030b3d3cf5a32ab0d9764018d1d9dbb6 + languageName: node + linkType: hard + "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -6804,6 +7520,17 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.0.3": + version: 1.0.3 + resolution: "pkg-types@npm:1.0.3" + dependencies: + jsonc-parser: "npm:^3.2.0" + mlly: "npm:^1.2.0" + pathe: "npm:^1.1.0" + checksum: 10/e17e1819ce579c9ea390e4c41a9ed9701d8cff14b463f9577cc4f94688da8917c66dabc40feacd47a21eb3de9b532756a78becd882b76add97053af307c1240a + languageName: node + linkType: hard + "pnglib@npm:0.0.1": version: 0.0.1 resolution: "pnglib@npm:0.0.1" @@ -6840,6 +7567,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.36": + version: 8.4.38 + resolution: "postcss@npm:8.4.38" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.2.0" + checksum: 10/6e44a7ed835ffa9a2b096e8d3e5dfc6bcf331a25c48aeb862dd54e3aaecadf814fa22be224fd308f87d08adf2299164f88c5fd5ab1c4ef6cbd693ceb295377f4 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -7095,6 +7833,60 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^4.13.0": + version: 4.13.0 + resolution: "rollup@npm:4.13.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.13.0" + "@rollup/rollup-android-arm64": "npm:4.13.0" + "@rollup/rollup-darwin-arm64": "npm:4.13.0" + "@rollup/rollup-darwin-x64": "npm:4.13.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.13.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.13.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.13.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.13.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.13.0" + "@rollup/rollup-linux-x64-musl": "npm:4.13.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.13.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.13.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.13.0" + "@types/estree": "npm:1.0.5" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10/3ebced8ad49e8b5617cb7013cb106dd8ac99ae31a71f9689dc689b8fdaf0eb109f3d861330ef659e5f28a2c38e040282aea0e1df150b165f53f649d46275df84 + languageName: node + linkType: hard + "run-applescript@npm:^5.0.0": version: 5.0.0 resolution: "run-applescript@npm:5.0.0" @@ -7145,6 +7937,13 @@ __metadata: languageName: node linkType: hard +"scale-ts@npm:^1.4.3": + version: 1.6.0 + resolution: "scale-ts@npm:1.6.0" + checksum: 10/63d966d48196ede40148f50c182f9d8397600e18ca005b994d3bd85f3e1931ae3fe7ec5d7b0cc072df557450e05676fd5acaa8b196963100a74251ca2e9d089f + languageName: node + linkType: hard + "scryptsy@npm:^2.1.0": version: 2.1.0 resolution: "scryptsy@npm:2.1.0" @@ -7207,6 +8006,13 @@ __metadata: languageName: node linkType: hard +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10/e93ff66c6531a079af8fb217240df01f980155b5dc408d2d7bebc398dd284e383eb318153bf8acd4db3c4fe799aa5b9a641e38b0ba3b1975700b1c89547ea4e7 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -7214,7 +8020,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f @@ -7242,6 +8048,15 @@ __metadata: languageName: node linkType: hard +"smoldot@npm:2.0.21": + version: 2.0.21 + resolution: "smoldot@npm:2.0.21" + dependencies: + ws: "npm:^8.8.1" + checksum: 10/65e1f1acd8bce1666f819b19d7b57e724e42ff91b14b4039ca982270646a22b3c1005dface16d55671c80e13657b90a213ec990055152e56ec4a64fd0bc86f05 + languageName: node + linkType: hard + "smoldot@npm:2.0.7": version: 2.0.7 resolution: "smoldot@npm:2.0.7" @@ -7279,6 +8094,13 @@ __metadata: languageName: node linkType: hard +"source-map-js@npm:^1.2.0": + version: 1.2.0 + resolution: "source-map-js@npm:1.2.0" + checksum: 10/74f331cfd2d121c50790c8dd6d3c9de6be21926de80583b23b37029b0f37aefc3e019fa91f9a10a5e120c08135297e1ecf312d561459c45908cb1e0e365f49e5 + languageName: node + linkType: hard + "source-map-support@npm:0.5.13": version: 0.5.13 resolution: "source-map-support@npm:0.5.13" @@ -7321,6 +8143,20 @@ __metadata: languageName: node linkType: hard +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10/2d4dc4e64e2db796de4a3c856d5943daccdfa3dd092e452a1ce059c81e9a9c29e0b9badba91b43ef0d5ff5c04ee62feb3bcc559a804e16faf447bac2d883aa99 + languageName: node + linkType: hard + +"std-env@npm:^3.5.0": + version: 3.7.0 + resolution: "std-env@npm:3.7.0" + checksum: 10/6ee0cca1add3fd84656b0002cfbc5bfa20340389d9ba4720569840f1caa34bce74322aef4c93f046391583e50649d0cf81a5f8fe1d411e50b659571690a45f12 + languageName: node + linkType: hard + "store@npm:^2.0.12": version: 2.0.12 resolution: "store@npm:2.0.12" @@ -7415,6 +8251,15 @@ __metadata: languageName: node linkType: hard +"strip-literal@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-literal@npm:2.0.0" + dependencies: + js-tokens: "npm:^8.0.2" + checksum: 10/efb3197175a7e403d0eaaaf5382b9574be77f8fa006b57b669856a38b58ca9caf76cbc75d9f69d56324dad0b8babe1d4ea7ad1eb12106228830bcdd5d4bf12b5 + languageName: node + linkType: hard + "styled-components@npm:^6.1.1": version: 6.1.1 resolution: "styled-components@npm:6.1.1" @@ -7518,6 +8363,27 @@ __metadata: languageName: node linkType: hard +"tinybench@npm:^2.5.1": + version: 2.6.0 + resolution: "tinybench@npm:2.6.0" + checksum: 10/6d35f0540bbf6208e8f47fa88cad733bc4b35b3bea75ec995004a9a44f70b8947eff3d271a3b4a4f7e787a82211df0dec9370fa566ccf50441067c559382b3ed + languageName: node + linkType: hard + +"tinypool@npm:^0.8.2": + version: 0.8.2 + resolution: "tinypool@npm:0.8.2" + checksum: 10/5e2cdddc1caf437e3b8d8c56c1c66dffcb46008be4b2e37d457b0921699c6b79930dd8d652e4890c5e1e24688489259da83fd853bc0ce348d8a0375dedefc2ba + languageName: node + linkType: hard + +"tinyspy@npm:^2.2.0": + version: 2.2.1 + resolution: "tinyspy@npm:2.2.1" + checksum: 10/170d6232e87f9044f537b50b406a38fbfd6f79a261cd12b92879947bd340939a833a678632ce4f5c4a6feab4477e9c21cd43faac3b90b68b77dd0536c4149736 + languageName: node + linkType: hard + "titleize@npm:^3.0.0": version: 3.0.0 resolution: "titleize@npm:3.0.0" @@ -7611,7 +8477,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.5.0, tslib@npm:^2.5.3, tslib@npm:^2.6.0, tslib@npm:^2.6.2": +"tslib@npm:^2.1.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 10/bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca @@ -7634,7 +8500,7 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:4.0.8": +"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 10/5179e3b8ebc51fce1b13efb75fdea4595484433f9683bbc2dca6d99789dba4e602ab7922d2656f2ce8383987467f7770131d4a7f06a26287db0615d2f4c4ce7d @@ -7718,6 +8584,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.3.2": + version: 1.5.3 + resolution: "ufo@npm:1.5.3" + checksum: 10/2b30dddd873c643efecdb58cfe457183cd4d95937ccdacca6942c697b87a2c578232c25a5149fda85436696bf0fdbc213bf2b220874712bc3e58c0fb00a2c950 + languageName: node + linkType: hard + "undici-types@npm:~5.26.4": version: 5.26.5 resolution: "undici-types@npm:5.26.5" @@ -7810,6 +8683,111 @@ __metadata: languageName: node linkType: hard +"vite-node@npm:1.4.0": + version: 1.4.0 + resolution: "vite-node@npm:1.4.0" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.4" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + vite: "npm:^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10/691e828c2abe6b62d44183c4e04bdfd119fed405439126fbdc5bfb791644baee3961c1ce429a67b360cc3d8b7c472160c7e82c59491f044a232b4ff480d8a2a2 + languageName: node + linkType: hard + +"vite@npm:^5.0.0": + version: 5.2.2 + resolution: "vite@npm:5.2.2" + dependencies: + esbuild: "npm:^0.20.1" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.36" + rollup: "npm:^4.13.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10/8e7f1e79e00a092b43378565898b5b60f66738d55fdcd2bb3a17b07183d32c3bfda30135490956ad8eb5eb77b0e56d4377655bf9478898616edbb20645477edb + languageName: node + linkType: hard + +"vitest@npm:^1.4.0": + version: 1.4.0 + resolution: "vitest@npm:1.4.0" + dependencies: + "@vitest/expect": "npm:1.4.0" + "@vitest/runner": "npm:1.4.0" + "@vitest/snapshot": "npm:1.4.0" + "@vitest/spy": "npm:1.4.0" + "@vitest/utils": "npm:1.4.0" + acorn-walk: "npm:^8.3.2" + chai: "npm:^4.3.10" + debug: "npm:^4.3.4" + execa: "npm:^8.0.1" + local-pkg: "npm:^0.5.0" + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + strip-literal: "npm:^2.0.0" + tinybench: "npm:^2.5.1" + tinypool: "npm:^0.8.2" + vite: "npm:^5.0.0" + vite-node: "npm:1.4.0" + why-is-node-running: "npm:^2.2.2" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.4.0 + "@vitest/ui": 1.4.0 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10/cf4675657f4a9ea755d0af70d62827fca9daee64e81d0392067c70a0d1f5f8fd4a47523e28ecf42d667e4d4d7c68b09d5e08389d4b58dc36065364f6c76cda7d + languageName: node + linkType: hard + "walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -7879,6 +8857,18 @@ __metadata: languageName: node linkType: hard +"why-is-node-running@npm:^2.2.2": + version: 2.2.2 + resolution: "why-is-node-running@npm:2.2.2" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10/f3582e0337f4b25537d492b1d40f00b978ce04b1d1eeea8f310bfa8aae8a7d11d118d672e2f0760c164ce3753a620a70aa29ff3620e340197624940cf9c08615 + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -7998,3 +8988,10 @@ __metadata: checksum: 10/f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 languageName: node linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 10/2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 + languageName: node + linkType: hard